Sindbad~EG File Manager

Current Path : /var/www/html/formacion.bdp.com.py-bk/admin/tool/langimport/amd/build/
Upload File :
Current File : /var/www/html/formacion.bdp.com.py-bk/admin/tool/langimport/amd/build/search.min.js.map

{"version":3,"file":"search.min.js","sources":["../src/search.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 * Add search filtering of available language packs\n *\n * @module      tool_langimport/search\n * @copyright   2021 Paul Holden <paulh@moodle.com>\n * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport Pending from 'core/pending';\nimport {debounce} from 'core/utils';\n\nconst SELECTORS = {\n    AVAILABLE_LANG_SELECT: 'select',\n    AVAILABLE_LANG_SEARCH: '[data-action=\"search\"]',\n};\n\nconst DEBOUNCE_TIMER = 250;\n\n/**\n * Initialize module\n *\n * @param {Element} form\n */\nconst init = (form) => {\n    const availableLangsElement = form.querySelector(SELECTORS.AVAILABLE_LANG_SELECT);\n\n    const availableLangsFilter = (event) => {\n        const pendingPromise = new Pending('tool_langimport/search:filter');\n\n        // Remove existing options.\n        availableLangsElement.querySelectorAll('option').forEach((option) => {\n            option.remove();\n        });\n\n        // Filter for matching languages.\n        const searchTerm = event.target.value.toLowerCase();\n        const availableLanguages = JSON.parse(availableLangsElement.dataset.availableLanguages);\n        const filteredLanguages = Object.keys(availableLanguages).reduce((matches, langcode) => {\n            if (availableLanguages[langcode].toLowerCase().includes(searchTerm)) {\n                matches[langcode] = availableLanguages[langcode];\n            }\n            return matches;\n        }, []);\n\n        // Re-create filtered options.\n        Object.entries(filteredLanguages).forEach(([langcode, langname]) => {\n            const option = document.createElement('option');\n            option.value = langcode;\n            option.innerText = langname;\n            availableLangsElement.append(option);\n        });\n\n        pendingPromise.resolve();\n    };\n\n    // Cache initial available language options.\n    const availableLanguages = {};\n    availableLangsElement.querySelectorAll('option').forEach((option) => {\n        availableLanguages[option.value] = option.text;\n    });\n    availableLangsElement.dataset.availableLanguages = JSON.stringify(availableLanguages);\n\n    // Register event listeners on the search element.\n    const availableLangsSearch = form.querySelector(SELECTORS.AVAILABLE_LANG_SEARCH);\n    availableLangsSearch.addEventListener('keydown', (event) => {\n        if (event.key === 'Enter') {\n            event.preventDefault();\n        }\n    });\n\n    // Debounce the event listener to allow the user to finish typing.\n    availableLangsSearch.addEventListener('keyup', (event) => {\n        const pendingPromise = new Pending('tool_langimport/search:keyup');\n\n        debounce(availableLangsFilter, DEBOUNCE_TIMER)(event);\n        setTimeout(() => {\n            pendingPromise.resolve();\n        }, DEBOUNCE_TIMER);\n    });\n};\n\nexport default {\n    init: init,\n};\n"],"names":["SELECTORS","init","form","availableLangsElement","querySelector","availableLangsFilter","event","pendingPromise","Pending","querySelectorAll","forEach","option","remove","searchTerm","target","value","toLowerCase","availableLanguages","JSON","parse","dataset","filteredLanguages","Object","keys","reduce","matches","langcode","includes","entries","langname","document","createElement","innerText","append","resolve","text","stringify","availableLangsSearch","addEventListener","key","preventDefault","setTimeout"],"mappings":"u3CA0BMA,gCACqB,SADrBA,gCAEqB,kCAoEZ,CACXC,KA3DS,SAACC,UACJC,sBAAwBD,KAAKE,cAAcJ,iCAE3CK,qBAAuB,SAACC,WACpBC,eAAiB,IAAIC,iBAAQ,iCAGnCL,sBAAsBM,iBAAiB,UAAUC,SAAQ,SAACC,QACtDA,OAAOC,gBAILC,WAAaP,MAAMQ,OAAOC,MAAMC,cAChCC,mBAAqBC,KAAKC,MAAMhB,sBAAsBiB,QAAQH,oBAC9DI,kBAAoBC,OAAOC,KAAKN,oBAAoBO,QAAO,SAACC,QAASC,iBACnET,mBAAmBS,UAAUV,cAAcW,SAASd,cACpDY,QAAQC,UAAYT,mBAAmBS,WAEpCD,UACR,IAGHH,OAAOM,QAAQP,mBAAmBX,SAAQ,gDAAEgB,kBAAUG,kBAC5ClB,OAASmB,SAASC,cAAc,UACtCpB,OAAOI,MAAQW,SACff,OAAOqB,UAAYH,SACnB1B,sBAAsB8B,OAAOtB,WAGjCJ,eAAe2B,WAIbjB,mBAAqB,GAC3Bd,sBAAsBM,iBAAiB,UAAUC,SAAQ,SAACC,QACtDM,mBAAmBN,OAAOI,OAASJ,OAAOwB,QAE9ChC,sBAAsBiB,QAAQH,mBAAqBC,KAAKkB,UAAUnB,wBAG5DoB,qBAAuBnC,KAAKE,cAAcJ,iCAChDqC,qBAAqBC,iBAAiB,WAAW,SAAChC,OAC5B,UAAdA,MAAMiC,KACNjC,MAAMkC,oBAKdH,qBAAqBC,iBAAiB,SAAS,SAAChC,WACtCC,eAAiB,IAAIC,iBAAQ,oDAE1BH,qBA1DM,KA0DgCC,OAC/CmC,YAAW,WACPlC,eAAe2B,YA5DJ"}

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