53 lines
1.7 KiB
PHP
53 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire;
|
|
|
|
use Livewire\Component;
|
|
use Carbon\Carbon;
|
|
|
|
class DatePickerForm extends Component
|
|
{
|
|
public $value;
|
|
public $type = 'date';
|
|
public $name;
|
|
public $label;
|
|
public $format = 'Y-m-d';
|
|
public $minDateToday = false;
|
|
public $required = false;
|
|
public $disabledDateStart = false;
|
|
public $dateStartEnd = null;
|
|
public $disabledDateStartEndPhotoSlider = false;
|
|
public $disabledDateStartEndPhotoSliderEndDate = false;
|
|
public $isEdit = false;
|
|
|
|
public function mount($name, $label, $type = 'date', $format = 'Y-m-d', $minDateToday = false, $required = false, $disabledDateStart = false, $dateStartEnd = null, $disabledDateStartEndPhotoSlider = false, $disabledDateStartEndPhotoSliderEndDate = false, $isEdit = false)
|
|
{
|
|
$this->name = $name;
|
|
$this->label = $label;
|
|
$this->type = $type;
|
|
$this->format = $format;
|
|
$this->minDateToday = $minDateToday;
|
|
$this->required = $required;
|
|
$this->disabledDateStart = $disabledDateStart;
|
|
$this->dateStartEnd = $dateStartEnd;
|
|
$this->disabledDateStartEndPhotoSlider = $disabledDateStartEndPhotoSlider;
|
|
$this->disabledDateStartEndPhotoSliderEndDate = $disabledDateStartEndPhotoSliderEndDate;
|
|
$this->isEdit = $isEdit;
|
|
}
|
|
|
|
public function updatedValue()
|
|
{
|
|
$this->dispatch('dateChanged', $this->value);
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
$minDate = $this->minDateToday ? Carbon::today()->toDateString() : null;
|
|
if ($this->disabledDateStart && $this->dateStartEnd) {
|
|
$minDate = Carbon::parse($this->dateStartEnd['date_start'])->toDateString();
|
|
}
|
|
|
|
return view('livewire.date-picker-form', ['minDate' => $minDate]);
|
|
}
|
|
}
|