Saltar a contenido

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.

  1. Registra el formulario (vía recurso o register_forms).
  2. Declara .modal(..., form_id="mi-form", path="/api/.../accion").
  3. El shell carga el form con GET /api/v1/forms/mi-form y hace submit al path.

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.