%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/vacivi36/ava/grade/report/singleview/amd/build/
Upload File :
Create Path :
Current File : /home/vacivi36/ava/grade/report/singleview/amd/build/bulkactions.min.js.map

{"version":3,"file":"bulkactions.min.js","sources":["../src/bulkactions.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 * Javascript module for bulk actions.\n *\n * @module      gradereport_singleview/bulkactions\n * @copyright   2022 Ilya Tregubov <ilya@moodle.com>\n * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport Pending from 'core/pending';\nimport CustomEvents from \"core/custom_interaction_events\";\nimport ModalFactory from 'core/modal_factory';\nimport Templates from 'core/templates';\nimport ModalEvents from 'core/modal_events';\nimport * as Str from 'core/str';\nimport Notification from 'core/notification';\nimport selectors from 'gradereport_singleview/selectors';\n\n/**\n * Initialize module.\n */\nexport const init = () => {\n    const pendingPromise = new Pending();\n    registerListenerEvents();\n    pendingPromise.resolve();\n};\n\n/**\n * Register bulk actions related event listeners.\n *\n * @method registerListenerEvents\n */\nconst registerListenerEvents = () => {\n    const events = [\n        'click',\n        CustomEvents.events.activate,\n        CustomEvents.events.keyboardActivate\n    ];\n    CustomEvents.define(document, events);\n\n    // Register events.\n    events.forEach((event) => {\n        document.addEventListener(event, async(e) => {\n            const trigger = e.target.closest(selectors.actions.bulkaction);\n\n            if (trigger) {\n                if ((trigger.dataset.action === 'overrideallgrades') || (trigger.dataset.action === 'overridenonegrades')) {\n                    const override = document.querySelectorAll(selectors.elements.override);\n\n                    if (trigger.dataset.action === 'overridenonegrades') {\n                        // Alert for removing all grade overrides on page.\n                        Str.get_strings([\n                            {key: 'removeoverride', component: 'gradereport_singleview'},\n                            {key: 'overridenoneconfirm', component: 'gradereport_singleview'},\n                            {key: 'removeoverridesave', component: 'gradereport_singleview'},\n                            {key: 'cancel', component: 'moodle'},\n                        ]).done((strings) => {\n                            Notification.confirm(\n                                strings[0],\n                                strings[1],\n                                strings[2],\n                                strings[3],\n                                () => {\n                                    // Uncheck each override checkbox - this will make grade and feedback input fields disabled.\n                                    override.forEach((el) => {\n                                        if (el.checked) {\n                                            el.click();\n                                        }\n                                    });\n                                });\n                        }).fail(Notification.exception);\n\n                    } else {\n                        // Check each override checkbox - this will make grade and feedback input fields enabled.\n                        override.forEach((el) => {\n                            if (!el.checked) {\n                                el.click();\n                            }\n                        });\n                    }\n                } else if ((trigger.dataset.action === 'excludeallgrades') || (trigger.dataset.action === 'excludenonegrades')) {\n                    const exclude = document.querySelectorAll(selectors.elements.exclude);\n                    const checked = (trigger.dataset.action === 'excludeallgrades');\n                    // Uncheck or check each exclude checkbox.\n                    exclude.forEach((el) => {\n                        el.checked = checked;\n                    });\n                } else if (trigger.dataset.action === 'bulklegend') {\n                    // Modal for bulk insert grades.\n                    Str.get_strings([\n                        {key: 'bulklegend', component: 'gradereport_singleview'},\n                        {key: 'save', component: 'moodle'},\n                    ]).done((strings) => {\n                        ModalFactory.create({\n                            type: ModalFactory.types.SAVE_CANCEL,\n                            body: Templates.render('gradereport_singleview/bulkinsert', {\n                                id: 'bulkinsertmodal',\n                                name: 'bulkinsertmodal'\n                            }),\n                            title: strings[0],\n                        }).then((modal) => {\n                            modal.setSaveButtonText(strings[1]);\n                            modal.getFooter().find(selectors.elements.modalsave).attr('disabled', true);\n\n                            modal.getRoot().on(ModalEvents.hidden, () => {\n                                modal.getRoot().remove();\n                            });\n\n                            // We need to acknowledge that we understand risks of loosing data.\n                            // Only when acknowledge checkbox is checked we allow selecting insert options.\n                            modal.getRoot().on('change', selectors.elements.warningcheckbox,\n                                (e) => {\n                                    e.preventDefault();\n                                    if (e.target.checked) {\n                                        modal.getRoot().find(selectors.elements.modalformdata).removeClass('dimmed_text');\n                                        modal.getRoot().find(selectors.elements.modalradio).removeAttr('disabled');\n                                        modal.getRoot().find(selectors.elements.modalinput).removeAttr('disabled');\n\n                                        const formRadioData = modal.getRoot().find(selectors.elements.modalradiochecked).val();\n                                        // We allow saving grades only when all needed data present on form.\n                                        if (formRadioData) {\n                                            modal.getFooter().find(selectors.elements.modalsave).removeAttr('disabled');\n                                        }\n                                    } else {\n                                        modal.getRoot().find(selectors.elements.modalformdata).addClass('dimmed_text');\n                                        modal.getRoot().find(selectors.elements.modalradio).attr('disabled', true);\n                                        modal.getRoot().find(selectors.elements.modalinput).attr('disabled', true);\n                                        modal.getFooter().find(selectors.elements.modalsave).attr('disabled', true);\n                                    }\n                                });\n\n                            // We allow saving grades only when all needed data present on form.\n                            modal.getRoot().on('change', selectors.elements.modalradio,\n                                (e) => {\n                                    e.preventDefault();\n                                    modal.getFooter().find(selectors.elements.modalsave).removeAttr('disabled');\n                                });\n\n                            modal.getRoot().on(ModalEvents.save, () => {\n                                // When save button is clicked in modal form we insert data from modal\n                                // into preexisted hidden bulk insert form and Save button for table form.\n                                document.querySelector(selectors.elements.enablebulkinsert).checked = true;\n                                const formRadioData = modal.getRoot().find(selectors.elements.modalradiochecked).val();\n                                const $select = document.querySelector(selectors.elements.formradio);\n                                $select.value = formRadioData;\n\n                                const formData = modal.getRoot().find(selectors.elements.modalgrade).val();\n                                document.querySelector(selectors.elements.formgrade).value = formData;\n                                document.querySelector(selectors.elements.formsave).click();\n                            });\n\n                            modal.show();\n\n                            return modal;\n                        }).fail(Notification.exception);\n                    }).fail(Notification.exception);\n                }\n            }\n        });\n    });\n};\n"],"names":["pendingPromise","Pending","registerListenerEvents","resolve","events","CustomEvents","activate","keyboardActivate","define","document","forEach","event","addEventListener","async","trigger","e","target","closest","selectors","actions","bulkaction","dataset","action","override","querySelectorAll","elements","Str","get_strings","key","component","done","strings","confirm","el","checked","click","fail","Notification","exception","exclude","create","type","ModalFactory","types","SAVE_CANCEL","body","Templates","render","id","name","title","then","modal","setSaveButtonText","getFooter","find","modalsave","attr","getRoot","on","ModalEvents","hidden","remove","warningcheckbox","preventDefault","modalformdata","removeClass","modalradio","removeAttr","modalinput","modalradiochecked","val","addClass","save","querySelector","enablebulkinsert","formRadioData","formradio","value","formData","modalgrade","formgrade","formsave","show"],"mappings":"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"}

Zerion Mini Shell 1.0