Skip to main content
Layout entities control how your app surfaces inside Twenty’s UI — what lives in the sidebar, which saved views ship with the app, and how a record detail page is arranged.

Layout concepts

Views, navigation items, and page layouts reference each other by universalIdentifier:
  • A navigation menu item of type VIEW points at a defineView identifier, so the sidebar link opens that saved view.
  • A page layout of type RECORD_PAGE targets an object and can embed front components inside its tabs as widgets.
Zobrazení jsou uložené konfigurace toho, jak se zobrazují záznamy objektu — včetně toho, která pole jsou viditelná, jejich pořadí a jaké filtry či seskupení jsou použity. Pomocí defineView() můžete k aplikaci přidat předkonfigurovaná zobrazení:
src/views/example-view.ts
Hlavní body:
  • objectUniversalIdentifier určuje, na který objekt se toto zobrazení vztahuje.
  • key určuje typ zobrazení (např. ViewKey.INDEX pro hlavní seznam).
  • fields určuje, které sloupce se zobrazí a v jakém pořadí. Každé pole odkazuje na fieldMetadataUniversalIdentifier.
  • Pro pokročilejší konfigurace můžete definovat také filters, filterGroups, groups a fieldGroups.
  • position určuje pořadí, pokud pro stejný objekt existuje více zobrazení.
Položky navigační nabídky přidávají vlastní položky do postranního panelu pracovního prostoru. Použijte defineNavigationMenuItem() k odkazování na zobrazení, externí URL nebo objekty:
src/navigation-menu-items/example-navigation-menu-item.ts
Hlavní body:
  • type určuje, na co položka menu odkazuje: NavigationMenuItemType.VIEW pro uložené zobrazení nebo NavigationMenuItemType.LINK pro externí URL.
  • Pro odkazy na zobrazení nastavte viewUniversalIdentifier. Pro externí odkazy nastavte link.
  • position určuje pořadí v postranním panelu.
  • icon a color (volitelné) upravují vzhled.
Rozvržení stránek vám umožní přizpůsobit vzhled stránky s detailem záznamu — které karty se zobrazí, jaké widgety jsou uvnitř každé karty a jak jsou uspořádány. Pomocí definePageLayout() můžete k aplikaci přidat vlastní rozvržení:
src/page-layouts/example-record-page-layout.ts
Hlavní body:
  • type je obvykle 'RECORD_PAGE' pro úpravu detailního zobrazení konkrétního objektu.
  • objectUniversalIdentifier určuje, na který objekt se toto rozvržení vztahuje.
  • Každá tab definuje sekci stránky s title, position a layoutMode (CANVAS pro volné rozvržení).
  • Každý widget uvnitř karty může vykreslit frontendovou komponentu, seznam relací nebo jiné vestavěné typy widgetů.
  • position na kartách určuje jejich pořadí. Použijte vyšší hodnoty (např. 50) pro umístění vlastních karet za vestavěné.