luttje / filament-user-attributes
让您的用户指定模型的自定义属性。
0.8.2
2024-04-25 04:53 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- filament/forms: ^3.0
- filament/tables: ^3.0
- illuminate/contracts: ^v10.17
- livewire/livewire: ^3.0.3
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nikic/php-parser: ^4.17
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- pestphp/pest-plugin-livewire: ^2.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
README
警告
此包仍在开发中。它尚未准备好投入生产使用,API 可能随时更改。
Filament 用户属性
让您的用户为 Filament 中的模型指定自定义属性,类似于 WordPress 中的自定义字段。
演示:展示为该应用 '位置' 资源创建自定义用户属性的过程
demonstration.mp4
在这个演示中
- 添加了一个复选框,并指定了它在表格和表单中的顺序。
- 复选框在表格和表单中显示。现在,用户可以切换复选框并查看表中的值。
注意
这是一个与 Filament 或 Laravel 无关的第三方包。
🚀 开始使用
-
确保您的项目符合以下要求
- PHP 8.1 或更高版本
- Livewire 3.0.3 或更高版本
- Filament 3.0 或更高版本
- 支持 JSON 列的数据库,例如
- MySQL 5.7.8 或更高版本
- PostgreSQL 9.2 或更高版本
- SQLite 3.38 或更高版本
-
通过 composer 安装包 包
composer require luttje/filament-user-attributes
-
运行以下命令以完全安装包
php artisan filament-user-attributes:install
这会发布迁移以创建两个必需的表并运行它们。
-
运行向导命令以帮助您设置项目代码
php artisan filament-user-attributes:wizard
向导将帮助您
- 指定应具有自定义用户属性的模型
- 设置一个模型,该模型可以配置每个用户的用户属性(例如,一个用户或租户模型)
- 设置配置模型可以配置自定义属性的资源
最后,您需要在某处显示用户属性配置表单。这样,用户就可以实际配置其资源的自定义属性。
-
创建一个资源并从
UserAttributeConfigResource
类继承// app/Filament/Resources/UserAttributeConfigResource.php namespace App\Filament\Resources; use Luttje\FilamentUserAttributes\Filament\Resources\UserAttributeConfigResource as BaseUserAttributeConfigResource; class UserAttributeConfigResource extends BaseUserAttributeConfigResource { protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack'; }
或者,您可以从头创建自己的资源。查看 源代码 以获取灵感。
🎉 就这些了,现在您和您的用户可以配置自定义属性了!
您的用户(或租户)现在可以配置自定义属性字段
配置的自定义属性将(可选地)添加到资源表单和表中
✏ 自定义
-
要修改翻译,发布翻译文件
php artisan vendor:publish --tag=filament-user-attributes-translations
-
要修改配置,发布配置文件
php artisan vendor:publish --tag=filament-user-attributes-config
✨ 特性
- 向任何模型添加自定义属性
- 支持 UUIDs
- 支持 ULIDs
- 轻松在 Filament 表单中显示属性
- 轻松在 Filament 表格中显示属性
- 对输入类型进行合理的验证
- 允许用户指定属性的顺序
- 在表单中
- 在表格中
- 允许用户隐藏属性
- 在表单中
- 在表格中
- 用户可以为属性指定默认值
- 用户可以指定属性是否为必填项
- 用户可以指定属性是否从另一个属性继承值,即使是从相关模型继承
- 对于资源
- 对于实现静态
::getModel()
方法的 Livewire 组件 - 对于表单中的具有 {relation}_id 字段的关联字段
- 对于本表单中没有字段的关联属性
- 用户属性管理用户界面
- 支持表单中的标签页和部分
- 向导命令帮助您设置项目代码
支持的输入类型
- 文本
- 多行文本框
- 数字
- 整数
- 小数
- 特定范围
- 特定小数位数
- 选择
- 特定选项
- 从现有模型属性中选择
- 单选按钮
- 特定选项
- 从现有模型属性中选择
- 标签
- 带建议
- 日期
- 日期
- 时间
- 日期和时间
- 复选框
- 带默认值
- 切换
- 带默认值
- 文件
- 图片
- 其他
- 预览
- 颜色
💖 贡献
有关如何为该项目做出贡献的详细信息,请参阅CONTRIBUTING。您还可以找到有关如何运行测试的说明。