@syncfusion/ej2-schedule 22.2.11 → 23.1.36
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 +25 -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 +445 -172
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +445 -173
- 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/recurrence-editor/date-generator.d.ts +1 -2
- package/src/recurrence-editor/date-generator.js +3 -5
- package/src/recurrence-editor/recurrence-editor.d.ts +1 -1
- package/src/schedule/actions/crud.d.ts +1 -1
- package/src/schedule/actions/crud.js +19 -6
- package/src/schedule/actions/data.js +29 -8
- package/src/schedule/actions/keyboard.js +4 -1
- package/src/schedule/actions/virtual-scroll.d.ts +1 -0
- package/src/schedule/actions/virtual-scroll.js +37 -2
- package/src/schedule/base/constant.d.ts +4 -0
- package/src/schedule/base/constant.js +4 -0
- package/src/schedule/base/interface.d.ts +15 -0
- package/src/schedule/base/resource.js +1 -0
- package/src/schedule/base/schedule-model.d.ts +41 -35
- package/src/schedule/base/schedule.d.ts +54 -35
- package/src/schedule/base/schedule.js +71 -6
- package/src/schedule/base/util.d.ts +1 -0
- package/src/schedule/base/util.js +1 -0
- package/src/schedule/event-renderer/event-base.d.ts +1 -1
- package/src/schedule/event-renderer/event-base.js +4 -4
- package/src/schedule/exports/calendar-import.d.ts +2 -1
- package/src/schedule/exports/calendar-import.js +134 -106
- package/src/schedule/models/views-model.d.ts +10 -1
- package/src/schedule/models/views.d.ts +9 -1
- package/src/schedule/models/views.js +3 -0
- package/src/schedule/popups/event-tooltip.js +7 -3
- package/src/schedule/popups/event-window.d.ts +7 -0
- package/src/schedule/popups/event-window.js +123 -29
- package/src/schedule/popups/quick-popups.js +3 -0
- package/src/schedule/renderer/timeline-view.js +5 -2
- package/styles/bootstrap-dark.css +15 -0
- package/styles/bootstrap.css +15 -0
- package/styles/bootstrap4.css +15 -0
- package/styles/bootstrap5-dark.css +15 -0
- package/styles/bootstrap5.css +15 -0
- package/styles/fabric-dark.css +15 -0
- package/styles/fabric.css +15 -0
- package/styles/fluent-dark.css +15 -0
- package/styles/fluent.css +15 -0
- package/styles/highcontrast-light.css +15 -0
- package/styles/highcontrast.css +15 -0
- package/styles/material-dark.css +15 -1
- package/styles/material.css +15 -1
- package/styles/material3-dark.css +16 -2
- package/styles/material3-dark.scss +1 -1
- package/styles/material3.css +16 -2
- package/styles/material3.scss +1 -1
- package/styles/recurrence-editor/bootstrap-dark.scss +1 -1
- package/styles/recurrence-editor/bootstrap.scss +1 -1
- package/styles/recurrence-editor/bootstrap4.scss +1 -1
- package/styles/recurrence-editor/bootstrap5-dark.scss +1 -1
- package/styles/recurrence-editor/bootstrap5.scss +1 -1
- package/styles/recurrence-editor/fabric-dark.scss +1 -1
- package/styles/recurrence-editor/fabric.scss +1 -1
- package/styles/recurrence-editor/fluent-dark.scss +1 -1
- package/styles/recurrence-editor/fluent.scss +1 -1
- package/styles/recurrence-editor/highcontrast-light.scss +1 -1
- package/styles/recurrence-editor/highcontrast.scss +1 -1
- package/styles/recurrence-editor/material-dark.css +0 -1
- package/styles/recurrence-editor/material-dark.scss +1 -1
- package/styles/recurrence-editor/material.css +0 -1
- package/styles/recurrence-editor/material.scss +1 -1
- package/styles/recurrence-editor/material3-dark.css +0 -1
- package/styles/recurrence-editor/material3-dark.scss +1 -1
- package/styles/recurrence-editor/material3.css +0 -1
- package/styles/recurrence-editor/material3.scss +1 -1
- package/styles/recurrence-editor/tailwind-dark.css +0 -1
- package/styles/recurrence-editor/tailwind-dark.scss +1 -1
- package/styles/recurrence-editor/tailwind.css +0 -1
- package/styles/recurrence-editor/tailwind.scss +1 -1
- package/styles/schedule/_layout.scss +15 -0
- package/styles/schedule/_material3-definition.scss +1 -1
- package/styles/schedule/bootstrap-dark.css +15 -0
- package/styles/schedule/bootstrap-dark.scss +1 -1
- package/styles/schedule/bootstrap.css +15 -0
- package/styles/schedule/bootstrap.scss +1 -1
- package/styles/schedule/bootstrap4.css +15 -0
- package/styles/schedule/bootstrap4.scss +1 -1
- package/styles/schedule/bootstrap5-dark.css +15 -0
- package/styles/schedule/bootstrap5-dark.scss +1 -1
- package/styles/schedule/bootstrap5.css +15 -0
- package/styles/schedule/bootstrap5.scss +1 -1
- package/styles/schedule/fabric-dark.css +15 -0
- package/styles/schedule/fabric-dark.scss +1 -1
- package/styles/schedule/fabric.css +15 -0
- package/styles/schedule/fabric.scss +1 -1
- package/styles/schedule/fluent-dark.css +15 -0
- package/styles/schedule/fluent-dark.scss +1 -1
- package/styles/schedule/fluent.css +15 -0
- package/styles/schedule/fluent.scss +1 -1
- package/styles/schedule/highcontrast-light.css +15 -0
- package/styles/schedule/highcontrast-light.scss +1 -1
- package/styles/schedule/highcontrast.css +15 -0
- package/styles/schedule/highcontrast.scss +1 -1
- package/styles/schedule/material-dark.css +15 -1
- package/styles/schedule/material-dark.scss +1 -1
- package/styles/schedule/material.css +15 -1
- package/styles/schedule/material.scss +1 -1
- package/styles/schedule/material3-dark.css +16 -2
- package/styles/schedule/material3-dark.scss +1 -1
- package/styles/schedule/material3.css +16 -2
- package/styles/schedule/material3.scss +1 -1
- package/styles/schedule/tailwind-dark.css +15 -1
- package/styles/schedule/tailwind-dark.scss +1 -1
- package/styles/schedule/tailwind.css +15 -1
- package/styles/schedule/tailwind.scss +1 -1
- package/styles/tailwind-dark.css +15 -2
- package/styles/tailwind.css +15 -2
|
@@ -38,7 +38,7 @@ import { Print } from '../exports/print';
|
|
|
38
38
|
import { IRenderer, ActionEventArgs, NavigatingEventArgs, CellClickEventArgs, RenderCellEventArgs, ScrollCss, TimezoneFields } from '../base/interface';
|
|
39
39
|
import { EventClickArgs, EventRenderedArgs, PopupOpenEventArgs, UIStateArgs, DragEventArgs, ResizeEventArgs } from '../base/interface';
|
|
40
40
|
import { EventFieldsMapping, TdData, ResourceDetails, ResizeEdges, ExportOptions, SelectEventArgs } from '../base/interface';
|
|
41
|
-
import { ViewsData, PopupCloseEventArgs, HoverEventArgs, MoreEventsClickArgs, CallbackFunction } from '../base/interface';
|
|
41
|
+
import { ViewsData, PopupCloseEventArgs, HoverEventArgs, MoreEventsClickArgs, ScrollEventArgs, CallbackFunction } from '../base/interface';
|
|
42
42
|
import { CalendarUtil, CalendarType } from '../../common/calendar-util';
|
|
43
43
|
import { ResourceBase } from '../base/resource';
|
|
44
44
|
import { Timezone } from '../timezone/timezone';
|
|
@@ -93,6 +93,8 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
93
93
|
private eventTooltipTemplateFn;
|
|
94
94
|
private headerTooltipTemplateFn;
|
|
95
95
|
private editorTemplateFn;
|
|
96
|
+
private editorHeaderTemplateFn;
|
|
97
|
+
private editorFooterTemplateFn;
|
|
96
98
|
private quickInfoTemplatesHeaderFn;
|
|
97
99
|
private quickInfoTemplatesContentFn;
|
|
98
100
|
private quickInfoTemplatesFooterFn;
|
|
@@ -561,6 +563,28 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
561
563
|
* @aspType string
|
|
562
564
|
*/
|
|
563
565
|
editorTemplate: string | Function;
|
|
566
|
+
/**
|
|
567
|
+
* The template option to render the customized header of the editor window.
|
|
568
|
+
*
|
|
569
|
+
*
|
|
570
|
+
* @default null
|
|
571
|
+
* @angularType string | object
|
|
572
|
+
* @reactType string | function | JSX.Element
|
|
573
|
+
* @vueType string | function
|
|
574
|
+
* @aspType string
|
|
575
|
+
*/
|
|
576
|
+
editorHeaderTemplate: string | Function;
|
|
577
|
+
/**
|
|
578
|
+
* The template option to render the customized footer of the editor window.
|
|
579
|
+
*
|
|
580
|
+
*
|
|
581
|
+
* @default null
|
|
582
|
+
* @angularType string | object
|
|
583
|
+
* @reactType string | function | JSX.Element
|
|
584
|
+
* @vueType string | function
|
|
585
|
+
* @aspType string
|
|
586
|
+
*/
|
|
587
|
+
editorFooterTemplate: string | Function;
|
|
564
588
|
/**
|
|
565
589
|
* The template option to customize the quick window. The three sections of the quick popup whereas the header, content,
|
|
566
590
|
* and footer can be easily customized with individual template option.
|
|
@@ -744,135 +768,115 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
744
768
|
/**
|
|
745
769
|
* Triggers on beginning of every scheduler action.
|
|
746
770
|
*
|
|
747
|
-
* {% codeBlock src='schedule/actionBegin/index.md' %}{% endcodeBlock %}
|
|
748
|
-
*
|
|
749
771
|
* @event 'actionBegin'
|
|
750
772
|
*/
|
|
751
773
|
actionBegin: EmitType<ActionEventArgs>;
|
|
752
774
|
/**
|
|
753
775
|
* Triggers on successful completion of the scheduler actions.
|
|
754
776
|
*
|
|
755
|
-
* {% codeBlock src='schedule/actionComplete/index.md' %}{% endcodeBlock %}
|
|
756
|
-
*
|
|
757
777
|
* @event 'actionComplete'
|
|
758
778
|
*/
|
|
759
779
|
actionComplete: EmitType<ActionEventArgs>;
|
|
760
780
|
/**
|
|
761
781
|
* Triggers when a scheduler action gets failed or interrupted and an error information will be returned.
|
|
762
782
|
*
|
|
763
|
-
* {% codeBlock src='schedule/actionFailure/index.md' %}{% endcodeBlock %}
|
|
764
|
-
*
|
|
765
783
|
* @event 'actionFailure'
|
|
766
784
|
*/
|
|
767
785
|
actionFailure: EmitType<ActionEventArgs>;
|
|
768
786
|
/**
|
|
769
787
|
* Triggers before the date or view navigation takes place on scheduler.
|
|
770
788
|
*
|
|
771
|
-
* {% codeBlock src='schedule/navigating/index.md' %}{% endcodeBlock %}
|
|
772
|
-
*
|
|
773
789
|
* @event 'navigating'
|
|
774
790
|
*/
|
|
775
791
|
navigating: EmitType<NavigatingEventArgs>;
|
|
776
792
|
/**
|
|
777
793
|
* Triggers before each element of the schedule rendering on the page.
|
|
778
794
|
*
|
|
779
|
-
* {% codeBlock src='schedule/renderCell/index.md' %}{% endcodeBlock %}
|
|
780
|
-
*
|
|
781
795
|
* @event 'renderCell'
|
|
782
796
|
*/
|
|
783
797
|
renderCell: EmitType<RenderCellEventArgs>;
|
|
784
798
|
/**
|
|
785
799
|
* Triggers when the events are single clicked or on single tapping the events on the mobile devices.
|
|
786
800
|
*
|
|
787
|
-
* {% codeBlock src='schedule/eventClick/index.md' %}{% endcodeBlock %}
|
|
788
|
-
*
|
|
789
801
|
* @event 'eventClick'
|
|
790
802
|
*/
|
|
791
803
|
eventClick: EmitType<EventClickArgs>;
|
|
792
804
|
/**
|
|
793
805
|
* Triggers before each of the event getting rendered on the scheduler user interface.
|
|
794
806
|
*
|
|
795
|
-
* {% codeBlock src='schedule/eventRendered/index.md' %}{% endcodeBlock %}
|
|
796
|
-
*
|
|
797
807
|
* @event 'eventRendered'
|
|
798
808
|
*/
|
|
799
809
|
eventRendered: EmitType<EventRenderedArgs>;
|
|
800
810
|
/**
|
|
801
811
|
* Triggers before the data binds to the scheduler.
|
|
802
812
|
*
|
|
803
|
-
* {% codeBlock src='schedule/dataBinding/index.md' %}{% endcodeBlock %}
|
|
804
|
-
*
|
|
805
813
|
* @event 'dataBinding'
|
|
806
814
|
*/
|
|
807
815
|
dataBinding: EmitType<ReturnType>;
|
|
808
816
|
/**
|
|
809
817
|
* Triggers before any of the scheduler popups opens on the page.
|
|
810
818
|
*
|
|
811
|
-
* {% codeBlock src='schedule/popupOpen/index.md' %}{% endcodeBlock %}
|
|
812
|
-
*
|
|
813
819
|
* @event 'popupOpen'
|
|
814
820
|
*/
|
|
815
821
|
popupOpen: EmitType<PopupOpenEventArgs>;
|
|
816
822
|
/**
|
|
817
823
|
* Triggers before any of the scheduler popups close on the page.
|
|
818
824
|
*
|
|
819
|
-
* {% codeBlock src='schedule/popupClose/index.md' %}{% endcodeBlock %}
|
|
820
|
-
*
|
|
821
825
|
* @event 'popupClose'
|
|
822
826
|
*/
|
|
823
827
|
popupClose: EmitType<PopupCloseEventArgs>;
|
|
824
828
|
/**
|
|
825
829
|
* Triggers when an appointment is started to drag.
|
|
826
830
|
*
|
|
827
|
-
* {% codeBlock src='schedule/dragStart/index.md' %}{% endcodeBlock %}
|
|
828
|
-
*
|
|
829
831
|
* @event 'dragStart'
|
|
830
832
|
*/
|
|
831
833
|
dragStart: EmitType<DragEventArgs>;
|
|
832
834
|
/**
|
|
833
835
|
* Triggers when an appointment is being in a dragged state.
|
|
834
836
|
*
|
|
835
|
-
* {% codeBlock src='schedule/drag/index.md' %}{% endcodeBlock %}
|
|
836
|
-
*
|
|
837
837
|
* @event 'drag'
|
|
838
838
|
*/
|
|
839
839
|
drag: EmitType<DragEventArgs>;
|
|
840
840
|
/**
|
|
841
841
|
* Triggers when the dragging of appointment is stopped.
|
|
842
842
|
*
|
|
843
|
-
* {% codeBlock src='schedule/dragStop/index.md' %}{% endcodeBlock %}
|
|
844
|
-
*
|
|
845
843
|
* @event 'dragStop'
|
|
846
844
|
*/
|
|
847
845
|
dragStop: EmitType<DragEventArgs>;
|
|
848
846
|
/**
|
|
849
847
|
* Triggers when an appointment is started to resize.
|
|
850
848
|
*
|
|
851
|
-
* {% codeBlock src='schedule/resizeStart/index.md' %}{% endcodeBlock %}
|
|
852
|
-
*
|
|
853
849
|
* @event 'resizeStart'
|
|
854
850
|
*/
|
|
855
851
|
resizeStart: EmitType<ResizeEventArgs>;
|
|
856
852
|
/**
|
|
857
853
|
* Triggers when an appointment is being in a resizing action.
|
|
858
854
|
*
|
|
859
|
-
* {% codeBlock src='schedule/resizing/index.md' %}{% endcodeBlock %}
|
|
860
|
-
*
|
|
861
855
|
* @event 'resizing'
|
|
862
856
|
*/
|
|
863
857
|
resizing: EmitType<ResizeEventArgs>;
|
|
864
858
|
/**
|
|
865
859
|
* Triggers when the resizing of appointment is stopped.
|
|
866
860
|
*
|
|
867
|
-
* {% codeBlock src='schedule/resizeStop/index.md' %}{% endcodeBlock %}
|
|
868
|
-
*
|
|
869
861
|
* @event 'resizeStop'
|
|
870
862
|
*/
|
|
871
863
|
resizeStop: EmitType<ResizeEventArgs>;
|
|
872
864
|
/**
|
|
873
|
-
* Triggers
|
|
865
|
+
* Triggers when the scroll action is started.
|
|
866
|
+
* This event triggers only when `allowVirtualScrolling` or `enableLazyLoading` properties are enabled along with resource grouping.
|
|
874
867
|
*
|
|
875
|
-
*
|
|
868
|
+
* @event 'virtualScrollStart'
|
|
869
|
+
*/
|
|
870
|
+
virtualScrollStart: EmitType<ScrollEventArgs>;
|
|
871
|
+
/**
|
|
872
|
+
* Triggers when the scroll action is stopped.
|
|
873
|
+
* This event triggers only when `allowVirtualScrolling` or `enableLazyLoading` properties are enabled along with resource grouping.
|
|
874
|
+
*
|
|
875
|
+
* @event 'virtualScrollStop'
|
|
876
|
+
*/
|
|
877
|
+
virtualScrollStop: EmitType<ScrollEventArgs>;
|
|
878
|
+
/**
|
|
879
|
+
* Triggers once the event data is bound to the scheduler.
|
|
876
880
|
*
|
|
877
881
|
* @event 'dataBound'
|
|
878
882
|
*/
|
|
@@ -918,6 +922,7 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
918
922
|
*/
|
|
919
923
|
sanitize(value: string, element: HTMLElement): void;
|
|
920
924
|
private initializeResources;
|
|
925
|
+
private destroyEditorWindow;
|
|
921
926
|
/**
|
|
922
927
|
* Method to render the layout elements
|
|
923
928
|
*
|
|
@@ -1207,6 +1212,20 @@ export declare class Schedule extends Component<HTMLElement> implements INotifyP
|
|
|
1207
1212
|
* @private
|
|
1208
1213
|
*/
|
|
1209
1214
|
getEditorTemplate(): CallbackFunction;
|
|
1215
|
+
/**
|
|
1216
|
+
* Method to process editor header template
|
|
1217
|
+
*
|
|
1218
|
+
* @returns {CallbackFunction} Returns the callback function
|
|
1219
|
+
* @private
|
|
1220
|
+
*/
|
|
1221
|
+
getEditorHeaderTemplate(): CallbackFunction;
|
|
1222
|
+
/**
|
|
1223
|
+
* Method to process editor footer template
|
|
1224
|
+
*
|
|
1225
|
+
* @returns {CallbackFunction} Returns the callback function
|
|
1226
|
+
* @private
|
|
1227
|
+
*/
|
|
1228
|
+
getEditorFooterTemplate(): CallbackFunction;
|
|
1210
1229
|
/**
|
|
1211
1230
|
* Method to process quick info header template
|
|
1212
1231
|
*
|
|
@@ -187,6 +187,13 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
187
187
|
this.renderElements(isSetModel);
|
|
188
188
|
}
|
|
189
189
|
};
|
|
190
|
+
Schedule.prototype.destroyEditorWindow = function () {
|
|
191
|
+
if (this.eventWindow) {
|
|
192
|
+
this.eventWindow.destroy();
|
|
193
|
+
this.eventWindow = null;
|
|
194
|
+
}
|
|
195
|
+
this.eventWindow = new EventWindow(this);
|
|
196
|
+
};
|
|
190
197
|
/**
|
|
191
198
|
* Method to render the layout elements
|
|
192
199
|
*
|
|
@@ -356,7 +363,8 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
356
363
|
headerRows: this.headerRows,
|
|
357
364
|
orientation: 'Horizontal',
|
|
358
365
|
numberOfWeeks: 0,
|
|
359
|
-
displayDate: null
|
|
366
|
+
displayDate: null,
|
|
367
|
+
enableLazyLoading: false
|
|
360
368
|
};
|
|
361
369
|
var viewOptions = this.viewCollections[this.viewIndex];
|
|
362
370
|
var viewsData = extend(scheduleOptions, viewOptions, undefined, true);
|
|
@@ -367,6 +375,11 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
367
375
|
viewsData.displayDate = viewsData.displayDate instanceof Date ? new Date(viewsData.displayDate.getTime()) :
|
|
368
376
|
new Date(viewsData.displayDate);
|
|
369
377
|
}
|
|
378
|
+
if (viewsData.enableLazyLoading && !isNullOrUndefined(viewsData.group.resources) && viewsData.group.resources.length > 0 &&
|
|
379
|
+
(['Agenda', 'MonthAgenda', 'Year', 'TimelineYear'].indexOf(viewsData.option) === -1 ||
|
|
380
|
+
(viewsData.option === 'TimelineYear' && viewsData.orientation === 'Vertical'))) {
|
|
381
|
+
viewsData.allowVirtualScrolling = true;
|
|
382
|
+
}
|
|
370
383
|
return viewsData;
|
|
371
384
|
};
|
|
372
385
|
Schedule.prototype.initializeDataModule = function () {
|
|
@@ -428,6 +441,8 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
428
441
|
this.headerTooltipTemplateFn = this.templateParser(this.activeViewOptions.group.headerTooltipTemplate);
|
|
429
442
|
this.eventTooltipTemplateFn = this.templateParser(this.eventSettings.tooltipTemplate);
|
|
430
443
|
this.editorTemplateFn = this.templateParser(this.editorTemplate);
|
|
444
|
+
this.editorHeaderTemplateFn = this.templateParser(this.editorHeaderTemplate);
|
|
445
|
+
this.editorFooterTemplateFn = this.templateParser(this.editorFooterTemplate);
|
|
431
446
|
this.quickInfoTemplatesHeaderFn = this.templateParser(this.quickInfoTemplates.header);
|
|
432
447
|
this.quickInfoTemplatesContentFn = this.templateParser(this.quickInfoTemplates.content);
|
|
433
448
|
this.quickInfoTemplatesFooterFn = this.templateParser(this.quickInfoTemplates.footer);
|
|
@@ -1069,6 +1084,24 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1069
1084
|
Schedule.prototype.getEditorTemplate = function () {
|
|
1070
1085
|
return this.editorTemplateFn;
|
|
1071
1086
|
};
|
|
1087
|
+
/**
|
|
1088
|
+
* Method to process editor header template
|
|
1089
|
+
*
|
|
1090
|
+
* @returns {CallbackFunction} Returns the callback function
|
|
1091
|
+
* @private
|
|
1092
|
+
*/
|
|
1093
|
+
Schedule.prototype.getEditorHeaderTemplate = function () {
|
|
1094
|
+
return this.editorHeaderTemplateFn;
|
|
1095
|
+
};
|
|
1096
|
+
/**
|
|
1097
|
+
* Method to process editor footer template
|
|
1098
|
+
*
|
|
1099
|
+
* @returns {CallbackFunction} Returns the callback function
|
|
1100
|
+
* @private
|
|
1101
|
+
*/
|
|
1102
|
+
Schedule.prototype.getEditorFooterTemplate = function () {
|
|
1103
|
+
return this.editorFooterTemplateFn;
|
|
1104
|
+
};
|
|
1072
1105
|
/**
|
|
1073
1106
|
* Method to process quick info header template
|
|
1074
1107
|
*
|
|
@@ -1586,6 +1619,22 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
1586
1619
|
this.eventWindow.setDialogContent();
|
|
1587
1620
|
}
|
|
1588
1621
|
break;
|
|
1622
|
+
case 'editorHeaderTemplate':
|
|
1623
|
+
if (!isNullOrUndefined(this.editorHeaderTemplate)) {
|
|
1624
|
+
this.editorHeaderTemplateFn = this.templateParser(this.editorHeaderTemplate);
|
|
1625
|
+
}
|
|
1626
|
+
if (this.eventWindow) {
|
|
1627
|
+
this.eventWindow.setDialogHeader();
|
|
1628
|
+
}
|
|
1629
|
+
break;
|
|
1630
|
+
case 'editorFooterTemplate':
|
|
1631
|
+
if (!isNullOrUndefined(this.editorFooterTemplate)) {
|
|
1632
|
+
this.editorFooterTemplateFn = this.templateParser(this.editorFooterTemplate);
|
|
1633
|
+
}
|
|
1634
|
+
if (this.eventWindow) {
|
|
1635
|
+
this.eventWindow.setDialogFooter();
|
|
1636
|
+
}
|
|
1637
|
+
break;
|
|
1589
1638
|
case 'quickInfoTemplates':
|
|
1590
1639
|
if (this.quickInfoTemplates.header) {
|
|
1591
1640
|
this.quickInfoTemplatesHeaderFn = this.templateParser(this.quickInfoTemplates.header);
|
|
@@ -2356,13 +2405,17 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
2356
2405
|
this.quickInfoTemplatesFooterFn = this.templateParser(this.quickInfoTemplates.footer);
|
|
2357
2406
|
break;
|
|
2358
2407
|
case 'editorTemplate':
|
|
2359
|
-
|
|
2360
|
-
this.eventWindow.destroy();
|
|
2361
|
-
this.eventWindow = null;
|
|
2362
|
-
}
|
|
2363
|
-
this.eventWindow = new EventWindow(this);
|
|
2408
|
+
this.destroyEditorWindow();
|
|
2364
2409
|
this.editorTemplateFn = this.templateParser(this.editorTemplate);
|
|
2365
2410
|
break;
|
|
2411
|
+
case 'editorHeaderTemplate':
|
|
2412
|
+
this.destroyEditorWindow();
|
|
2413
|
+
this.editorHeaderTemplateFn = this.templateParser(this.editorHeaderTemplate);
|
|
2414
|
+
break;
|
|
2415
|
+
case 'editorFooterTemplate':
|
|
2416
|
+
this.destroyEditorWindow();
|
|
2417
|
+
this.editorFooterTemplateFn = this.templateParser(this.editorFooterTemplate);
|
|
2418
|
+
break;
|
|
2366
2419
|
case 'tooltipTemplate':
|
|
2367
2420
|
case 'headerTooltipTemplate':
|
|
2368
2421
|
if (this.eventTooltip) {
|
|
@@ -2844,6 +2897,12 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
2844
2897
|
__decorate([
|
|
2845
2898
|
Property()
|
|
2846
2899
|
], Schedule.prototype, "editorTemplate", void 0);
|
|
2900
|
+
__decorate([
|
|
2901
|
+
Property()
|
|
2902
|
+
], Schedule.prototype, "editorHeaderTemplate", void 0);
|
|
2903
|
+
__decorate([
|
|
2904
|
+
Property()
|
|
2905
|
+
], Schedule.prototype, "editorFooterTemplate", void 0);
|
|
2847
2906
|
__decorate([
|
|
2848
2907
|
Complex({}, QuickInfoTemplates)
|
|
2849
2908
|
], Schedule.prototype, "quickInfoTemplates", void 0);
|
|
@@ -2955,6 +3014,12 @@ var Schedule = /** @class */ (function (_super) {
|
|
|
2955
3014
|
__decorate([
|
|
2956
3015
|
Event()
|
|
2957
3016
|
], Schedule.prototype, "resizeStop", void 0);
|
|
3017
|
+
__decorate([
|
|
3018
|
+
Event()
|
|
3019
|
+
], Schedule.prototype, "virtualScrollStart", void 0);
|
|
3020
|
+
__decorate([
|
|
3021
|
+
Event()
|
|
3022
|
+
], Schedule.prototype, "virtualScrollStop", void 0);
|
|
2958
3023
|
__decorate([
|
|
2959
3024
|
Event()
|
|
2960
3025
|
], Schedule.prototype, "dataBound", void 0);
|
|
@@ -300,6 +300,7 @@ export function getScrollBarWidth() {
|
|
|
300
300
|
* Method to reset scrollbar width
|
|
301
301
|
*
|
|
302
302
|
* @private
|
|
303
|
+
* @returns {void}
|
|
303
304
|
*/
|
|
304
305
|
export function resetScrollbarWidth() {
|
|
305
306
|
var zoomPixelRatio = window.devicePixelRatio || window.screen.availWidth / document.documentElement.clientWidth;
|
|
@@ -58,7 +58,7 @@ export declare class EventBase {
|
|
|
58
58
|
getEventIDType(): string;
|
|
59
59
|
getEventMaxID(resourceId?: number): number | string;
|
|
60
60
|
private activeEventData;
|
|
61
|
-
generateOccurrence(event: Record<string, any>, viewDate?: Date,
|
|
61
|
+
generateOccurrence(event: Record<string, any>, viewDate?: Date, isMaxCount?: boolean): Record<string, any>[];
|
|
62
62
|
private getDSTAdjustedTime;
|
|
63
63
|
private getDSTDiff;
|
|
64
64
|
getParentEvent(eventObj: Record<string, any>, isParent?: boolean): Record<string, any>;
|
|
@@ -54,12 +54,12 @@ var EventBase = /** @class */ (function () {
|
|
|
54
54
|
}
|
|
55
55
|
if (!isNullOrUndefined(event_1[fields.recurrenceRule]) && isNullOrUndefined(event_1[fields.recurrenceID]) &&
|
|
56
56
|
!(this_1.parent.crudModule && this_1.parent.crudModule.crudObj.isCrudAction)) {
|
|
57
|
-
processed = processed.concat(this_1.generateOccurrence(event_1, null,
|
|
57
|
+
processed = processed.concat(this_1.generateOccurrence(event_1, null, true));
|
|
58
58
|
}
|
|
59
59
|
else {
|
|
60
60
|
if (this_1.parent.crudModule && this_1.parent.crudModule.crudObj.isCrudAction) {
|
|
61
61
|
if (!isNullOrUndefined(event_1[fields.recurrenceRule]) && isNullOrUndefined(event_1[fields.recurrenceID])) {
|
|
62
|
-
var recurrenceEvent = this_1.generateOccurrence(event_1, null,
|
|
62
|
+
var recurrenceEvent = this_1.generateOccurrence(event_1, null, true);
|
|
63
63
|
var _loop_2 = function (occurrence) {
|
|
64
64
|
var app = this_1.parent.eventsProcessed.filter(function (data) {
|
|
65
65
|
return data[fields.startTime].getTime() - occurrence[fields.startTime].getTime() === 0 &&
|
|
@@ -879,7 +879,7 @@ var EventBase = /** @class */ (function () {
|
|
|
879
879
|
}
|
|
880
880
|
this.parent.activeEventData = { event: eventObject, element: target };
|
|
881
881
|
};
|
|
882
|
-
EventBase.prototype.generateOccurrence = function (event, viewDate,
|
|
882
|
+
EventBase.prototype.generateOccurrence = function (event, viewDate, isMaxCount) {
|
|
883
883
|
var startDate = event[this.parent.eventFields.startTime];
|
|
884
884
|
var endDate = event[this.parent.eventFields.endTime];
|
|
885
885
|
var eventRule = event[this.parent.eventFields.recurrenceRule];
|
|
@@ -894,7 +894,7 @@ var EventBase = /** @class */ (function () {
|
|
|
894
894
|
var newTimezone = this.parent.timezone || this.parent.tzModule.getLocalTimezoneName();
|
|
895
895
|
var firstDay = this.parent.activeViewOptions.firstDayOfWeek;
|
|
896
896
|
var calendarMode = this.parent.calendarMode;
|
|
897
|
-
var dates = generate(startDate, eventRule, exception, firstDay, maxCount, viewDate, calendarMode,
|
|
897
|
+
var dates = generate(startDate, eventRule, exception, firstDay, maxCount, viewDate, calendarMode, newTimezone);
|
|
898
898
|
if (this.parent.currentView === 'Agenda' && eventRule.indexOf('COUNT') === -1 && eventRule.indexOf('UNTIL') === -1) {
|
|
899
899
|
if (isNullOrUndefined(event.generatedDates)) {
|
|
900
900
|
event.generatedDates = { start: new Date(dates[0]), end: new Date(dates[dates.length - 1]) };
|
|
@@ -8,9 +8,10 @@ export declare class ICalendarImport {
|
|
|
8
8
|
constructor(parent: Schedule);
|
|
9
9
|
initializeCalendarImport(fileContent: Blob | string): void;
|
|
10
10
|
private iCalendarParser;
|
|
11
|
+
private updateEventData;
|
|
11
12
|
private processOccurrence;
|
|
12
13
|
private getExcludeDateString;
|
|
13
|
-
private
|
|
14
|
+
private getFormattedString;
|
|
14
15
|
private dateParsing;
|
|
15
16
|
protected getModuleName(): string;
|
|
16
17
|
destroy(): void;
|