Skip to content

Upgrade Guide

Upgrade From V4

This page will provide you with important information to upgrade from version 4.x.

Dependency Upgrades

The following items have been updated in this release:

Solve the necessary imports

Rename Filter class

php
use PowerComponents\LivewirePowerGrid\Filters\Filter; 
use PowerComponents\LivewirePowerGrid\Facades\Filter; 
use PowerComponents\LivewirePowerGrid\Filters\Filter; 
use PowerComponents\LivewirePowerGrid\Facades\Filter; 

Rename Rule class

php
use PowerComponents\LivewirePowerGrid\Rules\Rule; 
use PowerComponents\LivewirePowerGrid\Facades\Rule; 
use PowerComponents\LivewirePowerGrid\Rules\Rule; 
use PowerComponents\LivewirePowerGrid\Facades\Rule; 

Change PowerGrid::eloquent to PowerGrid::columns

php
use PowerComponents\LivewirePowerGrid\PowerGridEloquent; 

public function addColumns(): PowerGridEloquent 
{
    return PowerGrid::eloquent() 
    // 
}
// To:
use PowerComponents\LivewirePowerGrid\PowerGridColumns; 

public function addColumns(): PowerGridColumns 
{
    return PowerGrid::columns() 
    // 
}
use PowerComponents\LivewirePowerGrid\PowerGridEloquent; 

public function addColumns(): PowerGridEloquent 
{
    return PowerGrid::eloquent() 
    // 
}
// To:
use PowerComponents\LivewirePowerGrid\PowerGridColumns; 

public function addColumns(): PowerGridColumns 
{
    return PowerGrid::columns() 
    // 
}

Remove ActionButton Trait

php
use PowerComponents\LivewirePowerGrid\Traits\ActionButton; 

final class PowerGridTable extends PowerGridComponent 
{
   use ActionButton; 
   // ...
}
use PowerComponents\LivewirePowerGrid\Traits\ActionButton; 

final class PowerGridTable extends PowerGridComponent 
{
   use ActionButton; 
   // ...
}

If you previously use row action button add Column::action()

php
public function columns(): array
{
    return [
        // ...
        Column::action('Action'), 
    ];
}
public function columns(): array
{
    return [
        // ...
        Column::action('Action'), 
    ];
}

Change Button caption to Button slot

php
// PowerGrid 4
   Button::add('bulk-demo')
       ->caption('Bulk Action') // 🚫 Before 
       ->class('...')
       
// PowerGrid 5
    Button::add('bulk-demo')
       ->slot('Bulk Action') // ✅ After 
       ->class('...')
// PowerGrid 4
   Button::add('bulk-demo')
       ->caption('Bulk Action') // 🚫 Before 
       ->class('...')
       
// PowerGrid 5
    Button::add('bulk-demo')
       ->slot('Bulk Action') // ✅ After 
       ->class('...')

Change Button emit, emitTo, emitSelf

  • Button::emit
php
// PowerGrid 4 - Livewire v2
   Button::add('bulk-demo') 
       ->emit('event', [], false) // 🚫 Before - string $event, array|\Closure $params, bool $singleParam = false)
       ->class('...')
       
// PowerGrid 5 - Livewire v3 sintax
    Button::add('bulk-demo')
       ->dispatch('event', ['dishId' = 1]) // ✅ After - string $event, array $params)
       ->class('...')
// PowerGrid 4 - Livewire v2
   Button::add('bulk-demo') 
       ->emit('event', [], false) // 🚫 Before - string $event, array|\Closure $params, bool $singleParam = false)
       ->class('...')
       
// PowerGrid 5 - Livewire v3 sintax
    Button::add('bulk-demo')
       ->dispatch('event', ['dishId' = 1]) // ✅ After - string $event, array $params)
       ->class('...')
  • Button::emitTo
php
// PowerGrid 4 - Livewire v2
   Button::add('bulk-demo')
       ->emitTo('to', [], false) // 🚫 Before - string $to, string $event, array|\Closure $params, bool $singleParam = false)
       ->class('...')
       
// PowerGrid 5 - Livewire v3 sintax
    Button::add('bulk-demo') 
       ->dispatchTo('event', ['dishId' = 1]) // ✅ After - string $to, string $event, array $params)
       ->class('...')
// PowerGrid 4 - Livewire v2
   Button::add('bulk-demo')
       ->emitTo('to', [], false) // 🚫 Before - string $to, string $event, array|\Closure $params, bool $singleParam = false)
       ->class('...')
       
// PowerGrid 5 - Livewire v3 sintax
    Button::add('bulk-demo') 
       ->dispatchTo('event', ['dishId' = 1]) // ✅ After - string $to, string $event, array $params)
       ->class('...')

Change exportable keys on config

config/livewire-powergrid.php

php
'exportable' => [
     'default'      => 'openspout_v4',
     'openspout_v4' => [
         'xlsx' => \PowerComponents\LivewirePowerGrid\Services\OpenSpout\v4\ExportToXLS::class, 
         'csv'  => \PowerComponents\LivewirePowerGrid\Services\OpenSpout\v4\ExportToCsv::class,  
         'xlsx' => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v4\ExportToXLS::class,  
         'csv'  => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v4\ExportToCsv::class,  
     ],
     'openspout_v3' => [
         'xlsx' => \PowerComponents\LivewirePowerGrid\Services\OpenSpout\v3\ExportToXLS::class, 
         'csv'  => \PowerComponents\LivewirePowerGrid\Services\OpenSpout\v3\ExportToCsv::class, 
         'xlsx' => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v3\ExportToXLS::class, 
         'csv'  => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v3\ExportToCsv::class, 
     ],
],
'exportable' => [
     'default'      => 'openspout_v4',
     'openspout_v4' => [
         'xlsx' => \PowerComponents\LivewirePowerGrid\Services\OpenSpout\v4\ExportToXLS::class, 
         'csv'  => \PowerComponents\LivewirePowerGrid\Services\OpenSpout\v4\ExportToCsv::class,  
         'xlsx' => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v4\ExportToXLS::class,  
         'csv'  => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v4\ExportToCsv::class,  
     ],
     'openspout_v3' => [
         'xlsx' => \PowerComponents\LivewirePowerGrid\Services\OpenSpout\v3\ExportToXLS::class, 
         'csv'  => \PowerComponents\LivewirePowerGrid\Services\OpenSpout\v3\ExportToCsv::class, 
         'xlsx' => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v3\ExportToXLS::class, 
         'csv'  => \PowerComponents\LivewirePowerGrid\Components\Exports\OpenSpout\v3\ExportToCsv::class, 
     ],
],

Created By Luan Freitas and DanSysAnalyst