Extensão de ações
No NocoBase, ações (Actions) são botões dentro dos blocos usados para disparar lógica de negócio — por exemplo, "Novo", "Editar", "Excluir" etc. Ao herdar a classe base ActionModel, você pode adicionar botões de ação personalizados.
Cenários de ação
Cada ação precisa declarar o cenário em que aparece, especificado pela propriedade static scene:
Exemplos
Ação de nível de data table
Atua sobre toda a data table, aparecendo na barra de ações no topo do bloco:
Ação de nível de registro
Atua sobre um único registro, aparecendo na coluna de ações de cada linha da tabela:
Aplicável aos dois cenários
Se a ação não diferencia cenários, use ActionSceneEnum.both:
A estrutura dos três é idêntica — a diferença está apenas no valor de static scene e no texto do botão em defaultProps.
Registrando a ação
No load() do Plugin, registre com registerModelLoaders para carregamento sob demanda:
Após o registro, em "Configurar ações" do bloco você poderá adicionar seus botões de ação personalizados.
Código-fonte completo
- @nocobase-example/plugin-simple-action — exemplo completo dos três cenários de ação
Links relacionados
- Hands-on: criar um botão de ação personalizado — montar do zero botões de ação para os três cenários
- Hands-on: plugin de gestão de dados com integração front-back — aplicação real de ação personalizada + ctx.viewer.dialog em um plugin completo
- Visão geral do FlowEngine — uso básico do FlowModel
- Extensão de blocos — blocos personalizados
- Extensão de campos — componentes de campo personalizados
- FlowDefinition (definição de fluxo) — parâmetros completos e tipos de eventos do registerFlow
- Documentação completa do FlowEngine — referência completa

