@syncfusion/ej2-schedule 24.2.8 → 25.1.35
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 +8 -0
- package/dist/ej2-schedule.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +54 -8
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +55 -8
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +2 -2
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +16 -16
- package/src/schedule/actions/crud.js +6 -0
- package/src/schedule/actions/keyboard.d.ts +1 -0
- package/src/schedule/actions/keyboard.js +11 -4
- package/src/schedule/base/interface.d.ts +1 -0
- package/src/schedule/base/schedule.d.ts +4 -1
- package/src/schedule/base/schedule.js +16 -1
- package/src/schedule/popups/quick-popups.js +11 -0
- package/src/schedule/renderer/renderer.js +11 -3
- package/styles/bootstrap-dark.css +9 -2
- package/styles/bootstrap.css +9 -2
- package/styles/bootstrap4.css +6 -3
- package/styles/bootstrap5-dark.css +6 -3
- package/styles/bootstrap5.css +6 -3
- package/styles/fabric-dark.css +5 -2
- package/styles/fabric.css +5 -2
- package/styles/fluent-dark.css +10 -2
- package/styles/fluent.css +10 -2
- package/styles/highcontrast-light.css +5 -2
- package/styles/highcontrast.css +5 -2
- package/styles/material-dark.css +5 -2
- package/styles/material.css +5 -2
- package/styles/material3-dark.css +6 -3
- package/styles/material3.css +6 -3
- package/styles/recurrence-editor/_bds-definition.scss +15 -0
- package/styles/schedule/_bds-definition.scss +287 -0
- package/styles/schedule/_bootstrap4-definition.scss +1 -1
- package/styles/schedule/_bootstrap5-definition.scss +1 -1
- package/styles/schedule/_fusionnew-definition.scss +1 -1
- package/styles/schedule/_layout.scss +2 -1
- package/styles/schedule/_material3-definition.scss +1 -1
- package/styles/schedule/_tailwind-definition.scss +1 -1
- package/styles/schedule/bootstrap-dark.css +9 -2
- package/styles/schedule/bootstrap.css +9 -2
- package/styles/schedule/bootstrap4.css +6 -3
- package/styles/schedule/bootstrap5-dark.css +6 -3
- package/styles/schedule/bootstrap5.css +6 -3
- package/styles/schedule/fabric-dark.css +5 -2
- package/styles/schedule/fabric.css +5 -2
- package/styles/schedule/fluent-dark.css +10 -2
- package/styles/schedule/fluent.css +10 -2
- package/styles/schedule/highcontrast-light.css +5 -2
- package/styles/schedule/highcontrast.css +5 -2
- package/styles/schedule/icons/_bds.scss +235 -0
- package/styles/schedule/material-dark.css +5 -2
- package/styles/schedule/material.css +5 -2
- package/styles/schedule/material3-dark.css +6 -3
- package/styles/schedule/material3.css +6 -3
- package/styles/schedule/tailwind-dark.css +6 -3
- package/styles/schedule/tailwind.css +6 -3
- package/styles/tailwind-dark.css +6 -3
- package/styles/tailwind.css +6 -3
|
@@ -2566,6 +2566,13 @@ class KeyboardInteraction {
|
|
|
2566
2566
|
}
|
|
2567
2567
|
}
|
|
2568
2568
|
}
|
|
2569
|
+
isCalendarTarget(e) {
|
|
2570
|
+
const keyTarget = e.currentTarget || e.target;
|
|
2571
|
+
if (keyTarget && !isNullOrUndefined(keyTarget.querySelector('.e-header-popup.e-popup-open'))) {
|
|
2572
|
+
return true;
|
|
2573
|
+
}
|
|
2574
|
+
return false;
|
|
2575
|
+
}
|
|
2569
2576
|
cancelUpDownAction(isTimelineYear) {
|
|
2570
2577
|
const isVerticalYear = isTimelineYear && this.parent.activeViewOptions.orientation === 'Vertical';
|
|
2571
2578
|
const isGroup = this.parent.activeViewOptions.group.resources.length > 0;
|
|
@@ -2579,7 +2586,7 @@ class KeyboardInteraction {
|
|
|
2579
2586
|
}
|
|
2580
2587
|
processUp(e, isMultiple) {
|
|
2581
2588
|
const isTimelineYear = this.parent.currentView === 'TimelineYear';
|
|
2582
|
-
if (isMultiple && this.cancelUpDownAction(isTimelineYear)) {
|
|
2589
|
+
if (isMultiple && this.cancelUpDownAction(isTimelineYear) || (this.isCalendarTarget(e))) {
|
|
2583
2590
|
return;
|
|
2584
2591
|
}
|
|
2585
2592
|
let target = (e.target);
|
|
@@ -2627,7 +2634,7 @@ class KeyboardInteraction {
|
|
|
2627
2634
|
}
|
|
2628
2635
|
processDown(e, isMultiple) {
|
|
2629
2636
|
const isTimelineYear = this.parent.currentView === 'TimelineYear';
|
|
2630
|
-
if (isMultiple && this.cancelUpDownAction(isTimelineYear)) {
|
|
2637
|
+
if (isMultiple && this.cancelUpDownAction(isTimelineYear) || (this.isCalendarTarget(e))) {
|
|
2631
2638
|
return;
|
|
2632
2639
|
}
|
|
2633
2640
|
let target = (e.target);
|
|
@@ -2737,7 +2744,7 @@ class KeyboardInteraction {
|
|
|
2737
2744
|
}
|
|
2738
2745
|
processRight(e, isMultiple) {
|
|
2739
2746
|
const isTimelineYear = this.parent.currentView === 'TimelineYear';
|
|
2740
|
-
if (this.isCancelLeftRightAction(e, isMultiple, isTimelineYear)) {
|
|
2747
|
+
if (this.isCancelLeftRightAction(e, isMultiple, isTimelineYear) || (this.isCalendarTarget(e))) {
|
|
2741
2748
|
return;
|
|
2742
2749
|
}
|
|
2743
2750
|
const selectedCells = this.parent.getSelectedCells();
|
|
@@ -2808,7 +2815,7 @@ class KeyboardInteraction {
|
|
|
2808
2815
|
}
|
|
2809
2816
|
processLeft(e, isMultiple) {
|
|
2810
2817
|
const isTimelineYear = this.parent.currentView === 'TimelineYear';
|
|
2811
|
-
if (this.isCancelLeftRightAction(e, isMultiple, isTimelineYear)) {
|
|
2818
|
+
if (this.isCancelLeftRightAction(e, isMultiple, isTimelineYear) || (this.isCalendarTarget(e))) {
|
|
2812
2819
|
return;
|
|
2813
2820
|
}
|
|
2814
2821
|
let target = (e.target);
|
|
@@ -10426,6 +10433,17 @@ class QuickPopups {
|
|
|
10426
10433
|
instance.destroy();
|
|
10427
10434
|
}
|
|
10428
10435
|
}
|
|
10436
|
+
if (popupName === 'quickPopup') {
|
|
10437
|
+
const input = popup.element.querySelector('input.' + SUBJECT_CLASS);
|
|
10438
|
+
if (input) {
|
|
10439
|
+
input.remove();
|
|
10440
|
+
}
|
|
10441
|
+
const form = this.quickPopup.element.querySelector('form.' + FORM_CLASS);
|
|
10442
|
+
if (form) {
|
|
10443
|
+
removeChildren(form);
|
|
10444
|
+
form.remove();
|
|
10445
|
+
}
|
|
10446
|
+
}
|
|
10429
10447
|
}
|
|
10430
10448
|
refreshQuickDialog() {
|
|
10431
10449
|
this.destroyQuickDialog();
|
|
@@ -14163,15 +14181,21 @@ class Render {
|
|
|
14163
14181
|
break;
|
|
14164
14182
|
case 'TimelineDay':
|
|
14165
14183
|
this.parent.activeView = this.parent.timelineViewsModule;
|
|
14166
|
-
this.parent.activeView
|
|
14184
|
+
if (!isNullOrUndefined(this.parent.activeView)) {
|
|
14185
|
+
this.parent.activeView.viewClass = 'e-timeline-day-view';
|
|
14186
|
+
}
|
|
14167
14187
|
break;
|
|
14168
14188
|
case 'TimelineWorkWeek':
|
|
14169
14189
|
this.parent.activeView = this.parent.timelineViewsModule;
|
|
14170
|
-
this.parent.activeView
|
|
14190
|
+
if (!isNullOrUndefined(this.parent.activeView)) {
|
|
14191
|
+
this.parent.activeView.viewClass = 'e-timeline-work-week-view';
|
|
14192
|
+
}
|
|
14171
14193
|
break;
|
|
14172
14194
|
case 'TimelineWeek':
|
|
14173
14195
|
this.parent.activeView = this.parent.timelineViewsModule;
|
|
14174
|
-
this.parent.activeView
|
|
14196
|
+
if (!isNullOrUndefined(this.parent.activeView)) {
|
|
14197
|
+
this.parent.activeView.viewClass = 'e-timeline-week-view';
|
|
14198
|
+
}
|
|
14175
14199
|
break;
|
|
14176
14200
|
case 'TimelineMonth':
|
|
14177
14201
|
this.parent.activeView = this.parent.timelineMonthModule;
|
|
@@ -14188,6 +14212,8 @@ class Render {
|
|
|
14188
14212
|
this.parent.headerModule.updateActiveView();
|
|
14189
14213
|
this.parent.headerModule.setCalendarView();
|
|
14190
14214
|
}
|
|
14215
|
+
console.warn('[WARNING] :: Module "' + viewName + '" is not available in Schedule component!' +
|
|
14216
|
+
' You either misspelled the module name or forgot to load it.');
|
|
14191
14217
|
return this.initializeLayout(firstView);
|
|
14192
14218
|
}
|
|
14193
14219
|
throw Error('Inject required modules');
|
|
@@ -14365,6 +14391,12 @@ class Crud {
|
|
|
14365
14391
|
if (!this.parent.activeView) {
|
|
14366
14392
|
return;
|
|
14367
14393
|
}
|
|
14394
|
+
if (this.parent.uiStateValues && this.parent.uiStateValues.isPreventEventRefresh) {
|
|
14395
|
+
this.parent.uiStateValues.isPreventEventRefresh = false;
|
|
14396
|
+
this.parent.refreshEvents(false);
|
|
14397
|
+
this.parent.hideSpinner();
|
|
14398
|
+
return;
|
|
14399
|
+
}
|
|
14368
14400
|
const start = this.parent.activeView.startDate();
|
|
14369
14401
|
const end = this.parent.activeView.endDate();
|
|
14370
14402
|
const dataManager = this.parent.dataModule.getData(this.parent.dataModule.generateQuery(start, end));
|
|
@@ -18428,9 +18460,13 @@ let Schedule = class Schedule extends Component {
|
|
|
18428
18460
|
*
|
|
18429
18461
|
* @function setResourceCollections
|
|
18430
18462
|
* @param {ResourcesModel[]} resourceCol Accepts the resource collections in ResourcesModel type
|
|
18463
|
+
* @param {boolean} isEventDataRefresh Accepts the boolean to refresh the appointment data source from remote or local
|
|
18431
18464
|
* @returns {void}
|
|
18432
18465
|
*/
|
|
18433
|
-
setResourceCollections(resourceCol) {
|
|
18466
|
+
setResourceCollections(resourceCol, isEventDataRefresh = true) {
|
|
18467
|
+
if (!isEventDataRefresh && this.uiStateValues) {
|
|
18468
|
+
this.uiStateValues.isPreventEventRefresh = true;
|
|
18469
|
+
}
|
|
18434
18470
|
this.setProperties({ resources: resourceCol }, false);
|
|
18435
18471
|
}
|
|
18436
18472
|
/**
|
|
@@ -18550,6 +18586,8 @@ let Schedule = class Schedule extends Component {
|
|
|
18550
18586
|
this.iCalendarExportModule.initializeCalendarExport(fileName, customData);
|
|
18551
18587
|
}
|
|
18552
18588
|
else {
|
|
18589
|
+
console.warn('[WARNING] :: Module "ICalendarExport" is not available in Schedule component!' +
|
|
18590
|
+
' You either misspelled the module name or forgot to load it.');
|
|
18553
18591
|
throw Error('Inject ICalendarExport module');
|
|
18554
18592
|
}
|
|
18555
18593
|
}
|
|
@@ -18566,6 +18604,8 @@ let Schedule = class Schedule extends Component {
|
|
|
18566
18604
|
this.iCalendarImportModule.initializeCalendarImport(fileContent);
|
|
18567
18605
|
}
|
|
18568
18606
|
else {
|
|
18607
|
+
console.warn('[WARNING] :: Module "ICalendarImport" is not available in Schedule component!' +
|
|
18608
|
+
' You either misspelled the module name or forgot to load it.');
|
|
18569
18609
|
throw Error('Inject ICalendarImport module');
|
|
18570
18610
|
}
|
|
18571
18611
|
}
|
|
@@ -18611,6 +18651,8 @@ let Schedule = class Schedule extends Component {
|
|
|
18611
18651
|
this.excelExportModule.initializeExcelExport(excelExportOptions);
|
|
18612
18652
|
}
|
|
18613
18653
|
else {
|
|
18654
|
+
console.warn('[WARNING] :: Module "ExcelExport" is not available in Schedule component!' +
|
|
18655
|
+
' You either misspelled the module name or forgot to load it.');
|
|
18614
18656
|
throw Error('Inject ExcelExport module');
|
|
18615
18657
|
}
|
|
18616
18658
|
}
|
|
@@ -18627,6 +18669,8 @@ let Schedule = class Schedule extends Component {
|
|
|
18627
18669
|
this.printModule.print(printOptions);
|
|
18628
18670
|
}
|
|
18629
18671
|
else {
|
|
18672
|
+
console.warn('[WARNING] :: Module "Print" is not available in Schedule component!' +
|
|
18673
|
+
' You either misspelled the module name or forgot to load it.');
|
|
18630
18674
|
throw Error('Inject Print module');
|
|
18631
18675
|
}
|
|
18632
18676
|
}
|
|
@@ -18909,6 +18953,8 @@ let Schedule = class Schedule extends Component {
|
|
|
18909
18953
|
}
|
|
18910
18954
|
/**
|
|
18911
18955
|
* To check whether the given time range slots are available for event creation or already occupied by other events.
|
|
18956
|
+
* This method currently focuses on validating appointments within the current view date range.
|
|
18957
|
+
* However, it does not extend this availability check to recurrence occurrences outside of the current date range.
|
|
18912
18958
|
*
|
|
18913
18959
|
* @function isSlotAvailable
|
|
18914
18960
|
* @param {Date | Object} startTime Denotes the start time of the slot.
|