mirror of
https://github.com/frappe/air-datepicker.git
synced 2026-01-14 11:01:22 +08:00
added possibility to select same date when range is true
This commit is contained in:
parent
d32cf743b3
commit
8dbf738ea6
36
dist/js/datepicker.js
vendored
36
dist/js/datepicker.js
vendored
@ -1693,10 +1693,11 @@
|
||||
_handleClick: function (el) {
|
||||
var date = el.data('date') || 1,
|
||||
month = el.data('month') || 0,
|
||||
year = el.data('year') || this.d.parsedDate.year;
|
||||
year = el.data('year') || this.d.parsedDate.year,
|
||||
dp = this.d;
|
||||
// Change view if min view does not reach yet
|
||||
if (this.d.view != this.opts.minView) {
|
||||
this.d.down(new Date(year, month, date));
|
||||
if (dp.view != this.opts.minView) {
|
||||
dp.down(new Date(year, month, date));
|
||||
return;
|
||||
}
|
||||
// Select date if min view is reached
|
||||
@ -1704,17 +1705,28 @@
|
||||
alreadySelected = this.d._isSelected(selectedDate, this.d.cellType);
|
||||
|
||||
if (!alreadySelected) {
|
||||
this.d._trigger('clickCell', selectedDate);
|
||||
} else if (alreadySelected && this.opts.toggleSelected){
|
||||
this.d.removeDate(selectedDate);
|
||||
} else if (alreadySelected && !this.opts.toggleSelected) {
|
||||
this.d.lastSelectedDate = alreadySelected;
|
||||
if (this.d.opts.timepicker) {
|
||||
this.d.timepicker._setTime(alreadySelected);
|
||||
this.d.timepicker.update();
|
||||
}
|
||||
dp._trigger('clickCell', selectedDate);
|
||||
}
|
||||
|
||||
if (alreadySelected && this.opts.range) {
|
||||
// Add possibility to select same date when range is true
|
||||
if (dp.selectedDates.length != 2 && !this.opts.toggleSelected || this.opts.toggleSelected) {
|
||||
dp._trigger('clickCell', selectedDate);
|
||||
// Change last selected date to be able to change time on last date
|
||||
dp.lastSelectedDate = alreadySelected;
|
||||
}
|
||||
} else if (alreadySelected && this.opts.toggleSelected){
|
||||
dp.removeDate(selectedDate);
|
||||
}
|
||||
|
||||
// Change last selected date to be able to change time when clicking on this cell
|
||||
if (alreadySelected && !this.opts.toggleSelected) {
|
||||
dp.lastSelectedDate = alreadySelected;
|
||||
if (dp.opts.timepicker) {
|
||||
dp.timepicker._setTime(alreadySelected);
|
||||
dp.timepicker.update();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_onClickCell: function (e) {
|
||||
|
||||
4
dist/js/datepicker.min.js
vendored
4
dist/js/datepicker.min.js
vendored
File diff suppressed because one or more lines are too long
@ -280,10 +280,11 @@
|
||||
_handleClick: function (el) {
|
||||
var date = el.data('date') || 1,
|
||||
month = el.data('month') || 0,
|
||||
year = el.data('year') || this.d.parsedDate.year;
|
||||
year = el.data('year') || this.d.parsedDate.year,
|
||||
dp = this.d;
|
||||
// Change view if min view does not reach yet
|
||||
if (this.d.view != this.opts.minView) {
|
||||
this.d.down(new Date(year, month, date));
|
||||
if (dp.view != this.opts.minView) {
|
||||
dp.down(new Date(year, month, date));
|
||||
return;
|
||||
}
|
||||
// Select date if min view is reached
|
||||
@ -291,17 +292,28 @@
|
||||
alreadySelected = this.d._isSelected(selectedDate, this.d.cellType);
|
||||
|
||||
if (!alreadySelected) {
|
||||
this.d._trigger('clickCell', selectedDate);
|
||||
} else if (alreadySelected && this.opts.toggleSelected){
|
||||
this.d.removeDate(selectedDate);
|
||||
} else if (alreadySelected && !this.opts.toggleSelected) {
|
||||
this.d.lastSelectedDate = alreadySelected;
|
||||
if (this.d.opts.timepicker) {
|
||||
this.d.timepicker._setTime(alreadySelected);
|
||||
this.d.timepicker.update();
|
||||
}
|
||||
dp._trigger('clickCell', selectedDate);
|
||||
}
|
||||
|
||||
if (alreadySelected && this.opts.range) {
|
||||
// Add possibility to select same date when range is true
|
||||
if (dp.selectedDates.length != 2 && !this.opts.toggleSelected || this.opts.toggleSelected) {
|
||||
dp._trigger('clickCell', selectedDate);
|
||||
// Change last selected date to be able to change time on last date
|
||||
dp.lastSelectedDate = alreadySelected;
|
||||
}
|
||||
} else if (alreadySelected && this.opts.toggleSelected){
|
||||
dp.removeDate(selectedDate);
|
||||
}
|
||||
|
||||
// Change last selected date to be able to change time when clicking on this cell
|
||||
if (alreadySelected && !this.opts.toggleSelected) {
|
||||
dp.lastSelectedDate = alreadySelected;
|
||||
if (dp.opts.timepicker) {
|
||||
dp.timepicker._setTime(alreadySelected);
|
||||
dp.timepicker.update();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_onClickCell: function (e) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user