definePageLayout() para declarar um layout para um objeto que você possui ou definePageLayoutTab() para adicionar uma única aba a um layout que já existe (seu ou um padrão da Twenty).
| Caso de uso | Entidade |
|---|---|
| Definir todo o layout para uma página de registro em um objeto que você possui | definePageLayout |
| Adicionar uma aba a um layout existente (seu próprio objeto ou um padrão) | definePageLayoutTab |
definePageLayout
Use isto quando você possuir toda a página de detalhes — normalmente para um objeto personalizado que você próprio definiu.src/page-layouts/example-record-page-layout.ts
Pontos-chave
typegeralmente é'RECORD_PAGE'para personalizar a visualização de detalhes de um objeto específico.objectUniversalIdentifierespecifica a qual objeto este layout se aplica.- Cada
tabdefine uma seção da página com umtitle,positionelayoutMode(CANVASpara layout livre). - Cada
widgetdentro de uma aba pode renderizar um front component, uma lista de relações ou outros tipos de widget nativos. positionnas abas controla sua ordem. Use valores mais altos (por exemplo, 50) para colocar abas personalizadas após as nativas.
definePageLayoutTab
Use isto quando você quiser apenas adicionar uma aba a um layout existente — por exemplo, uma aba de analytics na página padrão de Company ou uma aba de resumo de IA anexada ao layout do seu próprio objeto.src/page-layouts/example-extra-tab.ts
Pontos-chave
-
pageLayoutUniversalIdentifieré obrigatório e deve apontar para um layout de página que já exista no momento da instalação — seja um layout padrão da Twenty ou um definido pelo seu próprio aplicativo. Referências entre aplicativos para layouts pertencentes a outro aplicativo instalado não são compatíveis atualmente. Quando o layout pai estiver ausente, a instalação falha com um erro de validação claro. -
Para layouts padrão do Twenty, importe identificadores de
twenty-sdk/define:Cada entrada de layout também expõe suastabse seuswidgets, para que você possa fazer referência a qualquer nível:Um alias abreviadoSTANDARD_PAGE_LAYOUTtambém está disponível: -
widgetstêm escopo apenas para esta aba — eles referenciam front components, visualizações etc., exatamente como widgets definidos inline emdefinePageLayout. -
positioncontrola a ordenação em relação às abas existentes no layout de destino. Escolha um valor que posicione sua aba onde você deseja em relação às abas nativas. -
Use isto em vez de
definePageLayoutquando você quiser apenas adicionar a um layout existente. UsedefinePageLayoutquando você possuir todo o layout.