solution-forest / grid-layout-plugin
This is a grid layout plugin for Filament Admin
Requires
- php: ^8.0
- filament/filament: ^2.0
- spatie/laravel-package-tools: ^1.13.5
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- pestphp/pest-plugin-livewire: ^1.0
- pestphp/pest-plugin-parallel: ^0.3
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is not auto-updated.
Last update: 2023-12-26 11:26:04 UTC
README
Important
We will archive this project since filament3 supports Grid now. https://beta.filamentphp.com/docs/3.x/infolists/layout/grid
Grid Layout Plugin
This is a grid layout plugin for Filament Admin
Installation
You can install the package via composer:
composer require solution-forest/grid-layout-plugin
Optionally, you can publish the views using
php artisan vendor:publish --tag="grid-layout-plugin-views"
Usage
To create grid layout page :
php artisan make:filament-grid-page
The getGridSchema()
method is used to define the structure of grid layout. It is an array of fields, in the order they should appear in the layout.
The following components are available for grid layout:
- \SolutionForest\GridLayoutPlugin\Components\Grid\Row
- \Livewire\Component
- \Illuminate\View\Component
- \Illuminate\Support\HtmlString
use SolutionForest\GridLayoutPlugin\Pages\Grid as BasePage; use SolutionForest\GridLayoutPlugin\Components\Grid; use SolutionForest\GridLayoutPlugin\Components\Grid\Row; use SolutionForest\GridLayoutPlugin\Components\Grid\Column; protected function getGridSchema(): array { return [ Components\Grid\Row::make([ Components\Grid\Column::make( 6, \Filament\Widgets\StatsOverviewWidget\Card::make('Revenue', '$192.1k') ->description('32k increase') ->descriptionIcon('heroicon-s-trending-up') ->chart([7, 2, 10, 3, 15, 4, 17]) ->color('success'), ), Components\Grid\Column::make( 6, \Filament\Widgets\StatsOverviewWidget\Card::make('Revenue', '$192.1k') ->description('3% decrease') ->descriptionIcon('heroicon-s-trending-down') ->chart([17, 16, 14, 15, 14, 13, 12]) ->color('danger') ), ]), \Filament\Widgets\StatsOverviewWidget\Card::make('Revenue', '$192.1k') ->description('7% increase') ->descriptionIcon('heroicon-s-trending-up') ->chart([15, 4, 10, 2, 12, 4, 12]) ->color('success'), new \Illuminate\Support\HtmlString("<div>Dummy Html Element</div>"), view('welcome'), ]; }
Or you can create grid layout which only support widgets similar with \Filament\Pages\Dashboard
:
php artisan make:filament-grid-page --type=widget
protected function getWidgets(): array { return [ \Filament\Widgets\AccountWidget::class, \Filament\Widgets\FilamentInfoWidget::class, ]; }
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.