Current Path : /var/www/ljmtc/cbt/admin/tool/dataprivacy/amd/build/ |
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"}