Skip to content

Commit 5794bbf

Browse files
author
Elvis Justino da Silva
committed
Adding dates disableds in select and unselect methods has to be ignored
1 parent 77a211e commit 5794bbf

File tree

4 files changed

+62
-38
lines changed

4 files changed

+62
-38
lines changed

dist/datepickk.js

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,11 @@ function Datepickk(args) {
313313
return month;
314314
}
315315

316+
function isDisabledDate(date) {
317+
var dateToVerify = date instanceof Date ? date : new Date(date);
318+
return disabledDates.indexOf(dateToVerify.getTime()) != -1 || disabledDays.indexOf(dateToVerify.getDay()) != -1;
319+
}
320+
316321
function generateDates(year, month) {
317322
var monthElements = that.el.querySelectorAll('.d-table');
318323
var ws = weekStart !== null ? weekStart : languages[lang].weekStart;
@@ -377,7 +382,7 @@ function Datepickk(args) {
377382
if (date instanceof Date) {
378383
inputEl.setAttribute('data-date', date.toJSON());
379384

380-
if (disabledDates.indexOf(date.getTime()) != -1 || disabledDays.indexOf(date.getDay()) != -1) {
385+
if (isDisabledDate(date)) {
381386
inputEl.setAttribute('disabled', true);
382387
}
383388

@@ -556,8 +561,8 @@ function Datepickk(args) {
556561
setDate();
557562
};
558563

559-
function selectDate(date, ignoreOnSelect) {
560-
if (date != '') {
564+
function selectDate(date, ignoreOnSelect, ignoreDisabled) {
565+
if (date != '' && (ignoreDisabled || !isDisabledDate(date))) {
561566
date = new Date(date);
562567
date.setHours(0, 0, 0, 0);
563568
var el = that.el.querySelector('[data-date="' + date.toJSON() + '"]');
@@ -578,14 +583,14 @@ function Datepickk(args) {
578583
}
579584
};
580585

581-
function selectDates(dates, ignoreOnSelect) {
586+
function selectDates(dates, ignoreOnSelect, ignoreDisabled) {
582587
dates.forEach(function (element) {
583-
selectDate(element, ignoreOnSelect);
588+
selectDate(element, ignoreOnSelect, ignoreDisabled);
584589
});
585590
};
586591

587-
function unselectDate(date, ignoreOnSelect) {
588-
if (date != '') {
592+
function unselectDate(date, ignoreOnSelect, ignoreDisabled) {
593+
if (date != '' && (ignoreDisabled || !isDisabledDate(date))) {
589594
date = new Date(date);
590595
date.setHours(0, 0, 0, 0);
591596
var el = that.el.querySelector('[data-date="' + date.toJSON() + '"]');
@@ -606,15 +611,15 @@ function Datepickk(args) {
606611
}
607612
};
608613

609-
function unselectDates(dates, ignoreOnSelect) {
614+
function unselectDates(dates, ignoreOnSelect, ignoreDisabled) {
610615
dates.forEach(function (element) {
611-
unselectDate(element, ignoreOnSelect);
616+
unselectDate(element, ignoreOnSelect, ignoreDisabled);
612617
});
613618
};
614619

615-
function unselectAll(ignoreOnSelect) {
620+
function unselectAll(ignoreOnSelect, ignoreDisabled) {
616621
selectedDates.forEach(function (date) {
617-
unselectDate(date, ignoreOnSelect);
622+
unselectDate(date, ignoreOnSelect, ignoreDisabled);
618623
});
619624
};
620625

0 commit comments

Comments
 (0)