@syncfusion/ej2-schedule 31.1.17 → 31.1.20

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.
Files changed (167) hide show
  1. package/dist/ej2-schedule.min.js +2 -2
  2. package/dist/ej2-schedule.umd.min.js +2 -2
  3. package/dist/ej2-schedule.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-schedule.es2015.js +1 -1
  5. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  6. package/dist/es6/ej2-schedule.es5.js +1 -1
  7. package/dist/es6/ej2-schedule.es5.js.map +1 -1
  8. package/dist/global/ej2-schedule.min.js +2 -2
  9. package/dist/global/ej2-schedule.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +17 -52
  12. package/src/schedule/event-renderer/event-base.js +1 -1
  13. package/styles/bootstrap4-lite.css +8 -0
  14. package/styles/bootstrap4.css +8 -0
  15. package/styles/recurrence-editor/bootstrap4.css +8 -0
  16. package/styles/schedule/bootstrap4.css +8 -0
  17. package/dist/ts/common/calendar-util.d.ts +0 -92
  18. package/dist/ts/common/calendar-util.ts +0 -261
  19. package/dist/ts/common/index.d.ts +0 -4
  20. package/dist/ts/common/index.ts +0 -4
  21. package/dist/ts/components.d.ts +0 -5
  22. package/dist/ts/components.ts +0 -5
  23. package/dist/ts/index.d.ts +0 -6
  24. package/dist/ts/index.ts +0 -7
  25. package/dist/ts/recurrence-editor/date-generator.d.ts +0 -76
  26. package/dist/ts/recurrence-editor/date-generator.ts +0 -1699
  27. package/dist/ts/recurrence-editor/index.d.ts +0 -6
  28. package/dist/ts/recurrence-editor/index.ts +0 -6
  29. package/dist/ts/recurrence-editor/recurrence-editor-model.d.ts +0 -112
  30. package/dist/ts/recurrence-editor/recurrence-editor.d.ts +0 -245
  31. package/dist/ts/recurrence-editor/recurrence-editor.ts +0 -1257
  32. package/dist/ts/schedule/actions/action-base.d.ts +0 -44
  33. package/dist/ts/schedule/actions/action-base.ts +0 -493
  34. package/dist/ts/schedule/actions/crud.d.ts +0 -41
  35. package/dist/ts/schedule/actions/crud.ts +0 -784
  36. package/dist/ts/schedule/actions/data.d.ts +0 -63
  37. package/dist/ts/schedule/actions/data.ts +0 -128
  38. package/dist/ts/schedule/actions/drag.d.ts +0 -75
  39. package/dist/ts/schedule/actions/drag.ts +0 -1401
  40. package/dist/ts/schedule/actions/keyboard.d.ts +0 -100
  41. package/dist/ts/schedule/actions/keyboard.ts +0 -1435
  42. package/dist/ts/schedule/actions/resize.d.ts +0 -27
  43. package/dist/ts/schedule/actions/resize.ts +0 -602
  44. package/dist/ts/schedule/actions/scroll.d.ts +0 -69
  45. package/dist/ts/schedule/actions/scroll.ts +0 -105
  46. package/dist/ts/schedule/actions/touch.d.ts +0 -32
  47. package/dist/ts/schedule/actions/touch.ts +0 -314
  48. package/dist/ts/schedule/actions/virtual-scroll.d.ts +0 -55
  49. package/dist/ts/schedule/actions/virtual-scroll.ts +0 -596
  50. package/dist/ts/schedule/actions/work-cells.d.ts +0 -14
  51. package/dist/ts/schedule/actions/work-cells.ts +0 -151
  52. package/dist/ts/schedule/base/constant.d.ts +0 -102
  53. package/dist/ts/schedule/base/constant.ts +0 -103
  54. package/dist/ts/schedule/base/css-constant.d.ts +0 -475
  55. package/dist/ts/schedule/base/css-constant.ts +0 -475
  56. package/dist/ts/schedule/base/interface.d.ts +0 -673
  57. package/dist/ts/schedule/base/interface.ts +0 -738
  58. package/dist/ts/schedule/base/resource.d.ts +0 -59
  59. package/dist/ts/schedule/base/resource.ts +0 -1091
  60. package/dist/ts/schedule/base/schedule-model.d.ts +0 -930
  61. package/dist/ts/schedule/base/schedule.d.ts +0 -1967
  62. package/dist/ts/schedule/base/schedule.ts +0 -4221
  63. package/dist/ts/schedule/base/type.d.ts +0 -134
  64. package/dist/ts/schedule/base/type.ts +0 -142
  65. package/dist/ts/schedule/base/util.d.ts +0 -266
  66. package/dist/ts/schedule/base/util.ts +0 -492
  67. package/dist/ts/schedule/event-renderer/agenda-base.d.ts +0 -15
  68. package/dist/ts/schedule/event-renderer/agenda-base.ts +0 -423
  69. package/dist/ts/schedule/event-renderer/event-base.d.ts +0 -101
  70. package/dist/ts/schedule/event-renderer/event-base.ts +0 -1501
  71. package/dist/ts/schedule/event-renderer/inline-edit.d.ts +0 -23
  72. package/dist/ts/schedule/event-renderer/inline-edit.ts +0 -287
  73. package/dist/ts/schedule/event-renderer/month.d.ts +0 -60
  74. package/dist/ts/schedule/event-renderer/month.ts +0 -760
  75. package/dist/ts/schedule/event-renderer/timeline-view.d.ts +0 -51
  76. package/dist/ts/schedule/event-renderer/timeline-view.ts +0 -606
  77. package/dist/ts/schedule/event-renderer/vertical-view.d.ts +0 -57
  78. package/dist/ts/schedule/event-renderer/vertical-view.ts +0 -898
  79. package/dist/ts/schedule/event-renderer/year.d.ts +0 -27
  80. package/dist/ts/schedule/event-renderer/year.ts +0 -623
  81. package/dist/ts/schedule/exports/calendar-export.d.ts +0 -16
  82. package/dist/ts/schedule/exports/calendar-export.ts +0 -160
  83. package/dist/ts/schedule/exports/calendar-import.d.ts +0 -18
  84. package/dist/ts/schedule/exports/calendar-import.ts +0 -277
  85. package/dist/ts/schedule/exports/excel-export.d.ts +0 -14
  86. package/dist/ts/schedule/exports/excel-export.ts +0 -89
  87. package/dist/ts/schedule/exports/index.d.ts +0 -7
  88. package/dist/ts/schedule/exports/index.ts +0 -7
  89. package/dist/ts/schedule/exports/print.d.ts +0 -20
  90. package/dist/ts/schedule/exports/print.ts +0 -233
  91. package/dist/ts/schedule/index.d.ts +0 -26
  92. package/dist/ts/schedule/index.ts +0 -26
  93. package/dist/ts/schedule/models/event-settings-model.d.ts +0 -165
  94. package/dist/ts/schedule/models/event-settings.d.ts +0 -149
  95. package/dist/ts/schedule/models/event-settings.ts +0 -187
  96. package/dist/ts/schedule/models/field-options-model.d.ts +0 -37
  97. package/dist/ts/schedule/models/field-options.d.ts +0 -31
  98. package/dist/ts/schedule/models/field-options.ts +0 -41
  99. package/dist/ts/schedule/models/fields-model.d.ts +0 -129
  100. package/dist/ts/schedule/models/fields.d.ts +0 -117
  101. package/dist/ts/schedule/models/fields.ts +0 -149
  102. package/dist/ts/schedule/models/group-model.d.ts +0 -69
  103. package/dist/ts/schedule/models/group.d.ts +0 -60
  104. package/dist/ts/schedule/models/group.ts +0 -75
  105. package/dist/ts/schedule/models/header-rows-model.d.ts +0 -33
  106. package/dist/ts/schedule/models/header-rows.d.ts +0 -30
  107. package/dist/ts/schedule/models/header-rows.ts +0 -35
  108. package/dist/ts/schedule/models/models.d.ts +0 -14
  109. package/dist/ts/schedule/models/models.ts +0 -15
  110. package/dist/ts/schedule/models/quick-info-templates-model.d.ts +0 -52
  111. package/dist/ts/schedule/models/quick-info-templates.d.ts +0 -47
  112. package/dist/ts/schedule/models/quick-info-templates.ts +0 -56
  113. package/dist/ts/schedule/models/resources-model.d.ts +0 -122
  114. package/dist/ts/schedule/models/resources.d.ts +0 -106
  115. package/dist/ts/schedule/models/resources.ts +0 -138
  116. package/dist/ts/schedule/models/time-scale-model.d.ts +0 -57
  117. package/dist/ts/schedule/models/time-scale.d.ts +0 -50
  118. package/dist/ts/schedule/models/time-scale.ts +0 -61
  119. package/dist/ts/schedule/models/toolbar-model.d.ts +0 -196
  120. package/dist/ts/schedule/models/toolbar.d.ts +0 -176
  121. package/dist/ts/schedule/models/toolbar.ts +0 -196
  122. package/dist/ts/schedule/models/views-model.d.ts +0 -370
  123. package/dist/ts/schedule/models/views.d.ts +0 -335
  124. package/dist/ts/schedule/models/views.ts +0 -408
  125. package/dist/ts/schedule/models/work-hours-model.d.ts +0 -29
  126. package/dist/ts/schedule/models/work-hours.d.ts +0 -24
  127. package/dist/ts/schedule/models/work-hours.ts +0 -31
  128. package/dist/ts/schedule/popups/event-tooltip.d.ts +0 -16
  129. package/dist/ts/schedule/popups/event-tooltip.ts +0 -203
  130. package/dist/ts/schedule/popups/event-window.d.ts +0 -118
  131. package/dist/ts/schedule/popups/event-window.ts +0 -2055
  132. package/dist/ts/schedule/popups/form-validator.d.ts +0 -16
  133. package/dist/ts/schedule/popups/form-validator.ts +0 -110
  134. package/dist/ts/schedule/popups/quick-popups.d.ts +0 -78
  135. package/dist/ts/schedule/popups/quick-popups.ts +0 -1470
  136. package/dist/ts/schedule/renderer/agenda.d.ts +0 -45
  137. package/dist/ts/schedule/renderer/agenda.ts +0 -497
  138. package/dist/ts/schedule/renderer/day.d.ts +0 -20
  139. package/dist/ts/schedule/renderer/day.ts +0 -28
  140. package/dist/ts/schedule/renderer/header-renderer.d.ts +0 -48
  141. package/dist/ts/schedule/renderer/header-renderer.ts +0 -736
  142. package/dist/ts/schedule/renderer/month-agenda.d.ts +0 -29
  143. package/dist/ts/schedule/renderer/month-agenda.ts +0 -184
  144. package/dist/ts/schedule/renderer/month.d.ts +0 -61
  145. package/dist/ts/schedule/renderer/month.ts +0 -766
  146. package/dist/ts/schedule/renderer/renderer.d.ts +0 -13
  147. package/dist/ts/schedule/renderer/renderer.ts +0 -165
  148. package/dist/ts/schedule/renderer/timeline-header-row.d.ts +0 -15
  149. package/dist/ts/schedule/renderer/timeline-header-row.ts +0 -132
  150. package/dist/ts/schedule/renderer/timeline-month.d.ts +0 -29
  151. package/dist/ts/schedule/renderer/timeline-month.ts +0 -184
  152. package/dist/ts/schedule/renderer/timeline-view.d.ts +0 -31
  153. package/dist/ts/schedule/renderer/timeline-view.ts +0 -308
  154. package/dist/ts/schedule/renderer/timeline-year.d.ts +0 -22
  155. package/dist/ts/schedule/renderer/timeline-year.ts +0 -450
  156. package/dist/ts/schedule/renderer/vertical-view.d.ts +0 -63
  157. package/dist/ts/schedule/renderer/vertical-view.ts +0 -911
  158. package/dist/ts/schedule/renderer/view-base.d.ts +0 -83
  159. package/dist/ts/schedule/renderer/view-base.ts +0 -709
  160. package/dist/ts/schedule/renderer/week.d.ts +0 -22
  161. package/dist/ts/schedule/renderer/week.ts +0 -35
  162. package/dist/ts/schedule/renderer/work-week.d.ts +0 -22
  163. package/dist/ts/schedule/renderer/work-week.ts +0 -36
  164. package/dist/ts/schedule/renderer/year.d.ts +0 -46
  165. package/dist/ts/schedule/renderer/year.ts +0 -470
  166. package/dist/ts/schedule/timezone/timezone.d.ts +0 -16
  167. package/dist/ts/schedule/timezone/timezone.ts +0 -313
