Your IP : 216.73.216.95


Current Path : /var/www/ljmtc/cbt/mod/grouptool/amd/build/
Upload File :
Current File : /var/www/ljmtc/cbt/mod/grouptool/amd/build/multiseltoggle.min.js.map

{"version":3,"sources":["../src/multiseltoggle.js"],"names":["define","$","str","log","MINUS","MultiSelToggle","selectmultiple","selectsingle","el","prototype","toggle","e","x","currentTarget","instance","multiple","classList","replace","title","enable","get_strings","done","s","info","document","querySelector","icon","createElement","add","parentNode","insertBefore","nextSibling","style","cursor","height","paddingLeft","addEventListener","error"],"mappings":"mSA2BAA,OAAM,gCAAC,CAAC,QAAD,CAAW,UAAX,CAAuB,UAAvB,CAAD,CAAqC,SAASC,CAAT,CAAYC,CAAZ,CAAiBC,CAAjB,CAAsB,IAGzDC,CAAAA,CAAK,CAAG,UAHiD,CAUzDC,CAAc,CAAG,UAAW,CAC5B,KAAKC,cAAL,CAAsB,EAAtB,CACA,KAAKC,YAAL,CAAoB,EAApB,CACA,KAAKC,EAAL,CAAU,EACb,CAd4D,CAqB7DH,CAAc,CAACI,SAAf,CAAyBC,MAAzB,CAAkC,SAASC,CAAT,CAAY,CAC1C,GAAIC,CAAAA,CAAC,CAAGD,CAAC,CAACE,aAAV,CACA,GAAIC,CAAQ,CAACN,EAAT,CAAYO,QAAhB,CAA0B,CAEtBD,CAAQ,CAACN,EAAT,CAAYO,QAAZ,IACAH,CAAC,CAACI,SAAF,CAAYC,OAAZ,CAAoBb,CAApB,YACAQ,CAAC,CAACM,KAAF,CAAUJ,CAAQ,CAACR,cACtB,CALD,IAKO,CAEHQ,CAAQ,CAACN,EAAT,CAAYO,QAAZ,IACAH,CAAC,CAACI,SAAF,CAAYC,OAAZ,WAA0Bb,CAA1B,EACAQ,CAAC,CAACM,KAAF,CAAUJ,CAAQ,CAACP,YACtB,CACJ,CAbD,CAeA,GAAIO,CAAAA,CAAQ,CAAG,GAAIT,CAAAA,CAAnB,CAOAS,CAAQ,CAACK,MAAT,CAAkB,SAASX,CAAT,CAAa,CAC3BM,CAAQ,CAACN,EAAT,CAAcA,CAAd,CAKAN,CAAG,CAACkB,WAAJ,CAJqB,CACjB,CAAC,IAAO,gBAAR,CAA0B,UAAa,eAAvC,CADiB,CAEjB,CAAC,IAAO,cAAR,CAAwB,UAAa,eAArC,CAFiB,CAIrB,EAAgCC,IAAhC,CAAqC,SAASC,CAAT,CAAY,CAC7CR,CAAQ,CAACR,cAAT,CAA0BgB,CAAC,CAAC,CAAD,CAA3B,CACAR,CAAQ,CAACP,YAAT,CAAwBe,CAAC,CAAC,CAAD,CAAzB,CACAnB,CAAG,CAACoB,IAAJ,CAAS,uDAAyDT,CAAQ,CAACN,EAAlE,CAAuE,IAAhF,CAAsF,WAAtF,EACA,GAA2B,QAAvB,QAAOM,CAAAA,CAAQ,CAACN,EAApB,CAAqC,CACjCL,CAAG,CAACoB,IAAJ,CAAS,4BAA8BT,CAAQ,CAACN,EAAvC,CAA4C,GAArD,CAA0D,WAA1D,EACAM,CAAQ,CAACN,EAAT,CAAcgB,QAAQ,CAACC,aAAT,CAAuBX,CAAQ,CAACN,EAAhC,CACjB,CACD,GAAoB,IAAhB,GAAAM,CAAQ,CAACN,EAAT,EAA+C,QAAvB,WAAOM,CAAQ,CAACN,EAAhB,CAA5B,CAA6D,CACzD,GAAIkB,CAAAA,CAAI,CAAGF,QAAQ,CAACG,aAAT,CAAuB,GAAvB,CAAX,CACAD,CAAI,CAACV,SAAL,CAAeY,GAAf,CAAmB,IAAnB,EACAF,CAAI,CAACV,SAAL,CAAeY,GAAf,CAAmB,OAAnB,EACAF,CAAI,CAACV,SAAL,CAAeY,GAAf,CAzDA,cAyDA,EACA,GAAId,CAAQ,CAACN,EAAT,CAAYO,QAAhB,CAA0B,CACtBW,CAAI,CAACR,KAAL,CAAaJ,CAAQ,CAACP,YAAtB,CACAmB,CAAI,CAACV,SAAL,CAAeY,GAAf,CAAmBxB,CAAnB,CACH,CAHD,IAGO,CACHsB,CAAI,CAACR,KAAL,CAAaJ,CAAQ,CAACR,cAAtB,CACAoB,CAAI,CAACV,SAAL,CAAeY,GAAf,WACH,CACDd,CAAQ,CAACN,EAAT,CAAYqB,UAAZ,CAAuBC,YAAvB,CAAoCJ,CAApC,CAA0CZ,CAAQ,CAACN,EAAT,CAAYuB,WAAtD,EACAL,CAAI,CAACM,KAAL,CAAWC,MAAX,CAAoB,SAApB,CACAP,CAAI,CAACM,KAAL,CAAWE,MAAX,CAAoB,MAApB,CACAR,CAAI,CAACM,KAAL,CAAWG,WAAX,CAAyB,KAAzB,CACAT,CAAI,CAACU,gBAAL,CAAsB,OAAtB,CAA+BtB,CAAQ,CAACJ,MAAxC,CACH,CAjBD,IAiBO,CACHP,CAAG,CAACkC,KAAJ,CAAU,kEAAV,CAA8E,WAA9E,CACH,CACJ,CA5BD,CA6BH,CAnCD,CAqCA,MAAOvB,CAAAA,CACV,CAjFK,CAAN","sourcesContent":["// This file is part of mod_grouptool for Moodle - http://moodle.org/\n//\n// It 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// It 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 for toggling between multi-selects and single-selects\n *\n * @package   mod_grouptool\n * @author    Philipp Hager\n * @copyright 2018 Academic Moodle Cooperation {@link http://www.academic-moodle-cooperation.org}\n * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\n /**\n  * @module mod_grouptool/multiseltoggle\n  */\ndefine(['jquery', 'core/str', 'core/log'], function($, str, log) {\n\n    var PLUS = 'fa-plus'; // Alternatives: 'fa-plus-square' or 'fa-plus-square-o'!\n    var MINUS = 'fa-minus'; // Alternatives: 'fa-minus-square' or 'fa-minus-square-o'!\n    var COLOR = 'text-primary'; // Alternatives: 'text-info', 'text-muted', '', etc. (Every bootstrap text-color-class)!\n\n    /**\n     * @constructor\n     * @alias module:mod_grouptool/multiseltoggle\n     */\n    var MultiSelToggle = function() {\n        this.selectmultiple = '';\n        this.selectsingle = '';\n        this.el = {};\n    };\n\n    /**\n     * Change the select field from multi select to single select or vice versa!\n     *\n     * @param {Event} e Event object\n     */\n    MultiSelToggle.prototype.toggle = function(e) {\n        var x = e.currentTarget;\n        if (instance.el.multiple) {\n            // Remove multiple and set icon classes to [+]!\n            instance.el.multiple = false;\n            x.classList.replace(MINUS, PLUS);\n            x.title = instance.selectmultiple;\n        } else {\n            // Add multiple and set icon classes to [-]!\n            instance.el.multiple = true;\n            x.classList.replace(PLUS, MINUS);\n            x.title = instance.selectsingle;\n        }\n    };\n\n    var instance = new MultiSelToggle();\n\n    /**\n     * Initializer\n     *\n     * @param {string|element} el Element selector to enable switch for.\n     */\n    instance.enable = function(el) {\n        instance.el = el;\n        var stringstofetch = [\n            {'key': 'selectmultiple', 'component': 'mod_grouptool'},\n            {'key': 'selectsingle', 'component': 'mod_grouptool'}\n        ];\n        str.get_strings(stringstofetch).done(function(s) {\n            instance.selectmultiple = s[0];\n            instance.selectsingle = s[1];\n            log.info('Enable multiselect/singleselect switch for element (' + instance.el + ').', 'grouptool');\n            if (typeof instance.el === 'string') {\n                log.info('Get element by selector (' + instance.el + ')', 'grouptool');\n                instance.el = document.querySelector(instance.el);\n            }\n            if (instance.el !== null && typeof instance.el === 'object') {\n                var icon = document.createElement('i');\n                icon.classList.add('fa');\n                icon.classList.add('p-r-1');\n                icon.classList.add(COLOR);\n                if (instance.el.multiple) {\n                    icon.title = instance.selectsingle;\n                    icon.classList.add(MINUS);\n                } else {\n                    icon.title = instance.selectmultiple;\n                    icon.classList.add(PLUS);\n                }\n                instance.el.parentNode.insertBefore(icon, instance.el.nextSibling);\n                icon.style.cursor = 'pointer';\n                icon.style.height = '100%';\n                icon.style.paddingLeft = '2px';\n                icon.addEventListener(\"click\", instance.toggle);\n            } else {\n                log.error('Element to enable multiselect/singleselect switch was not found!', 'grouptool');\n            }\n        });\n    };\n\n    return instance;\n});\n"],"file":"multiseltoggle.min.js"}