diff --git a/dist/js/datepicker.js b/dist/js/datepicker.js
index 77783f9..03d870a 100644
--- a/dist/js/datepicker.js
+++ b/dist/js/datepicker.js
@@ -21,7 +21,7 @@ var Datepicker;
minDate: '',
maxData: '',
- //TODO сделать множественные даты
+ //TODO возможно добавить огрнаичивать число выделяемых дат
multipleDates: false,
// navigation
@@ -29,6 +29,7 @@ var Datepicker;
nextHtml: '»',
// events
+ // TODO сделать с множественными датами
onChange: ''
};
@@ -160,7 +161,10 @@ var Datepicker;
selectDate: function (date) {
if (this.opts.multipleDates) {
- // validate, push
+ if (!this._isSelected(date)) {
+ console.log('push');
+ this.selectedDates.push(date);
+ }
} else {
this.selectedDates = [date];
}
@@ -168,6 +172,12 @@ var Datepicker;
this.views[this.currentView]._render()
},
+ _isSelected: function (checkDate, cellType) {
+ return this.selectedDates.some(function (date) {
+ return Datepicker.isSame(date, checkDate, cellType)
+ })
+ },
+
get parsedDate() {
return Datepicker.getParsedDate(this.date);
},
@@ -446,7 +456,7 @@ Datepicker.Cell = function () {
if (this.d.isWeekend(d.day)) _class += " -weekend-";
if (d.month != this.d.parsedDate.month) _class += " -another-month-";
if (Datepicker.isSame(currentDate, date)) _class += ' -current-';
- if (this._isSelected(date, 'day')) _class += ' -selected-';
+ if (this.d._isSelected(date, 'day')) _class += ' -selected-';
return '
' + date.getDate() + '
';
},
@@ -534,23 +544,6 @@ Datepicker.Cell = function () {
this._renderTypes[this.type].bind(this)()
},
- _isSelected: function (cellDate, cellType) {
- var selectedDates = this.d.selectedDates,
- len = selectedDates.length,
- result;
-
- if (!len) return false;
-
- for (var i = 0; i < len; i++) {
- if (Datepicker.isSame(selectedDates[i], cellDate, cellType)) {
- result = true;
- break;
- }
- }
-
- return result;
- },
-
show: function () {
this.$el.addClass('active');
this.acitve = true;
diff --git a/js/datepicker/body.js b/js/datepicker/body.js
index ffcd865..e21857e 100644
--- a/js/datepicker/body.js
+++ b/js/datepicker/body.js
@@ -92,7 +92,7 @@
if (this.d.isWeekend(d.day)) _class += " -weekend-";
if (d.month != this.d.parsedDate.month) _class += " -another-month-";
if (Datepicker.isSame(currentDate, date)) _class += ' -current-';
- if (this._isSelected(date, 'day')) _class += ' -selected-';
+ if (this.d._isSelected(date, 'day')) _class += ' -selected-';
return '' + date.getDate() + '
';
},
@@ -180,23 +180,6 @@
this._renderTypes[this.type].bind(this)()
},
- _isSelected: function (cellDate, cellType) {
- var selectedDates = this.d.selectedDates,
- len = selectedDates.length,
- result;
-
- if (!len) return false;
-
- for (var i = 0; i < len; i++) {
- if (Datepicker.isSame(selectedDates[i], cellDate, cellType)) {
- result = true;
- break;
- }
- }
-
- return result;
- },
-
show: function () {
this.$el.addClass('active');
this.acitve = true;
diff --git a/js/datepicker/datepicker.js b/js/datepicker/datepicker.js
index a7d8f49..a0537ab 100644
--- a/js/datepicker/datepicker.js
+++ b/js/datepicker/datepicker.js
@@ -21,7 +21,7 @@ var Datepicker;
minDate: '',
maxData: '',
- //TODO сделать множественные даты
+ //TODO возможно добавить огрнаичивать число выделяемых дат
multipleDates: false,
// navigation
@@ -29,6 +29,7 @@ var Datepicker;
nextHtml: '»',
// events
+ // TODO сделать с множественными датами
onChange: ''
};
@@ -160,7 +161,10 @@ var Datepicker;
selectDate: function (date) {
if (this.opts.multipleDates) {
- // validate, push
+ if (!this._isSelected(date)) {
+ console.log('push');
+ this.selectedDates.push(date);
+ }
} else {
this.selectedDates = [date];
}
@@ -168,6 +172,12 @@ var Datepicker;
this.views[this.currentView]._render()
},
+ _isSelected: function (checkDate, cellType) {
+ return this.selectedDates.some(function (date) {
+ return Datepicker.isSame(date, checkDate, cellType)
+ })
+ },
+
get parsedDate() {
return Datepicker.getParsedDate(this.date);
},