[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/media/legacy/js/ -> treeselectmenu.js (source)

   1  /**
   2   * @copyright  (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
   3   * @license    GNU General Public License version 2 or later; see LICENSE.txt
   4   */
   5  jQuery(function($)
   6  {
   7      var treeselectmenu = $('div#treeselectmenu').html();
   8      var direction = (document.dir !== undefined) ? document.dir : document.getElementsByTagName("html")[0].getAttribute("dir");
   9  
  10      $('.treeselect li').each(function()
  11      {
  12          $li = $(this);
  13          $div = $li.find('div.treeselect-item:first');
  14  
  15          // Add icons
  16          $li.prepend('<span class="icon-"></span>');
  17  
  18          if ($li.find('ul.treeselect-sub').length) {
  19              // Add classes to Expand/Collapse icons
  20              $li.find('span.icon-').addClass('treeselect-toggle icon-chevron-down');
  21  
  22              // Append drop down menu in nodes
  23              $div.find('label:first').after(treeselectmenu);
  24  
  25              if (!$li.find('ul.treeselect-sub ul.treeselect-sub').length) {
  26                  $li.find('div.treeselect-menu-expand').remove();
  27              }
  28          }
  29      });
  30  
  31      // Takes care of the Expand/Collapse of a node
  32      $('span.treeselect-toggle').click(function()
  33      {
  34          $i = $(this);
  35  
  36          if (direction === 'rtl') {
  37              var chevron = 'icon-chevron-left';
  38          } else {
  39              var chevron = 'icon-chevron-right';
  40          }
  41  
  42          // Take care of parent UL
  43          if ($i.parent().find('ul.treeselect-sub').is(':visible')) {
  44              $i.removeClass('icon-chevron-down').addClass(chevron);
  45              $i.parent().find('ul.treeselect-sub').hide();
  46              $i.parent().find('ul.treeselect-sub i.treeselect-toggle').removeClass('icon-chevron-down').addClass(chevron);
  47          } else {
  48              $i.removeClass(chevron).addClass('icon-chevron-down');
  49              $i.parent().find('ul.treeselect-sub').show();
  50              $i.parent().find('ul.treeselect-sub i.treeselect-toggle').removeClass(chevron).addClass('icon-chevron-down');
  51          }
  52      });
  53  
  54      // Takes care of the filtering
  55      $('#treeselectfilter').keyup(function()
  56      {
  57          var text = $(this).val().toLowerCase();
  58          var hidden = 0;
  59          $("#noresultsfound").hide();
  60          var $list_elements = $('.treeselect li');
  61          $list_elements.each(function()
  62          {
  63              if ($(this).text().toLowerCase().indexOf(text) == -1) {
  64                  $(this).hide();
  65                  hidden++;
  66              }
  67              else {
  68                  $(this).show();
  69              }
  70          });
  71          if(hidden == $list_elements.length)
  72          {
  73              $("#noresultsfound").show();
  74          }
  75      });
  76  
  77      // Checks all checkboxes the tree
  78      $('#treeCheckAll').click(function()
  79      {
  80          $('.treeselect input').attr('checked', 'checked');
  81      });
  82  
  83      // Unchecks all checkboxes the tree
  84      $('#treeUncheckAll').click(function()
  85      {
  86          $('.treeselect input').attr('checked', false);
  87      });
  88  
  89      // Checks all checkboxes the tree
  90      $('#treeExpandAll').click(function()
  91      {
  92          $('ul.treeselect ul.treeselect-sub').show();
  93          $('ul.treeselect span.treeselect-toggle').removeClass('icon-chevron-right').addClass('icon-chevron-down');
  94      });
  95  
  96      // Unchecks all checkboxes the tree
  97      $('#treeCollapseAll').click(function()
  98      {
  99          $('ul.treeselect ul.treeselect-sub').hide();
 100          $('ul.treeselect span.treeselect-toggle').removeClass('icon-chevron-down').addClass('icon-chevron-right');
 101      });
 102      // Take care of children check/uncheck all
 103      $('a.checkall').click(function()
 104      {
 105          $(this).parents().eq(4).find('ul.treeselect-sub input').attr('checked', 'checked');
 106      });
 107      $('a.uncheckall').click(function()
 108      {
 109          $(this).parents().eq(4).find('ul.treeselect-sub input').attr('checked', false);
 110      });
 111  
 112      // Take care of children toggle all
 113      $('a.expandall').click(function()
 114      {
 115          var $parent = $(this).parents().eq(6);
 116          $parent.find('ul.treeselect-sub').show();
 117          $parent.find('ul.treeselect-sub i.treeselect-toggle').removeClass('icon-chevron-right').addClass('icon-chevron-down');
 118      });
 119      $('a.collapseall').click(function()
 120      {
 121          var $parent = $(this).parents().eq(6);
 122          $parent.find('li ul.treeselect-sub').hide();
 123          $parent.find('li i.treeselect-toggle').removeClass('icon-chevron-down').addClass('icon-chevron-right');
 124      });
 125  });


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