arielmejiadev / filament-printable
获取您的Filament资源可打印的包
2.2.0
2024-08-03 01:13 UTC
Requires
- php: ^8.1|^8.2
- filament/filament: ^3.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.1
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
README
此包提供了一个快速简便的方式将您的Filament资源表格或表单打印出来,或打印为PDF,非常适合添加基本报告(很多时候这就足够了),它可以与任何排序、搜索、筛选或分页或全部数据一起使用。
安装
您可以通过composer安装此包
composer require arielmejiadev/filament-printable
您可以发布并运行占位符
php artisan filament-printable:install
// or
php artisan vendor:publish --tag="filament-printable-stubs"
用法
// Add print button in a filament list header class ListUsers extends ListRecords { protected function getHeaderActions(): array { return [ // ... PrintAction::make(), ]; } } // Add print button in Filament CreateRecord or EditRecord class class EditUser extends EditRecord { protected function getHeaderActions(): array { return [ // ... \ArielMejiaDev\FilamentPrintable\Actions\PrintAction::make(), ]; } } // Add print button as a bulk action ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), \ArielMejiaDev\FilamentPrintable\Actions\PrintBulkAction::make(), ]), ]);
打印Filament表格
默认情况下,filament-printable
设置了打印样式,使表格看起来很棒,无论表格是否已排序
- 已排序
- 显示搜索结果
- 显示筛选结果
- 显示分页结果
- 显示所有结果
样式可以在public/css/filament-printable/filament-printable-styles.css
中轻松自定义
打印Filament表单
默认情况下,Filament为表单元素添加了一些灵活的网格,如果您想为打印文档的元素设置显式的特定分布。
您可以使用Filament的Grid
和Section
元素在表单内部分布元素
public static function form(Form $form): Form { return $form ->schema([ Forms\Components\Grid::make()->schema([ Forms\Components\TextInput::make('name'), Forms\Components\TextInput::make('email'), ])->columns([ 'xs' => 1, 'sm' => 2, ]), Forms\Components\Section::make([ Forms\Components\TextInput::make('name'), Forms\Components\TextInput::make('email'), Forms\Components\TextInput::make('second_email'), ])->columns([ 'xs' => 1, 'sm' => 3, ]), ]); }
重要
对于信函和法律纸大小的纸张,Filament列的sm
大小分布将被使用。
自定义
Filament Printable包括一些用于打印资源的CSS样式,通常看起来很棒,但您可以根据自己的要求自定义打印CSS,在public/css/filament-printable/filament-printable-styles.css
以下是一个示例,说明如何删除打印时的一些部分样式
.fi-section { background-color: transparent !important; box-shadow: none !important; }
测试
composer test
变更日志
请参阅变更日志,了解最近有哪些变化。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请参阅我们的安全策略,了解如何报告安全漏洞。
致谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。