API: Меню узла
API: Меню узла (верхнее и боковое)
Заголовок раздела «API: Меню узла (верхнее и боковое)»Базовый путь верхнего меню: /api/v1/nodes/{nodeId}/menu
Боковое меню: те же операции под /api/v1/nodes/{nodeId}/side-menu.
GET /nodes/{nodeId}/menu
Заголовок раздела «GET /nodes/{nodeId}/menu»Эффективное меню для текущего пользователя с учётом:
- наследования от родительского узла;
- фильтрации пунктов по группам доступа.
Ответ (дерево):
{ "items": [ { "id": "uuid", "parentId": null, "title": "Раздел", "url": "#", "openInNewTab": false, "sortOrder": 0, "children": [ { "id": "uuid2", "parentId": "uuid", "title": "Задачи", "url": "#/nodes/{nodeId}/lists/{listId}", "openInNewTab": false, "sortOrder": 0, "children": [] } ] } ], "sourceNodeId": "uuid", "inherited": false}Вложенность
Заголовок раздела «Вложенность»- Пункты образуют дерево через
parent_id. - Пункт-группа без ссылки:
url: "#". - Удаление родителя каскадно удаляет дочерние пункты.
Наследование
Заголовок раздела «Наследование»В node_menu_settings.inherit_from_parent (по умолчанию true):
- true и есть родитель — используется меню родителя (рекурсивно вверх);
- false — только пункты, заданные на этом узле;
- у корневого узла при
inherit=trueпоказываются собственные пункты.
Доступ к пунктам
Заголовок раздела «Доступ к пунктам»У каждого пункта настраивается видимость:
inheritAccessFromParent(по умолчаниюtrueдля вложенных) — наследовать списки пользователей и групп от родительского пункта меню;userIds— пользователи, которым виден пункт (пусто = не ограничено по пользователям);groupIds— группы, участникам которых виден пункт (пусто = не ограничено по группам).
Правило: если оба списка пусты (и наследование отключено или пункт корневой) — пункт видят все с доступом к узлу. Достаточно совпадения по пользователю или по группе. portal_admin видит всё.
Скрытый родительский пункт скрывает и дочерние.
Группы доступа (устаревшее описание)
Заголовок раздела «Группы доступа (устаревшее описание)»Ранее использовались только groupIds — теперь см. раздел «Доступ к пунктам».
Управление (право edit на узел)
Заголовок раздела «Управление (право edit на узел)»GET /nodes/{nodeId}/menu/manage
Заголовок раздела «GET /nodes/{nodeId}/menu/manage»Настройки и плоский список пунктов в порядке дерева (с parentId).
PUT /nodes/{nodeId}/menu/settings
Заголовок раздела «PUT /nodes/{nodeId}/menu/settings»{ "inheritFromParent": true }POST /nodes/{nodeId}/menu/items
Заголовок раздела «POST /nodes/{nodeId}/menu/items»{ "title": "Документы", "url": "#/nodes/uuid/libraries/uuid", "parentId": null, "openInNewTab": false, "sortOrder": 10, "inheritAccessFromParent": false, "userIds": ["user-uuid"], "groupIds": ["group-uuid"]}PATCH /nodes/{nodeId}/menu/items/{itemId}
Заголовок раздела «PATCH /nodes/{nodeId}/menu/items/{itemId}»Можно обновить parentId для смены вложенности.
POST /nodes/{nodeId}/menu/items/{itemId}/move
Заголовок раздела «POST /nodes/{nodeId}/menu/items/{itemId}/move»Перемещение в редакторе:
{ "action": "up" }{ "action": "down" }{ "action": "into", "targetId": "uuid-родителя" }{ "action": "out" }DELETE /nodes/{nodeId}/menu/items/{itemId}
Заголовок раздела «DELETE /nodes/{nodeId}/menu/items/{itemId}»- Верхняя полоса под заголовком страницы — на всех страницах узла (списки, библиотеки, страницы).
- Редактор — в Настройках узла → вкладка «Верхнее меню» (при праве
editна узел).
Доступ к пункту (UI)
Заголовок раздела «Доступ к пункту (UI)»В редакторе верхнего и бокового меню колонка Доступ показывает сводку («Как у родителя», «Все с доступом к узлу», число пользователей/групп).
Кнопка Настроить… открывает модальное окно «Доступ к пункту меню» с одним чип-пикером: пользователи и группы в одном поле (тот же UX, что при назначении ACL). Пустой список — пункт видят все с доступом к узлу.
В API по-прежнему передаются раздельные userIds и groupIds; UI собирает их из единого выбора субъектов.
Боковое меню
Заголовок раздела «Боковое меню»Модель и UI доступа те же, базовый путь: /api/v1/nodes/{nodeId}/side-menu (те же manage / settings / items / move / principal-options). Редактор — Настройки узла → «Боковое меню».
URL пунктов
Заголовок раздела «URL пунктов»- Внутренние страницы:
/lists/zadachi,/pages/welcome - Папка подменю:
# - Внешние ссылки:
https://...(опция «в новой вкладке»)
См. routes.md.