mirror of
https://github.com/frappe/air-datepicker.git
synced 2026-01-14 02:49:13 +08:00
added resetTime method, fixed cell's classes when range is true
This commit is contained in:
parent
1fb4c1fcd5
commit
8b5ee1642e
27
dist/js/datepicker.js
vendored
27
dist/js/datepicker.js
vendored
@ -1376,6 +1376,16 @@
|
||||
return parseInt(num) < 10 ? '0' + num : num;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns copy of date with hours and minutes equals to 0
|
||||
* @param date {Date}
|
||||
*/
|
||||
datepicker.resetTime = function (date) {
|
||||
if (typeof date != 'object') return;
|
||||
date = datepicker.getParsedDate(date);
|
||||
return new Date(date.year, date.month, date.date)
|
||||
};
|
||||
|
||||
$.fn.datepicker = function ( options ) {
|
||||
return this.each(function () {
|
||||
if (!$.data(this, pluginName)) {
|
||||
@ -1475,6 +1485,8 @@
|
||||
var classes = "datepicker--cell datepicker--cell-" + type,
|
||||
currentDate = new Date(),
|
||||
parent = this.d,
|
||||
minRange = dp.resetTime(parent.minRange),
|
||||
maxRange = dp.resetTime(parent.maxRange),
|
||||
opts = parent.opts,
|
||||
d = dp.getParsedDate(date),
|
||||
render = {},
|
||||
@ -1519,27 +1531,26 @@
|
||||
classes += render.classes ? ' ' + render.classes : '';
|
||||
}
|
||||
if (opts.range) {
|
||||
if (dp.isSame(parent.minRange, date, type)) classes += ' -range-from-';
|
||||
if (dp.isSame(parent.maxRange, date, type)) classes += ' -range-to-';
|
||||
if (dp.isSame(minRange, date, type)) classes += ' -range-from-';
|
||||
if (dp.isSame(maxRange, date, type)) classes += ' -range-to-';
|
||||
|
||||
if (parent.selectedDates.length == 1 && parent.focused) {
|
||||
if (
|
||||
(dp.bigger(parent.minRange, date) && dp.less(parent.focused, date)) ||
|
||||
(dp.less(parent.maxRange, date) && dp.bigger(parent.focused, date)))
|
||||
(dp.bigger(minRange, date) && dp.less(parent.focused, date)) ||
|
||||
(dp.less(maxRange, date) && dp.bigger(parent.focused, date)))
|
||||
{
|
||||
classes += ' -in-range-'
|
||||
}
|
||||
|
||||
if (dp.less(parent.maxRange, date) && dp.isSame(parent.focused, date)) {
|
||||
if (dp.less(maxRange, date) && dp.isSame(parent.focused, date)) {
|
||||
classes += ' -range-from-'
|
||||
}
|
||||
if (dp.bigger(parent.minRange, date) && dp.isSame(parent.focused, date)) {
|
||||
if (dp.bigger(minRange, date) && dp.isSame(parent.focused, date)) {
|
||||
classes += ' -range-to-'
|
||||
}
|
||||
|
||||
} else if (parent.selectedDates.length == 2) {
|
||||
//TODO fix bigger and less with timepicker
|
||||
if (dp.bigger(parent.minRange, date) && dp.less(parent.maxRange, date)) {
|
||||
if (dp.bigger(minRange, date) && dp.less(maxRange, date)) {
|
||||
classes += ' -in-range-'
|
||||
}
|
||||
}
|
||||
|
||||
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
@ -60,6 +60,8 @@
|
||||
var classes = "datepicker--cell datepicker--cell-" + type,
|
||||
currentDate = new Date(),
|
||||
parent = this.d,
|
||||
minRange = dp.resetTime(parent.minRange),
|
||||
maxRange = dp.resetTime(parent.maxRange),
|
||||
opts = parent.opts,
|
||||
d = dp.getParsedDate(date),
|
||||
render = {},
|
||||
@ -104,27 +106,26 @@
|
||||
classes += render.classes ? ' ' + render.classes : '';
|
||||
}
|
||||
if (opts.range) {
|
||||
if (dp.isSame(parent.minRange, date, type)) classes += ' -range-from-';
|
||||
if (dp.isSame(parent.maxRange, date, type)) classes += ' -range-to-';
|
||||
if (dp.isSame(minRange, date, type)) classes += ' -range-from-';
|
||||
if (dp.isSame(maxRange, date, type)) classes += ' -range-to-';
|
||||
|
||||
if (parent.selectedDates.length == 1 && parent.focused) {
|
||||
if (
|
||||
(dp.bigger(parent.minRange, date) && dp.less(parent.focused, date)) ||
|
||||
(dp.less(parent.maxRange, date) && dp.bigger(parent.focused, date)))
|
||||
(dp.bigger(minRange, date) && dp.less(parent.focused, date)) ||
|
||||
(dp.less(maxRange, date) && dp.bigger(parent.focused, date)))
|
||||
{
|
||||
classes += ' -in-range-'
|
||||
}
|
||||
|
||||
if (dp.less(parent.maxRange, date) && dp.isSame(parent.focused, date)) {
|
||||
if (dp.less(maxRange, date) && dp.isSame(parent.focused, date)) {
|
||||
classes += ' -range-from-'
|
||||
}
|
||||
if (dp.bigger(parent.minRange, date) && dp.isSame(parent.focused, date)) {
|
||||
if (dp.bigger(minRange, date) && dp.isSame(parent.focused, date)) {
|
||||
classes += ' -range-to-'
|
||||
}
|
||||
|
||||
} else if (parent.selectedDates.length == 2) {
|
||||
//TODO fix bigger and less with timepicker
|
||||
if (dp.bigger(parent.minRange, date) && dp.less(parent.maxRange, date)) {
|
||||
if (dp.bigger(minRange, date) && dp.less(maxRange, date)) {
|
||||
classes += ' -in-range-'
|
||||
}
|
||||
}
|
||||
|
||||
@ -1376,6 +1376,16 @@
|
||||
return parseInt(num) < 10 ? '0' + num : num;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns copy of date with hours and minutes equals to 0
|
||||
* @param date {Date}
|
||||
*/
|
||||
datepicker.resetTime = function (date) {
|
||||
if (typeof date != 'object') return;
|
||||
date = datepicker.getParsedDate(date);
|
||||
return new Date(date.year, date.month, date.date)
|
||||
};
|
||||
|
||||
$.fn.datepicker = function ( options ) {
|
||||
return this.each(function () {
|
||||
if (!$.data(this, pluginName)) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user