parent
6a897b1072
commit
be7b3b3009
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,8 +9,9 @@
|
|||
class="field-datepicker"
|
||||
data-control="datepicker"
|
||||
data-format="<?= $format ?>"
|
||||
data-min-date="<?= $minDate ?>"
|
||||
data-max-date="<?= $maxDate ?>">
|
||||
<?php if ($minDate): ?>data-min-date="<?= $minDate ?>"<?php endif ?>
|
||||
<?php if ($maxDate): ?>data-max-date="<?= $maxDate ?>"<?php endif ?>
|
||||
>
|
||||
<div class="input-with-icon right-align">
|
||||
<i class="icon icon-calendar-o"></i>
|
||||
<input
|
||||
|
|
@ -34,8 +35,9 @@
|
|||
class="field-datepicker"
|
||||
data-control="datepicker"
|
||||
data-format="<?= $format ?>"
|
||||
data-min-date="<?= $minDate ?>"
|
||||
data-max-date="<?= $maxDate ?>">
|
||||
<?php if ($minDate): ?>data-min-date="<?= $minDate ?>"<?php endif ?>
|
||||
<?php if ($maxDate): ?>data-max-date="<?= $maxDate ?>"<?php endif ?>
|
||||
>
|
||||
<div class="input-with-icon right-align">
|
||||
<i class="icon icon-calendar-o"></i>
|
||||
<input
|
||||
|
|
|
|||
Loading…
Reference in New Issue