Электронный Кадастр

e-cadastre.ru/Templates/user/js/global.js

Это файл JavaScript для сайта e-cadastre.ru, который является основой для обработки событий и выполнения действий при взаимодействии пользователя со страницами сайта.

Содержание

Файл global.js содержит следующие функции:

Использование

Данный файл предназначен для использования только на сайте e-cadastre.ru и не должен использоваться на других сайтах.

Описание функций

initDropDownMenu()

Функция инициализации выпадающего меню на сайте. Задает обработчики событий для элементов меню и реализует логику открытия/закрытия меню.

function initDropDownMenu() {
  const menuItems = document.querySelectorAll('.dropdown-menu__item');
  const menuLinks = document.querySelectorAll('.dropdown-menu__link');

  menuLinks.forEach((link) => {
    link.addEventListener('click', (e) => {
      const dropdownMenu = e.target.parentElement.querySelector('.dropdown-menu');
      dropdownMenu.classList.toggle('show');
    });
  });

  menuItems.forEach((item) => {
    item.addEventListener('mouseleave', (e) => {
      const dropdownMenu = e.target.querySelector('.dropdown-menu');
      dropdownMenu.classList.remove('show');
    });
  });
}

initSlider()

Функция инициализации слайдера на сайте. Задает обработчики событий для элементов слайдера и реализует логику переключения.

function initSlider() {
  const sliderItems = document.querySelectorAll('.slider__item');
  const sliderButtons = document.querySelectorAll('.slider__button');

  let currentIndex = 0;

  sliderButtons.forEach((button) => {
    button.addEventListener('click', (e) => {
      if (e.target.classList.contains('slider__button--prev')) {
        currentIndex--;
      } else {
        currentIndex++;
      }

      if (currentIndex < 0) {
        currentIndex = sliderItems.length - 1;
      }

      if (currentIndex >= sliderItems.length) {
        currentIndex = 0;
      }

      sliderItems.forEach((item) => {
        item.classList.remove('show');
      });

      sliderItems[currentIndex].classList.add('show');
    });
  });
}

initSearchForm()

Функция инициализации формы поиска на сайте. Задает обработчики событий для элементов формы и реализует отправку данных на сервер.

function initSearchForm() {
  const searchForm = document.querySelector('.search-form');
  const searchField = document.querySelector('.search-form__field');

  searchForm.addEventListener('submit', (e) => {
    e.preventDefault();

    const formData = new FormData();
    formData.append('query', searchField.value);

    fetch('/search', {
      method: 'POST',
      body: formData,
    }).then((response) => {
      return response.json();
    }).then((data) => {
      console.log(data);
    }).catch((error) => {
      console.error(error);
    });
  });
}

initMap()

Функция инициализации карты на сайте. Задает обработчики событий для элементов карты и реализует отображение объектов на карте.

function initMap() {
  const mapItems = document.querySelectorAll('.map__item');

  mapItems.forEach((item) => {
    item.addEventListener('click', (e) => {
      const objectId = e.target.dataset.objectId;

      fetch(`/object?id=${objectId}`).then((response) => {
        return response.json();
      }).then((data) => {
        console.log(data);
      }).catch((error) => {
        console.error(error);
      });
    });
  });
}

Заключение

Файл global.js является важной частью сайта e-cadastre.ru, так как он содержит функции, обеспечивающие основную функциональность сайта. Он используется только на данном сайте и его изменение может привести к нарушению работы сайта.