|
Server : Apache System : Linux vps.urbanovitalino.adv.br 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 User : urbanovitalinoad ( 1001) PHP Version : 7.3.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/urbanovitalinoad/public_html/next/media/com_menus/js/ |
Upload File : |
/**
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
(document => {
const isChecked = element => element.checked;
const getTreeElements = element => element.querySelectorAll('input[type="checkbox"]');
const getTreeRoot = element => element.parentElement.nextElementSibling;
const check = element => {
element.checked = true;
};
const uncheck = element => {
element.checked = false;
};
const disable = element => element.setAttribute('disabled', 'disabled');
const enable = element => element.removeAttribute('disabled');
const toggleState = (element, rootChecked) => {
if (rootChecked === true) {
disable(element);
check(element);
return;
}
enable(element);
uncheck(element);
};
const switchState = ({
target
}) => {
const root = getTreeRoot(target);
const selfChecked = isChecked(target);
if (root) {
getTreeElements(root).map(element => toggleState(element, selfChecked));
}
};
[].slice.call(document.querySelectorAll('.treeselect input[type="checkbox"]')).forEach(checkbox => {
checkbox.addEventListener('click', switchState);
});
})(document);