Sindbad~EG File Manager

Current Path : /var/www/html/demo-borrar/user/amd/build/local/participantsfilter/
Upload File :
Current File : /var/www/html/demo-borrar/user/amd/build/local/participantsfilter/filter.min.js.map

{"version":3,"file":"filter.min.js","sources":["../../../src/local/participantsfilter/filter.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 * Base Filter class for a filter type in the participants filter UI.\n *\n * @module     core_user/local/participantsfilter/filter\n * @copyright  2020 Andrew Nicols <andrew@nicols.co.uk>\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\nimport Autocomplete from 'core/form-autocomplete';\nimport Selectors from './selectors';\nimport {get_string as getString} from 'core/str';\n\n/**\n * Fetch all checked options in the select.\n *\n * This is a poor-man's polyfill for select.selectedOptions, which is not available in IE11.\n *\n * @param {HTMLSelectElement} select\n * @returns {HTMLOptionElement[]} All selected options\n */\nconst getOptionsForSelect = select => {\n    return select.querySelectorAll(':checked');\n};\n\nexport default class {\n\n    /**\n     * Constructor for a new filter.\n     *\n     * @param {String} filterType The type of filter that this relates to\n     * @param {HTMLElement} rootNode The root node for the participants filterset\n     * @param {Array} initialValues The initial values for the selector\n     */\n    constructor(filterType, rootNode, initialValues) {\n        this.filterType = filterType;\n        this.rootNode = rootNode;\n\n        this.addValueSelector(initialValues);\n    }\n\n    /**\n     * Perform any tear-down for this filter type.\n     */\n    tearDown() {\n        // eslint-disable-line no-empty-function\n    }\n\n    /**\n     * Get the placeholder to use when showing the value selector.\n     *\n     * @return {Promise} Resolving to a String\n     */\n    get placeholder() {\n        return getString('placeholdertypeorselect', 'core_user');\n    }\n\n    /**\n     * Whether to show suggestions in the autocomplete.\n     *\n     * @return {Boolean}\n     */\n    get showSuggestions() {\n        return true;\n    }\n\n    /**\n     * Add the value selector to the filter row.\n     *\n     * @param {Array} initialValues\n     */\n    async addValueSelector(initialValues = []) {\n        const filterValueNode = this.getFilterValueNode();\n\n        // Copy the data in place.\n        const sourceDataNode = this.getSourceDataForFilter();\n        if (!sourceDataNode) {\n            return;\n        }\n        filterValueNode.innerHTML = sourceDataNode.outerHTML;\n\n        const dataSource = filterValueNode.querySelector('select');\n\n        // Set an ID for this filter value element.\n        dataSource.id = 'filter-value-' + dataSource.getAttribute('data-field-name');\n\n        // Create a hidden label for the filter value.\n        const filterValueLabel = document.createElement('label');\n        filterValueLabel.setAttribute('for', dataSource.id);\n        filterValueLabel.classList.add('sr-only');\n        filterValueLabel.innerText = dataSource.getAttribute('data-field-title');\n\n        // Append this label to the filter value container.\n        filterValueNode.appendChild(filterValueLabel);\n\n        // If there are any initial values then attempt to apply them.\n        initialValues.forEach(filterValue => {\n            let selectedOption = dataSource.querySelector(`option[value=\"${filterValue}\"]`);\n            if (selectedOption) {\n                selectedOption.selected = true;\n            } else if (!this.showSuggestions) {\n                selectedOption = document.createElement('option');\n                selectedOption.value = filterValue;\n                selectedOption.innerHTML = filterValue;\n                selectedOption.selected = true;\n\n                dataSource.append(selectedOption);\n            }\n        });\n\n        Autocomplete.enhance(\n            // The source select element.\n            dataSource,\n\n            // Whether to allow 'tags' (custom entries).\n            dataSource.dataset.allowCustom == \"1\",\n\n            // We do not require AJAX at all as standard.\n            null,\n\n            // The string to use as a placeholder.\n            await this.placeholder,\n\n            // Disable case sensitivity on searches.\n            false,\n\n            // Show suggestions.\n            this.showSuggestions,\n\n            // Do not override the 'no suggestions' string.\n            null,\n\n            // Close the suggestions if this is not a multi-select.\n            !dataSource.multiple,\n\n            // Template overrides.\n            {\n                items: 'core_user/local/participantsfilter/autocomplete_selection_items',\n                layout: 'core_user/local/participantsfilter/autocomplete_layout',\n                selection: 'core_user/local/participantsfilter/autocomplete_selection',\n            }\n        );\n    }\n\n    /**\n     * Get the root node for this filter.\n     *\n     * @returns {HTMLElement}\n     */\n    get filterRoot() {\n        return this.rootNode.querySelector(Selectors.filter.byName(this.filterType));\n    }\n\n    /**\n     * Get the possible data for this filter type.\n     *\n     * @returns {Array}\n     */\n    getSourceDataForFilter() {\n        const filterDataNode = this.rootNode.querySelector(Selectors.filterset.regions.datasource);\n\n        return filterDataNode.querySelector(Selectors.data.fields.byName(this.filterType));\n    }\n\n    /**\n     * Get the HTMLElement which contains the value selector.\n     *\n     * @returns {HTMLElement}\n     */\n    getFilterValueNode() {\n        return this.filterRoot.querySelector(Selectors.filter.regions.values);\n    }\n\n    /**\n     * Get the name of this filter.\n     *\n     * @returns {String}\n     */\n    get name() {\n        return this.filterType;\n    }\n\n    /**\n     * Get the type of join specified.\n     *\n     * @returns {Number}\n     */\n    get jointype() {\n        return parseInt(this.filterRoot.querySelector(Selectors.filter.fields.join).value, 10);\n    }\n\n    /**\n     * Get the list of raw values for this filter type.\n     *\n     * @returns {Array}\n     */\n    get rawValues() {\n        const filterValueNode = this.getFilterValueNode();\n        const filterValueSelect = filterValueNode.querySelector('select');\n\n        return Object.values(getOptionsForSelect(filterValueSelect)).map(option => option.value);\n    }\n\n    /**\n     * Get the list of values for this filter type.\n     *\n     * @returns {Array}\n     */\n    get values() {\n        return this.rawValues.map(option => parseInt(option, 10));\n    }\n\n    /**\n     * Get the composed value for this filter.\n     *\n     * @returns {Object}\n     */\n    get filterValue() {\n        return {\n            name: this.name,\n            jointype: this.jointype,\n            values: this.values,\n        };\n    }\n}\n"],"names":["constructor","filterType","rootNode","initialValues","addValueSelector","tearDown","placeholder","showSuggestions","filterValueNode","this","getFilterValueNode","sourceDataNode","getSourceDataForFilter","innerHTML","outerHTML","dataSource","querySelector","id","getAttribute","filterValueLabel","document","createElement","setAttribute","classList","add","innerText","appendChild","forEach","filterValue","selectedOption","selected","value","append","enhance","dataset","allowCustom","multiple","items","layout","selection","filterRoot","Selectors","filter","byName","filterset","regions","datasource","data","fields","values","name","jointype","parseInt","join","rawValues","filterValueSelect","Object","select","querySelectorAll","map","option"],"mappings":";;;;;;;6NA+CIA,YAAYC,WAAYC,SAAUC,oBACzBF,WAAaA,gBACbC,SAAWA,cAEXE,iBAAiBD,eAM1BE,YASIC,yBACO,mBAAU,0BAA2B,aAQ5CC,6BACO,+BAQYJ,qEAAgB,SAC7BK,gBAAkBC,KAAKC,qBAGvBC,eAAiBF,KAAKG,6BACvBD,sBAGLH,gBAAgBK,UAAYF,eAAeG,gBAErCC,WAAaP,gBAAgBQ,cAAc,UAGjDD,WAAWE,GAAK,gBAAkBF,WAAWG,aAAa,yBAGpDC,iBAAmBC,SAASC,cAAc,SAChDF,iBAAiBG,aAAa,MAAOP,WAAWE,IAChDE,iBAAiBI,UAAUC,IAAI,WAC/BL,iBAAiBM,UAAYV,WAAWG,aAAa,oBAGrDV,gBAAgBkB,YAAYP,kBAG5BhB,cAAcwB,SAAQC,kBACdC,eAAiBd,WAAWC,sCAA+BY,mBAC3DC,eACAA,eAAeC,UAAW,EAClBrB,KAAKF,kBACbsB,eAAiBT,SAASC,cAAc,UACxCQ,eAAeE,MAAQH,YACvBC,eAAehB,UAAYe,YAC3BC,eAAeC,UAAW,EAE1Bf,WAAWiB,OAAOH,8CAIbI,QAETlB,WAGkC,KAAlCA,WAAWmB,QAAQC,YAGnB,WAGM1B,KAAKH,aAGX,EAGAG,KAAKF,gBAGL,MAGCQ,WAAWqB,SAGZ,CACIC,MAAO,kEACPC,OAAQ,yDACRC,UAAW,8DAUnBC,wBACO/B,KAAKP,SAASc,cAAcyB,mBAAUC,OAAOC,OAAOlC,KAAKR,aAQpEW,gCAC2BH,KAAKP,SAASc,cAAcyB,mBAAUG,UAAUC,QAAQC,YAEzD9B,cAAcyB,mBAAUM,KAAKC,OAAOL,OAAOlC,KAAKR,aAQ1ES,4BACWD,KAAK+B,WAAWxB,cAAcyB,mBAAUC,OAAOG,QAAQI,QAQ9DC,kBACOzC,KAAKR,WAQZkD,sBACOC,SAAS3C,KAAK+B,WAAWxB,cAAcyB,mBAAUC,OAAOM,OAAOK,MAAMtB,MAAO,IAQnFuB,sBAEMC,kBADkB9C,KAAKC,qBACaM,cAAc,iBAEjDwC,OAAOP,QAnLMQ,OAmLqBF,kBAlLtCE,OAAOC,iBAAiB,cAkLkCC,KAAIC,QAAUA,OAAO7B,QAnL9D0B,IAAAA,OA2LpBR,oBACOxC,KAAK6C,UAAUK,KAAIC,QAAUR,SAASQ,OAAQ,MAQrDhC,wBACO,CACHsB,KAAMzC,KAAKyC,KACXC,SAAU1C,KAAK0C,SACfF,OAAQxC,KAAKwC"}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists