awcodes / filament-addons
一组组件/字段,用于扩展 Filament 管理界面。
v0.3.15
2024-02-02 15:27 UTC
Requires
- php: ^8.0.2
- filament/filament: ^3.0
- spatie/laravel-package-tools: ^1.9.2
README
一组组件、字段和布局,用于扩展 Filament 管理界面。
安装
composer require awcodes/filament-addons
(可选)发布配置文件
php artisan vendor:publish --tag=filament-addons-config
主题
如果你正在使用 Filament 的自定义主题,你需要将此插件的视图添加到 Tailwind CSS 配置中。完成此操作后,你可以在配置文件中将插件的样式表禁用,通过将 'load_styles' 更改为 false。
content: [ ... "./vendor/awcodes/filament-addons/resources/views/**/*.blade.php", ],
管理界面
固定侧边栏布局
直接从你的模型资源中的表单函数返回它。
use FilamentAddons\Admin\FixedSidebar; public static function form(Form $form): Form { return FixedSidebar::make() ->schema([ // Main section form components ], [ // Sidebar form components ]); }
表单
日期输入
use FilamentAddons\Forms\Fields\DateInput; DateInput::make(string $fieldname) ->label('Publish Date') ->withoutTime() //optional
密码生成器
所有从 TextInput 可用的方法。
use FilamentAddons\Forms\Fields\PasswordGenerator; PasswordGenerator::make(string $fieldname) ->passwordLength(int $length = 12) ->hasNumbers(bool $hasNumbers = true) ->hasSymbols(bool $hasSymbols = true)
带路径的标题
创建一个可以在创建后修改路径的 TextInput,但在编辑时保留路径以帮助 SEO。
use FilamentAddons\Forms\Components\TitleWithSlug; TitleWithSlug::make( string $titleFieldName = 'title', string $slugFieldName = 'slug', string|Closure $basePathForResource = '/' )->columnSpan('full')
时间戳
输出创建时间和更新时间信息块。
use FilamentAddons\Forms\Components\Timestamps; Timestamps::make()
分隔符
仅输出一个合理的 hr 以帮助分隔组件。
use FilamentAddons\Forms\Components\Separator; Separator::make()
标题
use FilamentAddons\Forms\Components\Heading; Heading::make('whatevs')->level('h3')->content('This is a test')
视频嵌入
允许嵌入代码并预览。此字段不会清理你的值。你负责净化任何原始 html 输入或输出。
支持大多数 Textarea 字段选项。
use FilamentAddons\Forms\Fields\VideoEmbed; VideoEmbed::make(string $fieldname) ->label('label') ->rows()
oEmbed
允许嵌入带有预览的视频。
目前仅支持 YouTube 和 Vimeo。
use FilamentAddons\Forms\Components\OEmbed; OEmbed::make(string $fieldname)
表格
带状态指示器的标题
use FilamentAddons\Tables\Columns\TitleWithStatus; TitleWithStatus::make(string $fieldname = 'title') ->statusField(string $fieldname = 'status') // optional ->statuses(array | Arrayable (Enum) Status::class) ->colors(array | Arrayable (Enum) Status::colors()) ->hiddenOn(string | null Status::Published->name) //optional