phattarachai / filament-thai-date-picker
FilamentPHP Thai Date Picker Form Component
Fund package maintenance!
phattarachai
Ko Fi
Installs: 494
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 0
Open Issues: 0
Language:JavaScript
Requires
- php: ^8.1
- filament/forms: ^3.0
- filament/infolists: ^3.0
- filament/tables: ^3.0
- phattarachai/thaidate: ^12.1
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- nunomaduro/collision: ^7.9
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.1
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- spatie/laravel-ray: ^1.26
README
ปฏิทิน Thai Date Picker สำหรับ Filament 3 Form Component วัน/เดือน/ปีที่แสดงใน Form เป็นภาษาไทย แต่เก็บเข้า Model เป็นปี ค.ศ.ตามปกติ
วิธีติดตั้ง
Run คำสั่ง composer require เพื่อติดตั้ง Package
composer require phattarachai/filament-thai-date-picker
ทำการ publish ไฟล์ javascript ถ้าหากไม่ได้ run คำสั่งนี้อยู่แล้วในไฟล์ composer.json "post-autoload-dump"
php artisan filament:upgrade
วิธีใช้งาน ThaiDatePicker
ใช้เหมือน DatePicker ปกติ แต่เรียกใช้ class ThaiDatePicker แทน
use Phattarachai\FilamentThaiDatePicker\ThaiDatePicker; ThaiDatePicker::make('order_date') ->label('วันที่สั่งซื้อ') ->suffixIcon('heroicon-o-calendar')
แบบ มีเวลา
use Phattarachai\FilamentThaiDatePicker\ThaiDateTimePicker; ThaiDateTimePicker::make('transfer_at') ->label('เวลาที่โอน') ->suffixIcon('heroicon-o-calendar')
โดยปี พ.ศ.จะใช้สำหรับการแสดงผลเท่านั้นเวลาใช้งาน state เพื่อบันทึกลงฐานข้อมูลจะได้เป็นปี ค.ศ. ตามปกติ
$data = $this->form->getState(); // $data['order_date'] = '2024-05-17'
การแสดงวันที่ภาษาไทยใน Infolist
นอกจาก Datepicker แล้วใน package นี้เพิ่ม method thaidate()
และ thaidatetime()
สำหรับช่วยการแสดงผล Infolist วันที่ปี พ.ศ. ภาษาไทย
use Filament\Infolists\Components\TextEntry; TextEntry::make('order_date') ->label('วันที่สั่งซื้อ') ->thaidate(), // 18 พ.ค. 67
use Filament\Infolists\Components\TextEntry; TextEntry::make('created_at') ->label('วันที่สร้าง') ->thaidatetime(), // 18 พ.ค. 67 12:05
ถ้า field วันที่ เป็นค่า null ได้แล้วแล้วต้องการให้แสดงค่า default สามารถส่ง parameter default ไปใน function ได้
use Filament\Infolists\Components\TextEntry; TextEntry::make('confirm_date') ->label('วันที่ยืนยัน') ->thaidate(default: '-'), // -
การแสดงวันที่ภาษาไทยใน Table Column
เช่นเดียวกับ Infolist package นี้เพิ่ม macro method thaidate()
สำหรับการ format
การแสดงผลคอลัมน์วันที่เพื่อให้แสดงผลเป็นปี
พ.ศ. ภาษาไทย ได้เลย
use Filament\Tables; Tables\Columns\TextColumn::make('order_date') ->label('วันที่') ->thaidate() // สามารถระบุ date format ได้เหมือน function date_format ของ PHP // default format เป็น d M y // เช่น 18 พ.ค. 67
ถ้าเป็น วันที่และเวลาใช้ method thaidatetime()
use Filament\Tables; Tables\Columns\TextColumn::make('created_at') ->label('วันที่สร้าง') ->thaidatetime() // default format เป็น d M y H:i // เช่น 18 พ.ค. 67 12:00
ผู้พัฒนา
🙋♂️ สวัสดีครับ ผมอ๊อฟนะครับ เป็น Full Stack Web Developer
รับ Implement งาน Project ทางด้าน Web Application สำหรับองค์กร ธุรกิจ SME ส่วนงานราชการและบริษัทขนาดใหญ่ครับ
https://phattarachai.dev
line: phat-chai
License
The MIT License (MIT).