__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/**
* @copyright (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
const treeselectmenu = document.getElementById('treeselectmenu');
const direction = document.dir !== undefined ? document.dir : document.documentElement.dir;
document.querySelectorAll('.treeselect li').forEach(li => {
// Add icons
const icon = document.createElement('span');
// add tabindex to the span
icon.setAttribute('tabindex', '0');
icon.classList.add('icon-');
li.prepend(icon);
if (li.querySelector('ul.treeselect-sub')) {
// Add classes to Expand/Collapse icons
li.querySelector('span.icon-').classList.add('treeselect-toggle', 'icon-chevron-down');
// Append drop down menu in nodes
if (treeselectmenu) {
li.querySelector('div.treeselect-item label').insertAdjacentHTML('afterend', treeselectmenu.innerHTML);
}
const sub = li.querySelector('ul.treeselect-sub');
const expand = li.querySelector('div.treeselect-menu-expand');
if (!sub.querySelector('ul.treeselect-sub') && expand) {
expand.remove();
}
}
});
// Takes care of the Expand/Collapse of a node
document.querySelectorAll('span.treeselect-toggle').forEach(toggle => {
toggle.addEventListener('click', ({
target
}) => {
const chevron = direction === 'rtl' ? 'icon-chevron-left' : 'icon-chevron-right';
// Take care of parent UL
const {
parentNode
} = target;
if (parentNode.querySelector('ul.treeselect-sub').classList.contains('hidden')) {
target.classList.remove(chevron);
target.classList.add('icon-chevron-down');
parentNode.querySelectorAll('ul.treeselect-sub').forEach(item => item.classList.remove('hidden'));
parentNode.querySelectorAll('ul.treeselect-sub i.treeselect-toggle').forEach(item => {
item.classList.add('icon-chevron-down');
item.classList.remove(chevron);
});
} else {
target.classList.add(chevron);
target.classList.remove('icon-chevron-down');
parentNode.querySelectorAll('ul.treeselect-sub').forEach(item => item.classList.add('hidden'));
parentNode.querySelectorAll('ul.treeselect-sub i.treeselect-toggle').forEach(item => {
item.classList.remove('icon-chevron-down');
item.classList.add(chevron);
});
}
});
toggle.addEventListener('keypress', event => {
if (event.key === 'Enter') {
toggle.click();
}
});
});
// Takes care of the filtering
document.getElementById('treeselectfilter').addEventListener('keyup', ({
target
}) => {
const noResults = document.getElementById('noresultsfound');
const text = target.value.toLowerCase();
let hidden = 0;
noResults.classList.add('hidden');
const listItems = document.querySelectorAll('.treeselect li');
listItems.forEach(item => {
if (item.innerText.toLowerCase().includes(text)) {
item.classList.remove('d-none');
} else {
item.classList.add('d-none');
hidden += 1;
}
});
if (hidden === listItems.length) {
noResults.classList.remove('hidden');
}
});
// Checks all checkboxes the tree
document.getElementById('treeCheckAll').addEventListener('click', () => {
document.querySelectorAll('.treeselect input').forEach(input => {
input.checked = true;
});
});
// Unchecks all checkboxes the tree
document.getElementById('treeUncheckAll').addEventListener('click', () => {
document.querySelectorAll('.treeselect input').forEach(input => {
input.checked = false;
});
});
// Expands all subtrees
document.getElementById('treeExpandAll').addEventListener('click', () => {
document.querySelectorAll('ul.treeselect ul.treeselect-sub').forEach(input => input.classList.remove('hidden'));
document.querySelectorAll('ul.treeselect span.treeselect-toggle').forEach(item => {
item.classList.remove('icon-chevron-right');
item.classList.add('icon-chevron-down');
});
});
// Collapses all subtrees
document.getElementById('treeCollapseAll').addEventListener('click', () => {
document.querySelectorAll('ul.treeselect ul.treeselect-sub').forEach(input => input.classList.add('hidden'));
document.querySelectorAll('ul.treeselect span.treeselect-toggle').forEach(item => {
item.classList.remove('icon-chevron-down');
item.classList.add('icon-chevron-right');
});
});
// Take care of children check/uncheck all
document.querySelectorAll('a.checkall').forEach(item => {
item.addEventListener('click', ({
target
}) => {
target.closest('li').querySelectorAll('ul.treeselect-sub input').forEach(input => {
input.checked = true;
});
});
});
document.querySelectorAll('a.uncheckall').forEach(item => {
item.addEventListener('click', ({
target
}) => {
target.closest('li').querySelectorAll('ul.treeselect-sub input').forEach(input => {
input.checked = false;
});
});
});
// Take care of children toggle all
document.querySelectorAll('a.expandall').forEach(item => {
item.addEventListener('click', ({
target
}) => {
const parent = target.closest('ul');
parent.querySelectorAll('ul.treeselect-sub').forEach(input => input.classList.remove('hidden'));
parent.querySelectorAll('ul.treeselect-sub .treeselect-toggle').forEach(toggle => {
toggle.classList.remove('icon-chevron-right');
toggle.classList.add('icon-chevron-down');
});
});
});
document.querySelectorAll('a.collapseall').forEach(item => {
item.addEventListener('click', ({
target
}) => {
const parent = target.closest('ul');
parent.querySelectorAll('ul.treeselect-sub').forEach(input => input.classList.add('hidden'));
parent.querySelectorAll('ul.treeselect-sub .treeselect-toggle').forEach(toggle => {
toggle.classList.remove('icon-chevron-down');
toggle.classList.add('icon-chevron-right');
});
});
});
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| editors | Folder | 0775 |
|
|
| fields | Folder | 0775 |
|
|
| core.js | File | 25.96 KB | 0664 |
|
| core.min.js | File | 7.58 KB | 0664 |
|
| core.min.js.gz | File | 3.14 KB | 0664 |
|
| draggable.js | File | 5.66 KB | 0664 |
|
| draggable.min.js | File | 2.54 KB | 0664 |
|
| draggable.min.js.gz | File | 1.05 KB | 0664 |
|
| highlight.js | File | 61.61 KB | 0664 |
|
| highlight.min.js | File | 15.58 KB | 0664 |
|
| highlight.min.js.gz | File | 5.44 KB | 0664 |
|
| inlinehelp.js | File | 2.18 KB | 0664 |
|
| inlinehelp.min.js | File | 805 B | 0664 |
|
| inlinehelp.min.js.gz | File | 486 B | 0664 |
|
| joomla-core-loader.js | File | 4.91 KB | 0664 |
|
| joomla-core-loader.min.js | File | 4.02 KB | 0664 |
|
| joomla-core-loader.min.js.gz | File | 1.66 KB | 0664 |
|
| joomla-dialog-autocreate.js | File | 2.9 KB | 0664 |
|
| joomla-dialog-autocreate.min.js | File | 1.22 KB | 0664 |
|
| joomla-dialog-autocreate.min.js.gz | File | 664 B | 0664 |
|
| joomla-dialog.js | File | 17.7 KB | 0664 |
|
| joomla-dialog.min.js | File | 8.29 KB | 0664 |
|
| joomla-dialog.min.js.gz | File | 2.43 KB | 0664 |
|
| joomla-hidden-mail.js | File | 2.26 KB | 0664 |
|
| joomla-hidden-mail.min.js | File | 1.53 KB | 0664 |
|
| joomla-hidden-mail.min.js.gz | File | 721 B | 0664 |
|
| joomla-toolbar-button.js | File | 3.56 KB | 0664 |
|
| joomla-toolbar-button.min.js | File | 2.08 KB | 0664 |
|
| joomla-toolbar-button.min.js.gz | File | 868 B | 0664 |
|
| keepalive.js | File | 1 KB | 0664 |
|
| keepalive.min.js | File | 741 B | 0664 |
|
| keepalive.min.js.gz | File | 430 B | 0664 |
|
| list-view.js | File | 2.75 KB | 0664 |
|
| list-view.min.js | File | 1.59 KB | 0664 |
|
| list-view.min.js.gz | File | 555 B | 0664 |
|
| messages.js | File | 10.19 KB | 0664 |
|
| messages.min.js | File | 5.41 KB | 0664 |
|
| messages.min.js.gz | File | 1.77 KB | 0664 |
|
| modal-content-select.js | File | 1.14 KB | 0664 |
|
| modal-content-select.min.js | File | 781 B | 0664 |
|
| modal-content-select.min.js.gz | File | 497 B | 0664 |
|
| multiselect.js | File | 3.77 KB | 0664 |
|
| multiselect.min.js | File | 1.86 KB | 0664 |
|
| multiselect.min.js.gz | File | 917 B | 0664 |
|
| searchtools.js | File | 18.69 KB | 0664 |
|
| searchtools.min.js | File | 10.4 KB | 0664 |
|
| searchtools.min.js.gz | File | 2.56 KB | 0664 |
|
| showon.js | File | 9.91 KB | 0664 |
|
| showon.min.js | File | 3.55 KB | 0664 |
|
| showon.min.js.gz | File | 1.39 KB | 0664 |
|
| table-columns.js | File | 6 KB | 0664 |
|
| table-columns.min.js | File | 3.39 KB | 0664 |
|
| table-columns.min.js.gz | File | 1.28 KB | 0664 |
|
| treeselectmenu.js | File | 5.74 KB | 0664 |
|
| treeselectmenu.min.js | File | 4.07 KB | 0664 |
|
| treeselectmenu.min.js.gz | File | 976 B | 0664 |
|