Как использовать функцию reactive() в Laravel Filament DatePicker в поле «Год»Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как использовать функцию reactive() в Laravel Filament DatePicker в поле «Год»

Сообщение Anonymous »

Я работаю над небольшим проектом, используя Filamentphp. В моей форме есть DatePicker, и я не могу отключить все выходные дни в предыдущие или будущие годы.
Это работает только для текущего года. Я не мог понять, как использовать функцию reactive() при смене года. Если кто-то сможет мне помочь, буду благодарен, что это решит мою проблему.
public static function weekend($state, $week_days)
: array
{
$dateDay = ($state === null)
? \Carbon\Carbon::now()
: Carbon::parse($state);
$year = $dateDay->year;
$next_year = $year + 1;
$month = $dateDay->month;
$days = $dateDay->daysInMonth;

$arr = [];
foreach ($week_days as $week_day)
{
$days = new \DatePeriod(
Carbon::parse("first $week_day of $year"),
CarbonInterval::week(),
Carbon::parse("last $week_day of january $next_year")
);
foreach ($days as $day)
{
array_push($arr, Carbon::parse($day)->format('Y-m-d'));
}
}

return $arr;
}

DatePicker::make('issue_start_date')->dispatchEvent('weekend')
->required()
->reactive()
->closeOnDateSelection()
->weekStartsOnSunday()
->afterStateUpdated(function (callable $set, $state)
{
$month = date('M', strtotime($state));
$year = date('Y', strtotime($state));
($month == null || $year === null)
? $set('name', null)
: $set('name', $month . ' ' . $year);
})
->dehydrateStateUsing(function (callable $set, $state)
{
if ($state === null) $set('name', null);
})
->disabledDates(fn($state) => self::weekend(state: $state, week_days: ['saturday', 'friday'])),


Подробнее здесь: https://stackoverflow.com/questions/761 ... year-field
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»