Proyectos de Subversion Moodle

Rev

Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

{"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"}