@syncfusion/ej2-schedule 31.1.17 → 31.1.21

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 (168) 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 +7 -3
  5. package/dist/es6/ej2-schedule.es2015.js.map +1 -1
  6. package/dist/es6/ej2-schedule.es5.js +6 -2
  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 +18 -53
  12. package/src/schedule/actions/virtual-scroll.js +5 -1
  13. package/src/schedule/event-renderer/event-base.js +1 -1
  14. package/styles/bootstrap4-lite.css +8 -0
  15. package/styles/bootstrap4.css +8 -0
  16. package/styles/recurrence-editor/bootstrap4.css +8 -0
  17. package/styles/schedule/bootstrap4.css +8 -0
  18. package/dist/ts/common/calendar-util.d.ts +0 -92
  19. package/dist/ts/common/calendar-util.ts +0 -261
  20. package/dist/ts/common/index.d.ts +0 -4
  21. package/dist/ts/common/index.ts +0 -4
  22. package/dist/ts/components.d.ts +0 -5
  23. package/dist/ts/components.ts +0 -5
  24. package/dist/ts/index.d.ts +0 -6
  25. package/dist/ts/index.ts +0 -7
  26. package/dist/ts/recurrence-editor/date-generator.d.ts +0 -76
  27. package/dist/ts/recurrence-editor/date-generator.ts +0 -1699
  28. package/dist/ts/recurrence-editor/index.d.ts +0 -6
  29. package/dist/ts/recurrence-editor/index.ts +0 -6
  30. package/dist/ts/recurrence-editor/recurrence-editor-model.d.ts +0 -112
  31. package/dist/ts/recurrence-editor/recurrence-editor.d.ts +0 -245
  32. package/dist/ts/recurrence-editor/recurrence-editor.ts +0 -1257
  33. package/dist/ts/schedule/actions/action-base.d.ts +0 -44
  34. package/dist/ts/schedule/actions/action-base.ts +0 -493
  35. package/dist/ts/schedule/actions/crud.d.ts +0 -41
  36. package/dist/ts/schedule/actions/crud.ts +0 -784
  37. package/dist/ts/schedule/actions/data.d.ts +0 -63
  38. package/dist/ts/schedule/actions/data.ts +0 -128
  39. package/dist/ts/schedule/actions/drag.d.ts +0 -75
  40. package/dist/ts/schedule/actions/drag.ts +0 -1401
  41. package/dist/ts/schedule/actions/keyboard.d.ts +0 -100
  42. package/dist/ts/schedule/actions/keyboard.ts +0 -1435
  43. package/dist/ts/schedule/actions/resize.d.ts +0 -27
  44. package/dist/ts/schedule/actions/resize.ts +0 -602
  45. package/dist/ts/schedule/actions/scroll.d.ts +0 -69
  46. package/dist/ts/schedule/actions/scroll.ts +0 -105
  47. package/dist/ts/schedule/actions/touch.d.ts +0 -32
  48. package/dist/ts/schedule/actions/touch.ts +0 -314
  49. package/dist/ts/schedule/actions/virtual-scroll.d.ts +0 -55
  50. package/dist/ts/schedule/actions/virtual-scroll.ts +0 -596
  51. package/dist/ts/schedule/actions/work-cells.d.ts +0 -14
  52. package/dist/ts/schedule/actions/work-cells.ts +0 -151
  53. package/dist/ts/schedule/base/constant.d.ts +0 -102
  54. package/dist/ts/schedule/base/constant.ts +0 -103
  55. package/dist/ts/schedule/base/css-constant.d.ts +0 -475
  56. package/dist/ts/schedule/base/css-constant.ts +0 -475
  57. package/dist/ts/schedule/base/interface.d.ts +0 -673
  58. package/dist/ts/schedule/base/interface.ts +0 -738
  59. package/dist/ts/schedule/base/resource.d.ts +0 -59
  60. package/dist/ts/schedule/base/resource.ts +0 -1091
  61. package/dist/ts/schedule/base/schedule-model.d.ts +0 -930
  62. package/dist/ts/schedule/base/schedule.d.ts +0 -1967
  63. package/dist/ts/schedule/base/schedule.ts +0 -4221
  64. package/dist/ts/schedule/base/type.d.ts +0 -134
  65. package/dist/ts/schedule/base/type.ts +0 -142
  66. package/dist/ts/schedule/base/util.d.ts +0 -266
  67. package/dist/ts/schedule/base/util.ts +0 -492
  68. package/dist/ts/schedule/event-renderer/agenda-base.d.ts +0 -15
  69. package/dist/ts/schedule/event-renderer/agenda-base.ts +0 -423
  70. package/dist/ts/schedule/event-renderer/event-base.d.ts +0 -101
  71. package/dist/ts/schedule/event-renderer/event-base.ts +0 -1501
  72. package/dist/ts/schedule/event-renderer/inline-edit.d.ts +0 -23
  73. package/dist/ts/schedule/event-renderer/inline-edit.ts +0 -287
  74. package/dist/ts/schedule/event-renderer/month.d.ts +0 -60
  75. package/dist/ts/schedule/event-renderer/month.ts +0 -760
  76. package/dist/ts/schedule/event-renderer/timeline-view.d.ts +0 -51
  77. package/dist/ts/schedule/event-renderer/timeline-view.ts +0 -606
  78. package/dist/ts/schedule/event-renderer/vertical-view.d.ts +0 -57
  79. package/dist/ts/schedule/event-renderer/vertical-view.ts +0 -898
  80. package/dist/ts/schedule/event-renderer/year.d.ts +0 -27
  81. package/dist/ts/schedule/event-renderer/year.ts +0 -623
  82. package/dist/ts/schedule/exports/calendar-export.d.ts +0 -16
  83. package/dist/ts/schedule/exports/calendar-export.ts +0 -160
  84. package/dist/ts/schedule/exports/calendar-import.d.ts +0 -18
  85. package/dist/ts/schedule/exports/calendar-import.ts +0 -277
  86. package/dist/ts/schedule/exports/excel-export.d.ts +0 -14
  87. package/dist/ts/schedule/exports/excel-export.ts +0 -89
  88. package/dist/ts/schedule/exports/index.d.ts +0 -7
  89. package/dist/ts/schedule/exports/index.ts +0 -7
  90. package/dist/ts/schedule/exports/print.d.ts +0 -20
  91. package/dist/ts/schedule/exports/print.ts +0 -233
  92. package/dist/ts/schedule/index.d.ts +0 -26
  93. package/dist/ts/schedule/index.ts +0 -26
  94. package/dist/ts/schedule/models/event-settings-model.d.ts +0 -165
  95. package/dist/ts/schedule/models/event-settings.d.ts +0 -149
  96. package/dist/ts/schedule/models/event-settings.ts +0 -187
  97. package/dist/ts/schedule/models/field-options-model.d.ts +0 -37
  98. package/dist/ts/schedule/models/field-options.d.ts +0 -31
  99. package/dist/ts/schedule/models/field-options.ts +0 -41
  100. package/dist/ts/schedule/models/fields-model.d.ts +0 -129
  101. package/dist/ts/schedule/models/fields.d.ts +0 -117
  102. package/dist/ts/schedule/models/fields.ts +0 -149
  103. package/dist/ts/schedule/models/group-model.d.ts +0 -69
  104. package/dist/ts/schedule/models/group.d.ts +0 -60
  105. package/dist/ts/schedule/models/group.ts +0 -75
  106. package/dist/ts/schedule/models/header-rows-model.d.ts +0 -33
  107. package/dist/ts/schedule/models/header-rows.d.ts +0 -30
  108. package/dist/ts/schedule/models/header-rows.ts +0 -35
  109. package/dist/ts/schedule/models/models.d.ts +0 -14
  110. package/dist/ts/schedule/models/models.ts +0 -15
  111. package/dist/ts/schedule/models/quick-info-templates-model.d.ts +0 -52
  112. package/dist/ts/schedule/models/quick-info-templates.d.ts +0 -47
  113. package/dist/ts/schedule/models/quick-info-templates.ts +0 -56
  114. package/dist/ts/schedule/models/resources-model.d.ts +0 -122
  115. package/dist/ts/schedule/models/resources.d.ts +0 -106
  116. package/dist/ts/schedule/models/resources.ts +0 -138
  117. package/dist/ts/schedule/models/time-scale-model.d.ts +0 -57
  118. package/dist/ts/schedule/models/time-scale.d.ts +0 -50
  119. package/dist/ts/schedule/models/time-scale.ts +0 -61
  120. package/dist/ts/schedule/models/toolbar-model.d.ts +0 -196
  121. package/dist/ts/schedule/models/toolbar.d.ts +0 -176
  122. package/dist/ts/schedule/models/toolbar.ts +0 -196
  123. package/dist/ts/schedule/models/views-model.d.ts +0 -370
  124. package/dist/ts/schedule/models/views.d.ts +0 -335
  125. package/dist/ts/schedule/models/views.ts +0 -408
  126. package/dist/ts/schedule/models/work-hours-model.d.ts +0 -29
  127. package/dist/ts/schedule/models/work-hours.d.ts +0 -24
  128. package/dist/ts/schedule/models/work-hours.ts +0 -31
  129. package/dist/ts/schedule/popups/event-tooltip.d.ts +0 -16
  130. package/dist/ts/schedule/popups/event-tooltip.ts +0 -203
  131. package/dist/ts/schedule/popups/event-window.d.ts +0 -118
  132. package/dist/ts/schedule/popups/event-window.ts +0 -2055
  133. package/dist/ts/schedule/popups/form-validator.d.ts +0 -16
  134. package/dist/ts/schedule/popups/form-validator.ts +0 -110
  135. package/dist/ts/schedule/popups/quick-popups.d.ts +0 -78
  136. package/dist/ts/schedule/popups/quick-popups.ts +0 -1470
  137. package/dist/ts/schedule/renderer/agenda.d.ts +0 -45
  138. package/dist/ts/schedule/renderer/agenda.ts +0 -497
  139. package/dist/ts/schedule/renderer/day.d.ts +0 -20
  140. package/dist/ts/schedule/renderer/day.ts +0 -28
  141. package/dist/ts/schedule/renderer/header-renderer.d.ts +0 -48
  142. package/dist/ts/schedule/renderer/header-renderer.ts +0 -736
  143. package/dist/ts/schedule/renderer/month-agenda.d.ts +0 -29
  144. package/dist/ts/schedule/renderer/month-agenda.ts +0 -184
  145. package/dist/ts/schedule/renderer/month.d.ts +0 -61
  146. package/dist/ts/schedule/renderer/month.ts +0 -766
  147. package/dist/ts/schedule/renderer/renderer.d.ts +0 -13
  148. package/dist/ts/schedule/renderer/renderer.ts +0 -165
  149. package/dist/ts/schedule/renderer/timeline-header-row.d.ts +0 -15
  150. package/dist/ts/schedule/renderer/timeline-header-row.ts +0 -132
  151. package/dist/ts/schedule/renderer/timeline-month.d.ts +0 -29
  152. package/dist/ts/schedule/renderer/timeline-month.ts +0 -184
  153. package/dist/ts/schedule/renderer/timeline-view.d.ts +0 -31
  154. package/dist/ts/schedule/renderer/timeline-view.ts +0 -308
  155. package/dist/ts/schedule/renderer/timeline-year.d.ts +0 -22
  156. package/dist/ts/schedule/renderer/timeline-year.ts +0 -450
  157. package/dist/ts/schedule/renderer/vertical-view.d.ts +0 -63
  158. package/dist/ts/schedule/renderer/vertical-view.ts +0 -911
  159. package/dist/ts/schedule/renderer/view-base.d.ts +0 -83
  160. package/dist/ts/schedule/renderer/view-base.ts +0 -709
  161. package/dist/ts/schedule/renderer/week.d.ts +0 -22
  162. package/dist/ts/schedule/renderer/week.ts +0 -35
  163. package/dist/ts/schedule/renderer/work-week.d.ts +0 -22
  164. package/dist/ts/schedule/renderer/work-week.ts +0 -36
  165. package/dist/ts/schedule/renderer/year.d.ts +0 -46
  166. package/dist/ts/schedule/renderer/year.ts +0 -470
  167. package/dist/ts/schedule/timezone/timezone.d.ts +0 -16
  168. package/dist/ts/schedule/timezone/timezone.ts +0 -313
