Panoramica
UsadefineField() per aggiungere un campo a un oggetto che non possiedi — un oggetto standard di Twenty come Person o Company, oppure un oggetto fornito da un’altra app installata. A differenza dei campi inline dichiarati all’interno di defineObject, i campi autonomi richiedono un objectUniversalIdentifier per specificare quale oggetto estendono.
src/fields/company-loyalty-tier.field.ts
Punti chiave
-
objectUniversalIdentifieridentifica l’oggetto di destinazione. Per gli oggetti standard di Twenty, importa la costante datwenty-sdk: -
Quando definisci campi inline dentro
defineObject(), non hai bisogno diobjectUniversalIdentifier— viene ereditato dall’oggetto padre. -
defineField()è l’unico modo per aggiungere campi a oggetti che non hai creato condefineObject(). -
SELECTeMULTI_SELECTseguono le stesse regole di convalida delle opzioni e dei colori dei campi in linea. Un colore omesso o null usa per impostazione predefinitagray; i colori non supportati vengono rifiutati. -
Il percorso del file dipende da te. La convenzione è
src/fields/\<name>.field.ts, ma la CLI rileva i campi ovunque insrc/. -
È possibile impostare
isSearchable: truesudefineField()con gli stessi vincoli dei campi inline (oggetto di destinazione ricercabile, tipo di campo compatibile con il testo), in modo che i record dell’oggetto di destinazione siano individuabili tramite i valori del campo nella ricerca full-text. -
È possibile impostare
isAuditLogged: falsesudefineField()per escludere le modifiche del campo dalla cronologia del record di destinazione, il che è particolarmente importante per i campi che l’app riscrive secondo una pianificazione. -
Per aggiungere una scheda a un layout di pagina standard (ad es. la pagina di dettaglio di Task o Company), utilizza
definePageLayoutTabconSTANDARD_PAGE_LAYOUT_UNIVERSAL_IDENTIFIERSdatwenty-sdk/define.
Aggiungere una relazione a un oggetto esistente
Per aggiungere un campo di relazione (ad esempio collegare il tuo oggetto personalizzato a unPerson standard), usa defineField() con FieldType.RELATION. Lo schema è lo stesso delle relazioni inline, ma con objectUniversalIdentifier impostato esplicitamente. Vedi Relazioni per lo schema bidirezionale.