defineField() para adicionar um campo a um objeto que você não possui — um objeto padrão do Twenty como Person ou Company, ou um objeto disponibilizado por outro app instalado. Ao contrário dos campos inline declarados dentro de defineObject, os campos independentes exigem um objectUniversalIdentifier para especificar qual objeto eles estendem.
src/fields/company-loyalty-tier.field.ts
Pontos-chave
-
objectUniversalIdentifieridentifica o objeto de destino. Para objetos padrão do Twenty, importe a constante detwenty-sdk: -
Ao definir campos inline dentro de
defineObject(), você não precisa deobjectUniversalIdentifier— ele é herdado do objeto pai. -
defineField()é a única forma de adicionar campos a objetos que você não criou comdefineObject(). -
A localização do arquivo fica a seu critério. A convenção é
src/fields/\<name>.field.ts, mas o SDK detecta campos em qualquer lugar dentro desrc/. -
Para adicionar uma aba a um layout de página padrão (por exemplo, a página de detalhes de Task ou Company), use
definePageLayoutTabcomSTANDARD_PAGE_LAYOUT_UNIVERSAL_IDENTIFIERSdetwenty-sdk/define.
Adicionando uma relação a um objeto existente
Para adicionar um campo de relação (por exemplo, vinculando seu objeto personalizado a umPerson padrão), use defineField() com FieldType.RELATION. O padrão é o mesmo que para relações inline, mas com objectUniversalIdentifier definido explicitamente. Veja Relações para o padrão bidirecional.