12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import '../utils/indeterminate';
- import './panel';
- import { ReLoad } from '../columns';
- import throttle from 'lodash/throttle';
- document.addEventListener('click', (event) => {
- const filterType = event.target && event.target.dataset.filters;
- if (filterType === 'reset') {
- const filters = event.target.closest('#pages-filters');
- (filters.querySelectorAll('input[type="text"]') || []).forEach((input) => {
- input.value = '';
- });
- (filters.querySelectorAll('input[type="checkbox"]') || []).forEach((input) => {
- const wrapper = input.closest('.checkboxes');
- if (wrapper) {
- wrapper.classList.remove('status-checked', 'status-unchecked', 'status-indeterminate');
- wrapper.dataset._checkStatus = '0';
- wrapper.classList.add('status-unchecked');
- }
- input.indeterminate = false;
- input.checked = false;
- input.value = '';
- });
- return false;
- }
- if (filterType === 'apply') {
- ReLoad();
- return false;
- }
- });
- const throttledReload = throttle(() => {
- ReLoad();
- }, 350, { leading: false });
- document.addEventListener('input', (event) => {
- if (event.target.getAttribute && event.target.getAttribute('name') === 'filters[search]') {
- throttledReload.cancel();
- throttledReload();
- }
- });
|