HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //var/www/innodrive/src/js/modules/page-block-filter.js
export const pageBlockFilter = () => {
  const pageBlock = document.querySelector('.page-block');

  if (!pageBlock) return false;

  const filterItem = pageBlock.querySelectorAll('.page-block__filter-item');
  const videoItem = pageBlock.querySelectorAll('.page-block__video');
  const noneV = pageBlock.querySelector('.page-block__video-none');
  const activeItemFilter = [];

  [...filterItem].map((item) => {
    //const ids = [...videoItem].map((itemVideo) => itemVideo.dataset.filterVideo);
    item.addEventListener('click', () => {
      if (item.classList.contains('active')) {
        item.classList.remove('active');
        deleteNumberArray(activeItemFilter, Number(item.dataset.filterItem));
      } else {
        item.classList.add('active');
        if (!activeItemFilter.includes(item.dataset.filterItem)) {
          activeItemFilter.push(parseInt(item.dataset.filterItem));
        }
      }
      [...videoItem].map((itemVideo) => {
        itemVideo.classList.add('hide');
        if (activeItemFilter.length === 0) {
          itemVideo.classList.remove('hide');
        } else {
          activeItemFilter.map((oneActiveItemFilter) => {
            if (JSON.parse(itemVideo.dataset.filterVideo).includes(oneActiveItemFilter)) {
              itemVideo.classList.remove('hide');
            }
          });
        }
      });
      visibleBlock(item, activeItemFilter, noneV);
    });
  });
};

const visibleBlock = (item, activeItemFilter, noneV) => {
  const pageBlock = document.querySelector('.page-block');

  if (activeItemFilter.length > 0 && noneV) {
    if (pageBlock.querySelectorAll('.page-block__video:not(.hide)').length === 0) {
      noneV.classList.add('show');
    } else {
      noneV.classList.remove('show');
    }
  } else {
    noneV.classList.remove('show');
  }
};

const deleteNumberArray = (array, filterNumber) => {
  array.map((item, key) => {
    if (Number(filterNumber) === Number(item)) {
      array.splice(key, 1);
    }
  });
};