@ooo-inex/nav-tree
v0.5.0
Published
КОМПОНЕНТ ДЕРЕВА НАВИГАЦИИ
Downloads
78
Readme
КОМПОНЕНТ ДЕРЕВА НАВИГАЦИИ
Предназначен для визуализации данных таблиц типа admin.navigation (далее - navigation).
Дерево навигации многоуровневое, произвольной глубины.
Разделы меню могут быть либо только разделами, либо ещё и содержать контент (для таких ТРЕБУЕТСЯ булеан-свойство hasContent в данных пункта навигации).
======= NavTree
Основной компонент, является родительским для компонента NavItem, включённого в этот же пакет. Отрисовывает пункты навигации списком, прокидывая им часть пропсов из родительского компонента.
Параметры: key (Number) - id пункта навигации menu (Array) - меню навигации с данными по каждому пункту currentNavId (Number) - последний выбранный конечный пункт меню options (Object) - настройки, связанные с используемым запросом получения данных меню type (String) - тип используемого запроса пунктов меню: overall (всё сразу) | partial (по уровням для конкретного родителя) sectionsOpened (Boolean) - открыты ли разделы по умолчанию submenuName (String) - название свойства для массива дочерних пунктов меню в данных пункта навигации sectionPad (String) - отступ дочернего пункта навигации от родительского раздела в em svgIcons (Object) - пути для иконок для NavItem - стрелки вниз-вверх в секциях меню down (String) - путь к иконке раскрытого раздела up (String) - путь к иконке закрытого раздела (может выглядеть и как toTheRight, например)
Событие: nav-item-click - приходит с данными кликнутого пункта навигации (из NavItem через NavTree в родительский компонент)
======= NavItem
Дочерний компонент ПУНКТА НАВИГАЦИИ
Отрисовывает отдельный пункт меню, а также при наличие и его подменю списком в рекурсивном режиме.
Параметры: key - id пункта навигации из таблицы navigation item - данные пункта навигации current - id последнего выбранного пункта меню с контентом. если он фолси, активируем дефолтный пункт навигации (первый с контентом). если труфи, отмечаем в дереве. options - настройки, связанные с используемым запросом получения данных меню type - тип используемого запроса пунктов меню: overall (всё сразу) | partial (по уровням для конкретного родителя) sectionsOpened - открыты ли разделы по умолчанию submenuName - название свойства для массива дочерних пунктов меню в данных пункта навигации svgIcons - пути для иконок для NavItem - стрелки вниз-вверх в секциях меню
Событие: nav-item-click - приходит с данными кликнутого пункта навигации (из NavItem через NavTree в родительский компонент)
Детские пункты меню конкретного пункта навигации пребывают в виде массива в свойстве с именем options.submenuName (например NAVIGATION - см. xsl-шаблон _common/xml-to-tree-json.xsl для запросов типа overall).
В компоненте используется обращение к стандартным полям: NAME, а также TREE_LEVEL и KID_COUNT (деревянные поля). Разделы меню могут быть либо только разделами, либо ещё и содержать контент (определяется свойством hasContent в данных пункта навигации).
Последние выбранные пункты навигации с путём из id для каждого пространства сохраняются в локальном хранилище navPaths.
ЧТО НОВОГО
Минорная версия 0.5.0
- Запоминалка раскрытых/закрытых разделов теперь учитывает оба возможные значения оции sectionsOpened.
- Отступ подраздела теперь можно регулировать через опцию sectionPad.