awcodes / filament-table-repeater
修改版的 Filament Forms Repeater,以表格形式显示。
Requires
- php: ^8.1
- filament/forms: ^3.1
- spatie/laravel-package-tools: ^1.13.5
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.0
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-faker: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- pestphp/pest-plugin-livewire: ^2.0
- phpunit/phpunit: ^10.0
- spatie/laravel-ray: ^1.26
- 3.x-dev
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- 2.x-dev
- v2.1.1
- v2.1.0
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v2.0.0-beta.4
- v2.0.0-beta.3
- v2.0.0-beta.2
- v2.0.0-beta.1
- v2.0.0-alpha5
- v2.0.0-alpha4
- v2.0.0-alpha3
- v2.0.0-alpha2
- v2.0.0-alpha1
- 1.x-dev
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
This package is auto-updated.
Last update: 2024-09-18 16:18:11 UTC
README
2.x 到 3.x 的升级指南
- 将你使用的
Awcodes\FilamentTableRepeater
重命名为Awcodes\TableRepeater
。 - 运行
npm run build
来更新你的主题文件。 - 查看 标题 了解对
headers()
方法的更改。
安装
您可以通过 composer 安装此包
composer require awcodes/filament-table-repeater
为了与 Filament 的主题方法保持一致,您需要使用自定义主题来使用此插件。
重要
如果您尚未设置自定义主题并且正在使用面板,请首先参考 Filament 文档 中的说明。以下适用于 Panels 包和独立的 Forms 包。
- 将插件的样式表导入到您的主题的 css 文件中。
@import '<path-to-vendor>/awcodes/filament-table-repeater/resources/css/plugin.css';
- 将插件的视图添加到您的
tailwind.config.js
文件中。
content: [ '<path-to-vendor>/awcodes/filament-table-repeater/resources/**/*.blade.php', ]
用法
此字段具有与 Filament Forms Repeater 字段大部分相同的功能。主要区别是此字段不能折叠。
use Awcodes\TableRepeater\Components\TableRepeater; use Awcodes\TableRepeater\Header; TableRepeater::make('users') ->headers([ Header::make('name')->width('150px'), ]) ->schema([ ... ]) ->columnSpan('full')
标题
要添加标题,请使用 headers()
方法,并传入一个包含 Header
组件的数组。
use Awcodes\TableRepeater\Header; TableRepeater::make('users') ->headers([ Header::make('name'), Header::make('email'), ])
标题对齐
要使表格标题对齐,请使用 align()
方法,传入 Filament 对齐枚举之一。
use Filament\Support\Enums\Alignment; Header::make('name') ->align(Alignment::Center)
标题宽度
要设置表格标题的宽度,请使用 width()
方法。
Header::make('name') ->width('150px')
标记列为必需
要标记列为必需,请使用 markAsRequired()
方法。
Header::make('name') ->markAsRequired()
隐藏标题
即使您不想显示标题,也应在无障碍性标准下添加它们。您可以通过 renderHeader()
方法隐藏标题。
TableRepeater::make('users') ->headers(...) ->renderHeader(false)
标签
默认情况下,表单组件标签将设置为隐藏。要显示它们,请使用 showLabels()
方法。
TableRepeater::make('users') ->showLabels()
空状态标签
要自定义表格为空时显示的文本,请使用 emptyLabel()
方法。
TableRepeater::make('users') ->emptyLabel('There are no users registered.')
或者,您可以使用 emptyLabel(false)
隐藏空标签。
断点
在特定的断点以下,表格将以一组面板的形式渲染,以便在移动设备上更容易处理数据。默认为 'md',但可以用 stackAt()
方法覆盖。
use Filament\Support\Enums\MaxWidth; TableRepeater::make('users') ->stackAt(MaxWidth::Medium)
外观
如果您希望字段更内联于表格,您可以更改表格的外观,使用 streamlined()
方法。
TableRepeater::make('users') ->streamlined()
额外操作
TableRepeater 支持与本地 Filament 重复器相同的 extraItemActions()
。您还可以使用 extraActions()
方法在表格下方添加额外操作。这些操作将出现在“添加”按钮旁边或替代“添加”按钮(如果已隐藏)。
TableRepeater::make('users') ->extraActions([ Action::make('exportData') ->icon('heroicon-m-inbox-arrow-down') ->action(function (TableRepeater $component): void { Notification::make('export_data') ->success() ->title('Data exported.') ->send(); }), ])
变更日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请查阅我们的安全策略,了解如何报告安全漏洞。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。