phattarachai/filament-thai-date-picker

FilamentPHP Thai Date Picker Form Component

1.1.0 2024-05-17 20:32 UTC

This package is auto-updated.

Last update: 2024-05-20 08:06:16 UTC


README

Latest Version on Packagist Total Downloads

ปฏิทิน Thai Date Picker สำหรับ Filament 3 Form Component วัน/เดือน/ปีที่แสดงใน Form เป็นภาษาไทย แต่เก็บเข้า Model เป็นปี ค.ศ.ตามปกติ

Thai Date Picker

วิธีติดตั้ง

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::make('order_date')
    ->label('วันที่สั่งซื้อ')
    ->suffixIcon('heroicon-o-calendar')

โดยปี พ.ศ.จะใช้สำหรับการแสดงผลเท่านั้นเวลาใช้งาน state เพื่อบันทึกลงฐานข้อมูลจะได้เป็นปี ค.ศ. ตามปกติ

$data = $this->form->getState();
// $data['order_date'] = '2024-05-17'

การแสดงวันที่ภาษาไทยใน Table Column

นอกจาก Datepicker แล้ว 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

การแสดงวันที่ภาษาไทยใน Infolist

เช่นเดียวกับ TableColumn ใน package นี้เพิ่ม method thaidate() และ thaidatetime() สำหรับช่วยการแสดงผลคอลัมน์วันที่ปี พ.ศ. ภาษาไทย

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

ผู้พัฒนา

🙋‍♂️ สวัสดีครับ ผมอ๊อฟนะครับ เป็น Full Stack Web Developer รับ Implement งาน Project ทางด้าน Web Application สำหรับองค์กร ธุรกิจ SME ส่วนงานราชการและบริษัทขนาดใหญ่ครับ
https://phattarachai.dev

line: phat-chai

License

The MIT License (MIT).