src/command-menu-items/open-dashboard.command-menu-item.ts
Câmpuri de configurare
| Câmp | Obligatoriu | Descriere |
|---|---|---|
universalIdentifier | Da | ID unic stabil pentru comandă |
label | Da | Etichetă completă afișată în meniul de comenzi (Cmd+K) |
frontComponentUniversalIdentifier | Da | universalIdentifier al componentei front-end pe care această comandă o deschide |
shortLabel | Nu | Etichetă mai scurtă afișată pe butonul de acțiune rapidă fixat |
icon | Nu | Numele pictogramei afișat lângă etichetă (de ex. 'IconBolt', 'IconSend') |
isPinned | Nu | Când este true, afișează comanda ca buton de acțiune rapidă în colțul din dreapta sus al paginii |
availabilityType | Nu | Controlează unde apare comanda: 'GLOBAL' (mereu disponibilă), 'RECORD_SELECTION' (doar când sunt selectate înregistrări) sau 'FALLBACK' (afișată când nicio altă comandă nu se potrivește) |
availabilityObjectUniversalIdentifier | Nu | Restricționați comanda la paginile unui anumit tip de obiect (de ex., doar pe înregistrările Company) |
conditionalAvailabilityExpression | Nu | O expresie booleană care controlează dinamic vizibilitatea (vezi mai jos) |
Comenzi headless
Un element din meniul de comenzi asociat cu un headless front component este modalitatea standard de a oferi o acțiune cu un singur clic — de a rula cod, de a naviga sau de a confirma și executa. Pagina Front Components acoperă SDK Command components (Command, CommandLink, CommandModal, CommandOpenSidePanelPage) care gestionează modelul acțiune-și-demontare.
Un flux tipic:
src/front-components/run-action.tsx
src/command-menu-items/run-action.command-menu-item.ts
Expresii de disponibilitate condițională
CâmpulconditionalAvailabilityExpression vă permite să controlați când este vizibilă o comandă în funcție de contextul paginii curente. Importați variabile tipizate și operatori din twenty-sdk pentru a construi expresii:
src/command-menu-items/bulk-update.command-menu-item.ts
RECORD_SELECTION implică deja o selecție care nu este goală — folosește numberOfSelectedRecords doar pentru valori specifice (de ex. >= 2).Variabile de context
Acestea reprezintă starea curentă a paginii:| Variabilă | Tip | Descriere |
|---|---|---|
pageType | string | Tipul paginii curente (de ex. 'RecordIndexPage', 'RecordShowPage') |
isInSidePanel | boolean | Dacă componenta este redată într-un panou lateral |
numberOfSelectedRecords | number | Numărul de înregistrări selectate în prezent |
isSelectAll | boolean | Dacă “select all” este activ |
selectedRecords | array | Obiectele înregistrărilor selectate |
favoriteRecordIds | array | ID-urile înregistrărilor marcate ca favorite |
objectPermissions | object | Permisiuni pentru tipul de obiect curent |
targetObjectReadPermissions | object | Permisiuni de citire pentru obiectul țintă |
targetObjectWritePermissions | object | Permisiuni de scriere pentru obiectul țintă |
featureFlags | object | Steaguri de caracteristici active |
objectMetadataItem | object | Metadatele tipului de obiect curent |
hasAnySoftDeleteFilterOnView | boolean | Dacă vizualizarea curentă are un filtru soft-delete |
Operatori
Combinați variabilele în expresii booleene:| Operator | Descriere |
|---|---|
isDefined(value) | true dacă valoarea nu este null/undefined |
isNonEmptyString(value) | true dacă valoarea este un șir nevid |
includes(array, value) | true dacă array-ul conține valoarea |
includesEvery(array, prop, value) | true dacă proprietatea fiecărui element include valoarea |
every(array, prop) | true dacă proprietatea este truthy pentru fiecare element |
everyDefined(array, prop) | true dacă proprietatea este definită pentru fiecare element |
everyEquals(array, prop, value) | true dacă proprietatea este egală cu valoarea pentru fiecare element |
some(array, prop) | true dacă proprietatea este truthy pe cel puțin un element |
someDefined(array, prop) | true dacă proprietatea este definită pe cel puțin un element |
someEquals(array, prop, value) | true dacă proprietatea este egală cu valoarea pe cel puțin un element |
someNonEmptyString(array, prop) | true dacă proprietatea este un șir nevid pe cel puțin un element |
none(array, prop) | true dacă proprietatea este falsy pentru fiecare element |
noneDefined(array, prop) | true dacă proprietatea este nedefinită pentru fiecare element |
noneEquals(array, prop, value) | true dacă proprietatea nu este egală cu valoarea pe niciun element |