В библиотеке Muuri константы и перечисления играют ключевую роль при настройке и управлении сеткой. Они позволяют стандартизировать значения опций, событий и состояний элементов, обеспечивая удобство и безопасность кода. Muuri использует константы для обозначения направлений сортировки, состояния элементов и различных типов анимаций.
Направления сортировки Для сортировки элементов в сетке используются константы:
const { SORT_ORDER_ASCENDING, SORT_ORDER_DESCENDING } = Muuri;
SORT_ORDER_ASCENDING — сортировка по возрастанию.SORT_ORDER_DESCENDING — сортировка по убыванию.Эти константы позволяют избежать ошибок при передаче строковых значений напрямую и делают код более читаемым.
Состояния элементов
Каждый элемент Muuri может находиться в определённом состоянии. Для работы с состояниями используются константы:
const { VISIBLE, HIDDEN, REMOVED } = Muuri;
VISIBLE — элемент видим в сетке.HIDDEN — элемент скрыт, но остаётся в DOM.REMOVED — элемент удалён из сетки и DOM.Использование этих констант важно при фильтрации или обновлении
элементов через методы show(), hide(),
remove().
Типы анимации
Muuri поддерживает несколько типов анимации, задаваемых через константы:
const { ANIMATION_MOVE, ANIMATION_SCALE, ANIMATION_OPACITY } = Muuri;
ANIMATION_MOVE — перемещение элементов.ANIMATION_SCALE — масштабирование элементов.ANIMATION_OPACITY — изменение прозрачности.При комбинировании этих констант можно создавать комплексные эффекты анимации для плавного отображения сетки.
События Muuri обозначаются как строки, хранящиеся в виде констант для удобства и предотвращения ошибок опечатки:
const { EVENT_MOVE, EVENT_REMOVE, EVENT_DRAG_START, EVENT_DRAG_END } = Muuri;
EVENT_MOVE — срабатывает при перемещении элемента.EVENT_REMOVE — элемент удалён.EVENT_DRAG_START — начало перетаскивания элемента.EVENT_DRAG_END — завершение перетаскивания
элемента.Подписка на события осуществляется через метод on():
grid.on(EVENT_MOVE, (item) => {
console.log('Элемент перемещён:', item);
});
Использование констант вместо строк напрямую гарантирует корректную работу обработчиков при обновлениях библиотеки.
grid.sort('title', { order: Muuri.SORT_ORDER_ASCENDING });
grid.filter(item => item.getElement().classList.contains('active') ? Muuri.VISIBLE : Muuri.HIDDEN);
grid.synchronize().then(() => {
grid.layout(true, {
duration: 400,
easing: 'ease-in-out',
queue: true,
layoutOnAnimationEnd: true
});
});
| Категория | Константы | Описание |
|---|---|---|
| Сортировка | SORT_ORDER_ASCENDING,
SORT_ORDER_DESCENDING |
Направление сортировки элементов |
| Состояние элементов | VISIBLE, HIDDEN, REMOVED |
Текущее состояние элемента |
| Анимация | ANIMATION_MOVE, ANIMATION_SCALE,
ANIMATION_OPACITY |
Тип анимации при изменении позиции или стиля |
| События | EVENT_MOVE, EVENT_REMOVE,
EVENT_DRAG_START, EVENT_DRAG_END |
Перечисление событий сетки |
Эти константы и перечисления формируют основу для надежного и удобного управления сеткой Muuri, делая код более структурированным и предсказуемым при масштабировании приложений.