Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 11
Línea 1... Línea -...
1
{"version":3,"file":"gradebooksetup_forms.min.js","sources":["../src/gradebooksetup_forms.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Prints the add item gradebook form\n *\n * @module core_grades\n * @copyright 2023 Mathew May <mathew.solutions>\n * @license http://www.gnu.org/copyleft/gpl.html GNU Public License\n */\n\nimport ModalForm from 'core_form/modalform';\nimport {getString} from 'core/str';\nimport Notification from 'core/notification';\nimport * as FormChangeChecker from 'core_form/changechecker';\n\nconst Selectors = {\n    advancedFormLink: 'a.showadvancedform'\n};\n\n/**\n * Initialize module\n */\nexport const init = () => {\n    // Sometimes the trigger does not exist, so lets conditionally add it.\n    document.addEventListener('click', event => {\n        const args = {};\n\n        let formClass = null;\n        let title = null;\n        let trigger = null;\n        if (event.target.closest('[data-trigger=\"add-item-form\"]')) {\n            event.preventDefault();\n            trigger = event.target.closest('[data-trigger=\"add-item-form\"]');\n            formClass = 'core_grades\\\\form\\\\add_item';\n            title = trigger.getAttribute('data-itemid') === '-1' ?\n                getString('newitem', 'core_grades') : getString('itemsedit', 'core_grades');\n            args.itemid = trigger.getAttribute('data-itemid');\n        } else if (event.target.closest('[data-trigger=\"add-category-form\"]')) {\n            event.preventDefault();\n            trigger = event.target.closest('[data-trigger=\"add-category-form\"]');\n            formClass = 'core_grades\\\\form\\\\add_category';\n            title = trigger.getAttribute('data-category') === '-1' ?\n                getString('newcategory', 'core_grades') : getString('categoryedit', 'core_grades');\n            args.category = trigger.getAttribute('data-category');\n        } else if (event.target.closest('[data-trigger=\"add-outcome-form\"]')) {\n            event.preventDefault();\n            trigger = event.target.closest('[data-trigger=\"add-outcome-form\"]');\n            formClass = 'core_grades\\\\form\\\\add_outcome';\n            title = trigger.getAttribute('data-itemid') === '-1' ?\n                getString('newoutcomeitem', 'core_grades') : getString('outcomeitemsedit', 'core_grades');\n            args.itemid = trigger.getAttribute('data-itemid');\n        }\n\n        if (trigger) {\n            args.courseid = trigger.getAttribute('data-courseid');\n            args.gpr_plugin = trigger.getAttribute('data-gprplugin');\n\n            const modalForm = new ModalForm({\n                modalConfig: {\n                    title: title,\n                },\n                formClass: formClass,\n                args: args,\n                saveButtonText: getString('save', 'core'),\n                returnFocus: trigger,\n            });\n\n            // Show a toast notification when the form is submitted.\n            modalForm.addEventListener(modalForm.events.FORM_SUBMITTED, event => {\n                if (event.detail.result) {\n                    window.location.assign(event.detail.url);\n                } else {\n                    Notification.addNotification({\n                        type: 'error',\n                        message: getString('saving_failed', 'core_grades')\n                    });\n                }\n            });\n\n            modalForm.show();\n        }\n\n        const showAdvancedForm = event.target.closest(Selectors.advancedFormLink);\n        if (showAdvancedForm) { // Navigate to the advanced form page and cary over any entered data.\n            event.preventDefault();\n            const form = event.target.closest('form');\n            form.action = showAdvancedForm.href;\n            // Disable the form change checker as we are going to carry over the data to the advanced form.\n            FormChangeChecker.disableAllChecks();\n            form.submit();\n        }\n    });\n};\n"],"names":["Selectors","document","addEventListener","event","args","formClass","title","trigger","target","closest","preventDefault","getAttribute","itemid","category","courseid","gpr_plugin","modalForm","ModalForm","modalConfig","saveButtonText","returnFocus","events","FORM_SUBMITTED","detail","result","window","location","assign","url","addNotification","type","message","show","showAdvancedForm","form","action","href","FormChangeChecker","disableAllChecks","submit"],"mappings":";;;;;;;42BA4BMA,2BACgB,mCAMF,KAEhBC,SAASC,iBAAiB,SAASC,cACzBC,KAAO,OAETC,UAAY,KACZC,MAAQ,KACRC,QAAU,QACVJ,MAAMK,OAAOC,QAAQ,mCACrBN,MAAMO,iBACNH,QAAUJ,MAAMK,OAAOC,QAAQ,kCAC/BJ,UAAY,8BACZC,MAAgD,OAAxCC,QAAQI,aAAa,gBACzB,kBAAU,UAAW,gBAAiB,kBAAU,YAAa,eACjEP,KAAKQ,OAASL,QAAQI,aAAa,gBAC5BR,MAAMK,OAAOC,QAAQ,uCAC5BN,MAAMO,iBACNH,QAAUJ,MAAMK,OAAOC,QAAQ,sCAC/BJ,UAAY,kCACZC,MAAkD,OAA1CC,QAAQI,aAAa,kBACzB,kBAAU,cAAe,gBAAiB,kBAAU,eAAgB,eACxEP,KAAKS,SAAWN,QAAQI,aAAa,kBAC9BR,MAAMK,OAAOC,QAAQ,uCAC5BN,MAAMO,iBACNH,QAAUJ,MAAMK,OAAOC,QAAQ,qCAC/BJ,UAAY,iCACZC,MAAgD,OAAxCC,QAAQI,aAAa,gBACzB,kBAAU,iBAAkB,gBAAiB,kBAAU,mBAAoB,eAC/EP,KAAKQ,OAASL,QAAQI,aAAa,gBAGnCJ,QAAS,CACTH,KAAKU,SAAWP,QAAQI,aAAa,iBACrCP,KAAKW,WAAaR,QAAQI,aAAa,wBAEjCK,UAAY,IAAIC,mBAAU,CAC5BC,YAAa,CACTZ,MAAOA,OAEXD,UAAWA,UACXD,KAAMA,KACNe,gBAAgB,kBAAU,OAAQ,QAClCC,YAAab,UAIjBS,UAAUd,iBAAiBc,UAAUK,OAAOC,gBAAgBnB,QACpDA,MAAMoB,OAAOC,OACbC,OAAOC,SAASC,OAAOxB,MAAMoB,OAAOK,2BAEvBC,gBAAgB,CACzBC,KAAM,QACNC,SAAS,kBAAU,gBAAiB,oBAKhDf,UAAUgB,aAGRC,iBAAmB9B,MAAMK,OAAOC,QAAQT,+BAC1CiC,iBAAkB,CAClB9B,MAAMO,uBACAwB,KAAO/B,MAAMK,OAAOC,QAAQ,QAClCyB,KAAKC,OAASF,iBAAiBG,KAE/BC,kBAAkBC,mBAClBJ,KAAKK"}
-
 
