Files
vServer/Backend/admin/frontend/assets/js/utils/dom.js
Falknat 02ae56b78c Большое обновление GUI интерфейс
Большое обновление GUI интерфейс

- Добавлен фраемворr Walles
- Удалена консольная версия
- Проработан интерфейс и дизайн
- Добавлено кеширование для быстрой реакции.
- Сделан .ps1 сборщик для удобной сборки проекта.
- Обновлён Readme
2025-11-14 08:40:25 +07:00

84 lines
2.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* ============================================
DOM Utilities
Утилиты для работы с DOM
============================================ */
/**
* Получить элемент по ID
* @param {string} id - ID элемента
* @returns {HTMLElement|null}
*/
export function $(id) {
return document.getElementById(id);
}
/**
* Получить все элементы по селектору
* @param {string} selector - CSS селектор
* @param {HTMLElement} parent - Родительский элемент
* @returns {NodeList}
*/
export function $$(selector, parent = document) {
return parent.querySelectorAll(selector);
}
/**
* Показать элемент
* @param {HTMLElement|string} element - Элемент или ID
*/
export function show(element) {
const el = typeof element === 'string' ? $(element) : element;
if (el) el.style.display = 'block';
}
/**
* Скрыть элемент
* @param {HTMLElement|string} element - Элемент или ID
*/
export function hide(element) {
const el = typeof element === 'string' ? $(element) : element;
if (el) el.style.display = 'none';
}
/**
* Переключить видимость элемента
* @param {HTMLElement|string} element - Элемент или ID
*/
export function toggle(element) {
const el = typeof element === 'string' ? $(element) : element;
if (el) {
el.style.display = el.style.display === 'none' ? 'block' : 'none';
}
}
/**
* Добавить класс
* @param {HTMLElement|string} element - Элемент или ID
* @param {string} className - Имя класса
*/
export function addClass(element, className) {
const el = typeof element === 'string' ? $(element) : element;
if (el) el.classList.add(className);
}
/**
* Удалить класс
* @param {HTMLElement|string} element - Элемент или ID
* @param {string} className - Имя класса
*/
export function removeClass(element, className) {
const el = typeof element === 'string' ? $(element) : element;
if (el) el.classList.remove(className);
}
/**
* Переключить класс
* @param {HTMLElement|string} element - Элемент или ID
* @param {string} className - Имя класса
*/
export function toggleClass(element, className) {
const el = typeof element === 'string' ? $(element) : element;
if (el) el.classList.toggle(className);
}