承接 noraitec/filament-flatpickr-plugin 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

noraitec/filament-flatpickr-plugin

最新稳定版本:v1.2.35

Composer 安装命令:

composer require noraitec/filament-flatpickr-plugin

包简介

Plugin de Filament que integra Flatpickr con soporte completo para su API y configuración avanzada de calendario.

README 文档

README

Coverage Latest Version on Packagist Total Downloads License: LGPL v3 Changelog
Tests

Un plugin completo de Filament v3 que integra la librería Flatpickr, permitiendo configurar todos los parámetros de su API, incluidos los locales, rangos, formato, estilos y más.

🧾 Changelog

Revisá el historial completo de cambios en CHANGELOG.md

🚀 Características

  • 📅 Soporte completo para Flatpickr
  • 🧩 Configuración detallada de opciones
  • 🌍 Localización (idioma, formato de fecha, etc.)
  • 🔥 Modo rango, selección múltiple, hora, segundos...
  • 💡 Compatible con Filament v3

📦 Instalación

composer require noraitec/filament-flatpickr-plugin

🔧 Comandos disponibles

php artisan vendor:publish --tag=filament-flatpickr-plugin

🛠️ Uso

use Noraitec\FilamentFlatpickrPlugin\Components\Flatpickr;

Flatpickr::make('inicio')
    ->label('Fecha y hora de inicio')
    ->enableTime()
    ->enableSeconds()
    ->allowInput()
    ->minDate('today')
    ->maxDate('2025-12-31')
    ->defaultDate(now()->format('Y-m-d'))
    ->altInput()
    ->altFormat('d/m/Y')
    ->inline(false)
    ->mode('range')
    ->weekNumbers()
    ->disableMobile()
    ->locale('es')
    ->timezone('Europe/Madrid')


    //También se pueden configurar funciones JS:

    Flatpickr::make('fecha')
    ->onChange('function(selectedDates, dateStr, instance) { console.log(dateStr); }');

Uso básico de Fecha con Flatpicker

use Noraitec\FilamentFlatpickrPlugin\Components\Flatpickr;

Flatpickr::make('inicio')
    ->label('Fecha y hora de inicio')
    ->enableTime()
    ->enableSeconds()
    ->allowInput()
    ->minDate('today')
    ->maxDate('2025-12-31')
    ->defaultDate(now()->format('Y-m-d'))
    ->altInput()
    ->altFormat('d/m/Y')
    ->inline(false)
    ->mode('range')
    ->weekNumbers()
    ->disableMobile()
    ->locale('es')
    ->timezone('Europe/Madrid')


    //También se pueden configurar funciones JS:

    Flatpickr::make('fecha')
    ->onChange('function(selectedDates, dateStr, instance) { console.log(dateStr); }');

Uso de Rango de fechas

Flatpickr::make('period')
    ->label('Date Range')
    ->mode('range')
    ->altInput()
    ->altFormat('d/m/Y')
    ->dateFormat('Y-m-d')
    ->weekNumbers()
    ->plugins(['weekSelect'])
    ->onChange('function(selectedDates, dateStr, instance) { console.log(dateStr); }');

    # Persistencia de los valores del rango
    //Mutator en el modelo:
    use Illuminate\Support\Str;
use Carbon\Carbon;

public function setPeriodAttribute($value)
{
    if (Str::contains($value, '')) {
        [$start, $end] = array_map('trim', explode('', $value));
        $this->attributes['week_start'] = Carbon::createFromFormat('Y-m-d', $start);
        $this->attributes['week_end']   = Carbon::createFromFormat('Y-m-d', $end);
    } else {
        // Fallback: single date stored to both
        $date = Carbon::parse($value);
        $this->attributes['week_start'] =
        $this->attributes['week_end']   = $date;
    }
}

//Hidden fields in the form:
Forms\Components\Hidden::make('fecha_semana_inicio'),
Forms\Components\Hidden::make('fecha_semana_fin'),

📋 Opciones Soportadas

enableTime, enableSeconds, time_24hr, defaultHour, etc.

locale, altInput, altFormat, dateFormat, etc.

mode: single | multiple | range | time

Callbacks: onChange, onOpen, onClose, etc.

🧪 Pruebas

./vendor/bin/pest
./vendor/bin/pest --coverage

📄 Licencia

This plugin is open-sourced software licensed under the GNU Lesser General Public License v3.0.

You may use it in both open-source and proprietary projects, provided that modifications to the plugin itself are published under the same license.

统计信息

  • 总下载量: 29
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: HTML

其他信息

  • 授权协议: LGPL-3.0-or-later
  • 更新时间: 2025-03-24