2
1
{"version":3,"file":"gradebooksetup_forms.min.js","sources":["../src/gradebooksetup_forms.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Prints the add item gradebook form\n *\n * @module core_grades\n * @copyright 2023 Mathew May <mathew.solutions>\n * @license http://www.gnu.org/copyleft/gpl.html GNU Public License\n */\n\nimport ModalForm from 'core_form/modalform';\nimport {getString} from 'core/str';\nimport Notification from 'core/notification';\nimport * as FormChangeChecker from 'core_form/changechecker';\nimport PendingPromise from 'core/pending';\n\nconst Selectors = {\n    advancedFormLink: 'a.showadvancedform'\n};\n\nconst getDetailsFromEvent = (event) => {\n    if (event.target.closest('[data-trigger=\"add-item-form\"]')) {\n        const trigger = event.target.closest('[data-trigger=\"add-item-form\"]');\n\n        return {\n            trigger,\n            formClass: 'core_grades\\\\form\\\\add_item',\n            titleKey: trigger.getAttribute('data-itemid') === '-1' ? 'newitem' : 'itemsedit',\n            args: {\n                itemid: trigger.getAttribute('data-itemid'),\n            },\n        };\n    } else if (event.target.closest('[data-trigger=\"add-category-form\"]')) {\n        const trigger = event.target.closest('[data-trigger=\"add-category-form\"]');\n        return {\n            trigger,\n            formClass: 'core_grades\\\\form\\\\add_category',\n            titleKey: trigger.getAttribute('data-category') === '-1' ? 'newcategory' : 'categoryedit',\n            args: {\n                category: trigger.getAttribute('data-category'),\n            },\n        };\n    } else if (event.target.closest('[data-trigger=\"add-outcome-form\"]')) {\n        const trigger = event.target.closest('[data-trigger=\"add-outcome-form\"]');\n        return {\n            trigger,\n            formClass: 'core_grades\\\\form\\\\add_outcome',\n            titleKey: trigger.getAttribute('data-itemid') === '-1' ? 'newoutcomeitem' : 'outcomeitemsedit',\n            args: {\n                itemid: trigger.getAttribute('data-itemid'),\n            },\n        };\n    }\n\n    return null;\n};\n\n/**\n * Initialize module\n */\nexport const init = () => {\n    // Sometimes the trigger does not exist, so lets conditionally add it.\n    document.addEventListener('click', event => {\n        const triggerData = getDetailsFromEvent(event);\n\n        if (triggerData) {\n            event.preventDefault();\n            const pendingPromise = new PendingPromise(`core_grades:add_item:${triggerData.args.itemid}`);\n\n            const {trigger, formClass, titleKey, args} = triggerData;\n            args.courseid = trigger.getAttribute('data-courseid');\n            args.gpr_plugin = trigger.getAttribute('data-gprplugin');\n\n            const modalForm = new ModalForm({\n                modalConfig: {\n                    title: getString(titleKey, 'core_grades'),\n                },\n                formClass: formClass,\n                args: args,\n                saveButtonText: getString('save', 'core'),\n                returnFocus: trigger,\n            });\n\n            // Show a toast notification when the form is submitted.\n            modalForm.addEventListener(modalForm.events.FORM_SUBMITTED, event => {\n                if (event.detail.result) {\n                    new PendingPromise('core_grades:form_submitted');\n                    window.location.assign(event.detail.url);\n                } else {\n                    Notification.addNotification({\n                        type: 'error',\n                        message: getString('saving_failed', 'core_grades')\n                    });\n                }\n            });\n\n            modalForm.show();\n            pendingPromise.resolve();\n        }\n\n        const showAdvancedForm = event.target.closest(Selectors.advancedFormLink);\n        if (showAdvancedForm) {\n            // Navigate to the advanced form page and cary over any entered data.\n            event.preventDefault();\n\n            // Do not resolve this pendingPromise - it will be cleared when the page changes.\n            new PendingPromise('core_grades:show_advanced_form');\n            const form = event.target.closest('form');\n            form.action = showAdvancedForm.href;\n            // Disable the form change checker as we are going to carry over the data to the advanced form.\n            FormChangeChecker.disableAllChecks();\n            form.submit();\n        }\n    });\n};\n"],"names":["Selectors","document","addEventListener","event","triggerData","target","closest","trigger","formClass","titleKey","getAttribute","args","itemid","category","getDetailsFromEvent","preventDefault","pendingPromise","PendingPromise","courseid","gpr_plugin","modalForm","ModalForm","modalConfig","title","saveButtonText","returnFocus","events","FORM_SUBMITTED","detail","result","window","location","assign","url","addNotification","type","message","show","resolve","showAdvancedForm","form","action","href","FormChangeChecker","disableAllChecks","submit"],"mappings":";;;;;;;s5BA6BMA,2BACgB,mCA2CF,KAEhBC,SAASC,iBAAiB,SAASC,cACzBC,YA3CeD,CAAAA,WACrBA,MAAME,OAAOC,QAAQ,kCAAmC,OAClDC,QAAUJ,MAAME,OAAOC,QAAQ,wCAE9B,CACHC,QAAAA,QACAC,UAAW,8BACXC,SAAkD,OAAxCF,QAAQG,aAAa,eAA0B,UAAY,YACrEC,KAAM,CACFC,OAAQL,QAAQG,aAAa,iBAGlC,GAAIP,MAAME,OAAOC,QAAQ,sCAAuC,OAC7DC,QAAUJ,MAAME,OAAOC,QAAQ,4CAC9B,CACHC,QAAAA,QACAC,UAAW,kCACXC,SAAoD,OAA1CF,QAAQG,aAAa,iBAA4B,cAAgB,eAC3EC,KAAM,CACFE,SAAUN,QAAQG,aAAa,mBAGpC,GAAIP,MAAME,OAAOC,QAAQ,qCAAsC,OAC5DC,QAAUJ,MAAME,OAAOC,QAAQ,2CAC9B,CACHC,QAAAA,QACAC,UAAW,iCACXC,SAAkD,OAAxCF,QAAQG,aAAa,eAA0B,iBAAmB,mBAC5EC,KAAM,CACFC,OAAQL,QAAQG,aAAa,wBAKlC,MASiBI,CAAoBX,UAEpCC,YAAa,CACbD,MAAMY,uBACAC,eAAiB,IAAIC,gDAAuCb,YAAYO,KAAKC,UAE7EL,QAACA,QAADC,UAAUA,UAAVC,SAAqBA,SAArBE,KAA+BA,MAAQP,YAC7CO,KAAKO,SAAWX,QAAQG,aAAa,iBACrCC,KAAKQ,WAAaZ,QAAQG,aAAa,wBAEjCU,UAAY,IAAIC,mBAAU,CAC5BC,YAAa,CACTC,OAAO,kBAAUd,SAAU,gBAE/BD,UAAWA,UACXG,KAAMA,KACNa,gBAAgB,kBAAU,OAAQ,QAClCC,YAAalB,UAIjBa,UAAUlB,iBAAiBkB,UAAUM,OAAOC,gBAAgBxB,QACpDA,MAAMyB,OAAOC,YACTZ,iBAAe,8BACnBa,OAAOC,SAASC,OAAO7B,MAAMyB,OAAOK,4BAEvBC,gBAAgB,CACzBC,KAAM,QACNC,SAAS,kBAAU,gBAAiB,oBAKhDhB,UAAUiB,OACVrB,eAAesB,gBAGbC,iBAAmBpC,MAAME,OAAOC,QAAQN,+BAC1CuC,iBAAkB,CAElBpC,MAAMY,qBAGFE,iBAAe,wCACbuB,KAAOrC,MAAME,OAAOC,QAAQ,QAClCkC,KAAKC,OAASF,iBAAiBG,KAE/BC,kBAAkBC,mBAClBJ,KAAKK"}
-
 
2
3
3