crear una taula PowerGrid

crear una taula powergrid

  • crear una taula PowerGrid

    crear una taula PowerGrid

    crear una taula powergrid...

php artisan powergrid:create


<?php

namespace App\Livewire;

use App\Models\FacturaCompra;
use Illuminate\Support\Carbon;
use Illuminate\Database\Eloquent\Builder;
use PowerComponents\LivewirePowerGrid\Button;
use PowerComponents\LivewirePowerGrid\Column;
use PowerComponents\LivewirePowerGrid\Facades\Filter;
use PowerComponents\LivewirePowerGrid\Facades\PowerGrid;
use PowerComponents\LivewirePowerGrid\PowerGridFields;
use PowerComponents\LivewirePowerGrid\PowerGridComponent;
use PowerComponents\LivewirePowerGrid\Responsive;

final class FacturaCompraTable extends PowerGridComponent
{
    public string $tableName = 'factura-compra-table-dneqqk-table';

    public function setUp(): array
    {
        $this->showCheckBox();

        return [
            PowerGrid::header()
                ->showSearchInput()
                ->showToggleColumns(),
            PowerGrid::footer()
                ->showPerPage()
                ->showRecordCount(),
        ];
    }

    public function datasource(): Builder
    {
        return FacturaCompra::query()
            ->join('proveidors', 'facturascompras.proveidor_id', '=', 'proveidors.id')
            ->select('facturascompras.*', 'proveidors.raosocial as proveidor_raosocial');
    }

    public function relationSearch(): array
    {
        return [
            'proveidor' => [
                'raosocial',
            ],
        ];
    }

    public function fields(): PowerGridFields
    {
        return PowerGrid::fields()
            ->add('id')
            ->add('proveidor_raosocial', fn (FacturaCompra $model) => '<a class="underline text-blue-600 hover:text-blue-800" href="'.url('/admin/factura-compras/'.$model->id.'/edit').'">'.$model->proveidor->raosocial.'</a>')
            ->add('data_formatted', fn (FacturaCompra $model) => Carbon::parse($model->data)->format('d/m/Y'))
            ->add('totalsenseiva')
            ->add('iva')
            ->add('totalambiva')
            ->add('total')
            ->add('url_factura')
            ->add('created_at');
    }

    public function columns(): array
    {
        return [
            Column::make('Id', 'id')
                ->sortable()
                ->searchable(),

            Column::make('Proveidor', 'proveidor_raosocial')
                ->sortable()
                ->searchable(),

            Column::make('Data', 'data_formatted', 'data')
                ->sortable(),

            Column::make('Totalsenseiva', 'totalsenseiva')
                ->sortable()
                ->searchable(),

            Column::make('Iva', 'iva')
                ->sortable()
                ->searchable(),

            Column::make('Totalambiva', 'totalambiva')
                ->sortable()
                ->searchable(),

            Column::make('Total', 'total')
                ->sortable()
                ->searchable(),

            Column::make('Url factura', 'url_factura')
                ->sortable()
                ->searchable(),

            Column::make('Created at', 'created_at_formatted', 'created_at')
                ->sortable(),

            Column::make('Created at', 'created_at')
                ->sortable()
                ->searchable(),
        ];
    }

    public function filters(): array
    {
        return [
            Filter::datepicker('data'),
        ];
    }

    #[\Livewire\Attributes\On('edit')]
    public function edit($rowId): void
    {
        $this->js('alert('.$rowId.')');
    }
}

6 posts relacionats

  • Author
    Joan Puig

    Preline UI - Biblioteca de components CSS de Tailwind

    Preline UI - Biblioteca de components CSS de Tailwind Configureu ràpidament la biblioteca CSS de Pr... READ MORE
  • Author
    Joan Puig

    All-in-One WP Migration and Backup plugin wordpress

    Fes una còpia de seguretat, transfereix, copia i mou un lloc amb 1 clic. Ràpid, fàcil i fiable.... READ MORE
  • Author
    Joan Puig

    optimitzar imatges en laravel

    optimitzar imatges en laravel... READ MORE
  • Author
    Joan Puig

    Trix Un editor de text enriquit

    Un editor de text enriquit per a l'escriptura diària Escriu text amb un format fantàstic a la tev... READ MORE
  • Author
    Joan Puig

    grocerycrud 2

    Grocery CRUD és una biblioteca de codi obert que facilita la vida d'un desenvolupador. Poques líni... READ MORE
  • Author
    Joan Puig

    nanogallery

    nanogallery2 és l'eina preferida per a belles galeries amb efectes atractius i una caixa de llum f�... READ MORE