Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

{"version":3,"file":"data_deletion.min.js","sources":["../src/data_deletion.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 * Request actions.\n *\n * @module     tool_dataprivacy/data_deletion\n * @copyright  2018 Jun Pataleta\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine([\n    'jquery',\n    'core/ajax',\n    'core/notification',\n    'core/str',\n    'core/modal_save_cancel',\n    'core/modal_events'],\nfunction($, Ajax, Notification, Str, ModalSaveCancel, ModalEvents) {\n\n    /**\n     * List of action selectors.\n     *\n     * @type {{MARK_FOR_DELETION: string}}\n     * @type {{SELECT_ALL: string}}\n     */\n    var ACTIONS = {\n        MARK_FOR_DELETION: '[data-action=\"markfordeletion\"]',\n        SELECT_ALL: '[data-action=\"selectall\"]',\n    };\n\n    /**\n     * List of selectors.\n     *\n     * @type {{SELECTCONTEXT: string}}\n     */\n    var SELECTORS = {\n        SELECTCONTEXT: '.selectcontext',\n    };\n\n    /**\n     * DataDeletionActions class.\n     */\n    var DataDeletionActions = function() {\n        this.registerEvents();\n    };\n\n    /**\n     * Register event listeners.\n     */\n    DataDeletionActions.prototype.registerEvents = function() {\n        $(ACTIONS.MARK_FOR_DELETION).click(function(e) {\n            e.preventDefault();\n\n            var selectedIds = [];\n            $(SELECTORS.SELECTCONTEXT).each(function() {\n                var checkbox = $(this);\n                if (checkbox.is(':checked')) {\n                    selectedIds.push(checkbox.val());\n                }\n            });\n            showConfirmation(selectedIds);\n        });\n\n        $(ACTIONS.SELECT_ALL).change(function(e) {\n            e.preventDefault();\n\n            var selectallnone = $(this);\n            if (selectallnone.is(':checked')) {\n                $(SELECTORS.SELECTCONTEXT).attr('checked', 'checked');\n            } else {\n                $(SELECTORS.SELECTCONTEXT).removeAttr('checked');\n            }\n        });\n    };\n\n    /**\n     * Show the confirmation dialogue.\n     *\n     * @param {Array} ids The array of expired context record IDs.\n     */\n    function showConfirmation(ids) {\n        var keys = [\n            {\n                key: 'confirm',\n                component: 'moodle'\n            },\n            {\n                key: 'confirmcontextdeletion',\n                component: 'tool_dataprivacy'\n            }\n        ];\n        var wsfunction = 'tool_dataprivacy_confirm_contexts_for_deletion';\n\n        var modalTitle = '';\n        Str.get_strings(keys).then(function(langStrings) {\n            modalTitle = langStrings[0];\n            var confirmMessage = langStrings[1];\n            return ModalSaveCancel.create({\n                title: modalTitle,\n                body: confirmMessage,\n            });\n        }).then(function(modal) {\n            modal.setSaveButtonText(modalTitle);\n\n            // Handle save event.\n            modal.getRoot().on(ModalEvents.save, function() {\n                // Confirm the request.\n                var params = {\n                    'ids': ids\n                };\n\n                var request = {\n                    methodname: wsfunction,\n                    args: params\n                };\n\n                Ajax.call([request])[0].done(function(data) {\n                    if (data.result) {\n                        window.location.reload();\n                    } else {\n                        Notification.addNotification({\n                            message: data.warnings[0].message,\n                            type: 'error'\n                        });\n                    }\n                }).fail(Notification.exception);\n            });\n\n            // Handle hidden event.\n            modal.getRoot().on(ModalEvents.hidden, function() {\n                // Destroy when hidden.\n                modal.destroy();\n            });\n\n            return modal;\n        }).done(function(modal) {\n            modal.show();\n        }).fail(Notification.exception);\n    }\n\n    return DataDeletionActions;\n});\n"],"names":["define","$","Ajax","Notification","Str","ModalSaveCancel","ModalEvents","ACTIONS","SELECTORS","DataDeletionActions","registerEvents","prototype","click","e","preventDefault","ids","keys","wsfunction","modalTitle","selectedIds","each","checkbox","this","is","push","val","key","component","get_strings","then","langStrings","confirmMessage","create","title","body","modal","setSaveButtonText","getRoot","on","save","request","methodname","args","call","done","data","result","window","location","reload","addNotification","message","warnings","type","fail","exception","hidden","destroy","show","change","attr","removeAttr"],"mappings":";;;;;;;AAsBAA,wCAAO,CACH,SACA,YACA,oBACA,WACA,yBACA,sBACJ,SAASC,EAAGC,KAAMC,aAAcC,IAAKC,gBAAiBC,iBAQ9CC,0BACmB,kCADnBA,mBAEY,4BAQZC,wBACe,iBAMfC,oBAAsB,gBACjBC,yBAMTD,oBAAoBE,UAAUD,eAAiB,WAC3CT,EAAEM,2BAA2BK,OAAM,SAASC,GACxCA,EAAEC,qBA6BgBC,IAClBC,KAUAC,WAEAC,WAxCIC,YAAc,GAClBlB,EAAEO,yBAAyBY,MAAK,eACxBC,SAAWpB,EAAEqB,MACbD,SAASE,GAAG,aACZJ,YAAYK,KAAKH,SAASI,UAuBhBV,IApBDI,YAqBjBH,KAAO,CACP,CACIU,IAAK,UACLC,UAAW,UAEf,CACID,IAAK,yBACLC,UAAW,qBAGfV,WAAa,iDAEbC,WAAa,GACjBd,IAAIwB,YAAYZ,MAAMa,MAAK,SAASC,aAChCZ,WAAaY,YAAY,OACrBC,eAAiBD,YAAY,UAC1BzB,gBAAgB2B,OAAO,CAC1BC,MAAOf,WACPgB,KAAMH,oBAEXF,MAAK,SAASM,cACbA,MAAMC,kBAAkBlB,YAGxBiB,MAAME,UAAUC,GAAGhC,YAAYiC,MAAM,eAM7BC,QAAU,CACVC,WAAYxB,WACZyB,KANS,KACF3B,MAQXb,KAAKyC,KAAK,CAACH,UAAU,GAAGI,MAAK,SAASC,MAC9BA,KAAKC,OACLC,OAAOC,SAASC,SAEhB9C,aAAa+C,gBAAgB,CACzBC,QAASN,KAAKO,SAAS,GAAGD,QAC1BE,KAAM,aAGfC,KAAKnD,aAAaoD,cAIzBpB,MAAME,UAAUC,GAAGhC,YAAYkD,QAAQ,WAEnCrB,MAAMsB,aAGHtB,SACRS,MAAK,SAAST,OACbA,MAAMuB,UACPJ,KAAKnD,aAAaoD,cA1ErBtD,EAAEM,oBAAoBoD,QAAO,SAAS9C,GAClCA,EAAEC,iBAEkBb,EAAEqB,MACJC,GAAG,YACjBtB,EAAEO,yBAAyBoD,KAAK,UAAW,WAE3C3D,EAAEO,yBAAyBqD,WAAW,eAsE3CpD"}