Skip to main content
Представление — это сохранённая конфигурация того, как отображаются записи объекта: какие поля появляются, их порядок, видимость, а также применённые фильтры и группы. Используйте defineView() для поставки преднастроенных представлений вместе с вашим приложением. Каждый объект автоматически получает свое основное представление списка (таблицу “All …”, которую открывает пункт навигации OBJECT), подготавливаемое сервером — включая объекты, создаваемые вашим приложением, с одним столбцом для каждого поля, объявленного вашим приложением. Представления, которые вы определяете с помощью defineView(), всегда являются дополнительными представлениями поверх этого представления по умолчанию.
src/views/example-view.ts

Основные моменты

  • objectUniversalIdentifier указывает, к какому объекту применяется это представление. Это может быть пользовательский объект, который вы определили, или стандартный объект Twenty.
  • Основное представление списка объекта принадлежит серверу: key устарел и игнорируется, поэтому представление из манифеста никогда не сможет на него претендовать. Добавьте элемент навигации VIEW, если вы хотите, чтобы до вашего представления можно было добраться в один клик из боковой панели.
  • fields управляет тем, какие столбцы отображаются и в каком порядке. Каждое поле ссылается на fieldMetadataUniversalIdentifier. Чтобы сослаться на автоматически созданное системное поле, такое как createdAt, см. раздел Targeting System Metadata.
  • Также вы можете определить filters, filterGroups, sorts, groups и fieldGroups для более продвинутых конфигураций.
  • position управляет порядком, когда для одного и того же объекта существует несколько представлений.

Необязательные свойства

Все перечисления выше экспортируются из twenty-sdk/define.

Фильтры

Представление может поставляться с заранее примененными фильтрами. У каждого фильтра есть три координаты: поле, по которому выполняется фильтрация, операнд (как сравнивать) и значение (с чем сравнивать). Все три должны совпадать — использование операнда, который не подходит для типа поля, будет отклонено во время синхронизации.

Поддерживаемые операнды по типу поля

Типы полей с похожими названиями могут использовать совершенно разные операнды — типичный пример: SELECT и MULTI_SELECT.

Форма значения для каждого операнда

Поле value всегда содержит значение, сериализуемое в JSON, но ожидаемая форма зависит от операнда:

Как представления отображаются в интерфейсе

Само по себе представление недоступно из боковой панели. Чтобы оно появилось там, свяжите его с пунктом навигационного меню типа VIEW, который указывает на universalIdentifier представления. Это канонический шаблон: для каждого настраиваемого объекта при создании автоматически генерируется индексное представление по умолчанию, поэтому вам нужно только добавить элемент боковой панели, который его открывает.