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:
- PHP 8.1+
- Laravel Framework 10.0+
- Laravel Livewire 3.0+
- Tailwind v3+
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,
],
],