tapp/filament-timezone-field
最新稳定版本:v3.0.11
Composer 安装命令:
composer require tapp/filament-timezone-field
包简介
Filament timezone field.
README 文档
README
A timezone select field for Laravel Filament.
Installation
composer require tapp/filament-timezone-field:"^3.0"
Note For Filament 2.x check the 2.x branch
Usage
Form Field
Add to your Filament resource:
use Tapp\FilamentTimezoneField\Forms\Components\TimezoneSelect; public static function form(Form $form): Form { return $form ->schema([ // ... TimezoneSelect::make('timezone'), // ... ]); }
Appareance
Options
To change the language of displayed timezones, use the ->language() method passing the ISO 639-1 language code:
->language('es')
To use GMT instead of UTC (default is UTC), add the ->timezoneType('GMT') method:
use Tapp\FilamentTimezoneField\Forms\Components\TimezoneSelect; public static function form(Form $form): Form { return $form ->schema([ // ... TimezoneSelect::make('timezone') ->timezoneType('GMT'), // ... ]); }
List timezones by country
To list only the timezones for a country, you can pass the country code to ->byCountry() method. For example, to list only United States timezones:
TimezoneSelect::make('timezone') ->byCountry('US')
You can also pass an array with more than one country code:
TimezoneSelect::make('timezone') ->byCountry(['US', 'AU'])
List timezones by region
To list the timezones for a region use the ->byRegion() method. You can specify a region with a Region enum value:
use Tapp\FilamentTimezoneField\Enums\Region; TimezoneSelect::make('timezone') ->byRegion(Region::Australia)
or you can use one of the PHP's DateTimeZone predifined constants:
use DateTimeZone; TimezoneSelect::make('timezone') ->byRegion(DateTimeZone::AUSTRALIA)
It's also possible to pass an array with more than one region:
use Tapp\FilamentTimezoneField\Enums\Region; TimezoneSelect::make('timezone') ->byRegion([Region::Australia, Region::America])
Tip
All Filament select field methods are available to use:
use Tapp\FilamentTimezoneField\Forms\Components\TimezoneSelect; public static function form(Form $form): Form { return $form ->schema([ // ... TimezoneSelect::make('timezone') ->searchable() ->required(), // ... ]); }
Optionally, hide either timezone offsets or timezone names, depending on your use case:
use Tapp\FilamentTimezoneField\Forms\Components\TimezoneSelect; public static function form(Form $form): Form { return $form ->schema([ // ... TimezoneSelect::make('timezone') ->hideNames(), // ... ]); }
use Tapp\FilamentTimezoneField\Forms\Components\TimezoneSelect; public static function form(Form $form): Form { return $form ->schema([ // ... TimezoneSelect::make('timezone') ->hideOffset(), // ... ]); }
Optionally, hydrate the field with the timezone from the user's browser. If there is already a value, it will not be overridden.
use Tapp\FilamentTimezoneField\Forms\Components\TimezoneSelect; public static function form(Form $form): Form { return $form ->schema([ // ... TimezoneSelect::make('timezone') ->getTimezoneFromBrowser() // ... ]); }
Table Column
use Tapp\FilamentTimezoneField\Tables\Columns\TimezoneColumn; public static function table(Table $table): Table { return $table ->columns([ //... TimezoneColumn::make('timezone') ->timezoneType('GMT') ->formattedOffsetAndTimezone(), ]) // ... }
Options
| Method | Description |
|---|---|
| ->formattedTimezone() | Show formatted timezone name |
| ->formattedOffsetAndTimezone() | Show formatted offset and timezone name |
| ->timezoneType('GMT') | Use GMT instead of UTC |
Table Filter
use Tapp\FilamentTimezoneField\Tables\Filters\TimezoneSelectFilter; public static function table(Table $table): Table { return $table //... ->filters([ TimezoneSelectFilter::make('timezone'), // ... ]) }
统计信息
- 总下载量: 226.45k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 54
- 点击次数: 1
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-05-06

