Концепции макета
| Понятие | Что определяет | Сущность |
|---|---|---|
| Представление | Сохранённая конфигурация списка для объекта — видимые поля, порядок, фильтры, группы | defineView |
| Пункт меню навигации | Элемент в левой боковой панели, который ссылается на представление или внешний URL | defineNavigationMenuItem |
| Макет страницы | Вкладки и виджеты, из которых состоит страница сведений о записи | definePageLayout |
| Вкладка компоновки страницы | Отдельная вкладка, прикреплённая к существующей компоновке страницы (стандартной или созданной в вашем приложении) | definePageLayoutTab |
universalIdentifier:
- Пункт меню навигации типа
VIEWуказывает на идентификаторdefineView, поэтому ссылка в боковой панели открывает это сохранённое представление. - Макет страницы типа
RECORD_PAGEориентирован на объект и может встраивать фронт-компоненты во вкладки в качестве виджетов.
defineView
Определяйте сохранённые представления для объектов
defineView
Определяйте сохранённые представления для объектов
Представления — это сохранённые конфигурации отображения записей объекта: какие поля видны, их порядок, а также применённые фильтры и группы. Используйте Основные моменты:
defineView() для поставки преднастроенных представлений вместе с вашим приложением:src/views/example-view.ts
objectUniversalIdentifierуказывает, к какому объекту применяется это представление.keyопределяет тип представления (например,ViewKey.INDEXдля основного списка).fieldsуправляет тем, какие столбцы отображаются и в каком порядке. Каждое поле ссылается наfieldMetadataUniversalIdentifier.- Также вы можете определить
filters,filterGroups,groupsиfieldGroupsдля более продвинутых конфигураций. positionуправляет порядком, когда для одного и того же объекта существует несколько представлений.
defineNavigationMenuItem
Определяйте ссылки боковой панели навигации
defineNavigationMenuItem
Определяйте ссылки боковой панели навигации
definePageLayout
Определяйте пользовательские макеты страниц для представлений записей
definePageLayout
Определяйте пользовательские макеты страниц для представлений записей
Макеты страниц позволяют настраивать вид страницы с деталями записи: какие вкладки отображаются, какие виджеты внутри каждой вкладки и как они расположены. Используйте Основные моменты:
definePageLayout() для поставки пользовательских макетов вместе с вашим приложением:src/page-layouts/example-record-page-layout.ts
typeобычно равен'RECORD_PAGE'для настройки детального представления конкретного объекта.objectUniversalIdentifierуказывает, к какому объекту применяется этот макет.- Каждая
tabопределяет раздел страницы сtitle,positionиlayoutMode(CANVASдля свободного макета). - Каждый
widgetвнутри вкладки может отображать компонент фронтенда, список связей или другие встроенные типы виджетов. positionу вкладок управляет их порядком. Используйте большие значения (например, 50), чтобы разместить пользовательские вкладки после встроенных.
definePageLayoutTab
Добавьте вкладку к существующему макету страницы.
definePageLayoutTab
Добавьте вкладку к существующему макету страницы.
definePageLayoutTab позволяет вашему приложению прикрепить одну вкладку — с необязательными виджетами — к существующему макету страницы. Самый распространённый сценарий — добавление пользовательской вкладки (например, вкладки с аналитикой или сводкой ИИ) к одной из встроенных страниц записей Twenty или к макету страницы, который уже поставляется вашим приложением.Целевой макет страницы должен быть либо стандартным макетом страницы Twenty, либо определённым вашим собственным приложением; ссылки между приложениями на макеты страниц, принадлежащие другому установленному приложению, пока не поддерживаются.src/page-layouts/example-extra-tab.ts
pageLayoutUniversalIdentifierявляется обязательным при использованииdefinePageLayoutTabи должен указывать на макет страницы, который уже существует на момент установки (стандартный или вашего приложения). Если родительский макет страницы отсутствует, установка завершается с понятной ошибкой проверки.widgetsограничены только этой вкладкой — они ссылаются на компоненты фронтенда, представления и т. п. точно так же, как виджеты, определённые непосредственно вdefinePageLayout.positionуправляет порядком относительно существующих вкладок в целевом макете. Выберите значение, которое поместит вашу вкладку в нужное место относительно встроенных вкладок.- Используйте это вместо
definePageLayout, когда вы хотите только добавить к существующему макету. ИспользуйтеdefinePageLayout, когда вы владеете всем макетом (обычно этоRECORD_PAGEдля объекта, который вы поставляете в своём приложении, илиSTANDALONE_PAGE).