@@ -1,1967 +0,0 @@
1
- import { Component, ModuleDeclaration } from '@syncfusion/ej2-base';
2
- import { EmitType, Internationalization, L10n } from '@syncfusion/ej2-base';
3
- import { INotifyPropertyChanged } from '@syncfusion/ej2-base';
4
- import { ScheduleModel } from './schedule-model';
5
- import { HeaderRenderer } from '../renderer/header-renderer';
6
- import { Scroll } from '../actions/scroll';
7
- import { ScheduleTouch } from '../actions/touch';
8
- import { KeyboardInteraction } from '../actions/keyboard';
9
- import { Data } from '../actions/data';
10
- import { View, CurrentAction, ReturnType, WeekRule, NavigationDirection } from '../base/type';
11
- import { EventBase } from '../event-renderer/event-base';
12
- import { InlineEdit } from '../event-renderer/inline-edit';
13
- import { QuickPopups } from '../popups/quick-popups';
14
- import { EventTooltip } from '../popups/event-tooltip';
15
- import { EventWindow } from '../popups/event-window';
16
- import { Render } from '../renderer/renderer';
17
- import { Day } from '../renderer/day';
18
- import { Week } from '../renderer/week';
19
- import { WorkWeek } from '../renderer/work-week';
20
- import { Month } from '../renderer/month';
21
- import { Year } from '../renderer/year';
22
- import { Agenda } from '../renderer/agenda';
23
- import { MonthAgenda } from '../renderer/month-agenda';
24
- import { TimelineViews } from '../renderer/timeline-view';
25
- import { TimelineMonth } from '../renderer/timeline-month';
26
- import { TimelineYear } from '../renderer/timeline-year';
27
- import { Crud } from '../actions/crud';
28
- import { Resize } from '../actions/resize';
29
- import { DragAndDrop } from '../actions/drag';
30
- import { VirtualScroll } from '../actions/virtual-scroll';
31
- import { WorkCellInteraction } from '../actions/work-cells';
32
- import { WorkHoursModel, ViewsModel, EventSettingsModel, GroupModel, ResourcesModel, TimeScaleModel, ToolbarItemModel } from '../models/models';
33
- import { QuickInfoTemplatesModel, HeaderRowsModel } from '../models/models';
34
- import { ICalendarExport } from '../exports/calendar-export';
35
- import { ICalendarImport } from '../exports/calendar-import';
36
- import { ExcelExport } from '../exports/excel-export';
37
- import { Print } from '../exports/print';
38
- import { IRenderer, ActionEventArgs, NavigatingEventArgs, CellClickEventArgs, RenderCellEventArgs, ScrollCss, TimezoneFields, ExcelExportEventArgs, BeforePasteEventArgs, TooltipOpenEventArgs } from '../base/interface';
39
- import { EventClickArgs, EventRenderedArgs, PopupOpenEventArgs, UIStateArgs, DragEventArgs, ResizeEventArgs } from '../base/interface';
40
- import { EventFieldsMapping, TdData, ResourceDetails, ResizeEdges, ExportOptions, SelectEventArgs } from '../base/interface';
41
- import { ViewsData, PopupCloseEventArgs, HoverEventArgs, MoreEventsClickArgs, ScrollEventArgs, CallbackFunction, BeforePrintEventArgs } from '../base/interface';
42
- import { CalendarUtil, CalendarType } from '../../common/calendar-util';
43
- import { ResourceBase } from '../base/resource';
44
- import { Timezone } from '../timezone/timezone';
45
- import { RecurrenceEditor } from '../../recurrence-editor/recurrence-editor';
46
- /**
47
- * Represents the Schedule component that displays a list of events scheduled against specific date and timings,
48
- * thus helping us to plan and manage it properly.
49
- * ```html
50
- * <div id="schedule"></div>
51
- * ```
52
- * ```typescript
53
- * <script>
54
- * var scheduleObj = new Schedule();
55
- * scheduleObj.appendTo("#schedule");
56
- * </script>
57
- * ```
58
- */
59
- export declare class Schedule extends Component<HTMLElement> implements INotifyPropertyChanged {
60
- globalize: Internationalization;
61
- localeObj: L10n;
62
- isAdaptive: boolean;
63
- dataModule: Data;
64
- eventTooltip: EventTooltip;
65
- eventWindow: EventWindow;
66
- renderModule: Render;
67
- headerModule: HeaderRenderer;
68
- scrollModule: Scroll;
69
- inlineModule: InlineEdit;
70
- virtualScrollModule: VirtualScroll;
71
- iCalendarExportModule: ICalendarExport;
72
- iCalendarImportModule: ICalendarImport;
73
- crudModule: Crud;
74
- scheduleTouchModule: ScheduleTouch;
75
- keyboardInteractionModule: KeyboardInteraction;
76
- activeView: IRenderer;
77
- activeCellsData: CellClickEventArgs;
78
- activeEventData: EventClickArgs;
79
- eventBase: EventBase;
80
- workCellAction: WorkCellInteraction;
81
- tzModule: Timezone;
82
- resourceBase: ResourceBase;
83
- currentTimezoneDate: Date;
84
- private cellHeaderTemplateFn;
85
- private cellTemplateFn;
86
- private dateHeaderTemplateFn;
87
- private dateRangeTemplateFn;
88
- private dayHeaderTemplateFn;
89
- private monthHeaderTemplateFn;
90
- private majorSlotTemplateFn;
91
- private minorSlotTemplateFn;
92
- private appointmentTemplateFn;
93
- private eventTooltipTemplateFn;
94
- private headerTooltipTemplateFn;
95
- private editorTemplateFn;
96
- private editorHeaderTemplateFn;
97
- private editorFooterTemplateFn;
98
- private quickInfoTemplatesHeaderFn;
99
- private quickInfoTemplatesContentFn;
100
- private quickInfoTemplatesFooterFn;
101
- private resourceHeaderTemplateFn;
102
- private headerIndentTemplateFn;
103
- private defaultLocale;
104
- dayModule: Day;
105
- weekModule: Week;
106
- workWeekModule: WorkWeek;
107
- monthAgendaModule: MonthAgenda;
108
- monthModule: Month;
109
- yearModule: Year;
110
- agendaModule: Agenda;
111
- timelineViewsModule: TimelineViews;
112
- timelineMonthModule: TimelineMonth;
113
- timelineYearModule: TimelineYear;
114
- resizeModule: Resize;
115
- dragAndDropModule: DragAndDrop;
116
- excelExportModule: ExcelExport;
117
- printModule: Print;
118
- viewOptions: {
119
- [key: string]: ViewsData[];
120
- };
121
- viewCollections: ViewsData[];
122
- viewIndex: number;
123
- activeViewOptions: ViewsData;
124
- eventFields: EventFieldsMapping;
125
- editorTitles: EventFieldsMapping;
126
- eventsData: Record<string, any>[];
127
- eventsProcessed: Record<string, any>[];
128
- overlapAppointments: Record<string, any>[];
129
- blockData: Record<string, any>[];
130
- blockProcessed: Record<string, any>[];
131
- resourceCollection: ResourcesModel[];
132
- currentAction: CurrentAction;
133
- quickPopup: QuickPopups;
134
- selectedElements: Element[];
135
- uiStateValues: UIStateArgs;
136
- internalTimeFormat: string;
137
- calendarUtil: CalendarUtil;
138
- scrollTop: number;
139
- scrollLeft: number;
140
- isPrinting: boolean;
141
- registeredTemplate: Object;
142
- adaptiveGroupIndex: number;
143
- activeEventTemplates: string[];
144
- /**
145
- * Sets the `width` of the Schedule component, accepting both string and number values.
146
- *
147
- * {% codeBlock src='schedule/width/index.md' %}{% endcodeBlock %}
148
- *
149
- * The string value can be either pixel or percentage format.
150
- * When set to `auto`, the Schedule width gets auto-adjusted and display its content related to the viewable screen size.
151
- *
152
- * @default 'auto'
153
- */
154
- width: string | number;
155
- /**
156
- * Sets the `height` of the Schedule component, accepting both string and number values.
157
- *
158
- * {% codeBlock src='schedule/height/index.md' %}{% endcodeBlock %}
159
- *
160
- * The string type includes either pixel or percentage values.
161
- * When `height` is set with specific pixel value, then the Schedule will be rendered to that specified space.
162
- * In case, if `auto` value is set, then the height of the Schedule gets auto-adjusted within the given container.
163
- *
164
- * @default 'auto'
165
- */
166
- height: string | number;
167
- /**
168
- * When set to `false`, hides the header bar of the Schedule from UI. By default,
169
- * the header bar holds the date and view navigation options, to which the user can add their own custom items onto it.
170
- *
171
- * @default true
172
- */
173
- showHeaderBar: boolean;
174
- /**
175
- * When set to `false`, hides the current time indicator from the Schedule. Otherwise,
176
- * it visually depicts the live current system time appropriately on the user interface.
177
- *
178
- * @default true
179
- */
180
- showTimeIndicator: boolean;
181
- /**
182
- * Defines whether to enable date navigations via swipe in touch devices or not.
183
- *
184
- * @default true
185
- */
186
- allowSwiping: boolean;
187
- /**
188
- * Specifies whether overlapping appointments are allowed within the same time slot in the Scheduler.
189
- *
190
- * @remarks
191
- * When set to `false`, the Scheduler enforces restrictions to prevent creating or displaying overlapping appointments within the same time duration.
192
- * This setting includes the following limitations:
193
- *
194
- * - **Initial Loading**: The alert for overlapping appointments will not display during the initial load. Overlapping events will be ignored in rendering, including occurrences.
195
- *
196
- * - **Dynamic Add/Edit**: When adding or editing events dynamically, overlapping validation is performed. If an overlap is detected for a single event, an alert will be shown, and the event will not be saved.
197
- *
198
- * For recurring events, an alert will be displayed, and the event will not be saved. To save recurring events while ignoring overlapping occurrences, trigger the `PopupOpen` event. The `Data` field will contain the parent recurrence data, and the `overlapEvents` field will contain the overlap events. Using these details, users can include exceptions in the recurrence events and save them with the `addEvent` method.
199
- *
200
- * - **Out-of-Date-Range Events**: The `allowOverlap` setting only prevents overlaps for events within the current view date range. To validate overlap events outside the current date range, use the `actionBegin` event to send a request to the server for validation and return a promise-based response. Assign this promise response to the `promise` field in `ActionEventArgs` to handle asynchronous server validation.
201
- *
202
- * @default true
203
- */
204
- allowOverlap: boolean;
205
- /**
206
- * Specifies the number of additional rows or columns to render outside the visible area during virtual scrolling.
207
- * This property helps in achieving smoother scrolling by pre-loading data just outside the visible region.
208
- *
209
- * @remarks
210
- * The default value is 3. Increasing this value can result in smoother scrolling but may impact performance
211
- * with larger datasets. Decreasing it can improve performance but may cause more frequent data fetches during scrolling.
212
- * This property only takes effect when `allowVirtualScrolling` is enabled for the current view.
213
- *
214
- * @default 3
215
- */
216
- overscanCount: number;
217
- /**
218
- * To render the custom toolbar items, the `toolbarItems` property can be used. It contains built-in and custom toolbar items.
219
- * To avail the built-in toolbar items, the below string values are assigned to the `name` property of the `ToolbarItemModel`.
220
- * * `Previous`: Schedule component navigates to the previous date from the current date.
221
- * * `Next`: Schedule component navigates to the next date from the current date.
222
- * * `Today`: Schedule component navigates to the current date from any date.
223
- * * `Views`: Schedule component render the defined view options in the toolbar. If view option is not defined, then it will render default view options in the Schedule.
224
- * * `DateRangeText`: Schedule component displays the current date text range.
225
- * * `NewEvent`: Schedule component render the icon to add a new event.
226
- *
227
- * @default []
228
- */
229
- toolbarItems: ToolbarItemModel[];
230
- /**
231
- * To set the active view on scheduler, the `currentView` property can be used and it usually accepts either of the following available
232
- * view options. The view option specified in this property will be initially loaded on the schedule.
233
- * * `Day`: Denotes Day view of the scheduler.
234
- * * `Week`: Denotes Week view of the scheduler.
235
- * * `WorkWeek`: Denotes Work Week view of the scheduler.
236
- * * `Month`: Denotes Month view of the scheduler.
237
- * * `Year`: Denotes Year view of the scheduler.
238
- * * `Agenda`: Denotes Agenda view of the scheduler.
239
- * * `MonthAgenda`: Denotes Month Agenda view of the scheduler.
240
- * * `TimelineDay`: Denotes Timeline Day view of the scheduler.
241
- * * `TimelineWeek`: Denotes Timeline Week view of the scheduler.
242
- * * `TimelineWorkWeek`: Denotes Timeline Work Week view of the scheduler.
243
- * * `TimelineMonth`: Denotes Timeline Month view of the scheduler.
244
- * * `TimelineYear`: Denotes Timeline Year view of the scheduler.
245
- *
246
- * {% codeBlock src='schedule/currentView/index.md' %}{% endcodeBlock %}
247
- *
248
- * @default 'Week'
249
- */
250
- currentView: View;
251
- /**
252
- * This property holds the views collection and its configurations. It accepts either the array of view names or the array of view
253
- * objects that holds different configurations for each views. By default,
254
- * Schedule displays all the views namely `Day`, `Week`, `Work Week`, `Month` and `Agenda`.
255
- *
256
- * Example for array of views:
257
- * {% codeBlock src="schedule/views/index.md" %}{% endcodeBlock %}
258
- *
259
- * Example for array of view objects:
260
- * {% codeBlock src='schedule/viewOption/index.md' %}{% endcodeBlock %}
261
- *
262
- * @default '["Day", "Week", "WorkWeek", "Month", "Agenda"]'
263
- */
264
- views: View[] | ViewsModel[];
265
- /**
266
- * To mark the active (current) date on the Schedule, `selectedDate` property can be defined.
267
- * Usually, it defaults to the current System date.
268
- *
269
- * {% codeBlock src='schedule/selectedDate/index.md' %}{% endcodeBlock %}
270
- *
271
- * @default 'new Date()'
272
- * @aspDefaultValue DateTime.Now
273
- */
274
- selectedDate: Date;
275
- /**
276
- * To define the minimum date on the Schedule, `minDate` property can be defined.
277
- * Usually, it defaults to the new Date(1900, 0, 1).
278
- *
279
- * {% codeBlock src='schedule/minDate/index.md' %}{% endcodeBlock %}
280
- *
281
- * @default new Date(1900, 0, 1)
282
- * @aspDefaultValue new DateTime(1900, 1, 1)
283
- */
284
- minDate: Date;
285
- /**
286
- * To define the maximum date on the Schedule, `maxDate` property can be defined.
287
- * Usually, it defaults to the new Date(2099, 11, 31).
288
- *
289
- * {% codeBlock src='schedule/maxDate/index.md' %}{% endcodeBlock %}
290
- *
291
- * @default new Date(2099, 11, 31)
292
- * @aspDefaultValue new DateTime(2099, 12, 31)
293
- */
294
- maxDate: Date;
295
- /**
296
- * By default, Schedule follows the date-format as per the default culture assigned to it.
297
- * It is also possible to manually set specific date format by using the `dateFormat` property.
298
- *
299
- * {% codeBlock src='schedule/dateFormat/index.md' %}{% endcodeBlock %}
300
- *
301
- * The format of the date range label in the header bar depends on the `dateFormat` value or else based on the
302
- * locale assigned to the Schedule.
303
- *
304
- * @default null
305
- */
306
- dateFormat: string;
307
- /**
308
- * It allows the Scheduler to display in other calendar modes.
309
- * By default, Scheduler is displayed in `Gregorian` calendar mode.
310
- *
311
- * {% codeBlock src='schedule/calendarMode/index.md' %}{% endcodeBlock %}
312
- *
313
- * To change the mode, you can set either `Gregorian` or `Islamic` as a value to this `calendarMode` property.
314
- *
315
- * @default 'Gregorian'
316
- */
317
- calendarMode: CalendarType;
318
- /**
319
- * When set to `false`, it hides the weekend days of a week from the Schedule. The days which are not defined in the working days
320
- * collection are usually treated as weekend days.
321
- *
322
- * Note: By default, this option is not applicable on `Work Week` view.
323
- * For example, if the working days are defined as [1, 2, 3, 4], then the remaining days of that week will be considered as
324
- * the weekend days and will be hidden on all the views.
325
- *
326
- * @default true
327
- */
328
- showWeekend: boolean;
329
- /**
330
- * This option allows the user to set the first day of a week on Schedule. It should be based on the locale set to it and each culture
331
- * defines its own first day of week values. If needed, the user can set it manually on his own by defining the value through
332
- * this property. It usually accepts the integer values, whereby 0 is always denoted as Sunday, 1 as Monday and so on.
333
- *
334
- * {% codeBlock src='schedule/firstDayOfWeek/index.md' %}{% endcodeBlock %}
335
- *
336
- * @default 0
337
- */
338
- firstDayOfWeek: number;
339
- /**
340
- * It allows the Scheduler to display week numbers based on following available week options. The week
341
- * option specified in this property will be initially loaded on the schedule.
342
- * * `FirstDay`: Denotes that the first week of the year starts on the first day of the year and ends before the following designated first day of the week.
343
- * * `FirstFourDayWeek`:Denotes that the first week of the year is the first week with four or more days before the designated first day of the week.
344
- * * `FirstFullWeek`: Denotes that the first week of the year begins on the first occurrence of the designated first day of the week on or after the first day of the year.
345
- *
346
- * {% codeBlock src='schedule/weekRule/index.md' %}{% endcodeBlock %}
347
- *
348
- * @default 'FirstDay'
349
- */
350
- weekRule: WeekRule;
351
- /**
352
- * It is used to set the working days on Schedule. The only days that are defined in this collection will be rendered on the `workWeek`
353
- * view whereas on other views, it will display all the usual days and simply highlights the working days with different shade.
354
- *
355
- * {% codeBlock src='schedule/workDays/index.md' %}{% endcodeBlock %}
356
- *
357
- * @default '[1, 2, 3, 4, 5]'
358
- * @aspType int[]
359
- */
360
- workDays: number[];
361
- /**
362
- * This option allows the user to set the number of months count to be displayed on the Schedule.
363
- *
364
- * {% codeBlock src='schedule/monthsCount/index.md' %}{% endcodeBlock %}
365
- *
366
- * @default 12
367
- * @aspType int
368
- */
369
- monthsCount: number;
370
- /**
371
- * It is used to specify the starting hour, from which the Schedule starts to display. It accepts the time string in a short skeleton
372
- * format and also, hides the time beyond the specified start time.
373
- *
374
- * {% codeBlock src='schedule/startHour/index.md' %}{% endcodeBlock %}
375
- *
376
- * @default '00:00'
377
- */
378
- startHour: string;
379
- /**
380
- * It is used to specify the end hour, at which the Schedule ends. It too accepts the time string in a short skeleton format.
381
- *
382
- * {% codeBlock src='schedule/endHour/index.md' %}{% endcodeBlock %}
383
- *
384
- * @default '24:00'
385
- */
386
- endHour: string;
387
- /**
388
- * By default, Schedule follows the time-format as per the default culture assigned to it.
389
- * It is also possible to manually set specific time format by using the `timeFormat` property.
390
- *
391
- * {% codeBlock src='schedule/timeFormat/index.md' %}{% endcodeBlock %}
392
- *
393
- * @default null
394
- */
395
- timeFormat: string;
396
- /**
397
- * Specifies whether to enable the rendering of untrusted HTML values in the Schedule component.
398
- * When this property is enabled, the component will sanitize any suspected untrusted strings and scripts before rendering them.
399
- *
400
- * @default true
401
- */
402
- enableHtmlSanitizer: boolean;
403
- /**
404
- * When set to `true`, If valid, the scroll on the all day row is activated when the all day row
405
- * height reaches the max height when the all day row is expanded.
406
- *
407
- * @default false
408
- */
409
- enableAllDayScroll: boolean;
410
- /**
411
- * When set to `true`, the header view navigations are listed under the popup and if we enable resource grouping, the compact view will be enabled.
412
- *
413
- * @default false
414
- */
415
- enableAdaptiveUI: boolean;
416
- /**
417
- * When set to `true`, allows the resizing of appointments. It allows the rescheduling of appointments either by changing the
418
- * start or end time by dragging the event resize handlers.
419
- *
420
- * @default true
421
- */
422
- allowResizing: boolean;
423
- /**
424
- * The working hours should be highlighted on Schedule with different color shade and an additional option must be provided to
425
- * highlight it or not. This functionality is handled through `workHours` property and the start work hour should be 9 AM by default
426
- * and end work hour should point to 6 PM. The start and end working hours needs to be provided as Time value of short skeleton type.
427
- *
428
- * {% codeBlock src='schedule/workHours/index.md' %}{% endcodeBlock %}
429
- *
430
- * @default { highlight: true, start: '09:00', end: '18:00' }
431
- */
432
- workHours: WorkHoursModel;
433
- /**
434
- * Allows to set different time duration on Schedule along with the customized grid count. It also has template option to
435
- * customize the time slots with required time values in its own format.
436
- *
437
- * {% codeBlock src='schedule/timeScale/index.md' %}{% endcodeBlock %}
438
- *
439
- * @default { enable: true, interval: 60, slotCount: 2, majorSlotTemplate: null, minorSlotTemplate: null }
440
- */
441
- timeScale: TimeScaleModel;
442
- /**
443
- * When set to `true`, allows the keyboard interaction to take place on Schedule.
444
- *
445
- * @default true
446
- */
447
- allowKeyboardInteraction: boolean;
448
- /**
449
- * When set to `true`, allows the appointments to move over the time slots. When an appointment is dragged, both its start
450
- * and end time tends to change simultaneously allowing it to reschedule the appointment on some other time.
451
- *
452
- * @default true
453
- */
454
- allowDragAndDrop: boolean;
455
- /**
456
- * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
457
- * the date header cells. The field that can be accessed via this template is `date`.
458
- *
459
- * {% codeBlock src='schedule/dateHeaderTemplate/index.md' %}{% endcodeBlock %}
460
- *
461
- * @default null
462
- * @angularType string | object
463
- * @reactType string | function | JSX.Element
464
- * @vueType string | function
465
- * @aspType string
466
- */
467
- dateHeaderTemplate: string | Function;
468
- /**
469
- * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto the header date range.
470
- *
471
- * @default null
472
- * @angularType string | object
473
- * @reactType string | function | JSX.Element
474
- * @vueType string | function
475
- * @aspType string
476
- */
477
- dateRangeTemplate: string | Function;
478
- /**
479
- * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
480
- * the month date cells. This template is only applicable for month view day cells.
481
- *
482
- * {% codeBlock src='schedule/cellHeaderTemplate/index.md' %}{% endcodeBlock %}
483
- *
484
- * @default null
485
- * @angularType string | object
486
- * @reactType string | function | JSX.Element
487
- * @vueType string | function
488
- * @aspType string
489
- */
490
- cellHeaderTemplate: string | Function;
491
- /**
492
- * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
493
- * the day header cells. This template is only applicable for year view header cells.
494
- *
495
- * {% codeBlock src='schedule/dayHeaderTemplate/index.md' %}{% endcodeBlock %}
496
- *
497
- * @default null
498
- * @angularType string | object
499
- * @reactType string | function | JSX.Element
500
- * @vueType string | function
501
- * @aspType string
502
- */
503
- dayHeaderTemplate: string | Function;
504
- /**
505
- * It accepts either the string or HTMLElement as template design content and parse it appropriately before displaying it onto
506
- * the month header cells. This template is only applicable for year view header cells.
507
- *
508
- * {% codeBlock src='schedule/monthHeaderTemplate/index.md' %}{% endcodeBlock %}
509
- *
510
- * @default null
511
- * @angularType string | object
512
- * @reactType string | function | JSX.Element
513
- * @vueType string | function
514
- * @aspType string
515
- */
516
- monthHeaderTemplate: string | Function;
517
- /**
518
- * The template option which is used to render the customized work cells on the Schedule. Here, the template accepts either
519
- * the string or HTMLElement as template design and then the parsed design is displayed onto the work cells.
520
- * The fields accessible via template are as follows.
521
- * * `date`: Returns the date of the cell.
522
- * * `groupIndex`: Returns the group index of the cell.
523
- * * `type`: Returns the type of the work cell.
524
- *
525
- * Refer to the below code snippet.
526
- *
527
- * {% codeBlock src='schedule/cellTemplate/index.md' %}{% endcodeBlock %}
528
- *
529
- * @default null
530
- * @angularType string | object
531
- * @reactType string | function | JSX.Element
532
- * @vueType string | function
533
- * @aspType string
534
- */
535
- cellTemplate: string | Function;
536
- /**
537
- * When set to `true`, makes the Schedule to render in a read only mode. No CRUD actions will be allowed at this time.
538
- *
539
- * @default false
540
- */
541
- readonly: boolean;
542
- /**
543
- * When set to `true`, displays a quick popup with cell or event details on single clicking over the cells or on events.
544
- * By default, it is set to `true`.
545
- *
546
- * @default true
547
- */
548
- showQuickInfo: boolean;
549
- /**
550
- * This property helps user to add/edit the event in inline. By default, it is set to `false`.
551
- *
552
- * @default false
553
- */
554
- allowInline: boolean;
555
- /**
556
- * This property helps user to allow/prevent the selection of multiple cells. By default, it is set to `true`.
557
- *
558
- * @default true
559
- */
560
- allowMultiCellSelection: boolean;
561
- /**
562
- * This property helps user to allow/prevent the selection of multiple days(rows). By default, it is set to `true`.
563
- *
564
- * @default true
565
- */
566
- allowMultiRowSelection: boolean;
567
- /**
568
- * This property helps to show quick popup after multiple cell selection. By default, it is set to `false`.
569
- *
570
- * @default false
571
- */
572
- quickInfoOnSelectionEnd: boolean;
573
- /**
574
- * When set to `true`, displays the week number of the current view date range. By default, it is set to `false`.
575
- *
576
- * @default false
577
- */
578
- showWeekNumber: boolean;
579
- /**
580
- * when set to `true`, allows the height of the work-cells to adjust automatically
581
- * based on the number of appointments present in those time ranges.
582
- *
583
- * @default false
584
- */
585
- rowAutoHeight: boolean;
586
- /**
587
- * This property helps to drag the multiple selected events. By default, it is set to `false`.
588
- *
589
- * @default false
590
- */
591
- allowMultiDrag: boolean;
592
- /**
593
- * This property helps render the year view customized months. By default, it is set to `0`.
594
- *
595
- * {% codeBlock src='schedule/firstMonthOfYear/index.md' %}{% endcodeBlock %}
596
- *
597
- * @default 0
598
- */
599
- firstMonthOfYear: number;
600
- /**
601
- * The template option to render the customized editor window. The form elements defined within this template should be accompanied
602
- * with `e-field` class, so as to fetch and process it from internally.
603
- *
604
- * {% codeBlock src='schedule/editorTemplate/index.md' %}{% endcodeBlock %}
605
- *
606
- * @default null
607
- * @angularType string | object
608
- * @reactType string | function | JSX.Element
609
- * @vueType string | function
610
- * @aspType string
611
- */
612
- editorTemplate: string | Function;
613
- /**
614
- * The template option to render the customized header of the editor window.
615
- *
616
- *
617
- * @default null
618
- * @angularType string | object
619
- * @reactType string | function | JSX.Element
620
- * @vueType string | function
621
- * @aspType string
622
- */
623
- editorHeaderTemplate: string | Function;
624
- /**
625
- * The template option to render the customized footer of the editor window.
626
- *
627
- *
628
- * @default null
629
- * @angularType string | object
630
- * @reactType string | function | JSX.Element
631
- * @vueType string | function
632
- * @aspType string
633
- */
634
- editorFooterTemplate: string | Function;
635
- /**
636
- * The template option to customize the quick window. The three sections of the quick popup whereas the header, content,
637
- * and footer can be easily customized with individual template option.
638
- *
639
- * {% codeBlock src='schedule/quickInfoTemplates/index.md' %}{% endcodeBlock %}
640
- *
641
- * @default null
642
- */
643
- quickInfoTemplates: QuickInfoTemplatesModel;
644
- /**
645
- * Sets the number of days to be displayed by default in Agenda View and in case of virtual scrolling,
646
- * the number of days will be fetched on each scroll-end based on this count.
647
- *
648
- * {% codeBlock src='schedule/agendaDaysCount/index.md' %}{% endcodeBlock %}
649
- *
650
- * @default 7
651
- */
652
- agendaDaysCount: number;
653
- /**
654
- * The days which does not has even a single event to display will be hidden from the UI of Agenda View by default.
655
- * When this property is set to `false`, the empty dates will also be displayed on the Schedule.
656
- *
657
- * @default true
658
- */
659
- hideEmptyAgendaDays: boolean;
660
- /**
661
- * The recurrence validation will be done by default. When this property is set to `false`, the recurrence validation will be skipped.
662
- *
663
- * @default true
664
- */
665
- enableRecurrenceValidation: boolean;
666
- /**
667
- * Schedule will be assigned with specific timezone, so as to display the events in it accordingly. By default,
668
- * Schedule dates are processed with System timezone, as no timezone will be assigned specifically to the Schedule at the initial time.
669
- * Whenever the Schedule is bound to remote data services, it is always recommended to set specific timezone to Schedule to make the
670
- * events on it to display on the same time irrespective of the system timezone. It usually accepts
671
- * the valid [IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) timezone names.
672
- *
673
- * {% codeBlock src='schedule/timezone/index.md' %}{% endcodeBlock %}
674
- *
675
- * @default null
676
- */
677
- timezone: string;
678
- /**
679
- * Complete set of settings related to Schedule events to bind it to local or remote dataSource, map applicable database fields and
680
- * other validation to be carried out on the available fields.
681
- *
682
- * {% codeBlock src='schedule/eventSettings/index.md' %}{% endcodeBlock %}
683
- *
684
- * @default null
685
- */
686
- eventSettings: EventSettingsModel;
687
- /**
688
- * Allows to define the collection of timezone items in the Schedule. Only the items bound to this property get listed out in the timezone dropdown of the appointment window.
689
- *
690
- * {% codeBlock src='schedule/timezoneDatasource/index.md' %}{% endcodeBlock %}
691
- *
692
- * @default timezoneData
693
- */
694
- timezoneDataSource: TimezoneFields[];
695
- /**
696
- * Template option to customize the resource header bar. Here, the template accepts either
697
- * the string or HTMLElement as template design and then the parsed design is displayed onto the resource header cells.
698
- * The following can be accessible via template.
699
- * * `resource` - All the resource fields.
700
- * * `resourceData` - Object collection of current resource.
701
- *
702
- * Refer to the below code snippet.
703
- *
704
- * {% codeBlock src='schedule/resourceHeaderTemplate/index.md' %}{% endcodeBlock %}
705
- *
706
- * @default null
707
- * @angularType string | object
708
- * @reactType string | function | JSX.Element
709
- * @vueType string | function
710
- * @aspType string
711
- */
712
- resourceHeaderTemplate: string | Function;
713
- /**
714
- * Template option to customize the header indent bar. Here, the template accepts either
715
- * the string or HTMLElement as template design and then the parsed design is displayed onto the header indent cell.
716
- *
717
- * Refer to the below code snippet.
718
- *
719
- * {% codeBlock src='schedule/headerIndentTemplate/index.md' %}{% endcodeBlock %}
720
- *
721
- * @default null
722
- * @angularType string | object
723
- * @reactType string | function | JSX.Element
724
- * @vueType string | function
725
- * @aspType string
726
- */
727
- headerIndentTemplate: string | Function;
728
- /**
729
- * Allows defining the group related settings of multiple resources. When this property is non-empty, it means
730
- * that the resources will be grouped on the schedule layout based on the provided resource names.
731
- *
732
- * {% codeBlock src='schedule/group/index.md' %}{% endcodeBlock %}
733
- *
734
- * @default {}
735
- */
736
- group: GroupModel;
737
- /**
738
- * Allows defining the collection of resources to be displayed on the Schedule. The resource collection needs to be defined
739
- * with unique resource names to identify it along with the respective dataSource and field mapping options.
740
- *
741
- * {% codeBlock src='schedule/resources/index.md' %}{% endcodeBlock %}
742
- *
743
- * @default []
744
- */
745
- resources: ResourcesModel[];
746
- /**
747
- * Allows defining the collection of custom header rows to display the year, month, week, date and hour label as an individual row
748
- * on the timeline view of the scheduler.
749
- *
750
- * {% codeBlock src='schedule/headerRows/index.md' %}{% endcodeBlock %}
751
- *
752
- * @default []
753
- */
754
- headerRows: HeaderRowsModel[];
755
- /**
756
- * It is used to customize the Schedule which accepts custom CSS class names that defines specific user-defined styles and themes
757
- * to be applied on the Schedule element.
758
- *
759
- * {% codeBlock src='schedule/cssClass/index.md' %}{% endcodeBlock %}
760
- *
761
- * @default null
762
- */
763
- cssClass: string;
764
- /**
765
- * Enables clipboard functionality for appointments, allowing them to be copied using keyboard shortcuts and pasted onto the Scheduler.
766
- * When set to `true`, users can use keyboard shortcuts to cut, copy appointments and paste them into different time slots or calendars.
767
- *
768
- * @default false
769
- * @remarks The `allowKeyboardInteraction` property should be enabled to use the keyboard shortcuts.
770
- */
771
- allowClipboard: boolean;
772
- /**
773
- * It enables the external drag and drop support for appointments on scheduler, to be able to move them out of the scheduler layout.
774
- * When the drag area is explicitly set with specific DOM element name, the appointments can be dragged anywhere within the specified drag area location.
775
- *
776
- * {% codeBlock src='schedule/eventDragArea/index.md' %}{% endcodeBlock %}
777
- *
778
- * @default null
779
- */
780
- eventDragArea: string;
781
- /**
782
- * Triggers after the scheduler component is created.
783
- *
784
- * @event 'created'
785
- */
786
- created: EmitType<Record<string, any>>;
787
- /**
788
- * Triggers when the scheduler component is destroyed.
789
- *
790
- * @event 'destroyed'
791
- */
792
- destroyed: EmitType<Record<string, any>>;
793
- /**
794
- * Triggers when the scheduler cells are single clicked or on single tap on the same cells in mobile devices.
795
- *
796
- * @event 'cellClick'
797
- */
798
- cellClick: EmitType<CellClickEventArgs>;
799
- /**
800
- * Triggers when the scheduler cells are double clicked.
801
- *
802
- * @event 'cellDoubleClick'
803
- */
804
- cellDoubleClick: EmitType<CellClickEventArgs>;
805
- /**
806
- * Triggers when the more events indicator are clicked.
807
- *
808
- * @event 'moreEventsClick'
809
- */
810
- moreEventsClick: EmitType<MoreEventsClickArgs>;
811
- /**
812
- * Triggers when the scheduler elements are hovered.
813
- *
814
- * @event 'hover'
815
- */
816
- hover: EmitType<HoverEventArgs>;
817
- /**
818
- * Triggers when multiple cells or events are selected on the Scheduler.
819
- *
820
- * @event 'select'
821
- */
822
- select: EmitType<SelectEventArgs>;
823
- /**
824
- * Triggers on beginning of every scheduler action.
825
- *
826
- * @event 'actionBegin'
827
- */
828
- actionBegin: EmitType<ActionEventArgs>;
829
- /**
830
- * Triggers on successful completion of the scheduler actions.
831
- *
832
- * @event 'actionComplete'
833
- */
834
- actionComplete: EmitType<ActionEventArgs>;
835
- /**
836
- * Triggers when a scheduler action gets failed or interrupted and an error information will be returned.
837
- *
838
- * @event 'actionFailure'
839
- */
840
- actionFailure: EmitType<ActionEventArgs>;
841
- /**
842
- * Triggers before the date or view navigation takes place on scheduler.
843
- *
844
- * @event 'navigating'
845
- */
846
- navigating: EmitType<NavigatingEventArgs>;
847
- /**
848
- * Triggers before each element of the schedule rendering on the page.
849
- *
850
- * @event 'renderCell'
851
- */
852
- renderCell: EmitType<RenderCellEventArgs>;
853
- /**
854
- * Triggers when the events are single clicked or on single tapping the events on the mobile devices.
855
- *
856
- * @event 'eventClick'
857
- */
858
- eventClick: EmitType<EventClickArgs>;
859
- /**
860
- * Triggers when the events are double clicked or on double tapping the events on the desktop devices.
861
- *
862
- * @event 'eventDoubleClick'
863
- */
864
- eventDoubleClick: EmitType<EventClickArgs>;
865
- /**
866
- * Triggers before each of the event getting rendered on the scheduler user interface.
867
- *
868
- * @event 'eventRendered'
869
- */
870
- eventRendered: EmitType<EventRenderedArgs>;
871
- /**
872
- * Triggers before the data binds to the scheduler.
873
- *
874
- * @event 'dataBinding'
875
- */
876
- dataBinding: EmitType<ReturnType>;
877
- /**
878
- * Triggers before any of the scheduler popups opens on the page.
879
- *
880
- * @event 'popupOpen'
881
- */
882
- popupOpen: EmitType<PopupOpenEventArgs>;
883
- /**
884
- * Triggers before any of the scheduler popups close on the page.
885
- *
886
- * @event 'popupClose'
887
- */
888
- popupClose: EmitType<PopupCloseEventArgs>;
889
- /**
890
- * Triggers when an appointment is started to drag.
891
- *
892
- * @event 'dragStart'
893
- */
894
- dragStart: EmitType<DragEventArgs>;
895
- /**
896
- * Triggers when an appointment is being in a dragged state.
897
- *
898
- * @event 'drag'
899
- */
900
- drag: EmitType<DragEventArgs>;
901
- /**
902
- * Triggers when the dragging of appointment is stopped.
903
- *
904
- * @event 'dragStop'
905
- */
906
- dragStop: EmitType<DragEventArgs>;
907
- /**
908
- * Triggers when an appointment is started to resize.
909
- *
910
- * @event 'resizeStart'
911
- */
912
- resizeStart: EmitType<ResizeEventArgs>;
913
- /**
914
- * Triggers when an appointment is being in a resizing action.
915
- *
916
- * @event 'resizing'
917
- */
918
- resizing: EmitType<ResizeEventArgs>;
919
- /**
920
- * Triggers when the resizing of appointment is stopped.
921
- *
922
- * @event 'resizeStop'
923
- */
924
- resizeStop: EmitType<ResizeEventArgs>;
925
- /**
926
- * Triggers when the scroll action is started.
927
- * This event triggers only when `allowVirtualScrolling` or `enableLazyLoading` properties are enabled along with resource grouping.
928
- *
929
- * @event 'virtualScrollStart'
930
- */
931
- virtualScrollStart: EmitType<ScrollEventArgs>;
932
- /**
933
- * Triggers when the scroll action is stopped.
934
- * This event triggers only when `allowVirtualScrolling` or `enableLazyLoading` properties are enabled along with resource grouping.
935
- *
936
- * @event 'virtualScrollStop'
937
- */
938
- virtualScrollStop: EmitType<ScrollEventArgs>;
939
- /**
940
- * Triggers once the event data is bound to the scheduler.
941
- *
942
- * @event 'dataBound'
943
- */
944
- dataBound: EmitType<ReturnType>;
945
- /**
946
- * Triggers once when pasting an event on the scheduler.
947
- *
948
- * @event 'beforePaste'
949
- */
950
- beforePaste: EmitType<BeforePasteEventArgs>;
951
- /**
952
- * Triggers when the print event is called.
953
- *
954
- * @event 'beforePrint'
955
- */
956
- beforePrint: EmitType<BeforePrintEventArgs>;
957
- /**
958
- * Triggers before the Excel export process begins.
959
- *
960
- * @event 'excelExport'
961
- */
962
- excelExport: EmitType<ExcelExportEventArgs>;
963
- /**
964
- * Triggers before the tooltip is rendered.
965
- *
966
- * @event 'tooltipOpen'
967
- */
968
- tooltipOpen: EmitType<TooltipOpenEventArgs>;
969
- /**
970
- * Constructor for creating the Schedule widget
971
- *
972
- * @param {ScheduleModel} options Accepts the schedule model properties to initiate the rendering
973
- * @param {string | HTMLElement} element Accepts the DOM element reference
974
- */
975
- constructor(options?: ScheduleModel, element?: string | HTMLElement);
976
- /**
977
- * Core method that initializes the control rendering.
978
- *
979
- * @returns {void}
980
- * @private
981
- */
982
- render(): void;
983
- private renderTableContainer;
984
- getEventTemplateName(resIndex: number): string;
985
- /**
986
- * Method to get element width
987
- *
988
- * @param {HTMLElement} element Accepts the DOM element
989
- * @returns {number} Returns the width of the given element
990
- * @private
991
- */
992
- getElementWidth(element: HTMLElement): number;
993
- /**
994
- * Method to get element height
995
- *
996
- * @param {HTMLElement} element Accepts the DOM element
997
- * @returns {number} Returns the Height of the given element
998
- * @private
999
- */
1000
- getElementHeight(element: HTMLElement): number;
1001
- /**
1002
- * Method to get height from element
1003
- *
1004
- * @param {Element} element Accepts the DOM element
1005
- * @param {string} elementClass Accepts the element class
1006
- * @returns {number} Returns the height of the element
1007
- * @private
1008
- */
1009
- getElementHeightFromClass(element: Element, elementClass: string): number;
1010
- /**
1011
- * Method to render react templates
1012
- *
1013
- * @param {Function} callback - Specifies the callBack method
1014
- * @returns {void}
1015
- * @private
1016
- */
1017
- renderTemplates(callback?: Function): void;
1018
- /**
1019
- * Method to reset react templates
1020
- *
1021
- * @param {string[]} templates Accepts the template ID
1022
- * @returns {void}
1023
- * @private
1024
- */
1025
- resetTemplates(templates?: string[]): void;
1026
- /**
1027
- * This method renders untrusted strings and scripts securely by sanitizing them first.
1028
- *
1029
- * @param {string} value - A string value representing the HTML string value to be sanitized.
1030
- * @param {HTMLElement} element - An HTML element to which the sanitized or unsanitized HTML string will be assigned.
1031
- * @returns {void}
1032
- * @private
1033
- */
1034
- sanitize(value: string, element: HTMLElement): void;
1035
- private initializeResources;
1036
- private destroyEditorWindow;
1037
- /**
1038
- * Method to render the layout elements
1039
- *
1040
- * @param {boolean} isLayoutOnly Accepts the boolean value to render layout or not
1041
- * @returns {void}
1042
- * @private
1043
- */
1044
- renderElements(isLayoutOnly: boolean): void;
1045
- private validateDate;
1046
- private getViewIndex;
1047
- private setViewOptions;
1048
- private getActiveViewOptions;
1049
- private initializeDataModule;
1050
- private setEditorTitles;
1051
- private initializeView;
1052
- private initializeTemplates;
1053
- private initializePopups;
1054
- /**
1055
- * Method to get day names
1056
- *
1057
- * @param {string} type Accepts the day name
1058
- * @returns {string[]} Returns the collection of day names
1059
- * @private
1060
- */
1061
- getDayNames(type: string): string[];
1062
- private setCldrTimeFormat;
1063
- /**
1064
- * Method to get calendar mode
1065
- *
1066
- * @returns {string} Returns the calendar mode
1067
- * @private
1068
- */
1069
- getCalendarMode(): string;
1070
- /**
1071
- * Method to get time in string
1072
- *
1073
- * @param {Date} date Accepts the date object
1074
- * @returns {string} Returns the time in string
1075
- * @private
1076
- */
1077
- getTimeString(date: Date): string;
1078
- /**
1079
- * Method to get date object
1080
- *
1081
- * @param {Date} date Accepts the date object
1082
- * @returns {Date} Returns the date object
1083
- * @private
1084
- */
1085
- getDateTime(date: Date): Date;
1086
- private setCalendarMode;
1087
- /**
1088
- * Method to change the current view
1089
- *
1090
- * @param {View} view Accepts the view name
1091
- * @param {Event} event Accepts the event object
1092
- * @param {boolean} muteOnChange Accepts the value to enable or disable mute on change
1093
- * @param {number} index Accepts the index value
1094
- * @returns {void}
1095
- * @private
1096
- */
1097
- changeView(view: View, event?: Event, muteOnChange?: boolean, index?: number): void;
1098
- /**
1099
- * Method to change the view date
1100
- *
1101
- * @param {Date} selectedDate Accepts the selected date
1102
- * @param {Event} event Accepts the event object
1103
- * @returns {void}
1104
- * @private
1105
- */
1106
- changeDate(selectedDate: Date, event?: Event): void;
1107
- /**
1108
- * Method to validate min and max date
1109
- *
1110
- * @param {Date} date Accepts the date object
1111
- * @returns {boolean} Returns the boolean result to validate the min and max date
1112
- * @private
1113
- */
1114
- isMinMaxDate(date?: Date): boolean;
1115
- /**
1116
- * Method to validate the selected date
1117
- *
1118
- * @param {Date} date Accepts the date object
1119
- * @returns {boolean} Returns the boolean value for given date is selected date or not
1120
- * @private
1121
- */
1122
- isSelectedDate(date: Date): boolean;
1123
- /**
1124
- * Method to get the current time
1125
- *
1126
- * @param {Date} date Accepts the date object
1127
- * @returns {Date} Returns the date object after performing the timezone conversion
1128
- * @private
1129
- */
1130
- getCurrentTime(date?: Date): Date;
1131
- /** Method to get navigate view
1132
- *
1133
- * @returns {View} Return the navigate view name
1134
- * @private
1135
- */
1136
- getNavigateView(): View;
1137
- private animateLayout;
1138
- /**
1139
- * To provide the array of modules needed for control rendering
1140
- *
1141
- * @returns {ModuleDeclaration[]} Returns the declared modules
1142
- * @private
1143
- */
1144
- requiredModules(): ModuleDeclaration[];
1145
- /**
1146
- * Initializes the values of private members.
1147
- *
1148
- * @returns {void}
1149
- * @private
1150
- */
1151
- protected preRender(): void;
1152
- private getDefaultLocale;
1153
- private wireEvents;
1154
- /**
1155
- * Method to remove selected class
1156
- *
1157
- * @returns {void}
1158
- * @private
1159
- */
1160
- removeSelectedClass(): void;
1161
- /**
1162
- * Method to add selected class
1163
- *
1164
- * @param {HTMLTableCellElement[]} cells Accepts the collection of elements
1165
- * @param {HTMLTableCellElement} focusCell Accepts the focus element
1166
- * @param {boolean} isPreventScroll Accepts the boolean value to prevent scroll
1167
- * @returns {void}
1168
- * @private
1169
- */
1170
- addSelectedClass(cells: HTMLTableCellElement[], focusCell: HTMLTableCellElement, isPreventScroll?: boolean): void;
1171
- /**
1172
- * Method to select cell
1173
- *
1174
- * @param {HTMLElement | HTMLTableCellElement} element Accepts the select element
1175
- * @returns {void}
1176
- * @private
1177
- */
1178
- selectCell(element: HTMLElement & HTMLTableCellElement): void;
1179
- /**
1180
- * Method to get all day row element
1181
- *
1182
- * @returns {Element} Returns the all day row element
1183
- * @private
1184
- */
1185
- getAllDayRow(): Element;
1186
- /**
1187
- * Method to get content table element
1188
- *
1189
- * @returns {HTMLElement} Returns the content table element
1190
- * @private
1191
- */
1192
- getContentTable(): HTMLElement;
1193
- /**
1194
- * Method to get all content table rows
1195
- *
1196
- * @returns {HTMLElement[]} Returns the content table rows
1197
- * @private
1198
- */
1199
- getTableRows(): HTMLElement[];
1200
- /**
1201
- * Method to get work cell elements
1202
- *
1203
- * @returns {Element[]} Returns the all work cell elements
1204
- * @private
1205
- */
1206
- getWorkCellElements(): Element[];
1207
- /**
1208
- * Method to get the index from date collection
1209
- *
1210
- * @param {Date[]} collection Accepts the collections of date
1211
- * @param {Date} date Accepts the date object
1212
- * @returns {number} Returns the index compared date with date collections
1213
- * @private
1214
- */
1215
- getIndexOfDate(collection: Date[], date: Date): number;
1216
- /**
1217
- * Method to find all day cell
1218
- *
1219
- * @param {Element} td Accepts the DOM Element
1220
- * @returns {boolean} Returns the boolean value
1221
- * @private
1222
- */
1223
- isAllDayCell(td: Element): boolean;
1224
- /**
1225
- * Method to get date from element
1226
- *
1227
- * @param {Element} td Accepts the DOM element
1228
- * @returns {Date} Returns the date object
1229
- * @private
1230
- */
1231
- getDateFromElement(td: Element): Date;
1232
- /**
1233
- * Method to get target element from given selector
1234
- *
1235
- * @param {string} selector Accepts the element selector
1236
- * @param {number} left Accepts the pageX value
1237
- * @param {number} top Accepts the pageY value
1238
- * @returns {Element[]} Returns the collection of elements based on the given selector
1239
- * @private
1240
- */
1241
- getTargetElement(selector: string, left: number, top: number): Element[];
1242
- /**
1243
- * Method to process cell header template
1244
- *
1245
- * @returns {CallbackFunction} Returns the callback function
1246
- * @private
1247
- */
1248
- getCellHeaderTemplate(): CallbackFunction;
1249
- /**
1250
- * Method to process cell header template in year view.
1251
- *
1252
- * @returns {CallbackFunction} Returns the callback function
1253
- * @private
1254
- */
1255
- getDayHeaderTemplate(): CallbackFunction;
1256
- /**
1257
- * Method to process cell header template in year view.
1258
- *
1259
- * @returns {CallbackFunction} Returns the callback function
1260
- * @private
1261
- */
1262
- getMonthHeaderTemplate(): CallbackFunction;
1263
- /**
1264
- * Method to process cell template
1265
- *
1266
- * @returns {CallbackFunction} Returns the callback function
1267
- * @private
1268
- */
1269
- getCellTemplate(): CallbackFunction;
1270
- /**
1271
- * Method to process date header template
1272
- *
1273
- * @returns {CallbackFunction} Returns the callback function
1274
- * @private
1275
- */
1276
- getDateHeaderTemplate(): CallbackFunction;
1277
- /**
1278
- * Method to process date range template
1279
- *
1280
- * @returns {CallbackFunction} Returns the callback function
1281
- * @private
1282
- */
1283
- getDateRangeTemplate(): CallbackFunction;
1284
- /**
1285
- * Method to process major slot template
1286
- *
1287
- * @returns {CallbackFunction} Returns the callback function
1288
- * @private
1289
- */
1290
- getMajorSlotTemplate(): CallbackFunction;
1291
- /**
1292
- * Method to process minor slot template
1293
- *
1294
- * @returns {CallbackFunction} Returns the callback function
1295
- * @private
1296
- */
1297
- getMinorSlotTemplate(): CallbackFunction;
1298
- /**
1299
- * Method to process appointment template
1300
- *
1301
- * @returns {CallbackFunction} Returns the callback function
1302
- * @private
1303
- */
1304
- getAppointmentTemplate(): CallbackFunction;
1305
- /**
1306
- * Method to process appointment tooltip template
1307
- *
1308
- * @returns {CallbackFunction} Returns the callback function
1309
- * @private
1310
- */
1311
- getEventTooltipTemplate(): CallbackFunction;
1312
- /**
1313
- * Method to process header tooltip template
1314
- *
1315
- * @returns {CallbackFunction} Returns the callback function
1316
- * @private
1317
- */
1318
- getHeaderTooltipTemplate(): CallbackFunction;
1319
- /**
1320
- * Method to process editor template
1321
- *
1322
- * @returns {CallbackFunction} Returns the callback function
1323
- * @private
1324
- */
1325
- getEditorTemplate(): CallbackFunction;
1326
- /**
1327
- * Method to process editor header template
1328
- *
1329
- * @returns {CallbackFunction} Returns the callback function
1330
- * @private
1331
- */
1332
- getEditorHeaderTemplate(): CallbackFunction;
1333
- /**
1334
- * Method to process editor footer template
1335
- *
1336
- * @returns {CallbackFunction} Returns the callback function
1337
- * @private
1338
- */
1339
- getEditorFooterTemplate(): CallbackFunction;
1340
- /**
1341
- * Method to process quick info header template
1342
- *
1343
- * @returns {CallbackFunction} Returns the callback function
1344
- * @private
1345
- */
1346
- getQuickInfoTemplatesHeader(): CallbackFunction;
1347
- /**
1348
- * Method to process quick info content template
1349
- *
1350
- * @returns {CallbackFunction} Returns the callback function
1351
- * @private
1352
- */
1353
- getQuickInfoTemplatesContent(): CallbackFunction;
1354
- /**
1355
- * Method to process quick info footer template
1356
- *
1357
- * @returns {CallbackFunction} Returns the callback function
1358
- * @private
1359
- */
1360
- getQuickInfoTemplatesFooter(): CallbackFunction;
1361
- /**
1362
- * Method to process resource header template
1363
- *
1364
- * @returns {CallbackFunction} Returns the callback function
1365
- * @private
1366
- */
1367
- getResourceHeaderTemplate(): CallbackFunction;
1368
- /**
1369
- * Method to process indent template
1370
- *
1371
- * @returns {CallbackFunction} Returns the callback function
1372
- * @private
1373
- */
1374
- getHeaderIndentTemplate(): CallbackFunction;
1375
- /**
1376
- * Method to get dynamic CSS properties
1377
- *
1378
- * @returns {ScrollCss} Returns the CSS properties dynamically
1379
- * @private
1380
- */
1381
- getCssProperties(): ScrollCss;
1382
- /**
1383
- * Method to remove new event element in adaptive mode
1384
- *
1385
- * @returns {void}
1386
- * @private
1387
- */
1388
- removeNewEventElement(): void;
1389
- /**
1390
- * Method to get start end time from string
1391
- *
1392
- * @param {string} startEndTime Accepts the start end time string value
1393
- * @returns {Date} Returns the date object
1394
- * @private
1395
- */
1396
- getStartEndTime(startEndTime: string): Date;
1397
- private onDocumentClick;
1398
- private onDocumentPaste;
1399
- private onScheduleResize;
1400
- /**
1401
- * Method to process the templates
1402
- *
1403
- * @param {string | Function} template Accepts the template in string
1404
- * @returns {CallbackFunction} Returns the callback function
1405
- * @private
1406
- */
1407
- templateParser(template: string | Function): CallbackFunction;
1408
- /**
1409
- * Retrieves the selected cells.
1410
- *
1411
- * @returns {Element[]} The elements of currently selected cells will be returned.
1412
- * @private
1413
- */
1414
- getSelectedCells(): Element[];
1415
- /**
1416
- * Method to generate the announcement string
1417
- *
1418
- * @param {Object} event Accepts the event object
1419
- * @param {string} subject Accepts the subject text
1420
- * @returns {string} Returns the announcement string
1421
- * @private
1422
- */
1423
- getAnnouncementString(event: Record<string, any>, subject?: string): string;
1424
- /**
1425
- * Method to process the element boundary validation
1426
- *
1427
- * @param {number} pageY Accepts the pageY value
1428
- * @param {number} pageX Accepts the pageX value
1429
- * @returns {ResizeEdges} Returns the boundary validation object
1430
- * @private
1431
- */
1432
- boundaryValidation(pageY: number, pageX: number): ResizeEdges;
1433
- /**
1434
- * Method to get the week number.
1435
- *
1436
- * @param {Date[]} dates Accepts the date collections
1437
- * @returns {number} Returns the week number
1438
- * @private
1439
- */
1440
- getWeekNumberContent(dates: Date[]): string;
1441
- /**
1442
- * Method to render the header indent template.
1443
- *
1444
- * @param {TdData} data Accepts the td data
1445
- * @param {Element} td Accepts the td element
1446
- * @returns {void}
1447
- * @private
1448
- */
1449
- renderHeaderIndentTemplate(data: TdData, td: Element): void;
1450
- /**
1451
- * Method to check for refreshing the targeted resource row events.
1452
- *
1453
- * @returns {boolean} Returns the boolean value
1454
- * @private
1455
- */
1456
- isSpecificResourceEvents(): boolean;
1457
- private unWireEvents;
1458
- /**
1459
- * Core method to return the component name.
1460
- *
1461
- * @returns {string} Returns the module name
1462
- * @private
1463
- */
1464
- getModuleName(): string;
1465
- /**
1466
- * Returns the properties to be maintained in the persisted state.
1467
- *
1468
- * @returns {string} Returns the persistance data
1469
- * @private
1470
- */
1471
- protected getPersistData(): string;
1472
- /**
1473
- * Called internally, if any of the property value changed.
1474
- *
1475
- * @returns {void}
1476
- * @private
1477
- */
1478
- onPropertyChanged(newProp: ScheduleModel, oldProp: ScheduleModel): void;
1479
- private propertyChangeAction;
1480
- private allDayRowScrollUpdate;
1481
- private extendedPropertyChange;
1482
- private setRtlClass;
1483
- private onGroupSettingsPropertyChanged;
1484
- private onEventSettingsPropertyChanged;
1485
- private destroyHeaderModule;
1486
- private destroyPopups;
1487
- /**
1488
- * Allows to show the spinner on schedule at the required scenarios.
1489
- *
1490
- * @function showSpinner
1491
- * @returns {void}
1492
- */
1493
- showSpinner(): void;
1494
- /**
1495
- * When the spinner is shown manually using `showSpinner` method, it can be hidden using this `hideSpinner` method.
1496
- *
1497
- * @function hideSpinner
1498
- * @returns {void}
1499
- */
1500
- hideSpinner(): void;
1501
- /**
1502
- * Sets different working hours on the required working days by accepting the required start and end time as well as the date collection
1503
- * as its parameters.
1504
- *
1505
- * @function setWorkHours
1506
- * @param {Date} dates Collection of dates on which the given start and end hour range needs to be applied.
1507
- * @param {string} start Defines the work start hour.
1508
- * @param {string} end Defines the work end hour.
1509
- * @param {number} groupIndex Defines the resource index from last level.
1510
- * @returns {void}
1511
- */
1512
- setWorkHours(dates: Date[], start: string, end: string, groupIndex?: number): void;
1513
- /**
1514
- * Removes or resets different working hours on the required working days by accepting the required start and end time as well as the
1515
- * date collection as its parameters.
1516
- * if no parameters has been passed to this function, it will remove all the work hours.
1517
- *
1518
- * @param {Date} dates Collection of dates on which the given start and end hour range need to be applied.
1519
- * @param {string} start Defines the work start hour.
1520
- * @param {string} end Defines the work end hour.
1521
- * @param {number} groupIndex Defines the resource index from last level.
1522
- * @returns {void}
1523
- */
1524
- resetWorkHours(dates?: Date[], start?: string, end?: string, groupIndex?: number): void;
1525
- private getWorkHourCells;
1526
- /**
1527
- * Retrieves the start and end time information of the specific cell element.
1528
- *
1529
- * @function getCellDetails
1530
- * @param {Element | Element[]} tdCol Accepts the single or collection of elements.
1531
- * @returns {CellClickEventArgs} Object An object holding the startTime, endTime and all-day information along with the target HTML element will be returned.
1532
- */
1533
- getCellDetails(tdCol: Element | Element[]): CellClickEventArgs;
1534
- /**
1535
- * Retrieves the selected cell elements.
1536
- *
1537
- * @function getSelectedElements
1538
- * @returns {Element[]} The elements of currently selected cells will be returned.
1539
- */
1540
- getSelectedElements(): Element[];
1541
- /**
1542
- * To get the resource collection
1543
- *
1544
- * @function getResourceCollections
1545
- * @returns {ResourcesModel[]} Returns the resource collections
1546
- */
1547
- getResourceCollections(): ResourcesModel[];
1548
- /**
1549
- * To set the resource collection
1550
- *
1551
- * @function setResourceCollections
1552
- * @param {ResourcesModel[]} resourceCol Accepts the resource collections in ResourcesModel type
1553
- * @param {boolean} isEventDataRefresh Accepts the boolean to refresh the appointment data source from remote or local
1554
- * @returns {void}
1555
- */
1556
- setResourceCollections(resourceCol: ResourcesModel[], isEventDataRefresh?: boolean): void;
1557
- /**
1558
- * Current View could be change based on the provided parameters.
1559
- *
1560
- * @function changeCurrentView
1561
- * @param {View} viewName Accept the view in the viewCollections.
1562
- * @param {number} viewIndex Accept the viewIndex in the viewCollections.
1563
- * @returns {void}
1564
- */
1565
- changeCurrentView(viewName: View, viewIndex?: number): void;
1566
- /**
1567
- * Return the current view Index.
1568
- *
1569
- * @function getCurrentViewIndex
1570
- * @returns {number} Returns the view index
1571
- */
1572
- getCurrentViewIndex(): number;
1573
- /**
1574
- * Retrieves the resource details based on the provided resource index.
1575
- *
1576
- * @param {number} index index of the resources at the last level.
1577
- * @returns {ResourceDetails} Object An object holding the details of resource and resourceData.
1578
- */
1579
- getResourcesByIndex(index: number): ResourceDetails;
1580
- /**
1581
- * This method allows to expand the resource that available on the scheduler.
1582
- *
1583
- * @function expandResource
1584
- * @param {string | number} resourceId Accepts the resource id in either string or number type
1585
- * @param {string} name Accepts the name of the resource collection
1586
- * @returns {void}
1587
- */
1588
- expandResource(resourceId: string | number, name: string): void;
1589
- /**
1590
- * This method allows to collapse the resource that available on the scheduler.
1591
- *
1592
- * @function collapseResource
1593
- * @param {string | number} resourceId Accepts the resource id in either string or number type
1594
- * @param {string} name Accepts the name of the resource collection
1595
- * @returns {void}
1596
- */
1597
- collapseResource(resourceId: string | number, name: string): void;
1598
- /**
1599
- * Scrolls the Schedule content area to the specified time.
1600
- *
1601
- * @function scrollTo
1602
- * @param {string} hour Accepts the time value in the skeleton format of 'Hm'.
1603
- * @param {Date} scrollDate Accepts the date object value.
1604
- * @returns {void}
1605
- */
1606
- scrollTo(hour: string, scrollDate?: Date): void;
1607
- /**
1608
- * This method allows scroll to the position of the any resources that available on the scheduler.
1609
- * This method is applicable for without Agenda and Month agenda views of the schedule.
1610
- *
1611
- * @function scrollToResource
1612
- * @param {string | number} resourceId Accepts the resource id in either string or number type
1613
- * @param {string} groupName Accepts the name of the resource collection
1614
- * @returns {void}
1615
- */
1616
- scrollToResource(resourceId: string | number, groupName?: string): void;
1617
- /**
1618
- * Exports the Scheduler events to a calendar (.ics) file. By default, the calendar is exported with a file name `Calendar.ics`.
1619
- * To change this file name on export, pass the custom string value as `fileName` to get the file downloaded with this provided name.
1620
- *
1621
- * @function exportToICalendar
1622
- * @param {string} fileName Accepts the string value.
1623
- * @param {Object[]} customData Accepts the collection of objects.
1624
- * @returns {void}
1625
- */
1626
- exportToICalendar(fileName?: string, customData?: Record<string, any>[]): void;
1627
- /**
1628
- * Imports the events from an .ics file downloaded from any of the calendars like Google or Outlook into the Scheduler.
1629
- * This method accepts the blob object or string format of an .ics file to be imported as a mandatory argument.
1630
- *
1631
- * @function importICalendar
1632
- * @param {Blob | string} fileContent Accepts the file object or string format of an .ics file.
1633
- * @returns {void}
1634
- */
1635
- importICalendar(fileContent: Blob | string): void;
1636
- /**
1637
- * Adds the newly created event into the Schedule dataSource.
1638
- *
1639
- * @function addEvent
1640
- * @param {Object | Object[]} data Single or collection of event objects to be added into Schedule.
1641
- * @returns {void}
1642
- */
1643
- addEvent(data: Record<string, any> | Record<string, any>[]): void;
1644
- /**
1645
- * Generates the occurrences of a single recurrence event based on the provided event.
1646
- *
1647
- * @function generateEventOccurrences
1648
- * @param {Object} event Accepts the parent recurrence event from which the occurrences are generated.
1649
- * @param {Date} startDate Accepts the start date for the event occurrences. If not provided, the event's start date will be used.
1650
- * @returns {Object[]} Returns the collection of occurrence event objects.
1651
- */
1652
- generateEventOccurrences(event: Record<string, any>, startDate?: Date): Record<string, any>[];
1653
- /**
1654
- * Allows the Scheduler events data to be exported as an Excel file either in .xlsx or .csv file formats.
1655
- * By default, the whole event collection bound to the Scheduler gets exported as an Excel file.
1656
- * To export only the specific events of Scheduler, you need to pass the custom data collection as
1657
- * a parameter to this `exportToExcel` method. This method accepts the export options as arguments such as fileName,
1658
- * exportType, fields, customData, and includeOccurrences. The `fileName` denotes the name to be given for the exported
1659
- * file and the `exportType` allows you to set the format of an Excel file to be exported either as .xlsx or .csv.
1660
- * The custom or specific field collection of event dataSource to be exported can be provided through `fields` option
1661
- * and the custom data collection can be exported by passing them through the `customData` option. There also exists
1662
- * option to export each individual instances of the recurring events to an Excel file, by setting true or false to the
1663
- * `includeOccurrences` option, denoting either to include or exclude the occurrences as separate instances on an exported Excel file.
1664
- *
1665
- * @function exportToExcel
1666
- * @param {ExportOptions} excelExportOptions The export options to be set before start with exporting the Scheduler events to an Excel file.
1667
- * @returns {void}
1668
- */
1669
- exportToExcel(excelExportOptions?: ExportOptions): void;
1670
- /**
1671
- * Method allows to print the scheduler.
1672
- *
1673
- * @function print
1674
- * @param {ScheduleModel} printOptions The export options to be set before start with exporting
1675
- * the Scheduler events to the print window.
1676
- * @returns {void}
1677
- */
1678
- print(printOptions?: ScheduleModel): void;
1679
- /**
1680
- * Updates the changes made in the event object by passing it as an parameter into the dataSource.
1681
- *
1682
- * @function saveEvent
1683
- * @param {Object | Object[]} data Single or collection of event objects to be saved into Schedule.
1684
- * @param {CurrentAction} currentAction Denotes the action that takes place either for editing occurrence or series.
1685
- * The valid current action names are `EditOccurrence` or `EditSeries`.
1686
- * @returns {void}
1687
- */
1688
- saveEvent(data: Record<string, any> | Record<string, any>[], currentAction?: CurrentAction): void;
1689
- /**
1690
- * Deletes the events based on the provided ID or event collection in the argument list.
1691
- *
1692
- * @function deleteEvent
1693
- * @param {string | number | Object | Object[]} id Accepts the ID as string or number type or single or collection of the event object which needs to be removed from the Schedule.
1694
- * @param {CurrentAction} currentAction Denotes the delete action that takes place either on occurrence or series events.
1695
- * The valid current action names are `Delete`, `DeleteOccurrence` or `DeleteSeries`.
1696
- * @returns {void}
1697
- */
1698
- deleteEvent(id: string | number | Record<string, any> | Record<string, any>[], currentAction?: CurrentAction): void;
1699
- /**
1700
- * Retrieves the entire collection of events bound to the Schedule.
1701
- *
1702
- * @function getEvents
1703
- * @param {Date} startDate Accepts the start date.
1704
- * @param {Date} endDate Accepts te end date.
1705
- * @param {boolean} includeOccurrences Accepts the boolean value to process the occurrence from recurrence series.
1706
- * @returns {Object[]} Returns the collection of event objects from the Schedule.
1707
- */
1708
- getEvents(startDate?: Date, endDate?: Date, includeOccurrences?: boolean): Record<string, any>[];
1709
- /**
1710
- * Retrieves the entire collection of block events bound to the Schedule.
1711
- *
1712
- * @function getBlockEvents
1713
- * @param {Date} startDate Accepts the start date.
1714
- * @param {Date} endDate Accepts te end date.
1715
- * @param {boolean} includeOccurrences Accepts the boolean value to process the occurrence from recurrence series.
1716
- * @returns {Object[]} Returns the collection of block event objects from the Schedule.
1717
- */
1718
- getBlockEvents(startDate?: Date, endDate?: Date, includeOccurrences?: boolean): Record<string, any>[];
1719
- /**
1720
- * Retrieves the occurrences of a single recurrence event based on the provided parent ID.
1721
- *
1722
- * @function getOccurrencesByID
1723
- * @param {number} eventID ID of the parent recurrence data from which the occurrences are fetched.
1724
- * @returns {Object[]} Returns the collection of occurrence event objects.
1725
- */
1726
- getOccurrencesByID(eventID: number | string): Record<string, any>[];
1727
- /**
1728
- * Retrieves all the occurrences that lies between the specific start and end time range.
1729
- *
1730
- * @function getOccurrencesByRange
1731
- * @param {Date} startTime Denotes the start time range.
1732
- * @param {Date} endTime Denotes the end time range.
1733
- * @returns {Object[]} Returns the collection of occurrence event objects that lies between the provided start and end time.
1734
- */
1735
- getOccurrencesByRange(startTime: Date, endTime: Date): Record<string, any>[];
1736
- /**
1737
- * Retrieves the dates that lies on active view of Schedule.
1738
- *
1739
- * @function getCurrentViewDates
1740
- * @returns {Date[]} Returns the collection of dates.
1741
- */
1742
- getCurrentViewDates(): Date[];
1743
- /**
1744
- * Set the recurrence editor instance from custom editor template.
1745
- *
1746
- * @function setRecurrenceEditor
1747
- * @param {RecurrenceEditor} recurrenceEditor instance has passed to fetch the instance in event window.
1748
- * @returns {void}
1749
- */
1750
- setRecurrenceEditor(recurrenceEditor: RecurrenceEditor): void;
1751
- /**
1752
- * Get the maximum id of an event.
1753
- *
1754
- * @function getEventMaxID
1755
- * @returns {number | string} Returns the maximum ID from scheduler data collections.
1756
- */
1757
- getEventMaxID(): number | string;
1758
- /**
1759
- * Get deleted occurrences from given recurrence series.
1760
- *
1761
- * @function getDeletedOccurrences
1762
- * @param {string | number | Object} recurrenceData Accepts the parent ID of the event object or parent event object
1763
- * @returns {Object[]} Returns the collection of deleted occurrence events.
1764
- */
1765
- getDeletedOccurrences(recurrenceData: string | number | Record<string, any>): Record<string, any>[];
1766
- /**
1767
- * Retrieves the events that lies on the current date range of the active view of Schedule.
1768
- *
1769
- * @function getCurrentViewEvents
1770
- * @returns {Object[]} Returns the collection of events.
1771
- */
1772
- getCurrentViewEvents(): Record<string, any>[];
1773
- /**
1774
- * Refreshes the event dataSource. This method may be useful when the events alone in the schedule needs to be re-rendered.
1775
- *
1776
- * @function refreshEvents
1777
- * @param {boolean} isRemoteRefresh Accepts the boolean to refresh data from remote or local
1778
- * @returns {void}
1779
- */
1780
- refreshEvents(isRemoteRefresh?: boolean): void;
1781
- /**
1782
- * Method to refresh the given Schedule templates
1783
- *
1784
- * @param {string} templateName Accepts the template name
1785
- * @returns {void}
1786
- */
1787
- refreshTemplates(templateName?: string): void;
1788
- /**
1789
- * Refreshes the Schedule layout without re-render.
1790
- *
1791
- * @function refreshLayout
1792
- * @returns {void}
1793
- */
1794
- refreshLayout(): void;
1795
- /**
1796
- * To retrieve the appointment object from element.
1797
- *
1798
- * @function getEventDetails
1799
- * @param {Element} element Denotes the event UI element on the Schedule.
1800
- * @returns {Object} Returns the event details.
1801
- */
1802
- getEventDetails(element: Element): Record<string, any>;
1803
- /**
1804
- * To check whether the given time range slots are available for event creation or already occupied by other events.
1805
- * This method currently focuses on validating appointments within the current view date range.
1806
- * However, it does not extend this availability check to recurrence occurrences outside of the current date range.
1807
- *
1808
- * @function isSlotAvailable
1809
- * @param {Date | Object} startTime Denotes the start time of the slot.
1810
- * @param {Date} endTime Denotes the end time of the slot.
1811
- * @param {number} groupIndex Defines the resource index from last level.
1812
- * @returns {boolean} Returns true, if the slot that lies in the provided time range does not contain any other events.
1813
- */
1814
- isSlotAvailable(startTime: Date | Record<string, any>, endTime?: Date, groupIndex?: number): boolean;
1815
- /**
1816
- * Method to copy events from an HTMLElement or an array of HTMLElements.
1817
- *
1818
- * @param { HTMLElement[] } elements Accepts an array of HTMLElement
1819
- * @returns {void} This method does not return a value.
1820
- */
1821
- copy(elements: HTMLElement[]): void;
1822
- /**
1823
- * Method to cut events from an HTMLElement or an array of HTMLElements.
1824
- *
1825
- * @param { HTMLElement[] } elements Accepts an array of HTMLElement
1826
- * @returns {void} This method does not return a value.
1827
- */
1828
- cut(elements: HTMLElement[]): void;
1829
- /**
1830
- * Method to create a paste event with clipboard data
1831
- *
1832
- * @param { HTMLElement } targetElement Accepts HTMLElement
1833
- * @returns {void}
1834
- */
1835
- paste(targetElement: HTMLElement): void;
1836
- private processCutCopyActions;
1837
- /**
1838
- * To manually open the event editor on specific time or on certain events.
1839
- *
1840
- * @function openEditor
1841
- * @param {Object} data It can be either cell data or event data.
1842
- * @param {CurrentAction} action Defines the action for which the editor needs to be opened such as either for new event creation or
1843
- * for editing of existing events. The applicable action names that can be used here are `Add`, `Save`, `EditOccurrence`
1844
- * and `EditSeries`.
1845
- * @param {boolean} isEventData It allows to decide whether the editor needs to be opened with the clicked cell details or with the
1846
- * passed event details.
1847
- * @param {number} repeatType It opens the editor with the recurrence options based on the provided repeat type.
1848
- * @returns {void}
1849
- */
1850
- openEditor(data: Record<string, any>, action: CurrentAction, isEventData?: boolean, repeatType?: number): void;
1851
- /**
1852
- * To manually close the event editor window
1853
- *
1854
- * @function closeEditor
1855
- * @returns {void}
1856
- */
1857
- closeEditor(): void;
1858
- /**
1859
- * To manually open the quick info popup based on cell or event details.
1860
- *
1861
- * @param {object} data Defines the cell or event data. If the data contains valid ID, it will open event quick info popup,
1862
- * otherwise cell quick info popup displayed.
1863
- * @returns {void}
1864
- */
1865
- openQuickInfoPopup(data: Record<string, any>): void;
1866
- /**
1867
- * To manually close the quick info popup
1868
- *
1869
- * @function closeQuickInfoPopup
1870
- * @returns {void}
1871
- */
1872
- closeQuickInfoPopup(): void;
1873
- /**
1874
- * To manually open the overlap validation Alert.
1875
- *
1876
- * @param {PopupOpenEventArgs} args The arguments for opening the popup.
1877
- * @param {string} args.type Defines the type of overlap alert (e.g., 'OverlapAlert').
1878
- * @param {Record<string, any>} args.data The data associated with the popup.
1879
- * @param {Record<string, any>[]} args.overlapEvents The overlap events.
1880
- * @returns {void}
1881
- */
1882
- openOverlapAlert(args: PopupOpenEventArgs): void;
1883
- /**
1884
- * To manually close the overlap validation Alert.
1885
- *
1886
- * @function closeOverlapValidationAlert
1887
- * @returns {void}
1888
- */
1889
- closeOverlapAlert(): void;
1890
- /**
1891
- * Closes the tooltip.
1892
- * For example, when the context menu is opened for an event,
1893
- * the tooltip can be closed by calling this method.
1894
- *
1895
- * @function closeTooltip
1896
- * @returns {void}
1897
- */
1898
- closeTooltip(): void;
1899
- /**
1900
- * Retrieves a formatted string representing the date range of the given date collection.
1901
- *
1902
- * @param {Date[]} dates - An array of Date objects representing the date range.
1903
- * @returns {string} A formatted string describing the date range.
1904
- * If the dates is empty, returns an empty string.
1905
- * Otherwise, delegates to the active view to generate the appropriate date range text.
1906
- *
1907
- * @example
1908
- * // Assuming dates contains dates from May 1, 2023 to May 7, 2023
1909
- * const rangeText = schedule.getDateRangeText(schedule.getViewDates());
1910
- * // rangeText might be "May 1 - 7, 2023" (actual format depends on the active view)
1911
- *
1912
- * @remarks
1913
- * The actual format of the returned string depends on the implementation
1914
- * of the getDateRangeText method in the active view.
1915
- */
1916
- getDateRangeText(dates: Date[]): string;
1917
- /**
1918
- * Retrieves an array of dates based on the specified date collection direction.
1919
- *
1920
- * @param {NavigationDirection} type - The direction for date collection. Options are:
1921
- * - 'Previous': Returns the previous date range collection from the current rendered date.
1922
- * - 'Next': Returns the next date range collection from the current rendered date.
1923
- * - 'Current': Returns the current rendered date collection.
1924
- *
1925
- * @returns {Date[]} An array of Date objects representing the view dates.
1926
- */
1927
- getViewDates(type?: NavigationDirection): Date[];
1928
- /**
1929
- * Select the resource based on group index in mobile mode.
1930
- *
1931
- * @param {number} groupIndex Defines the resource index based on last level.
1932
- * @returns {void}
1933
- */
1934
- selectResourceByIndex(groupIndex: number): void;
1935
- /**
1936
- * Select the resources to the based on id.
1937
- *
1938
- * @param {string | number} id id of the resource defined in resources collection.
1939
- * @param {string} name Name of the resource defined in resources collection.
1940
- * @returns {number} Returns the group index
1941
- */
1942
- getIndexFromResourceId(id: string | number, name?: string): number;
1943
- /**
1944
- * Adds the resources to the specified index.
1945
- *
1946
- * @param {Object | Object[]} resources Accepts the resource data in single or collection of data.
1947
- * @param {string} name Name of the resource defined in resources collection.
1948
- * @param {number} index Index or position where the resource should be added.
1949
- * @returns {void}
1950
- */
1951
- addResource(resources: Record<string, any> | Record<string, any>[], name: string, index: number): void;
1952
- /**
1953
- * Removes the specified resource.
1954
- *
1955
- * @param {string | string[] | number | number[]} resourceId Specifies the resource id to be removed.
1956
- * @param {string} name Specifies the resource name from which the id should be referred.
1957
- * @returns {void}
1958
- */
1959
- removeResource(resourceId: string | string[] | number | number[], name: string): void;
1960
- /**
1961
- * Destroys the Schedule component.
1962
- *
1963
- * @function destroy
1964
- * @returns {void}
1965
- */
1966
- destroy(): void;
1967
- }