Row actions

Este tipo de row permite definir un grupo de botones a mostrar junto al resto de botones de la pestaña. Dependiendo del tipo de pestaña se visualizarán en un sitio distinto.

Ejemplo:

<rows>
   <row type="actions">
      <button action="boton1" color="warning" icon="fa-solid fa-vial" label="button-1" type="action"/>
      <button action="boton2" color="warning" icon="fa-solid fa-terminal" label="button-2" type="action"/>
   </row>
</rows>

🖱️ Botones

Los botones se definen mediante etiquetas button y tienen las siguientes propiedades:

  • type: indica el tipo de botón.
    • action: al hacer clic se recargará la página ejecutando el action indicado en la propiedad action. Este action deberá estar implementado en el controlador, ya sea en execPreviousAction() o execAfterAction().
    • js: al hacer clic ejecutará la función javascript indicada en la propiedad action.
    • link: al hacer clic se redirecciona a la página indicada en la propiedad action.
    • modal: al hacer clic mostrará el modal con el name indicado en la propiedad action.
  • id: (opcional) identificador html para poder seleccionarlo desde JavaScript.
  • icon: (opcional) icono del botón.
  • label: texto a mostrar en el botón. Se traducirá automáticamente por FacturaScripts.
  • title: (opcional) texto del tooltip del botón. Si no se indica, se usa el label. También se traduce automáticamente.
  • level: (opcional) nivel de seguridad aplicable. Por defecto 0. Solamente los usuarios con un nivel de seguridad igual o superior podrán ver este botón.
  • color: (opcional) indica la configuración de color a utilizar.
  • action: indica la acción que se envía al controlador, función JavaScript o nombre del modal a mostrar.
  • confirm: (opcional) si se indica, mostrará al usuario una ventana solicitando confirmación de que desea ejecutar la acción. Solamente aplica a los botones de tipo action.
  • target: (opcional) en los botones de tipo link, target del enlace. Por ejemplo _blank para abrir en una pestaña nueva.

🎨 Colores

  • primary: azul oscuro
  • info: azul
  • success: verde
  • warning: amarillo
  • danger: rojo
  • dark: gris oscuro
  • light: gris claro
  • secondary: gris

También puedes usar las variantes con borde outline-, por ejemplo outline-danger u outline-primary.

Añadir botones desde controladores

También puedes añadir un botón desde tu ListController o EditController. Simplemente usa el método addButton() de la pestaña:

$this->tab('ListProducto')->addButton([
    'action' => 'test-action',
    'icon' => 'fa-solid fa-question',
    'label' => 'test'
]);

Este código añade el botón test a la pestaña ListProducto. Al hacer clic ejecutará la acción test-action del controlador, si la hubiera. Recuerda implementar esta acción en execPreviousAction() o execAfterAction().

La forma antigua $this->addButton('ListProducto', [...]) está obsoleta desde la versión 2026.

Es posible indicar el grupo o row donde se añadirá el botón informando el identificador row y como valor el name que identifica al row. Si no se informa, el botón se añade al row de acciones generales.

$this->tab('EditEjercicio')->addButton([
    'row' => 'footer-actions',
    'action' => 'import-accounting',
    'color' => 'warning',
    'icon' => 'fa-solid fa-file-import',
    'label' => 'import-accounting-plan',
    'type' => 'modal'
]);

Este código añade el botón importar al row footer con identificador footer-actions y mostrará la ventana modal con identificador import-accounting.

📂 Grupos de botones

Desde la versión 2026 puedes agrupar varios botones en un desplegable. Crea primero el grupo con el método addButtonGroup() y añade después los botones con la clave group:

$this->tab('ListFacturaCliente')->addButtonGroup([
    'name' => 'doc-actions',
    'icon' => 'fa-solid fa-circle-check',
    'label' => 'actions'
]);

$this->tab('ListFacturaCliente')->addButton([
    'group' => 'doc-actions',
    'action' => 'approve-document',
    'icon' => 'fa-solid fa-check',
    'label' => 'approve-document'
]);

Si el grupo no existe todavía, se crea automáticamente al añadir el primer botón que lo referencia.

Cookies
Usamos cookies necesarias para el funcionamiento del sitio y cookies opcionales para recordar tus preferencias y mejorar tu experiencia. Puedes aceptarlas todas, rechazarlas o configurar tus preferencias

Soporte