mokhosh/filament-jalali

将Jalali日期时间添加到您的filament表格中

安装次数: 6,235

依赖项: 1

建议者: 0

安全: 0

星标: 28

关注者: 1

分支: 2

开放问题: 1

语言:JavaScript

v4.2.0 2024-09-22 15:42 UTC

This package is auto-updated.

Last update: 2024-09-22 15:44:25 UTC


README

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

Jalali datetime picker form component and table text column

这是一个无需烦恼的包,可以将Jalali日期和日期时间列添加到您的表格中,并将美观的Jalali日期和日期时间选择器添加到表单中。无需新的列类型,只需继续使用您的良好老式的TextColumn即可!无需新的表单组件,只需继续使用您的美丽的DatePickerDateTimePicker即可!

安装

您可以通过composer安装此包

composer require mokhosh/filament-jalali

用法

要将Jalali日期和日期时间列添加到您的表格中,只需将jalaliDatejalaliDateTime添加到filament的TextColumn中,而不是datedateTime

// 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日期和日期时间列添加到您的信息列表中,只需将jalaliDatejalaliDateTime添加到filament的TextEntry中,而不是datedateTime

use Filament\Infolists\Components;

Components\TextEntry::make('created_at')
    ->jalaliDate(),
Components\TextEntry::make('updated_at')
    ->jalaliDateTime(),

要将Jalali日期和日期时间选择器添加到您的表单中,只需将jalali添加到您的DatePickerDateTimePicker中。

// 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转换,可以使用whenunless方法

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)。有关更多信息,请参阅许可文件