Paquete de utilidades de bpanel4
Paquete de utilidades varias para gestionar componentes que se usan a lo largo de los distintos paquetes de bpanel4.
Datatable Actions Buttons
En el siguiente ejemplo se muestra la tabla de language (idiomas):
->addColumn('action', function (LanguageModel $language) {
return view('utils::partials.datatable-button')->with([
'buttons' => [
'show', 'edit', 'delete'
],
'model' => $language,
'scope' => 'language'
]);
});
Parámetros para las rutas de datatable action buttons
En algunos casos, puede ser necesario pasar parámetros para construir las rutas
que necesitan los botones de editar y borrar de los datatables. Para pasar estos
parámetros, se usa el índice routeParams, en el que podremos definir estos
parámetros para cada ruta, como se ve en el siguiente ejemplo (pasamos a la ruta
edit los parámetros moduleName y tagType:
@livewire('utils::datatable-action-buttons', [
'actions' => ["edit", "delete"],
'scope' => 'related-tags',
'model' => $row,
'permission' => ['edit', 'delete'],
'id' => $row->id,
'message' => 'la etiqueta?',
'routeParams' => [
'edit' => [
'moduleName' => $moduleName,
'tagType' => $tagType,
]
]
], key('tag-buttons-'.$row->id))
En config/utils.php está la configuración de cada botón. Se pueden añadir más botones...
'datatable-buttons-themes' => [
'show' => [
'color' => 'blue',
'icon' => 'fa fa-search',
'title' => 'Ver',
'margin' => 'mx-1'
],
'edit' => [
'color' => 'green',
'icon' => 'fa fa-pencil',
'title' => 'Editar',
'margin' => 'mx-1'
],
'delete' => [
'color' => 'danger',
'icon' => 'fa fa-trash',
'title' => 'Borrar',
'margin' => 'mx-1',
'deleteForm' => true,
]
]
Botón de activado / desactivado
->addColumn('active', function(LanguageModel $language){
return view ('utils::partials.datatable-checkbox')->with([
'model' => $language,
'fieldName' => 'active',
]);
})
NOTA: Para que funcione los botones por livewire es obligatorio añadir esta directiva en la función html():
$this->builder()->drawCallbackWithLivewire();
Credits
License
The MIT License (MIT). Please see License File for more information.