From 4ada86876033fa171e2896d7e3d3c5645d8062db Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 14:46:47 +0200 Subject: Adding upstream version 0.10.0. Signed-off-by: Daniel Baumann --- library/Reporting/Web/Flatpickr.php | 77 +++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 library/Reporting/Web/Flatpickr.php (limited to 'library/Reporting/Web/Flatpickr.php') diff --git a/library/Reporting/Web/Flatpickr.php b/library/Reporting/Web/Flatpickr.php new file mode 100644 index 0000000..5f6605d --- /dev/null +++ b/library/Reporting/Web/Flatpickr.php @@ -0,0 +1,77 @@ +allowInput = $state; + + return $this; + } + + protected function assembleElement() + { + if (version_compare(Version::VERSION, '2.9.0', '>=')) { + $element = parent::assembleElement(); + } else { + $element = $this->formElement; + } + + if (version_compare(Version::VERSION, '2.10.0', '<')) { + $element->getAttributes()->set('data-use-flatpickr-fallback', true); + } else { + $element->getAttributes()->set('data-use-datetime-picker', true); + } + + if (! $this->allowInput) { + return $element; + } + + $element->getAttributes() + ->set('data-input', true) + ->set('data-flatpickr-wrap', true) + ->set('data-flatpickr-allow-input', true) + ->set('data-flatpickr-click-opens', 'false'); + + return [ + $element, + Html::tag('button', ['type' => 'button', 'class' => 'icon-calendar', 'data-toggle' => true]), + Html::tag('button', ['type' => 'button', 'class' => 'icon-cancel', 'data-clear' => true]) + ]; + } + + protected function assemble() + { + if (version_compare(Version::VERSION, '2.9.0', '>=')) { + parent::assemble(); + return; + } + + if ($this->formElement->hasBeenValidated() && ! $this->formElement->isValid()) { + $this->getAttributes()->add('class', 'has-error'); + } + + $this->add(array_filter([ + $this->assembleLabel(), + $this->assembleElement(), + $this->assembleDescription(), + $this->assembleErrors() + ])); + } +} -- cgit v1.2.3