Proyectos de Subversion Moodle

Rev

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

{"version":3,"file":"expand_contract.min.js","sources":["../src/expand_contract.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 * Potential user selector module.\n *\n * @module     tool_dataprivacy/expand_contract\n * @copyright  2018 Adrian Greeve\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\ndefine(['jquery', 'core/url', 'core/str', 'core/notification'], function($, url, str, Notification) {\n\n    var expandedImage = $('<img alt=\"\" src=\"' + url.imageUrl('t/expanded') + '\"/>');\n    var collapsedImage = $('<img alt=\"\" src=\"' + url.imageUrl('t/collapsed') + '\"/>');\n\n    /*\n     * Class names to apply when expanding/collapsing nodes.\n     */\n    var CLASSES = {\n        EXPAND: 'fa-caret-right',\n        COLLAPSE: 'fa-caret-down'\n    };\n\n    return /** @alias module:tool_dataprivacy/expand-collapse */ {\n        /**\n         * Expand or collapse a selected node.\n         *\n         * @param  {object} targetnode The node that we want to expand / collapse\n         * @param  {object} thisnode The node that was clicked.\n         */\n        expandCollapse: function(targetnode, thisnode) {\n            if (targetnode.hasClass('hide')) {\n                targetnode.removeClass('hide');\n                targetnode.addClass('visible');\n                targetnode.attr('aria-expanded', true);\n                thisnode.find(':header i.fa').removeClass(CLASSES.EXPAND);\n                thisnode.find(':header i.fa').addClass(CLASSES.COLLAPSE);\n                thisnode.find(':header img.icon').attr('src', expandedImage.attr('src'));\n            } else {\n                targetnode.removeClass('visible');\n                targetnode.addClass('hide');\n                targetnode.attr('aria-expanded', false);\n                thisnode.find(':header i.fa').removeClass(CLASSES.COLLAPSE);\n                thisnode.find(':header i.fa').addClass(CLASSES.EXPAND);\n                thisnode.find(':header img.icon').attr('src', collapsedImage.attr('src'));\n            }\n        },\n\n        /**\n         * Expand or collapse all nodes on this page.\n         *\n         * @param  {string} nextstate The next state to change to.\n         */\n        expandCollapseAll: function(nextstate) {\n            var currentstate = (nextstate == 'visible') ? 'hide' : 'visible';\n            var ariaexpandedstate = (nextstate == 'visible') ? true : false;\n            var iconclassnow = (nextstate == 'visible') ? CLASSES.EXPAND : CLASSES.COLLAPSE;\n            var iconclassnext = (nextstate == 'visible') ? CLASSES.COLLAPSE : CLASSES.EXPAND;\n            var imagenow = (nextstate == 'visible') ? expandedImage.attr('src') : collapsedImage.attr('src');\n            $('.' + currentstate).each(function() {\n                $(this).removeClass(currentstate);\n                $(this).addClass(nextstate);\n                $(this).attr('aria-expanded', ariaexpandedstate);\n            });\n            $('.tool_dataprivacy-expand-all').data('visibilityState', currentstate);\n\n            str.get_string(currentstate, 'tool_dataprivacy').then(function(langString) {\n                $('.tool_dataprivacy-expand-all').html(langString);\n                return;\n            }).catch(Notification.exception);\n\n            $(':header i.fa').each(function() {\n                $(this).removeClass(iconclassnow);\n                $(this).addClass(iconclassnext);\n            });\n            $(':header img.icon').each(function() {\n                $(this).attr('src', imagenow);\n            });\n        }\n    };\n});\n"],"names":["define","$","url","str","Notification","expandedImage","imageUrl","collapsedImage","CLASSES","expandCollapse","targetnode","thisnode","hasClass","removeClass","addClass","attr","find","expandCollapseAll","nextstate","currentstate","ariaexpandedstate","iconclassnow","iconclassnext","imagenow","each","this","data","get_string","then","langString","html","catch","exception"],"mappings":";;;;;;;AAuBAA,0CAAO,CAAC,SAAU,WAAY,WAAY,sBAAsB,SAASC,EAAGC,IAAKC,IAAKC,kBAE9EC,cAAgBJ,EAAE,oBAAsBC,IAAII,SAAS,cAAgB,OACrEC,eAAiBN,EAAE,oBAAsBC,IAAII,SAAS,eAAiB,OAKvEE,eACQ,iBADRA,iBAEU,sBAG+C,CAOzDC,eAAgB,SAASC,WAAYC,UAC7BD,WAAWE,SAAS,SACpBF,WAAWG,YAAY,QACvBH,WAAWI,SAAS,WACpBJ,WAAWK,KAAK,iBAAiB,GACjCJ,SAASK,KAAK,gBAAgBH,YAAYL,gBAC1CG,SAASK,KAAK,gBAAgBF,SAASN,kBACvCG,SAASK,KAAK,oBAAoBD,KAAK,MAAOV,cAAcU,KAAK,UAEjEL,WAAWG,YAAY,WACvBH,WAAWI,SAAS,QACpBJ,WAAWK,KAAK,iBAAiB,GACjCJ,SAASK,KAAK,gBAAgBH,YAAYL,kBAC1CG,SAASK,KAAK,gBAAgBF,SAASN,gBACvCG,SAASK,KAAK,oBAAoBD,KAAK,MAAOR,eAAeQ,KAAK,UAS1EE,kBAAmB,SAASC,eACpBC,aAA6B,WAAbD,UAA0B,OAAS,UACnDE,kBAAkC,WAAbF,UACrBG,aAA6B,WAAbH,UAA0BV,eAAiBA,iBAC3Dc,cAA8B,WAAbJ,UAA0BV,iBAAmBA,eAC9De,SAAyB,WAAbL,UAA0Bb,cAAcU,KAAK,OAASR,eAAeQ,KAAK,OAC1Fd,EAAE,IAAMkB,cAAcK,MAAK,WACvBvB,EAAEwB,MAAMZ,YAAYM,cACpBlB,EAAEwB,MAAMX,SAASI,WACjBjB,EAAEwB,MAAMV,KAAK,gBAAiBK,sBAElCnB,EAAE,gCAAgCyB,KAAK,kBAAmBP,cAE1DhB,IAAIwB,WAAWR,aAAc,oBAAoBS,MAAK,SAASC,YAC3D5B,EAAE,gCAAgC6B,KAAKD,eAExCE,MAAM3B,aAAa4B,WAEtB/B,EAAE,gBAAgBuB,MAAK,WACnBvB,EAAEwB,MAAMZ,YAAYQ,cACpBpB,EAAEwB,MAAMX,SAASQ,kBAErBrB,EAAE,oBAAoBuB,MAAK,WACvBvB,EAAEwB,MAAMV,KAAK,MAAOQ"}