defineView() kullanın — genellikle oluşturduğunuz her özel nesne için varsayılan bir indeks görünümü şeklinde olur.
src/views/example-view.ts
Önemli noktalar
objectUniversalIdentifier, bu görünümün hangi nesneye uygulanacağını belirtir. Bu, tanımladığınız özel bir nesne veya standart bir Twenty nesnesi olabilir.key, görünüm türünü belirler —ViewKey.INDEX, nesne için ana liste görünümüdür.fields, hangi sütunların görüneceğini ve hangi sırayla görüneceğini kontrol eder. Her alan birfieldMetadataUniversalIdentifieröğesine referans verir.- Daha gelişmiş yapılandırmalar için
filters,filterGroups,groupsvefieldGroupsda tanımlayabilirsiniz. position, aynı nesne için birden fazla görünüm olduğunda sıralamayı kontrol eder.
Filtreler
Bir görünüm, önceden uygulanmış filtrelerle gelebilir. Her filtrenin üç koordinatı vardır: filtrelenen alan, işleç (nasıl karşılaştırılacağı) ve değer (neyle karşılaştırılacağı). Üçünün de hizalı olması gerekir — bir alan türüne uygulanmayan bir işlecin kullanılması, senkronizasyon sırasında reddedilir.Alan türüne göre desteklenen işleçler
| Alan tipi | Desteklenen işleçler |
|---|---|
TEXT, EMAILS, FULL_NAME, ADDRESS, LINKS, PHONES, RAW_JSON, FILES, ACTOR, ARRAY | CONTAINS, DOES_NOT_CONTAIN, IS_EMPTY, IS_NOT_EMPTY |
ACTOR.source, ACTOR.workspaceMemberId | IS, IS_NOT, IS_EMPTY, IS_NOT_EMPTY |
SELECT | IS, IS_NOT, IS_EMPTY, IS_NOT_EMPTY |
MULTI_SELECT | CONTAINS, DOES_NOT_CONTAIN, IS_EMPTY, IS_NOT_EMPTY |
RELATION | IS, IS_NOT, IS_EMPTY, IS_NOT_EMPTY |
NUMBER | IS, IS_NOT, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, IS_EMPTY, IS_NOT_EMPTY |
RATING | IS, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, IS_EMPTY, IS_NOT_EMPTY |
CURRENCY, CURRENCY.amountMicros | GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, IS, IS_NOT, IS_EMPTY, IS_NOT_EMPTY |
CURRENCY.currencyCode | IS, IS_NOT, IS_EMPTY, IS_NOT_EMPTY |
DATE, DATE_TIME | IS, IS_RELATIVE, IS_IN_PAST, IS_IN_FUTURE, IS_TODAY, IS_BEFORE, IS_AFTER, IS_EMPTY, IS_NOT_EMPTY |
BOOLEAN | IS |
UUID | IS, IS_NOT, IS_EMPTY, IS_NOT_EMPTY |
TS_VECTOR | VECTOR_SEARCH |
Benzer adlara sahip alan türleri tamamen farklı işleçler kullanabilir — bunaSELECTveMULTI_SELECTyaygın bir örnektir.
Her işleç için değer biçimi
value alanı her zaman JSON olarak serileştirilebilir bir değerdir, ancak beklenen biçim işlece bağlıdır:
| İşleç ailesi | Değer biçimi | Örnek |
|---|---|---|
SELECT üzerinde IS, IS_NOT | seçenek anahtarları dizisi (metinler) | ['ACTIVE', 'PENDING'] |
MULTI_SELECT üzerinde CONTAINS, DOES_NOT_CONTAIN | seçenek anahtarları dizisi (metinler) | ['TAG_A'] |
RELATION üzerinde IS, IS_NOT | kayıt kimlikleri dizisi (uuid’ler) | ['c5a1...'] |
metin benzeri alanlar üzerinde CONTAINS, DOES_NOT_CONTAIN | metin | 'acme' |
NUMBER üzerinde IS, IS_NOT | metin (değer) | '5' |
RATING / UUID üzerinde IS | metin (değer) | '5' |
GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL | metin (sınır) | '10' |
DATE / DATE_TIME üzerinde IS, IS_BEFORE, IS_AFTER | ISO 8601 dizesi | '2025-01-01T00:00:00Z' |
IS_EMPTY, IS_NOT_EMPTY | boş dize | '' |
BOOLEAN üzerinde IS | 'true' veya 'false' | 'true' |
Görünümlerin kullanıcı arayüzünde görüntülenme şekli
Tek başına bir görünüm, kenar çubuğundan erişilebilir değildir. Orada görünmesini sağlamak için, türüVIEW olan ve görünümün universalIdentifier değerini işaret eden bir navigasyon menüsü öğesi ile eşleştirin. Bu, standart örüntüdür: her özel nesne genellikle varsayılan bir görünüm ve bunu açan bir kenar çubuğu girdisiyle birlikte sunulur.