Azioni Entità
Panoramica
Sezione intitolata “Panoramica”Le azioni entità sono pulsanti personalizzati che appaiono sulle singole entità. Usali per operazioni come pubblicazione, archiviazione, clonazione o attivazione di flussi di lavoro esterni.
Definizione delle Azioni Entità
Sezione intitolata “Definizione delle Azioni Entità”const articlesCollection: EntityCollection = { slug: "articles", entityActions: [ { name: "Publish", icon: "publish", onClick: async ({ entity, context }) => { await context.dataSource.saveEntity({ path: entity.path, entityId: entity.id, values: { status: "published", published_at: new Date() }, collection: articlesCollection }); context.snackbarController.open({ message: "Article published!" }); } }, { name: "Clone", icon: "content_copy", onClick: async ({ entity, context }) => { const { id, ...values } = entity.values; await context.dataSource.saveEntity({ path: entity.path, values: { ...values, name: values.name + " (Copy)" }, collection: articlesCollection }); } } ], properties: { /* ... */ }};Azioni della Collezione
Sezione intitolata “Azioni della Collezione”Per le azioni a livello di barra degli strumenti che operano sulla collezione o sulle entità selezionate:
function PublishSelectedAction({ selectionController, context }: CollectionActionsProps) { const handlePublish = async () => { const selected = selectionController.selectedEntities; for (const entity of selected) { await context.dataSource.saveEntity({ path: entity.path, entityId: entity.id, values: { status: "published" }, collection: context.collection }); } };
return ( <button onClick={handlePublish}> Publish {selectionController.selectedEntities.length} selected </button> );}
// Registerconst collection: EntityCollection = { Actions: PublishSelectedAction, // ...};
Prossimi Passi
Sezione intitolata “Prossimi Passi”- Colonne Aggiuntive — Colonne di tabella calcolate
- Campi Personalizzati — Campi del modulo personalizzati