defineField() 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(). -
Il percorso del file dipende da te. La convenzione è
src/fields/\<name>.field.ts, ma l’SDK rileva i campi ovunque insrc/. -
La
writabilitypuò anche essere impostata per singolo campo:MetadataWritability.APPLICATIONlimita le scritture alle sole funzioni di logica della tua app, mentreMetadataWritability.SYSTEMè riservata ai dati gestiti dalla piattaforma. La writability di un campo può essere solo più restrittiva rispetto al livello del relativo oggetto e le letture non sono influenzate. Consulta Objects per i dettagli completi sulla semantica. -
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.