checkboxes_filter-1.0.0/js/filter_checkboxes.js

js/filter_checkboxes.js
(function ($, Drupal) {
  Drupal.behaviors.checkboxesFilter = {
    attach: function (context, settings) {
      var $checkboxesElement = $('.checkboxes-filter-element', context);
      function filterCheckboxes (filterText, $element) {
        $('div.form-item.form-type-checkbox', $element).each(function() {
          if (filterText === '') {
            $(this).show();
          } else {
            let labelText = $(this).find('label').html();
            if (labelText.toLowerCase().indexOf(filterText.toLowerCase()) >= 0) {
              $(this).show();
            } else {
              $(this).hide();
            }
          }
        });
      }
      $checkboxesElement.once('checkboxes-filter').each(function () {
        let currentElement = $(this);
        currentElement.prepend(
          $('<input type="text" class="form-text" placeholder="' + Drupal.t('Filter') + '">').on('blur', function () {
            filterCheckboxes($(this).val(), currentElement);
          }).on('keyup', function () {
            filterCheckboxes($(this).val(), currentElement);
          })
        );
      });
    },
  };
})(jQuery, Drupal);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc