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 представления. Это канонический шаблон: для каждого настраиваемого объекта при создании автоматически генерируется индексное представление по умолчанию, поэтому вам нужно только добавить элемент боковой панели, который его открывает.