@syncfusion/ej2-calendars 20.1.58 → 20.2.40
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 +0 -14
- 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 +88 -34
- package/dist/es6/ej2-calendars.es2015.js.map +1 -1
- package/dist/es6/ej2-calendars.es5.js +86 -32
- 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/helpers/e2e/calendarHelper.js +86 -70
- package/helpers/e2e/datepickerHelper.js +95 -79
- package/helpers/e2e/daterangepickerHelper.js +128 -112
- package/helpers/e2e/datetimepickerHelper.js +125 -109
- package/helpers/e2e/index.js +12 -10
- package/helpers/e2e/timepickerHelper.js +62 -46
- package/package.json +10 -10
- package/src/calendar/calendar.d.ts +3 -0
- package/src/calendar/calendar.js +1 -0
- package/src/calendar/islamic.js +84 -31
- package/src/maskbase/masked-date-time.js +1 -1
- package/styles/calendar/_fusionnew-definition.scss +224 -0
- package/styles/calendar/_material3-definition.scss +224 -0
- package/styles/calendar/fluent-dark.css +9 -9
- package/styles/calendar/icons/_fusionnew.scss +12 -0
- package/styles/calendar/icons/_material3.scss +12 -0
- package/styles/datepicker/_fusionnew-definition.scss +42 -0
- package/styles/datepicker/_material3-definition.scss +42 -0
- package/styles/datepicker/fluent-dark.css +1 -1
- package/styles/datepicker/icons/_fusionnew.scss +55 -0
- package/styles/datepicker/icons/_material3.scss +55 -0
- package/styles/daterangepicker/_fusionnew-definition.scss +223 -0
- package/styles/daterangepicker/_material3-definition.scss +223 -0
- package/styles/daterangepicker/fluent-dark.css +8 -8
- package/styles/daterangepicker/icons/_fusionnew.scss +67 -0
- package/styles/daterangepicker/icons/_material3.scss +67 -0
- package/styles/datetimepicker/_fusionnew-definition.scss +55 -0
- package/styles/datetimepicker/_material3-definition.scss +55 -0
- package/styles/datetimepicker/icons/_fusionnew.scss +11 -0
- package/styles/datetimepicker/icons/_material3.scss +11 -0
- package/styles/fluent-dark.css +18 -18
- package/styles/timepicker/_fusionnew-definition.scss +52 -0
- package/styles/timepicker/_material3-definition.scss +52 -0
- package/styles/timepicker/icons/_fusionnew.scss +13 -0
- package/styles/timepicker/icons/_material3.scss +13 -0
|
@@ -1077,6 +1077,7 @@ let CalendarBase = class CalendarBase extends Component {
|
|
|
1077
1077
|
this.currentDate.setFullYear(d.getFullYear());
|
|
1078
1078
|
}
|
|
1079
1079
|
else {
|
|
1080
|
+
this.islamicPreviousHeader = this.headerElement.textContent;
|
|
1080
1081
|
const islamicDate = this.islamicModule.getIslamicDate(d);
|
|
1081
1082
|
this.currentDate = this.islamicModule.toGregorian(islamicDate.year, islamicDate.month, 1);
|
|
1082
1083
|
}
|
|
@@ -2722,6 +2723,8 @@ class Islamic {
|
|
|
2722
2723
|
this.calendarInstance.switchView(view);
|
|
2723
2724
|
break;
|
|
2724
2725
|
case 'Decade':
|
|
2726
|
+
this.calendarInstance.nextIconClicked = true;
|
|
2727
|
+
islamicDate.year = islamicDate.year - this.calendarInstance.headerElement.textContent.split('-')[0].trim() === 1 ? islamicDate.year + 1 : islamicDate.year;
|
|
2725
2728
|
this.calendarInstance.currentDate = this.toGregorian(islamicDate.year + 10, islamicDate.month, 1);
|
|
2726
2729
|
this.calendarInstance.switchView(view);
|
|
2727
2730
|
break;
|
|
@@ -2741,6 +2744,7 @@ class Islamic {
|
|
|
2741
2744
|
this.calendarInstance.switchView(currentView);
|
|
2742
2745
|
break;
|
|
2743
2746
|
case 'Decade':
|
|
2747
|
+
this.calendarInstance.previousIconClicked = true;
|
|
2744
2748
|
this.calendarInstance.currentDate = this.toGregorian(islamicDate.year - 10, islamicDate.month - 1, 1);
|
|
2745
2749
|
this.calendarInstance.switchView(currentView);
|
|
2746
2750
|
break;
|
|
@@ -2800,53 +2804,103 @@ class Islamic {
|
|
|
2800
2804
|
const yearCell = 12;
|
|
2801
2805
|
const tdEles = [];
|
|
2802
2806
|
let localDate = new Date(this.islamicInValue(this.calendarInstance.currentDate));
|
|
2803
|
-
|
|
2807
|
+
let islamicDate = this.getIslamicDate(localDate);
|
|
2804
2808
|
const gregorianObject = HijriParser.toGregorian(islamicDate.year, 1, 1);
|
|
2805
2809
|
localDate = gregorianObject;
|
|
2806
2810
|
const localYr = localDate.getFullYear();
|
|
2807
2811
|
const startYr = new Date(this.islamicInValue((localYr - localYr % 10)));
|
|
2808
2812
|
const endYr = new Date(this.islamicInValue((localYr - localYr % 10 + (10 - 1))));
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
+
let startFullYr = startYr.getFullYear();
|
|
2814
|
+
let endFullYr = endYr.getFullYear();
|
|
2815
|
+
let startHdrYr = this.calendarInstance.globalize.formatDate(startYr, { type: 'dateTime', format: 'y', calendar: 'islamic' });
|
|
2816
|
+
let endHdrYr = this.calendarInstance.globalize.formatDate(endYr, { type: 'dateTime', format: 'y', calendar: 'islamic' });
|
|
2817
|
+
if (this.calendarInstance.islamicPreviousHeader) {
|
|
2818
|
+
startHdrYr = this.calendarInstance.islamicPreviousHeader.split('-')[0].trim();
|
|
2819
|
+
endHdrYr = this.calendarInstance.islamicPreviousHeader.split('-')[1].trim();
|
|
2820
|
+
this.calendarInstance.islamicPreviousHeader = null;
|
|
2821
|
+
}
|
|
2822
|
+
let splityear = this.calendarInstance.headerElement.textContent.split('-');
|
|
2823
|
+
if (this.calendarInstance.previousIconClicked) {
|
|
2824
|
+
for (var i = 0; i <= splityear.length; i++) {
|
|
2825
|
+
endHdrYr = endHdrYr - splityear[i] === 2 || splityear[i] - endHdrYr === 2 ? (parseInt(endHdrYr) + 1).toString() : endHdrYr - splityear[i] === 3 || splityear[i] - endHdrYr === 3 ? (parseInt(endHdrYr) + 2).toString() : endHdrYr - splityear[i] === 4 || splityear[i] - endHdrYr === 4 ? (parseInt(endHdrYr) + 3).toString() : endHdrYr - splityear[i] === 5 || splityear[i] - endHdrYr === 5 ? (parseInt(endHdrYr) + 4).toString() : endHdrYr;
|
|
2826
|
+
if (endHdrYr - splityear[i] === 0 || splityear[i] - endHdrYr === 0) {
|
|
2827
|
+
endHdrYr = (parseInt(endHdrYr) - 1).toString();
|
|
2828
|
+
}
|
|
2829
|
+
}
|
|
2830
|
+
startHdrYr = endHdrYr - startHdrYr === 10
|
|
2831
|
+
? (parseInt(startHdrYr) + 1).toString() : endHdrYr - startHdrYr === 11
|
|
2832
|
+
? (parseInt(startHdrYr) + 2).toString() : endHdrYr - startHdrYr === 12
|
|
2833
|
+
? (parseInt(startHdrYr) + 3).toString() : startHdrYr;
|
|
2834
|
+
startHdrYr = endHdrYr - startHdrYr === 8 ? (parseInt(startHdrYr) - 1).toString() : startHdrYr;
|
|
2835
|
+
}
|
|
2836
|
+
if (this.calendarInstance.nextIconClicked) {
|
|
2837
|
+
for (var i = 0; i <= splityear.length; i++) {
|
|
2838
|
+
if (startHdrYr - splityear[i] === 0 || splityear[i] - startHdrYr === 0) {
|
|
2839
|
+
startHdrYr = (parseInt(startHdrYr) + 1).toString();
|
|
2840
|
+
}
|
|
2841
|
+
if (startHdrYr - splityear[i] === 2 && startHdrYr > splityear[i].trim()) {
|
|
2842
|
+
startHdrYr = (parseInt(startHdrYr) - 1).toString();
|
|
2843
|
+
}
|
|
2844
|
+
if (splityear[i] - startHdrYr === 1 && startHdrYr < splityear[i].trim()) {
|
|
2845
|
+
startHdrYr = (parseInt(startHdrYr) + 2).toString();
|
|
2846
|
+
}
|
|
2847
|
+
}
|
|
2848
|
+
endHdrYr = endHdrYr - startHdrYr === 10 ? (parseInt(endHdrYr) - 1).toString() : endHdrYr;
|
|
2849
|
+
endHdrYr = endHdrYr - startHdrYr === 7
|
|
2850
|
+
? (parseInt(endHdrYr) + 2).toString() : endHdrYr - startHdrYr === 8
|
|
2851
|
+
? (parseInt(endHdrYr) + 1).toString() : endHdrYr;
|
|
2852
|
+
}
|
|
2813
2853
|
this.calendarInstance.headerTitleElement.textContent = startHdrYr + ' - ' + (endHdrYr);
|
|
2814
|
-
|
|
2815
|
-
const
|
|
2854
|
+
this.calendarInstance.nextIconClicked = this.calendarInstance.previousIconClicked = false;
|
|
2855
|
+
const year = (parseInt(startHdrYr) - 2).toString();
|
|
2856
|
+
startFullYr = Math.round(parseInt(startHdrYr) * 0.97 + 622);
|
|
2857
|
+
endFullYr = Math.round(parseInt(endHdrYr) * 0.97 + 622);
|
|
2858
|
+
let startYear = Math.round(parseInt(year) * 0.97 + 622);
|
|
2816
2859
|
for (let rowCount = 1; rowCount <= yearCell; ++rowCount) {
|
|
2817
2860
|
const year = startYear + rowCount;
|
|
2818
2861
|
localDate.setFullYear(year);
|
|
2819
2862
|
localDate.setDate(1);
|
|
2820
2863
|
localDate.setMonth(0);
|
|
2821
|
-
|
|
2864
|
+
if ((this.getIslamicDate(localDate).year - islamicDate.year) > 1) {
|
|
2865
|
+
localDate.setMonth(1);
|
|
2866
|
+
rowCount = rowCount - 1;
|
|
2867
|
+
localDate.setFullYear(localDate.getFullYear() - 1);
|
|
2868
|
+
}
|
|
2869
|
+
islamicDate = this.getIslamicDate(localDate);
|
|
2822
2870
|
const gregorianObject = HijriParser.toGregorian(islamicDate.year, 1, 1);
|
|
2823
2871
|
localDate = gregorianObject;
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
(this.
|
|
2837
|
-
(this.
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2872
|
+
if (islamicDate.year === parseInt(startHdrYr) - 1 || islamicDate.year >= startHdrYr && islamicDate.year <= endFullYr || islamicDate.year === parseInt(endHdrYr) + 1) {
|
|
2873
|
+
const tdEle = this.islamicDayCell(localDate);
|
|
2874
|
+
attributes(tdEle, { 'role': 'gridcell' });
|
|
2875
|
+
const dayLink = this.calendarInstance.createElement('span');
|
|
2876
|
+
dayLink.textContent = this.calendarInstance.globalize.formatDate(localDate, { type: 'dateTime', format: 'y', calendar: 'islamic' });
|
|
2877
|
+
if (islamicDate.year === parseInt(startHdrYr) - 1 || (year < startFullYr) || (year > endFullYr) && islamicDate.year !== parseInt(endHdrYr)) {
|
|
2878
|
+
addClass([tdEle], OTHERMONTH$1);
|
|
2879
|
+
if (year < new Date(this.islamicInValue(this.calendarInstance.min)).getFullYear()
|
|
2880
|
+
|| year > new Date(this.islamicInValue(this.calendarInstance.max)).getFullYear()) {
|
|
2881
|
+
addClass([tdEle], DISABLED$1);
|
|
2882
|
+
}
|
|
2883
|
+
}
|
|
2884
|
+
else if (year < new Date(this.islamicInValue(this.calendarInstance.min)).getFullYear()
|
|
2885
|
+
|| year > new Date(this.islamicInValue(this.calendarInstance.max)).getFullYear()) {
|
|
2886
|
+
addClass([tdEle], DISABLED$1);
|
|
2887
|
+
}
|
|
2888
|
+
else if (!isNullOrUndefined(value) &&
|
|
2889
|
+
(this.getIslamicDate(localDate)).year ===
|
|
2890
|
+
(this.getIslamicDate(value)).year) {
|
|
2891
|
+
addClass([tdEle], SELECTED$1);
|
|
2843
2892
|
}
|
|
2893
|
+
else {
|
|
2894
|
+
if (localDate.getFullYear() === this.calendarInstance.currentDate.getFullYear() && !tdEle.classList.contains(DISABLED$1)) {
|
|
2895
|
+
addClass([tdEle], FOCUSEDDATE$1);
|
|
2896
|
+
}
|
|
2897
|
+
}
|
|
2898
|
+
if (!tdEle.classList.contains(DISABLED$1)) {
|
|
2899
|
+
EventHandler.add(tdEle, 'click', this.calendarInstance.clickHandler, this.calendarInstance);
|
|
2900
|
+
}
|
|
2901
|
+
tdEle.appendChild(dayLink);
|
|
2902
|
+
tdEles.push(tdEle);
|
|
2844
2903
|
}
|
|
2845
|
-
if (!tdEle.classList.contains(DISABLED$1)) {
|
|
2846
|
-
EventHandler.add(tdEle, 'click', this.calendarInstance.clickHandler, this.calendarInstance);
|
|
2847
|
-
}
|
|
2848
|
-
tdEle.appendChild(dayLink);
|
|
2849
|
-
tdEles.push(tdEle);
|
|
2850
2904
|
}
|
|
2851
2905
|
this.islamicRenderTemplate(tdEles, numCells, 'e-decade', e, value);
|
|
2852
2906
|
}
|
|
@@ -2873,7 +2927,7 @@ class Islamic {
|
|
|
2873
2927
|
const otherMonthCell = 6;
|
|
2874
2928
|
let row = count;
|
|
2875
2929
|
let rowCount = 0;
|
|
2876
|
-
for (let dayCell = 0; dayCell < elements.length / count; ++dayCell) {
|
|
2930
|
+
for (let dayCell = 0; dayCell < Math.round(elements.length / count); ++dayCell) {
|
|
2877
2931
|
trEle = this.calendarInstance.createElement('tr', { attrs: { 'role': 'row' } });
|
|
2878
2932
|
for (rowCount = 0 + rowCount; rowCount < row; rowCount++) {
|
|
2879
2933
|
if (!elements[rowCount].classList.contains('e-week-number') && !isNullOrUndefined(elements[rowCount].children[0])) {
|
|
@@ -13527,9 +13581,9 @@ class MaskedDateTime {
|
|
|
13527
13581
|
switch (this.previousHiddenMask[start - 1]) {
|
|
13528
13582
|
case 'd':
|
|
13529
13583
|
let date = (this.isDayPart && newDateValue.getDate().toString().length < 2 && !this.isPersist() ? newDateValue.getDate() * 10 : 0) + parseInt(newVal[start - 1], 10);
|
|
13584
|
+
this.isDateZero = (newVal[start - 1] == '0');
|
|
13530
13585
|
this.parent.isFocused = this.parent.isFocused ? false : this.parent.isFocused;
|
|
13531
13586
|
this.navigated = this.navigated ? false : this.navigated;
|
|
13532
|
-
this.isDateZero = (newVal[start - 1] == '0');
|
|
13533
13587
|
if (isNaN(date)) {
|
|
13534
13588
|
return;
|
|
13535
13589
|
}
|