Acciones¶
Define botones de navegación, HTTP y modales con ActionBuilder y BulkActionBuilder.
Cuándo usar¶
- Acciones en filas de tabla (editar, eliminar, custom).
- Barra de acciones en cabecera de pantalla (
actions-bar). - Acciones en infolist de vista detalle.
- Operaciones masivas sobre filas seleccionadas.
Tipos de acción¶
| Método | kind | Comportamiento en el shell |
|---|---|---|
.create(path) | create | Navega a ruta create del módulo |
.edit(path) | edit | Navega a :id/edit (sustituye por el id del registro) |
.view(path) | view | Navega a :id |
.delete(path, confirm=...) | delete | DELETE con diálogo de confirmación |
.action(...) | custom | HTTP al path con method |
.modal(..., form_id=...) | custom | Abre modal con formulario JsonForms |
{id} y :id en paths de pantalla se sustituyen por el id de la fila. Paths bajo /api/ son llamadas HTTP, no navegación.
Ejemplo en tabla¶
.actions(
lambda a: (
a.create("/api/v1/samples/todo/create", "Nuevo")
.edit("/api/v1/samples/todo/{id}/edit", "Editar")
.delete("/api/v1/samples/todo/{id}", confirm="¿Eliminar tarea?")
.modal(
"assign",
"Asignar",
form_id="todo-assign",
path="/api/v1/samples/todo/{id}/assign",
)
)
)
Referencia: plugins/reference/cortex_plugin_reference/resources.py.
Acciones masivas¶
.bulk_actions(
lambda b: b.action(
"archive",
"Archivar selección",
method="POST",
path="/api/v1/items/archive",
confirm="¿Archivar los registros seleccionados?",
)
)
El shell envía { "ids": ["...", "..."] } en el body.
Modal con formulario¶
- Registra el formulario (vía recurso o
register_forms). - Declara
.modal(..., form_id="mi-form", path="/api/.../accion"). - El shell carga el form con
GET /api/v1/forms/mi-formy hace submit alpath.
Parámetros: modal_size (sm, md, lg), method (default POST).
ActionBuilder — referencia¶
| Parámetro | Descripción |
|---|---|
action_id | Id estable de la acción |
label | Texto del botón |
kind | create, edit, view, delete, custom |
method | Verbo HTTP |
path | Ruta (absoluta bajo /api/v1 o relativa al módulo) |
confirm | Mensaje antes de ejecutar |
opens_modal | Abre ActionModal |
form_id | Formulario del modal |
bulk | Acción masiva |
Siguiente paso¶
Infolist para acciones en vista de solo lectura.