diff --git a/modules/backend/formwidgets/DatePicker.php b/modules/backend/formwidgets/DatePicker.php index 70980753a..8c8824e61 100644 --- a/modules/backend/formwidgets/DatePicker.php +++ b/modules/backend/formwidgets/DatePicker.php @@ -31,13 +31,15 @@ class DatePicker extends FormWidgetBase /** * @var string the minimum/earliest date that can be selected. + * eg: 2000-01-01 */ - public $minDate = '2000-01-01'; + public $minDate = null; /** * @var string the maximum/latest date that can be selected. + * eg: 2020-12-31 */ - public $maxDate = '2020-12-31'; + public $maxDate = null; // // Object properties @@ -62,13 +64,17 @@ class DatePicker extends FormWidgetBase $this->mode = strtolower($this->mode); - $this->minDate = is_integer($this->minDate) - ? Carbon::createFromTimestamp($this->minDate) - : Carbon::parse($this->minDate); + if ($this->minDate !== null) { + $this->minDate = is_integer($this->minDate) + ? Carbon::createFromTimestamp($this->minDate) + : Carbon::parse($this->minDate); + } - $this->maxDate = is_integer($this->maxDate) - ? Carbon::createFromTimestamp($this->maxDate) - : Carbon::parse($this->maxDate); + if ($this->maxDate !== null) { + $this->maxDate = is_integer($this->maxDate) + ? Carbon::createFromTimestamp($this->maxDate) + : Carbon::parse($this->maxDate); + } } /** diff --git a/modules/backend/formwidgets/datepicker/assets/js/build-min.js b/modules/backend/formwidgets/datepicker/assets/js/build-min.js index 5d35cab4e..7878512df 100644 --- a/modules/backend/formwidgets/datepicker/assets/js/build-min.js +++ b/modules/backend/formwidgets/datepicker/assets/js/build-min.js @@ -386,11 +386,14 @@ this.$input=this.$el.find('input:first') var $form=this.$el.closest('form'),changeMonitor=$form.data('oc.changeMonitor') if(changeMonitor!==undefined) changeMonitor.pause() -this.$input.pikaday({minDate:new Date(options.minDate),maxDate:new Date(options.maxDate),yearRange:options.yearRange,setDefaultDate:moment(this.$input.val()).toDate(),i18n:$.oc.lang.get('datepicker'),onOpen:function(){var $field=$(this._o.trigger) -$(this.el).css({left:'auto',right:$(window).width()-$field.offset().left-$field.outerWidth()})}}) +var pikadayOptions={yearRange:options.yearRange,format:options.format,setDefaultDate:moment(this.$input.val()).toDate(),i18n:$.oc.lang.get('datepicker'),onOpen:function(){var $field=$(this._o.trigger) +$(this.el).css({left:'auto',right:$(window).width()-$field.offset().left-$field.outerWidth()})}} +if(options.minDate){pikadayOptions.minDate=new Date(options.minDate)} +if(options.maxDate){pikadayOptions.maxDate=new Date(options.maxDate)} +this.$input.pikaday(pikadayOptions) if(changeMonitor!==undefined) changeMonitor.resume()} -DatePicker.DEFAULTS={minDate:'2000-01-01',maxDate:'2020-12-31',yearRange:10} +DatePicker.DEFAULTS={minDate:null,maxDate:null,format:'YYYY-MM-DD',yearRange:10} var old=$.fn.datePicker $.fn.datePicker=function(option){var args=Array.prototype.slice.call(arguments,1) return this.each(function(){var $this=$(this) diff --git a/modules/backend/formwidgets/datepicker/assets/js/datepicker.js b/modules/backend/formwidgets/datepicker/assets/js/datepicker.js index 4938552aa..823ce4cef 100644 --- a/modules/backend/formwidgets/datepicker/assets/js/datepicker.js +++ b/modules/backend/formwidgets/datepicker/assets/js/datepicker.js @@ -35,9 +35,7 @@ if (changeMonitor !== undefined) changeMonitor.pause() - this.$input.pikaday({ - minDate: new Date(options.minDate), - maxDate: new Date(options.maxDate), + var pikadayOptions = { yearRange: options.yearRange, format: options.format, setDefaultDate: moment(this.$input.val()).toDate(), @@ -50,15 +48,25 @@ right: $(window).width() - $field.offset().left - $field.outerWidth() }) } - }) + } + + if (options.minDate) { + pikadayOptions.minDate = new Date(options.minDate) + } + + if (options.maxDate) { + pikadayOptions.maxDate = new Date(options.maxDate) + } + + this.$input.pikaday(pikadayOptions) if (changeMonitor !== undefined) changeMonitor.resume() } DatePicker.DEFAULTS = { - minDate: '2000-01-01', - maxDate: '2020-12-31', + minDate: null, + maxDate: null, format: 'YYYY-MM-DD', yearRange: 10 } diff --git a/modules/backend/formwidgets/datepicker/partials/_datepicker.htm b/modules/backend/formwidgets/datepicker/partials/_datepicker.htm index 171caf2dd..81f2d1128 100644 --- a/modules/backend/formwidgets/datepicker/partials/_datepicker.htm +++ b/modules/backend/formwidgets/datepicker/partials/_datepicker.htm @@ -9,8 +9,9 @@ class="field-datepicker" data-control="datepicker" data-format="= $format ?>" - data-min-date="= $minDate ?>" - data-max-date="= $maxDate ?>"> + data-min-date="= $minDate ?>" + data-max-date="= $maxDate ?>" + >