@syncfusion/ej2-calendars 20.2.46 → 20.2.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/ej2-calendars.umd.min.js +2 -2
- package/dist/ej2-calendars.umd.min.js.map +1 -1
- package/dist/es6/ej2-calendars.es2015.js +76 -7
- package/dist/es6/ej2-calendars.es2015.js.map +1 -1
- package/dist/es6/ej2-calendars.es5.js +76 -7
- package/dist/es6/ej2-calendars.es5.js.map +1 -1
- package/dist/global/ej2-calendars.min.js +2 -2
- package/dist/global/ej2-calendars.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +8 -8
- package/src/calendar/calendar.d.ts +3 -2
- package/src/calendar/calendar.js +33 -7
- package/src/datepicker/datepicker.js +11 -0
- package/src/daterangepicker/daterangepicker.js +11 -0
- package/src/datetimepicker/datetimepicker.js +11 -0
- package/src/timepicker/timepicker.js +10 -0
- package/styles/bootstrap-dark.css +190 -0
- package/styles/bootstrap.css +190 -0
- package/styles/bootstrap4.css +190 -0
- package/styles/bootstrap5-dark.css +190 -0
- package/styles/bootstrap5.css +190 -0
- package/styles/datepicker/_layout.scss +123 -0
- package/styles/datepicker/bootstrap-dark.css +79 -0
- package/styles/datepicker/bootstrap.css +79 -0
- package/styles/datepicker/bootstrap4.css +79 -0
- package/styles/datepicker/bootstrap5-dark.css +79 -0
- package/styles/datepicker/bootstrap5.css +79 -0
- package/styles/datepicker/fabric-dark.css +79 -0
- package/styles/datepicker/fabric.css +79 -0
- package/styles/datepicker/fluent-dark.css +79 -0
- package/styles/datepicker/fluent.css +79 -0
- package/styles/datepicker/highcontrast-light.css +79 -0
- package/styles/datepicker/highcontrast.css +79 -0
- package/styles/datepicker/material-dark.css +79 -0
- package/styles/datepicker/material.css +79 -0
- package/styles/datepicker/tailwind-dark.css +79 -0
- package/styles/datepicker/tailwind.css +79 -0
- package/styles/daterangepicker/_layout.scss +151 -0
- package/styles/daterangepicker/bootstrap-dark.css +111 -0
- package/styles/daterangepicker/bootstrap.css +111 -0
- package/styles/daterangepicker/bootstrap4.css +111 -0
- package/styles/daterangepicker/bootstrap5-dark.css +111 -0
- package/styles/daterangepicker/bootstrap5.css +111 -0
- package/styles/daterangepicker/fabric-dark.css +111 -0
- package/styles/daterangepicker/fabric.css +111 -0
- package/styles/daterangepicker/fluent-dark.css +111 -0
- package/styles/daterangepicker/fluent.css +111 -0
- package/styles/daterangepicker/highcontrast-light.css +111 -0
- package/styles/daterangepicker/highcontrast.css +111 -0
- package/styles/daterangepicker/material-dark.css +111 -0
- package/styles/daterangepicker/material.css +111 -0
- package/styles/daterangepicker/tailwind-dark.css +111 -0
- package/styles/daterangepicker/tailwind.css +111 -0
- package/styles/fabric-dark.css +190 -0
- package/styles/fabric.css +190 -0
- package/styles/fluent-dark.css +190 -0
- package/styles/fluent.css +190 -0
- package/styles/highcontrast-light.css +190 -0
- package/styles/highcontrast.css +190 -0
- package/styles/material-dark.css +190 -0
- package/styles/material.css +190 -0
- package/styles/tailwind-dark.css +190 -0
- package/styles/tailwind.css +190 -0
|
@@ -69,6 +69,7 @@ let CalendarBase = class CalendarBase extends Component {
|
|
|
69
69
|
this.isTodayClicked = false;
|
|
70
70
|
this.preventChange = false;
|
|
71
71
|
this.isAngular = false;
|
|
72
|
+
this.previousDates = false;
|
|
72
73
|
}
|
|
73
74
|
/**
|
|
74
75
|
* To Initialize the control rendering.
|
|
@@ -634,7 +635,7 @@ let CalendarBase = class CalendarBase extends Component {
|
|
|
634
635
|
const numCells = this.weekNumber ? 8 : 7;
|
|
635
636
|
let tdEles;
|
|
636
637
|
if (this.calendarMode === 'Gregorian') {
|
|
637
|
-
tdEles = this.renderDays(this.currentDate, value, null, null, isCustomDate);
|
|
638
|
+
tdEles = this.renderDays(this.currentDate, value, null, null, isCustomDate, e);
|
|
638
639
|
}
|
|
639
640
|
else {
|
|
640
641
|
tdEles = this.islamicModule.islamicRenderDays(this.currentDate, value);
|
|
@@ -647,7 +648,7 @@ let CalendarBase = class CalendarBase extends Component {
|
|
|
647
648
|
this.islamicModule.islamicRenderTemplate(tdEles, numCells, MONTH, e, value);
|
|
648
649
|
}
|
|
649
650
|
}
|
|
650
|
-
renderDays(currentDate, value, multiSelection, values, isTodayDate) {
|
|
651
|
+
renderDays(currentDate, value, multiSelection, values, isTodayDate, e) {
|
|
651
652
|
const tdEles = [];
|
|
652
653
|
const cellsCount = 42;
|
|
653
654
|
const todayDate = isTodayDate ? new Date(+currentDate) : this.getDate(new Date(), this.timezone);
|
|
@@ -738,6 +739,10 @@ let CalendarBase = class CalendarBase extends Component {
|
|
|
738
739
|
// if (args.isDisabled && +this.value === +args.date) {
|
|
739
740
|
// this.setProperties({ value: null }, true);
|
|
740
741
|
// }
|
|
742
|
+
let currentTarget;
|
|
743
|
+
if (!isNullOrUndefined(e) && e.type == 'click') {
|
|
744
|
+
currentTarget = e.currentTarget;
|
|
745
|
+
}
|
|
741
746
|
if (multiSelection && !isNullOrUndefined(values) && !disabledCls) {
|
|
742
747
|
for (let tempValue = 0; tempValue < values.length; tempValue++) {
|
|
743
748
|
const type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';
|
|
@@ -748,6 +753,22 @@ let CalendarBase = class CalendarBase extends Component {
|
|
|
748
753
|
|| (this.getDateVal(localDate, value))) {
|
|
749
754
|
addClass([tdEle], SELECTED);
|
|
750
755
|
}
|
|
756
|
+
if (!isNullOrUndefined(currentTarget) && currentTarget.innerText === tdEle.innerText && this.previousDates && currentTarget.classList.contains(SELECTED)) {
|
|
757
|
+
removeClass([tdEle], SELECTED);
|
|
758
|
+
this.previousDates = false;
|
|
759
|
+
const copyValues = this.copyValues(values);
|
|
760
|
+
for (let i = 0; i < copyValues.length; i++) {
|
|
761
|
+
const type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';
|
|
762
|
+
const formatOptions = { format: null, type: 'date', skeleton: 'short', calendar: type };
|
|
763
|
+
const localDateString = this.globalize.formatDate(date, formatOptions);
|
|
764
|
+
const tempDateString = this.globalize.formatDate(copyValues[i], formatOptions);
|
|
765
|
+
if (localDateString === tempDateString) {
|
|
766
|
+
const index = copyValues.indexOf(copyValues[i]);
|
|
767
|
+
copyValues.splice(index, 1);
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
this.setProperties({ values: copyValues }, true);
|
|
771
|
+
}
|
|
751
772
|
else {
|
|
752
773
|
this.updateFocus(otherMnthBool, disabledCls, localDate, tdEle, currentDate);
|
|
753
774
|
}
|
|
@@ -2186,8 +2207,8 @@ let Calendar = class Calendar extends CalendarBase {
|
|
|
2186
2207
|
renderMonths(e, value, isCustomDate) {
|
|
2187
2208
|
super.renderMonths(e, this.value, isCustomDate);
|
|
2188
2209
|
}
|
|
2189
|
-
renderDays(currentDate, value, isMultiSelect, values, isCustomDate) {
|
|
2190
|
-
const tempDays = super.renderDays(currentDate, this.value, this.isMultiSelection, this.values, isCustomDate);
|
|
2210
|
+
renderDays(currentDate, value, isMultiSelect, values, isCustomDate, e) {
|
|
2211
|
+
const tempDays = super.renderDays(currentDate, this.value, this.isMultiSelection, this.values, isCustomDate, e);
|
|
2191
2212
|
if (this.isMultiSelection) {
|
|
2192
2213
|
super.validateValues(this.isMultiSelection, this.values);
|
|
2193
2214
|
}
|
|
@@ -2225,9 +2246,14 @@ let Calendar = class Calendar extends CalendarBase {
|
|
|
2225
2246
|
if (eve.classList.contains(OTHERMONTH)) {
|
|
2226
2247
|
if (this.isMultiSelection) {
|
|
2227
2248
|
const copyValues = this.copyValues(this.values);
|
|
2228
|
-
copyValues.
|
|
2229
|
-
|
|
2230
|
-
|
|
2249
|
+
if (copyValues.toString().indexOf(this.getIdValue(e, null).toString()) === -1) {
|
|
2250
|
+
copyValues.push(this.getIdValue(e, null));
|
|
2251
|
+
this.setProperties({ values: copyValues }, true);
|
|
2252
|
+
this.setProperties({ value: this.values[this.values.length - 1] }, true);
|
|
2253
|
+
}
|
|
2254
|
+
else {
|
|
2255
|
+
this.previousDates = true;
|
|
2256
|
+
}
|
|
2231
2257
|
}
|
|
2232
2258
|
else {
|
|
2233
2259
|
this.setProperties({ value: this.getIdValue(e, null) }, true);
|
|
@@ -3117,6 +3143,10 @@ let DatePicker = class DatePicker extends Calendar {
|
|
|
3117
3143
|
render() {
|
|
3118
3144
|
this.initialize();
|
|
3119
3145
|
this.bindEvents();
|
|
3146
|
+
Input.calculateWidth(this.inputElement, this.inputWrapper.container);
|
|
3147
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
3148
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
|
|
3149
|
+
}
|
|
3120
3150
|
this.renderComplete();
|
|
3121
3151
|
this.setTimeZone(this.serverTimezoneOffset);
|
|
3122
3152
|
}
|
|
@@ -4833,11 +4863,18 @@ let DatePicker = class DatePicker extends Calendar {
|
|
|
4833
4863
|
break;
|
|
4834
4864
|
case 'width':
|
|
4835
4865
|
this.setWidth(newProp.width);
|
|
4866
|
+
Input.calculateWidth(this.inputElement, this.inputWrapper.container);
|
|
4867
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
4868
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
|
|
4869
|
+
}
|
|
4836
4870
|
break;
|
|
4837
4871
|
case 'floatLabelType':
|
|
4838
4872
|
this.floatLabelType = newProp.floatLabelType;
|
|
4839
4873
|
Input.removeFloating(this.inputWrapper);
|
|
4840
4874
|
Input.addFloating(this.inputElement, this.floatLabelType, this.placeholder);
|
|
4875
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
4876
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
|
|
4877
|
+
}
|
|
4841
4878
|
break;
|
|
4842
4879
|
case 'enableMask':
|
|
4843
4880
|
if (this.enableMask) {
|
|
@@ -5095,6 +5132,10 @@ let DateRangePicker = class DateRangePicker extends CalendarBase {
|
|
|
5095
5132
|
if (this.element.hasAttribute('data-val')) {
|
|
5096
5133
|
this.element.setAttribute('data-val', 'false');
|
|
5097
5134
|
}
|
|
5135
|
+
Input.calculateWidth(this.inputElement, this.inputWrapper.container);
|
|
5136
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
5137
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
|
|
5138
|
+
}
|
|
5098
5139
|
this.renderComplete();
|
|
5099
5140
|
}
|
|
5100
5141
|
/**
|
|
@@ -9008,6 +9049,10 @@ let DateRangePicker = class DateRangePicker extends CalendarBase {
|
|
|
9008
9049
|
switch (prop) {
|
|
9009
9050
|
case 'width':
|
|
9010
9051
|
this.setEleWidth(this.width);
|
|
9052
|
+
Input.calculateWidth(this.inputElement, this.inputWrapper.container);
|
|
9053
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
9054
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
|
|
9055
|
+
}
|
|
9011
9056
|
break;
|
|
9012
9057
|
case 'separator':
|
|
9013
9058
|
this.previousEleValue = this.inputElement.value;
|
|
@@ -9199,6 +9244,9 @@ let DateRangePicker = class DateRangePicker extends CalendarBase {
|
|
|
9199
9244
|
this.floatLabelType = newProp.floatLabelType;
|
|
9200
9245
|
Input.removeFloating(this.inputWrapper);
|
|
9201
9246
|
Input.addFloating(this.inputElement, this.floatLabelType, this.placeholder);
|
|
9247
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
9248
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
|
|
9249
|
+
}
|
|
9202
9250
|
break;
|
|
9203
9251
|
case 'start':
|
|
9204
9252
|
this.setProperties({ start: newProp.start }, true);
|
|
@@ -9513,6 +9561,9 @@ let TimePicker = class TimePicker extends Component {
|
|
|
9513
9561
|
this.anchor = this.inputElement;
|
|
9514
9562
|
this.inputElement.setAttribute('value', this.inputElement.value);
|
|
9515
9563
|
this.inputEleValue = this.getDateObject(this.inputElement.value);
|
|
9564
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
9565
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
|
|
9566
|
+
}
|
|
9516
9567
|
this.renderComplete();
|
|
9517
9568
|
}
|
|
9518
9569
|
setTimeAllowEdit() {
|
|
@@ -11616,6 +11667,10 @@ let TimePicker = class TimePicker extends Component {
|
|
|
11616
11667
|
case 'width':
|
|
11617
11668
|
setStyleAttribute(this.inputWrapper.container, { 'width': this.setWidth(newProp.width) });
|
|
11618
11669
|
this.containerStyle = this.inputWrapper.container.getBoundingClientRect();
|
|
11670
|
+
Input.calculateWidth(this.inputElement, this.inputWrapper.container);
|
|
11671
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
11672
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
|
|
11673
|
+
}
|
|
11619
11674
|
break;
|
|
11620
11675
|
case 'format':
|
|
11621
11676
|
this.setProperties({ format: newProp.format }, true);
|
|
@@ -11666,6 +11721,9 @@ let TimePicker = class TimePicker extends Component {
|
|
|
11666
11721
|
this.floatLabelType = newProp.floatLabelType;
|
|
11667
11722
|
Input.removeFloating(this.inputWrapper);
|
|
11668
11723
|
Input.addFloating(this.inputElement, this.floatLabelType, this.placeholder);
|
|
11724
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
11725
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
|
|
11726
|
+
}
|
|
11669
11727
|
break;
|
|
11670
11728
|
case 'strictMode':
|
|
11671
11729
|
this.invalidValueString = null;
|
|
@@ -12012,6 +12070,10 @@ let DateTimePicker = class DateTimePicker extends DatePicker {
|
|
|
12012
12070
|
this.inputElement.tabIndex = -1;
|
|
12013
12071
|
}
|
|
12014
12072
|
}
|
|
12073
|
+
Input.calculateWidth(this.inputElement, this.inputWrapper.container);
|
|
12074
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
12075
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');
|
|
12076
|
+
}
|
|
12015
12077
|
this.renderComplete();
|
|
12016
12078
|
}
|
|
12017
12079
|
setValue() {
|
|
@@ -13197,6 +13259,10 @@ let DateTimePicker = class DateTimePicker extends DatePicker {
|
|
|
13197
13259
|
break;
|
|
13198
13260
|
case 'width':
|
|
13199
13261
|
this.setWidth(newProp.width);
|
|
13262
|
+
Input.calculateWidth(this.inputElement, this.inputWrapper.container);
|
|
13263
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
13264
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');
|
|
13265
|
+
}
|
|
13200
13266
|
break;
|
|
13201
13267
|
case 'readonly':
|
|
13202
13268
|
Input.setReadonly(this.readonly, this.inputElement);
|
|
@@ -13205,6 +13271,9 @@ let DateTimePicker = class DateTimePicker extends DatePicker {
|
|
|
13205
13271
|
this.floatLabelType = newProp.floatLabelType;
|
|
13206
13272
|
Input.removeFloating(this.inputWrapper);
|
|
13207
13273
|
Input.addFloating(this.inputElement, this.floatLabelType, this.placeholder);
|
|
13274
|
+
if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
|
|
13275
|
+
this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');
|
|
13276
|
+
}
|
|
13208
13277
|
break;
|
|
13209
13278
|
case 'scrollTo':
|
|
13210
13279
|
if (this.checkDateValue(new Date(this.checkValue(newProp.scrollTo)))) {
|