src/command-menu-items/open-dashboard.command-menu-item.ts
Konfigurační pole
| Pole | Povinné | Popis |
|---|---|---|
universalIdentifier | Ano | Stabilní jedinečné ID pro příkaz |
label | Ano | Plný popisek zobrazený v příkazovém menu (Cmd+K) |
frontComponentUniversalIdentifier | Ano | universalIdentifier frontendové komponenty, kterou tento příkaz otevírá |
shortLabel | Ne | Kratší popisek zobrazený na připnutém tlačítku rychlé akce |
icon | Ne | Název ikony zobrazený vedle popisku (např. 'IconBolt', 'IconSend') |
isPinned | Ne | Pokud je true, zobrazí příkaz jako tlačítko rychlé akce v pravém horním rohu stránky |
availabilityType | Ne | Určuje, kde se příkaz zobrazuje: 'GLOBAL' (vždy dostupné), 'RECORD_SELECTION' (pouze když jsou vybrány záznamy) nebo 'FALLBACK' (zobrazeno, když neodpovídají žádné jiné příkazy) |
availabilityObjectUniversalIdentifier | Ne | Omezí příkaz na stránky konkrétního typu objektu (např. pouze u záznamů Company) |
conditionalAvailabilityExpression | Ne | Logický výraz, který dynamicky řídí viditelnost (viz níže) |
Příkazy bez rozhraní
Položka příkazového menu spárovaná s front komponentou bez rozhraní je idiomatický způsob, jak dodat akci na jedno kliknutí — spustit kód, přejít na stránku nebo potvrdit a provést. Stránka Front Components popisuje SDK Command komponenty (Command, CommandLink, CommandModal, CommandOpenSidePanelPage), které obsluhují pattern akce-a-unmount.
Typický průběh:
src/front-components/run-action.tsx
src/command-menu-items/run-action.command-menu-item.ts
Výrazy podmíněné dostupnosti
PoleconditionalAvailabilityExpression vám umožní řídit viditelnost příkazu na základě aktuálního kontextu stránky. Pro sestavení výrazů importujte typované proměnné a operátory z twenty-sdk:
src/command-menu-items/bulk-update.command-menu-item.ts
RECORD_SELECTION již znamená neprázdný výběr — použijte numberOfSelectedRecords pouze pro konkrétní počty (např. >= 2).Kontextové proměnné
Tyto proměnné reprezentují aktuální stav stránky:| Proměnná | Typ | Popis |
|---|---|---|
pageType | string | Aktuální typ stránky (např. 'RecordIndexPage', 'RecordShowPage') |
isInSidePanel | boolean | Zda je komponenta vykreslena v postranním panelu |
numberOfSelectedRecords | number | Počet aktuálně vybraných záznamů |
isSelectAll | boolean | Zda je aktivní “vybrat vše” |
selectedRecords | array | Vybrané objekty záznamů |
favoriteRecordIds | array | ID oblíbených záznamů |
objectPermissions | object | Oprávnění pro aktuální typ objektu |
targetObjectReadPermissions | object | Oprávnění ke čtení pro cílový objekt |
targetObjectWritePermissions | object | Oprávnění k zápisu pro cílový objekt |
featureFlags | object | Aktivní příznaky funkcí |
objectMetadataItem | object | Metadata aktuálního typu objektu |
hasAnySoftDeleteFilterOnView | boolean | Zda má aktuální zobrazení filtr soft-delete |
Operátory
Kombinujte proměnné do logických výrazů:| Operátor | Popis |
|---|---|
isDefined(value) | true, pokud hodnota není null/undefined |
isNonEmptyString(value) | true, pokud je hodnota neprázdným řetězcem |
includes(array, value) | true, pokud pole obsahuje danou hodnotu |
includesEvery(array, prop, value) | true, pokud vlastnost každé položky zahrnuje danou hodnotu |
every(array, prop) | true, pokud je vlastnost u každé položky pravdivá (truthy) |
everyDefined(array, prop) | true, pokud je vlastnost definována u každé položky |
everyEquals(array, prop, value) | true, pokud se vlastnost rovná hodnotě u každé položky |
some(array, prop) | true, pokud je vlastnost pravdivá (truthy) alespoň u jedné položky |
someDefined(array, prop) | true, pokud je vlastnost definována alespoň u jedné položky |
someEquals(array, prop, value) | true, pokud se vlastnost rovná hodnotě alespoň u jedné položky |
someNonEmptyString(array, prop) | true, pokud má vlastnost alespoň u jedné položky hodnotu neprázdného řetězce |
none(array, prop) | true, pokud je vlastnost u všech položek nepravdivá (falsy) |
noneDefined(array, prop) | true, pokud je vlastnost u všech položek nedefinovaná |
noneEquals(array, prop, value) | true, pokud se vlastnost nerovná hodnotě u žádné položky |