Skip to main content
Použijte defineField() pro přidání pole k objektu, který nevlastníte — standardnímu objektu Twenty, jako je Person nebo Company, nebo objektu dodanému jinou nainstalovanou aplikací. Na rozdíl od inline polí deklarovaných uvnitř defineObject vyžadují samostatná pole objectUniversalIdentifier k určení, který objekt rozšiřují.
src/fields/company-loyalty-tier.field.ts

Hlavní body

  • objectUniversalIdentifier identifikuje cílový objekt. Pro standardní objekty Twenty importujte konstantu z twenty-sdk:
  • Při definování polí inline uvnitř defineObject() objectUniversalIdentifier nepotřebujete — dědí se z nadřazeného objektu.
  • defineField() je jediný způsob, jak přidat pole k objektům, které jste nevytvořili pomocí defineObject().
  • Umístění souboru je na vás. Konvence je src/fields/\<name>.field.ts, ale SDK rozpozná pole kdekoli v src/.
  • writability lze také nastavit pro jednotlivá pole: MetadataWritability.APPLICATION omezuje zápisy na logické funkce vaší vlastní aplikace, MetadataWritability.SYSTEM je vyhrazeno pro data spravovaná platformou. Zapisovatelnost pole může být pouze přísnější než úroveň jeho objektu a čtení tím nejsou ovlivněna. Úplný popis sémantiky najdete v Objects.
  • Chcete-li přidat kartu ke standardnímu rozvržení stránky (např. na detailní stránku Task nebo Company), použijte definePageLayoutTab s STANDARD_PAGE_LAYOUT_UNIVERSAL_IDENTIFIERS z twenty-sdk/define.

Přidání relace k existujícímu objektu

Chcete-li přidat relační pole (např. pro propojení vlastního objektu se standardním Person), použijte defineField() s FieldType.RELATION. Vzor je stejný jako u inline relací, ale s objectUniversalIdentifier nastaveným explicitně. Obousměrný vzor najdete v části Relations.