@@ -1,492 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { createElement, remove, isNullOrUndefined } from '@syncfusion/ej2-base';
3
-
4
- /**
5
- * Schedule common utilities
6
- */
7
-
8
- export const WEEK_LENGTH: number = 7;
9
- export const DEFAULT_WEEKS: number = 6;
10
- export const MS_PER_DAY: number = 86400000;
11
- export const MS_PER_MINUTE: number = 60000;
12
-
13
- /**
14
- * Method to get height from element
15
- *
16
- * @param {Element} container Accepts the DOM element
17
- * @param {string} elementClass Accepts the element class
18
- * @param {boolean} isTransformed Accepts the boolean value that indicates the status of the transform style applied to the element
19
- * @returns {number} Returns the height of the element
20
- */
21
- export function getElementHeightFromClass(container: Element, elementClass: string, isTransformed?: boolean): number {
22
- let height: number = 0;
23
- const el: HTMLElement = createElement('div', { className: elementClass }).cloneNode() as HTMLElement;
24
- el.style.visibility = 'hidden';
25
- el.style.position = 'absolute';
26
- container.appendChild(el);
27
- height = getElementHeight(el, isTransformed);
28
- remove(el);
29
- return height;
30
- }
31
-
32
- /**
33
- * Method to get width from element
34
- *
35
- * @param {Element} container Accepts the DOM element
36
- * @param {string} elementClass Accepts the element class
37
- * @param {boolean} isTransformed Accepts the boolean value that indicates the status of the transform style applied to the element
38
- * @returns {number} Returns the width of the element
39
- */
40
- export function getElementWidthFromClass(container: Element, elementClass: string, isTransformed?: boolean): number {
41
- let width: number = 0;
42
- const el: HTMLElement = createElement('div', { className: elementClass }).cloneNode() as HTMLElement;
43
- el.style.visibility = 'hidden';
44
- el.style.position = 'absolute';
45
- container.appendChild(el);
46
- width = getElementWidth(el, isTransformed);
47
- remove(el);
48
- return width;
49
- }
50
-
51
- /**
52
- * Method to get translateY value
53
- *
54
- * @param {HTMLElement | Element} element Accepts the DOM element
55
- * @returns {number} Returns the translateY value of given element
56
- */
57
- export function getTranslateY(element: HTMLElement | Element): number {
58
- const style: CSSStyleDeclaration = getComputedStyle(element);
59
- return (<Record<string, any> & Window><unknown>window).WebKitCSSMatrix ?
60
- new WebKitCSSMatrix(style.webkitTransform).m42 : 0;
61
- }
62
-
63
- /**
64
- * Method to get translateX value
65
- *
66
- * @param {HTMLElement | Element} element Accepts the DOM element
67
- * @returns {number} Returns the translateX value of given element
68
- */
69
- export function getTranslateX(element: HTMLElement | Element): number {
70
- const style: CSSStyleDeclaration = getComputedStyle(element);
71
- return (<Record<string, any> & Window><unknown>window).WebKitCSSMatrix ?
72
- new WebKitCSSMatrix(style.webkitTransform).m41 : 0;
73
- }
74
-
75
- /**
76
- * Method to get week first date
77
- *
78
- * @param {Date} date Accepts the date object
79
- * @param {number} firstDayOfWeek Accepts the first day of week number
80
- * @returns {Date} Returns the date object
81
- */
82
- export function getWeekFirstDate(date: Date, firstDayOfWeek: number): Date {
83
- const date1: Date = new Date(date.getTime());
84
- firstDayOfWeek = (firstDayOfWeek - date1.getDay() + 7 * (-1)) % 7;
85
- return new Date(date1.setDate(date1.getDate() + (isNaN(firstDayOfWeek) ? 0 : firstDayOfWeek)));
86
- }
87
-
88
- /**
89
- * Method to get week last date
90
- *
91
- * @param {Date} date Accepts the date object
92
- * @param {number} firstDayOfWeek Accepts the first day of week number
93
- * @returns {Date} Returns the date object
94
- */
95
- export function getWeekLastDate(date: Date, firstDayOfWeek: number): Date {
96
- const weekFirst: Date = getWeekFirstDate(date, firstDayOfWeek);
97
- const weekLast: Date = new Date(weekFirst.getFullYear(), weekFirst.getMonth(), weekFirst.getDate() + 6);
98
- return new Date(weekLast.getTime());
99
- }
100
-
101
- /**
102
- * Method to get first date of month
103
- *
104
- * @param {Date} date Accepts the date object
105
- * @returns {Date} Returns the date object
106
- */
107
- export function firstDateOfMonth(date: Date): Date {
108
- return new Date(date.getFullYear(), date.getMonth(), 1);
109
- }
110
-
111
- /**
112
- * Method to get last date of month
113
- *
114
- * @param {Date} date Accepts the date object
115
- * @returns {Date} Returns the date object
116
- */
117
- export function lastDateOfMonth(date: Date): Date {
118
- return new Date(date.getFullYear(), date.getMonth() + 1, 0);
119
- }
120
-
121
- /**
122
- * Method to get week number
123
- *
124
- * @param {Date} date Accepts the date object
125
- * @returns {number} Returns the week number
126
- */
127
- export function getWeekNumber(date: Date): number {
128
- const date1: number = new Date(date.getFullYear(), 0, 1).valueOf();
129
- const currentDate: number = new Date(date.getFullYear(), date.getMonth(), date.getDate()).valueOf();
130
- const dayOfYear: number = ((currentDate - date1 + MS_PER_DAY) / MS_PER_DAY);
131
- return Math.ceil(dayOfYear / 7);
132
- }
133
-
134
- /**
135
- * Method to get week middle date
136
- *
137
- * @param {Date} weekFirst Accepts the week first date object
138
- * @param {Date} weekLast Accepts the week last date object
139
- * @returns {Date} Returns the date object
140
- */
141
- export function getWeekMiddleDate(weekFirst: Date, weekLast: Date): Date {
142
- return new Date(weekLast.valueOf() - ((weekLast.valueOf() - weekFirst.valueOf()) / 2));
143
- }
144
-
145
- /**
146
- * Method to set time to date object
147
- *
148
- * @param {Date} date Accepts the date object
149
- * @param {number} time Accepts the milliseconds
150
- * @returns {Date} Returns the date object
151
- */
152
- export function setTime(date: Date, time: number): Date {
153
- const tzOffsetBefore: number = date.getTimezoneOffset();
154
- const d: Date = new Date(date.getTime() + time);
155
- const tzOffsetDiff: number = d.getTimezoneOffset() - tzOffsetBefore;
156
- date.setTime(d.getTime() + tzOffsetDiff * MS_PER_MINUTE);
157
- return date;
158
- }
159
-
160
- /**
161
- * Method the reset hours in date object
162
- *
163
- * @param {Date} date Accepts the date object
164
- * @returns {Date} Returns the date object
165
- */
166
- export function resetTime(date: Date): Date {
167
- return new Date(date.getFullYear(), date.getMonth(), date.getDate());
168
- }
169
-
170
- /**
171
- * Method to get milliseconds from date object
172
- *
173
- * @param {Date} date Accepts the date object
174
- * @returns {number} Returns the milliseconds from date object
175
- */
176
- export function getDateInMs(date: Date): number {
177
- const localOffset: number = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0).getTimezoneOffset();
178
- const dateOffset: number = date.getTimezoneOffset();
179
- const timezoneOffset: number = dateOffset - localOffset;
180
- return ((date.getTime() - new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0).getTime())
181
- - (timezoneOffset * 60 * 1000));
182
- }
183
-
184
- /**
185
- * Method to get date count between two dates
186
- *
187
- * @param {Date} startDate Accepts the date object
188
- * @param {Date} endDate Accepts the date object
189
- * @returns {number} Returns the date count
190
- */
191
- export function getDateCount(startDate: Date, endDate: Date): number {
192
- return Math.ceil((endDate.getTime() - startDate.getTime()) / MS_PER_DAY);
193
- }
194
-
195
- /**
196
- * Method to add no of days in date object
197
- *
198
- * @param {Date} date Accepts the date object
199
- * @param {number} noOfDays Accepts the number of days count
200
- * @returns {Date} Returns the date object
201
- */
202
- export function addDays(date: Date, noOfDays: number): Date {
203
- date = new Date('' + date);
204
- return new Date(date.setDate(date.getDate() + noOfDays));
205
- }
206
-
207
- /**
208
- * Method to add no of months in date object
209
- *
210
- * @param {Date} date Accepts the date object
211
- * @param {number} noOfMonths Accepts the number of month count
212
- * @returns {Date} Returns the date object
213
- */
214
- export function addMonths(date: Date, noOfMonths: number): Date {
215
- date = new Date('' + date);
216
- const day: number = date.getDate();
217
- date.setDate(1);
218
- date.setMonth(date.getMonth() + noOfMonths);
219
- date.setDate(Math.min(day, getMaxDays(date)));
220
- return date;
221
- }
222
-
223
- /**
224
- * Method to add no of years in date object
225
- *
226
- * @param {Date} date Accepts the date object
227
- * @param {number} noOfYears Accepts the number of month count
228
- * @returns {Date} Returns the date object
229
- */
230
- export function addYears(date: Date, noOfYears: number): Date {
231
- date = new Date('' + date);
232
- const day: number = date.getDate();
233
- date.setDate(1);
234
- date.setFullYear(date.getFullYear() + noOfYears);
235
- date.setDate(Math.min(day, getMaxDays(date)));
236
- return date;
237
- }
238
-
239
- /**
240
- * Method to get start and end hours
241
- *
242
- * @param {Date} date Accepts the date object
243
- * @param {Date} startHour Accepts the start hour date object
244
- * @param {Date} endHour Accepts the end hour date object
245
- * @returns {Object} Returns the start and end hour date objects
246
- */
247
- export function getStartEndHours(date: Date, startHour: Date, endHour: Date): Record<string, Date> {
248
- const date1: Date = new Date(date.getTime());
249
- date1.setHours(startHour.getHours());
250
- date1.setMinutes(startHour.getMinutes());
251
- date1.setSeconds(startHour.getSeconds());
252
- let date2: Date = new Date(date.getTime());
253
- if (endHour.getHours() === 0) {
254
- date2 = addDays(date2, 1);
255
- } else {
256
- date2.setHours(endHour.getHours());
257
- date2.setMinutes(endHour.getMinutes());
258
- date2.setSeconds(endHour.getSeconds());
259
- }
260
- return { startHour: date1, endHour: date2 };
261
- }
262
-
263
- /**
264
- * Method to get month last date
265
- *
266
- * @param {Date} date Accepts the date object
267
- * @returns {number} Returns the month last date
268
- */
269
- export function getMaxDays(date: Date): number {
270
- return lastDateOfMonth(date).getDate();
271
- }
272
-
273
- /**
274
- * Method to get days count between two dates
275
- *
276
- * @param {Date} startDate Accepts the date object
277
- * @param {Date} endDate Accepts the date object
278
- * @returns {number} Returns the days count
279
- */
280
- export function getDaysCount(startDate: number, endDate: number): number {
281
- const strTime: Date = resetTime(new Date(startDate));
282
- const endTime: Date = resetTime(new Date(endDate));
283
- return Math.round((endTime.getTime() - strTime.getTime()) / MS_PER_DAY);
284
- }
285
-
286
- /**
287
- * Method to get date object from date string
288
- *
289
- * @param {string} date Accepts the date string
290
- * @returns {Date} Returns the date object
291
- */
292
- export function getDateFromString(date: string): Date {
293
- return date.indexOf('Date') !== -1 ? new Date(parseInt(date.match(/\d+/g).toString(), 10)) :
294
- date.indexOf('T') !== -1 ? new Date(date) : new Date(date.replace(/-/g, '/'));
295
- }
296
-
297
- /** @private */
298
- let scrollWidth: number = null;
299
-
300
- /** @private */
301
- let pixelRatio: number = null;
302
-
303
- /**
304
- * Method to get scrollbar width
305
- *
306
- * @returns {number} Returns the scrollbar width
307
- * @private
308
- */
309
- export function getScrollBarWidth(): number {
310
- if (scrollWidth !== null) { return scrollWidth; }
311
- if (pixelRatio === null) {
312
- pixelRatio = window.devicePixelRatio || window.screen.availWidth / document.documentElement.clientWidth;
313
- }
314
- const divNode: HTMLElement = createElement('div');
315
- let value: number = 0;
316
- divNode.style.cssText = 'width:100px;height: 100px;overflow: scroll;position: absolute;top: -9999px;';
317
- document.body.appendChild(divNode);
318
- const ratio: number = (devicePixelRatio) ? (devicePixelRatio.toFixed(2) === '1.10' || devicePixelRatio <= 1) ?
319
- Math.ceil(devicePixelRatio % 1) : Math.floor(devicePixelRatio % 1) : 0;
320
- value = (divNode.offsetWidth - divNode.clientWidth - ratio) | 0;
321
- document.body.removeChild(divNode);
322
- return scrollWidth = value;
323
- }
324
-
325
- /**
326
- * Method to reset scrollbar width
327
- *
328
- * @private
329
- * @returns {void}
330
- */
331
- export function resetScrollbarWidth(): void {
332
- const zoomPixelRatio: number = window.devicePixelRatio || window.screen.availWidth / document.documentElement.clientWidth;
333
- if (pixelRatio && pixelRatio !== zoomPixelRatio) {
334
- scrollWidth = null;
335
- pixelRatio = zoomPixelRatio;
336
- }
337
- }
338
-
339
- /**
340
- * Method to find the index from data collection
341
- *
342
- * @param {Object} data Accepts the data as object
343
- * @param {string} field Accepts the field name
344
- * @param {string} value Accepts the value name
345
- * @param {Object} event Accepts the data as object
346
- * @param {Object[]} resourceCollection Accepts the data collections
347
- * @returns {number} Returns the index number
348
- */
349
- // eslint-disable-next-line max-len
350
- export function findIndexInData(data: Record<string, any>[], field: string, value: string, event?: Record<string, any>, resourceCollection?: Record<string, any>[]): number {
351
- for (let i: number = 0, length: number = data.length; i < length; i++) {
352
- if (data[parseInt(i.toString(), 10)][`${field}`] === value) {
353
- if (event) {
354
- const field: string = resourceCollection.slice(-2)[0].field as string;
355
- const res: string[] = (event[`${field}`] instanceof Array ? event[`${field}`] : [event[`${field}`]]) as string[];
356
- const resData: string = res.join(',');
357
- if (resData.includes(data[parseInt(i.toString(), 10)][(resourceCollection.slice(-1)[0] as any).groupIDField] as string)) {
358
- return i;
359
- }
360
- } else {
361
- return i;
362
- }
363
- }
364
- }
365
- return -1;
366
- }
367
-
368
- /**
369
- * Method to get element outer height
370
- *
371
- * @param {HTMLElement} element Accepts the DOM element
372
- * @returns {number} Returns the outer height of the given element
373
- */
374
- export function getOuterHeight(element: HTMLElement): number {
375
- const style: CSSStyleDeclaration = getComputedStyle(element);
376
- return element.offsetHeight + (parseInt(style.marginTop, 10) || 0) + (parseInt(style.marginBottom, 10) || 0);
377
- }
378
-
379
- /**
380
- * Method to remove child elements
381
- *
382
- * @param {HTMLElement | Element} element Accepts the DOM element
383
- * @returns {void}
384
- */
385
- export function removeChildren(element: HTMLElement | Element): void {
386
- const elementChildren: HTMLElement[] | Element[] = [].slice.call(element.children);
387
- for (const elementChild of elementChildren) {
388
- element.removeChild(elementChild);
389
- }
390
- }
391
-
392
- /**
393
- * Method to check DST is present or not in date object
394
- *
395
- * @param {Date} date Accepts the date object
396
- * @returns {boolean} Returns the boolean value for either DST is present or not
397
- */
398
- export function isDaylightSavingTime(date: Date): boolean {
399
- const jan: Date = new Date(date.getFullYear(), 0, 1);
400
- const jul: Date = new Date(date.getFullYear(), 6, 1);
401
- return date.getTimezoneOffset() < Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset());
402
- }
403
-
404
- /**
405
- * Method to get UTC time value from date
406
- *
407
- * @param {Date} date Accepts the date
408
- * @returns {number} Returns the UTC time value
409
- */
410
- export function getUniversalTime(date: Date): number {
411
- const year: number = date.getFullYear();
412
- const month: number = date.getMonth();
413
- const day: number = date.getDate();
414
- const hours: number = date.getHours();
415
- const minutes: number = date.getMinutes();
416
- const seconds: number = date.getSeconds();
417
- const milliseconds: number = date.getMilliseconds();
418
- return Date.UTC(year, month, day, hours, minutes, seconds, milliseconds);
419
- }
420
-
421
- /**
422
- * Method to check the device
423
- *
424
- * @returns {boolean} Returns the boolean value for either device is present or not.
425
- */
426
- export function isMobile(): boolean {
427
- return window.navigator.userAgent.toLowerCase().indexOf('mobi') > -1;
428
- }
429
-
430
- /**
431
- * Method to check the IPad device
432
- *
433
- * @returns {boolean} Returns the boolean value for either IPad device is present or not.
434
- */
435
- export function isIPadDevice(): boolean {
436
- return window.navigator.userAgent.toLowerCase().indexOf('ipad') > -1;
437
- }
438
-
439
- /**
440
- * Method to capitalize the first word in string
441
- *
442
- * @param {string} inputString Accepts the string value
443
- * @param {string} type Accepts the string type
444
- * @returns {string} Returns the output string
445
- */
446
- export function capitalizeFirstWord(inputString: string, type: string): string {
447
- if (type === 'multiple') {
448
- inputString = inputString.split(' ').map((e: string) => e.charAt(0).toLocaleUpperCase() + e.substring(1)).join(' ');
449
- } else if (type === 'single') {
450
- if (inputString[0] >= '0' && inputString[0] <= '9') {
451
- const array: RegExpMatchArray = inputString.match(/[a-zA-Z]/);
452
- inputString = isNullOrUndefined(array) ? inputString :
453
- inputString.slice(0, array.index) + inputString[array.index].toLocaleUpperCase() + inputString.slice(array.index + 1);
454
- }
455
- inputString = inputString[0].toLocaleUpperCase() + inputString.slice(1);
456
- }
457
- return inputString;
458
- }
459
-
460
- /**
461
- * Method to get element cell width
462
- *
463
- * @param {HTMLElement} element Accepts the DOM element
464
- * @param {boolean} isTransformed Accepts the boolean value that indicates the status of the transform style applied to the element
465
- * @returns {number} Returns the width of the given element
466
- */
467
- export function getElementWidth(element: HTMLElement, isTransformed?: boolean): number {
468
- return isTransformed ? element.offsetWidth : element.getBoundingClientRect().width;
469
- }
470
-
471
- /**
472
- * Method to get element cell Height
473
- *
474
- * @param {HTMLElement} element Accepts the DOM element
475
- * @param {boolean} isTransformed Accepts the boolean value that indicates the status of the transform style applied to the element
476
- * @returns {number} Returns the Height of the given element
477
- */
478
- export function getElementHeight(element: HTMLElement, isTransformed?: boolean): number {
479
- return isTransformed ? element.offsetHeight : element.getBoundingClientRect().height;
480
- }
481
-
482
- /**
483
- * Method to get element cell Top
484
- *
485
- * @param {HTMLElement} element Accepts the DOM element
486
- * @param {boolean} isTransformed Accepts the boolean value that indicates the status of the transform style applied to the element
487
- * @returns {number} Returns the top value of the given element
488
- */
489
- export function getElementTop(element: HTMLElement, isTransformed?: boolean): number {
490
- return isTransformed ? element.offsetTop : element.getBoundingClientRect().top;
491
- }
492
-
@@ -1,15 +0,0 @@
1
- import { ViewBase } from '../renderer/view-base';
2
- import { Schedule } from '../base/schedule';
3
- export declare class AgendaBase extends ViewBase {
4
- constructor(parent: Schedule);
5
- createAgendaContentElement(type: string, listData: Record<string, any>[], aTd: Element, groupOrder?: string[], groupIndex?: number): Element;
6
- createAppointment(event: Record<string, any>): HTMLElement[];
7
- processAgendaEvents(events: Record<string, any>[]): Record<string, any>[];
8
- wireEventActions(): void;
9
- calculateResourceTableElement(tBody: Element, noOfDays: number, agendaDate: Date, agendaEnd?: Date): void;
10
- private createResourceTableRow;
11
- createDateHeaderElement(date: Date, groupIndex?: number): Element;
12
- renderEmptyContent(tBody: Element, agendaDate: Date, hasNoEvents?: boolean): void;
13
- createTableRowElement(date: Date, type: string): Element;
14
- destroy(): void;
15
- }