mirror of
https://github.com/frappe/air-datepicker.git
synced 2026-01-14 11:01:22 +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;
|
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 ) {
|
$.fn.datepicker = function ( options ) {
|
||||||
return this.each(function () {
|
return this.each(function () {
|
||||||
if (!$.data(this, pluginName)) {
|
if (!$.data(this, pluginName)) {
|
||||||
@ -1475,6 +1485,8 @@
|
|||||||
var classes = "datepicker--cell datepicker--cell-" + type,
|
var classes = "datepicker--cell datepicker--cell-" + type,
|
||||||
currentDate = new Date(),
|
currentDate = new Date(),
|
||||||
parent = this.d,
|
parent = this.d,
|
||||||
|
minRange = dp.resetTime(parent.minRange),
|
||||||
|
maxRange = dp.resetTime(parent.maxRange),
|
||||||
opts = parent.opts,
|
opts = parent.opts,
|
||||||
d = dp.getParsedDate(date),
|
d = dp.getParsedDate(date),
|
||||||
render = {},
|
render = {},
|
||||||
@ -1519,27 +1531,26 @@
|
|||||||
classes += render.classes ? ' ' + render.classes : '';
|
classes += render.classes ? ' ' + render.classes : '';
|
||||||
}
|
}
|
||||||
if (opts.range) {
|
if (opts.range) {
|
||||||
if (dp.isSame(parent.minRange, date, type)) classes += ' -range-from-';
|
if (dp.isSame(minRange, date, type)) classes += ' -range-from-';
|
||||||
if (dp.isSame(parent.maxRange, date, type)) classes += ' -range-to-';
|
if (dp.isSame(maxRange, date, type)) classes += ' -range-to-';
|
||||||
|
|
||||||
if (parent.selectedDates.length == 1 && parent.focused) {
|
if (parent.selectedDates.length == 1 && parent.focused) {
|
||||||
if (
|
if (
|
||||||
(dp.bigger(parent.minRange, date) && dp.less(parent.focused, date)) ||
|
(dp.bigger(minRange, date) && dp.less(parent.focused, date)) ||
|
||||||
(dp.less(parent.maxRange, date) && dp.bigger(parent.focused, date)))
|
(dp.less(maxRange, date) && dp.bigger(parent.focused, date)))
|
||||||
{
|
{
|
||||||
classes += ' -in-range-'
|
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-'
|
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-'
|
classes += ' -range-to-'
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (parent.selectedDates.length == 2) {
|
} else if (parent.selectedDates.length == 2) {
|
||||||
//TODO fix bigger and less with timepicker
|
if (dp.bigger(minRange, date) && dp.less(maxRange, date)) {
|
||||||
if (dp.bigger(parent.minRange, date) && dp.less(parent.maxRange, date)) {
|
|
||||||
classes += ' -in-range-'
|
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,
|
var classes = "datepicker--cell datepicker--cell-" + type,
|
||||||
currentDate = new Date(),
|
currentDate = new Date(),
|
||||||
parent = this.d,
|
parent = this.d,
|
||||||
|
minRange = dp.resetTime(parent.minRange),
|
||||||
|
maxRange = dp.resetTime(parent.maxRange),
|
||||||
opts = parent.opts,
|
opts = parent.opts,
|
||||||
d = dp.getParsedDate(date),
|
d = dp.getParsedDate(date),
|
||||||
render = {},
|
render = {},
|
||||||
@ -104,27 +106,26 @@
|
|||||||
classes += render.classes ? ' ' + render.classes : '';
|
classes += render.classes ? ' ' + render.classes : '';
|
||||||
}
|
}
|
||||||
if (opts.range) {
|
if (opts.range) {
|
||||||
if (dp.isSame(parent.minRange, date, type)) classes += ' -range-from-';
|
if (dp.isSame(minRange, date, type)) classes += ' -range-from-';
|
||||||
if (dp.isSame(parent.maxRange, date, type)) classes += ' -range-to-';
|
if (dp.isSame(maxRange, date, type)) classes += ' -range-to-';
|
||||||
|
|
||||||
if (parent.selectedDates.length == 1 && parent.focused) {
|
if (parent.selectedDates.length == 1 && parent.focused) {
|
||||||
if (
|
if (
|
||||||
(dp.bigger(parent.minRange, date) && dp.less(parent.focused, date)) ||
|
(dp.bigger(minRange, date) && dp.less(parent.focused, date)) ||
|
||||||
(dp.less(parent.maxRange, date) && dp.bigger(parent.focused, date)))
|
(dp.less(maxRange, date) && dp.bigger(parent.focused, date)))
|
||||||
{
|
{
|
||||||
classes += ' -in-range-'
|
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-'
|
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-'
|
classes += ' -range-to-'
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (parent.selectedDates.length == 2) {
|
} else if (parent.selectedDates.length == 2) {
|
||||||
//TODO fix bigger and less with timepicker
|
if (dp.bigger(minRange, date) && dp.less(maxRange, date)) {
|
||||||
if (dp.bigger(parent.minRange, date) && dp.less(parent.maxRange, date)) {
|
|
||||||
classes += ' -in-range-'
|
classes += ' -in-range-'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1376,6 +1376,16 @@
|
|||||||
return parseInt(num) < 10 ? '0' + num : num;
|
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 ) {
|
$.fn.datepicker = function ( options ) {
|
||||||
return this.each(function () {
|
return this.each(function () {
|
||||||
if (!$.data(this, pluginName)) {
|
if (!$.data(this, pluginName)) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user