Skip to content

Commit

Permalink
fix(calendar): support JSON dates
Browse files Browse the repository at this point in the history
This PR supports JSON-Dates like 2019-05-14T21:00:00.000Z or 2019-05-14T21:00:00.00 given as initialdate, eventDates, disabledDates, enabledDates

Closes #741
  • Loading branch information
lubber-de authored and Sean committed May 17, 2019
1 parent 0c56c8d commit 2d1ffdc
Showing 1 changed file with 19 additions and 6 deletions.
25 changes: 19 additions & 6 deletions src/definitions/modules/calendar.js
Expand Up @@ -832,22 +832,28 @@ $.fn.calendar = function(parameters) {
helper: {
isDisabled: function(date, mode) {
return mode === 'day' && ((settings.disabledDaysOfWeek.indexOf(date.getDay()) !== -1) || settings.disabledDates.some(function(d){
if(typeof d === 'string') {
d = module.helper.sanitiseDate(d);
}
if (d instanceof Date) {
return module.helper.dateEqual(date, d, mode);
}
if (d !== null && typeof d === 'object') {
return module.helper.dateEqual(date, d[metadata.date], mode);
if (d !== null && typeof d === 'object' && d[metadata.date]) {
return module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode);
}
}));
},
isEnabled: function(date, mode) {
if (mode === 'day') {
return settings.enabledDates.length == 0 || settings.enabledDates.some(function(d){
return settings.enabledDates.length === 0 || settings.enabledDates.some(function(d){
if(typeof d === 'string') {
d = module.helper.sanitiseDate(d);
}
if (d instanceof Date) {
return module.helper.dateEqual(date, d, mode);
}
if (d !== null && typeof d === 'object') {
return module.helper.dateEqual(date, d[metadata.date], mode);
if (d !== null && typeof d === 'object' && d[metadata.date]) {
return module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode);
}
});
} else {
Expand All @@ -860,12 +866,15 @@ $.fn.calendar = function(parameters) {
var d;
for (; i < il; i++) {
d = dates[i];
if(typeof d === 'string') {
d = module.helper.sanitiseDate(d);
}
if (d instanceof Date && module.helper.dateEqual(date, d, mode)) {
var dateObject = {};
dateObject[metadata.date] = d;
return dateObject;
}
else if (d !== null && typeof d === 'object' && d[metadata.date] && module.helper.dateEqual(date, d[metadata.date], mode) ) {
else if (d !== null && typeof d === 'object' && d[metadata.date] && module.helper.dateEqual(date,module.helper.sanitiseDate(d[metadata.date]), mode) ) {
return d;
}
}
Expand Down Expand Up @@ -1264,6 +1273,10 @@ $.fn.calendar.settings = {
if (text.length === 0) {
return null;
}
var textDate = new Date(text);
if(!isNaN(textDate.getDate())) {
return textDate;
}

var i, j, k;
var minute = -1, hour = -1, day = -1, month = -1, year = -1;
Expand Down

0 comments on commit 2d1ffdc

Please sign in to comment.