mokhosh / filament-jalali
将Jalali日期时间添加到您的filament表格中
v4.2.0
2024-09-22 15:42 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- illuminate/contracts: ^10.0|^11.0
- morilog/jalali: ^v3.4.2
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9|^8.0
- orchestra/testbench: ^8.0|^9.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
README
这是一个无需烦恼的包,可以将Jalali日期和日期时间列添加到您的表格中,并将美观的Jalali日期和日期时间选择器添加到表单中。无需新的列类型,只需继续使用您的良好老式的TextColumn
即可!无需新的表单组件,只需继续使用您的美丽的DatePicker
和DateTimePicker
即可!
安装
您可以通过composer安装此包
composer require mokhosh/filament-jalali
用法
要将Jalali日期和日期时间列添加到您的表格中,只需将jalaliDate
和jalaliDateTime
添加到filament的TextColumn
中,而不是date
或dateTime
。
// Yes! Just use Filament's original TextColumns! use Filament\Tables; Tables\Columns\TextColumn::make('created_at') ->jalaliDate(), Tables\Columns\TextColumn::make('updated_at') ->jalaliDateTime(),
要将Jalali日期和日期时间列添加到您的信息列表中,只需将jalaliDate
和jalaliDateTime
添加到filament的TextEntry
中,而不是date
或dateTime
。
use Filament\Infolists\Components; Components\TextEntry::make('created_at') ->jalaliDate(), Components\TextEntry::make('updated_at') ->jalaliDateTime(),
要将Jalali日期和日期时间选择器添加到您的表单中,只需将jalali
添加到您的DatePicker
和DateTimePicker
中。
// Yes! Just use Filament's original DatePickers and DateTimePickers! use Filament\Forms; Forms\Components\DatePicker::make('moderated_at') ->jalali(), Forms\Components\DateTimePicker::make('published_at') ->jalali(),
忽略Jalali转换
如果您想忽略Jalali转换,可以使用when
和unless
方法
use Filament\Tables; use Filament\Infolists\Components; use Filament\Forms; use Illuminate\Support\Facades\App; Tables\Columns\TextColumn::make('created_at') ->date() ->when(App::isLocale('fa'), fn (TextColumn $column) => $column->jalaliDate()), Components\TextEntry::make('updated_at') ->dateTime() ->unless(App::isLocale('en'), fn (TextColumn $column) => $column->jalaliDateTime()), Forms\Components\DatePicker::make('birthday') ->when(App::isLocale('fa'), fn (TextColumn $column) => $column->jalali()),
全局配置格式
您可以在任何地方设置表格和信息列表的默认日期格式,例如在服务提供者中
public function boot(): void { Table::$defaultDateDisplayFormat = 'Y/m/d'; Table::$defaultDateTimeDisplayFormat = 'Y/m/d H:i:s'; Infolist::$defaultDateDisplayFormat = 'Y/m/d'; Infolist::$defaultDateTimeDisplayFormat = 'Y/m/d H:i:s'; }
您可能想要使用的常见格式
j F Y
۱۵ مهر ۱۳۶۸
Y/m/d
۱۳۶۸/۰۷/۱۵
l j F
شنبه ۱۵ مهر
鸣谢
许可协议
MIT许可(MIT)。有关更多信息,请参阅许可文件。