[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/media/com_menus/js/ -> admin-item-edit_container-es5.js (source)

   1  (function () {
   2    'use strict';
   3  
   4    /**
   5     * @copyright  (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
   6     * @license    GNU General Public License version 2 or later; see LICENSE.txt
   7     */
   8    (function (document) {
   9      var isChecked = function isChecked(element) {
  10        return element.checked;
  11      };
  12  
  13      var getTreeElements = function getTreeElements(element) {
  14        return element.querySelectorAll('input[type="checkbox"]');
  15      };
  16  
  17      var getTreeRoot = function getTreeRoot(element) {
  18        return element.parentElement.nextElementSibling;
  19      };
  20  
  21      var check = function check(element) {
  22        element.checked = true;
  23      };
  24  
  25      var uncheck = function uncheck(element) {
  26        element.checked = false;
  27      };
  28  
  29      var disable = function disable(element) {
  30        return element.setAttribute('disabled', 'disabled');
  31      };
  32  
  33      var enable = function enable(element) {
  34        return element.removeAttribute('disabled');
  35      };
  36  
  37      var toggleState = function toggleState(element, rootChecked) {
  38        if (rootChecked === true) {
  39          disable(element);
  40          check(element);
  41          return;
  42        }
  43  
  44        enable(element);
  45        uncheck(element);
  46      };
  47  
  48      var switchState = function switchState(_ref) {
  49        var target = _ref.target;
  50        var root = getTreeRoot(target);
  51        var selfChecked = isChecked(target);
  52  
  53        if (root) {
  54          getTreeElements(root).map(function (element) {
  55            return toggleState(element, selfChecked);
  56          });
  57        }
  58      };
  59  
  60      [].slice.call(document.querySelectorAll('.treeselect input[type="checkbox"]')).forEach(function (checkbox) {
  61        checkbox.addEventListener('click', switchState);
  62      });
  63    })(document);
  64  
  65  })();


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer