Your IP : 216.73.216.95


Current Path : /var/www/ljmtc/cbt/admin/tool/dataprivacy/amd/build/
Upload File :
Current File : /var/www/ljmtc/cbt/admin/tool/dataprivacy/amd/build/add_category.min.js.map

{"version":3,"sources":["../src/add_category.js"],"names":["define","$","Str","Ajax","Notification","ModalFactory","ModalEvents","Fragment","SELECTORS","CATEGORY_LINK","AddCategory","contextId","strings","get_strings","key","component","registerEventListeners","prototype","trigger","on","then","create","type","types","SAVE_CANCEL","title","body","done","modal","setupFormModal","bind","fail","exception","getBody","formdata","params","jsonformdata","JSON","stringify","loadFragment","saveText","setLarge","setSaveButtonText","getRoot","hidden","destroy","setBody","save","submitForm","submitFormAjax","show","e","preventDefault","find","submit","formData","serialize","call","methodname","args","data","validationerrors","close","document","location","reload","Y","use","M","core_formchangechecker","reset_form_dirty_state","removeListeners","off","getInstance"],"mappings":"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","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 * Module to add categories.\n *\n * @module     tool_dataprivacy/add_category\n * @package    tool_dataprivacy\n * @copyright  2018 David Monllao\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine(['jquery', 'core/str', 'core/ajax', 'core/notification', 'core/modal_factory', 'core/modal_events', 'core/fragment'],\n    function($, Str, Ajax, Notification, ModalFactory, ModalEvents, Fragment) {\n\n        var SELECTORS = {\n            CATEGORY_LINK: '[data-add-element=\"category\"]',\n        };\n\n        var AddCategory = function(contextId) {\n            this.contextId = contextId;\n\n            var stringKeys = [\n                {\n                    key: 'addcategory',\n                    component: 'tool_dataprivacy'\n                },\n                {\n                    key: 'save',\n                    component: 'admin'\n                }\n            ];\n            this.strings = Str.get_strings(stringKeys);\n\n            this.registerEventListeners();\n        };\n\n        /**\n         * @var {int} contextId\n         * @private\n         */\n        AddCategory.prototype.contextId = 0;\n\n        /**\n         * @var {Promise}\n         * @private\n         */\n        AddCategory.prototype.strings = 0;\n\n        AddCategory.prototype.registerEventListeners = function() {\n\n            var trigger = $(SELECTORS.CATEGORY_LINK);\n            trigger.on('click', function() {\n                return this.strings.then(function(strings) {\n                    ModalFactory.create({\n                        type: ModalFactory.types.SAVE_CANCEL,\n                        title: strings[0],\n                        body: '',\n                    }, trigger).done(function(modal) {\n                        this.setupFormModal(modal, strings[1]);\n                    }.bind(this));\n                }.bind(this))\n                .fail(Notification.exception);\n            }.bind(this));\n\n        };\n\n        /**\n         * @method getBody\n         * @param {Object} formdata\n         * @private\n         * @return {Promise}\n         */\n        AddCategory.prototype.getBody = function(formdata) {\n\n            var params = null;\n            if (typeof formdata !== \"undefined\") {\n                params = {jsonformdata: JSON.stringify(formdata)};\n            }\n            // Get the content of the modal.\n            return Fragment.loadFragment('tool_dataprivacy', 'addcategory_form', this.contextId, params);\n        };\n\n        AddCategory.prototype.setupFormModal = function(modal, saveText) {\n            modal.setLarge();\n\n            modal.setSaveButtonText(saveText);\n\n            // We want to reset the form every time it is opened.\n            modal.getRoot().on(ModalEvents.hidden, this.destroy.bind(this));\n\n            modal.setBody(this.getBody());\n\n            // We catch the modal save event, and use it to submit the form inside the modal.\n            // Triggering a form submission will give JS validation scripts a chance to check for errors.\n            modal.getRoot().on(ModalEvents.save, this.submitForm.bind(this));\n            // We also catch the form submit event and use it to submit the form with ajax.\n            modal.getRoot().on('submit', 'form', this.submitFormAjax.bind(this));\n\n            this.modal = modal;\n\n            modal.show();\n        };\n\n        /**\n         * This triggers a form submission, so that any mform elements can do final tricks before the form submission is processed.\n         *\n         * @method submitForm\n         * @param {Event} e Form submission event.\n         * @private\n         */\n        AddCategory.prototype.submitForm = function(e) {\n            e.preventDefault();\n            this.modal.getRoot().find('form').submit();\n        };\n\n        AddCategory.prototype.submitFormAjax = function(e) {\n            // We don't want to do a real form submission.\n            e.preventDefault();\n\n            // Convert all the form elements values to a serialised string.\n            var formData = this.modal.getRoot().find('form').serialize();\n\n            Ajax.call([{\n                methodname: 'tool_dataprivacy_create_category_form',\n                args: {jsonformdata: JSON.stringify(formData)},\n                done: function(data) {\n                    if (data.validationerrors) {\n                        this.modal.setBody(this.getBody(formData));\n                    } else {\n                        this.close();\n                    }\n                }.bind(this),\n                fail: Notification.exception\n            }]);\n        };\n\n        AddCategory.prototype.close = function() {\n            this.destroy();\n            document.location.reload();\n        };\n\n        AddCategory.prototype.destroy = function() {\n            Y.use('moodle-core-formchangechecker', function() {\n                M.core_formchangechecker.reset_form_dirty_state();\n            });\n            this.modal.destroy();\n        };\n\n        AddCategory.prototype.removeListeners = function() {\n            $(SELECTORS.CATEGORY_LINK).off('click');\n        };\n\n        return /** @alias module:tool_dataprivacy/add_category */ {\n            getInstance: function(contextId) {\n                return new AddCategory(contextId);\n            }\n        };\n    }\n);\n\n"],"file":"add_category.min.js"}