Salt la conținutul principal

Prezentare generală

Folosiți defineField() pentru a adăuga un câmp la un obiect pe care nu îl dețineți — un obiect standard Twenty precum Person sau Company, sau un obiect livrat de o altă aplicație instalată. Spre deosebire de câmpurile inline declarate în interiorul defineObject, câmpurile independente necesită un objectUniversalIdentifier pentru a specifica obiectul pe care îl extind.
src/fields/company-loyalty-tier.field.ts

Puncte cheie

  • objectUniversalIdentifier identifică obiectul țintă. Pentru obiectele standard Twenty, importați constanta din twenty-sdk:
  • Atunci când definiți câmpuri inline în defineObject(), nu aveți nevoie de objectUniversalIdentifier — acesta este moștenit de la obiectul părinte.
  • defineField() este singura modalitate de a adăuga câmpuri la obiecte pe care nu le-ați creat cu defineObject().
  • SELECT și MULTI_SELECT urmează aceleași reguli de validare a opțiunilor și de culori ca și câmpurile inline. O culoare omisă sau nulă este implicit gray; culorile neacceptate sunt respinse.
  • Locația fișierului depinde de dumneavoastră. Convenția este src/fields/\<name>.field.ts, dar CLI-ul detectează câmpuri oriunde în src/.
  • isSearchable: true poate fi setat pe defineField() cu aceleași constrângeri ca și câmpurile inline (obiect țintă căutabil, tip de câmp compatibil cu textul), astfel încât înregistrările obiectului țintă să poată fi găsite prin valorile câmpului dvs. în căutarea în text complet.
  • isAuditLogged: false poate fi setat pe defineField() pentru a păstra modificările câmpului în afara cronologiei înregistrării țintă, ceea ce este important mai ales pentru câmpurile pe care aplicația dvs. le rescrie conform unui program.
  • Pentru a adăuga o filă într-un layout standard de pagină (de ex. pagina de detalii pentru Task sau Company), folosește definePageLayoutTab cu STANDARD_PAGE_LAYOUT_UNIVERSAL_IDENTIFIERS din twenty-sdk/define.

Adăugarea unei relații la un obiect existent

Pentru a adăuga un câmp de tip relație (de ex. pentru a lega obiectul personalizat de un Person standard), folosiți defineField() cu FieldType.RELATION. Modelul este același ca pentru relațiile inline, dar cu objectUniversalIdentifier setat explicit. Consultați Relații pentru modelul bidirecțional.