@syncfusion/ej2-schedule 30.2.7 → 31.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ej2-schedule.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +110 -36
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +110 -36
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +2 -2
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/dist/ts/common/calendar-util.d.ts +92 -0
- package/dist/ts/common/calendar-util.ts +261 -0
- package/dist/ts/common/index.d.ts +4 -0
- package/dist/ts/common/index.ts +4 -0
- package/dist/ts/components.d.ts +5 -0
- package/dist/ts/components.ts +5 -0
- package/dist/ts/index.d.ts +6 -0
- package/dist/ts/index.ts +7 -0
- package/dist/ts/recurrence-editor/date-generator.d.ts +76 -0
- package/dist/ts/recurrence-editor/date-generator.ts +1699 -0
- package/dist/ts/recurrence-editor/index.d.ts +6 -0
- package/dist/ts/recurrence-editor/index.ts +6 -0
- package/dist/ts/recurrence-editor/recurrence-editor-model.d.ts +112 -0
- package/dist/ts/recurrence-editor/recurrence-editor.d.ts +245 -0
- package/dist/ts/recurrence-editor/recurrence-editor.ts +1257 -0
- package/dist/ts/schedule/actions/action-base.d.ts +44 -0
- package/dist/ts/schedule/actions/action-base.ts +493 -0
- package/dist/ts/schedule/actions/crud.d.ts +41 -0
- package/dist/ts/schedule/actions/crud.ts +784 -0
- package/dist/ts/schedule/actions/data.d.ts +63 -0
- package/dist/ts/schedule/actions/data.ts +128 -0
- package/dist/ts/schedule/actions/drag.d.ts +75 -0
- package/dist/ts/schedule/actions/drag.ts +1401 -0
- package/dist/ts/schedule/actions/keyboard.d.ts +100 -0
- package/dist/ts/schedule/actions/keyboard.ts +1435 -0
- package/dist/ts/schedule/actions/resize.d.ts +27 -0
- package/dist/ts/schedule/actions/resize.ts +602 -0
- package/dist/ts/schedule/actions/scroll.d.ts +69 -0
- package/dist/ts/schedule/actions/scroll.ts +105 -0
- package/dist/ts/schedule/actions/touch.d.ts +32 -0
- package/dist/ts/schedule/actions/touch.ts +314 -0
- package/dist/ts/schedule/actions/virtual-scroll.d.ts +55 -0
- package/dist/ts/schedule/actions/virtual-scroll.ts +596 -0
- package/dist/ts/schedule/actions/work-cells.d.ts +14 -0
- package/dist/ts/schedule/actions/work-cells.ts +151 -0
- package/dist/ts/schedule/base/constant.d.ts +102 -0
- package/dist/ts/schedule/base/constant.ts +103 -0
- package/dist/ts/schedule/base/css-constant.d.ts +475 -0
- package/dist/ts/schedule/base/css-constant.ts +475 -0
- package/dist/ts/schedule/base/interface.d.ts +673 -0
- package/dist/ts/schedule/base/interface.ts +738 -0
- package/dist/ts/schedule/base/resource.d.ts +59 -0
- package/dist/ts/schedule/base/resource.ts +1091 -0
- package/dist/ts/schedule/base/schedule-model.d.ts +930 -0
- package/dist/ts/schedule/base/schedule.d.ts +1967 -0
- package/dist/ts/schedule/base/schedule.ts +4221 -0
- package/dist/ts/schedule/base/type.d.ts +134 -0
- package/dist/ts/schedule/base/type.ts +142 -0
- package/dist/ts/schedule/base/util.d.ts +266 -0
- package/dist/ts/schedule/base/util.ts +492 -0
- package/dist/ts/schedule/event-renderer/agenda-base.d.ts +15 -0
- package/dist/ts/schedule/event-renderer/agenda-base.ts +423 -0
- package/dist/ts/schedule/event-renderer/event-base.d.ts +101 -0
- package/dist/ts/schedule/event-renderer/event-base.ts +1501 -0
- package/dist/ts/schedule/event-renderer/inline-edit.d.ts +23 -0
- package/dist/ts/schedule/event-renderer/inline-edit.ts +287 -0
- package/dist/ts/schedule/event-renderer/month.d.ts +60 -0
- package/dist/ts/schedule/event-renderer/month.ts +760 -0
- package/dist/ts/schedule/event-renderer/timeline-view.d.ts +51 -0
- package/dist/ts/schedule/event-renderer/timeline-view.ts +606 -0
- package/dist/ts/schedule/event-renderer/vertical-view.d.ts +57 -0
- package/dist/ts/schedule/event-renderer/vertical-view.ts +898 -0
- package/dist/ts/schedule/event-renderer/year.d.ts +27 -0
- package/dist/ts/schedule/event-renderer/year.ts +623 -0
- package/dist/ts/schedule/exports/calendar-export.d.ts +16 -0
- package/dist/ts/schedule/exports/calendar-export.ts +160 -0
- package/dist/ts/schedule/exports/calendar-import.d.ts +18 -0
- package/dist/ts/schedule/exports/calendar-import.ts +277 -0
- package/dist/ts/schedule/exports/excel-export.d.ts +14 -0
- package/dist/ts/schedule/exports/excel-export.ts +89 -0
- package/dist/ts/schedule/exports/index.d.ts +7 -0
- package/dist/ts/schedule/exports/index.ts +7 -0
- package/dist/ts/schedule/exports/print.d.ts +20 -0
- package/dist/ts/schedule/exports/print.ts +233 -0
- package/dist/ts/schedule/index.d.ts +26 -0
- package/dist/ts/schedule/index.ts +26 -0
- package/dist/ts/schedule/models/event-settings-model.d.ts +165 -0
- package/dist/ts/schedule/models/event-settings.d.ts +149 -0
- package/dist/ts/schedule/models/event-settings.ts +187 -0
- package/dist/ts/schedule/models/field-options-model.d.ts +37 -0
- package/dist/ts/schedule/models/field-options.d.ts +31 -0
- package/dist/ts/schedule/models/field-options.ts +41 -0
- package/dist/ts/schedule/models/fields-model.d.ts +129 -0
- package/dist/ts/schedule/models/fields.d.ts +117 -0
- package/dist/ts/schedule/models/fields.ts +149 -0
- package/dist/ts/schedule/models/group-model.d.ts +69 -0
- package/dist/ts/schedule/models/group.d.ts +60 -0
- package/dist/ts/schedule/models/group.ts +75 -0
- package/dist/ts/schedule/models/header-rows-model.d.ts +33 -0
- package/dist/ts/schedule/models/header-rows.d.ts +30 -0
- package/dist/ts/schedule/models/header-rows.ts +35 -0
- package/dist/ts/schedule/models/models.d.ts +14 -0
- package/dist/ts/schedule/models/models.ts +15 -0
- package/dist/ts/schedule/models/quick-info-templates-model.d.ts +52 -0
- package/dist/ts/schedule/models/quick-info-templates.d.ts +47 -0
- package/dist/ts/schedule/models/quick-info-templates.ts +56 -0
- package/dist/ts/schedule/models/resources-model.d.ts +122 -0
- package/dist/ts/schedule/models/resources.d.ts +106 -0
- package/dist/ts/schedule/models/resources.ts +138 -0
- package/dist/ts/schedule/models/time-scale-model.d.ts +57 -0
- package/dist/ts/schedule/models/time-scale.d.ts +50 -0
- package/dist/ts/schedule/models/time-scale.ts +61 -0
- package/dist/ts/schedule/models/toolbar-model.d.ts +196 -0
- package/dist/ts/schedule/models/toolbar.d.ts +176 -0
- package/dist/ts/schedule/models/toolbar.ts +196 -0
- package/dist/ts/schedule/models/views-model.d.ts +370 -0
- package/dist/ts/schedule/models/views.d.ts +335 -0
- package/dist/ts/schedule/models/views.ts +408 -0
- package/dist/ts/schedule/models/work-hours-model.d.ts +29 -0
- package/dist/ts/schedule/models/work-hours.d.ts +24 -0
- package/dist/ts/schedule/models/work-hours.ts +31 -0
- package/dist/ts/schedule/popups/event-tooltip.d.ts +16 -0
- package/dist/ts/schedule/popups/event-tooltip.ts +203 -0
- package/dist/ts/schedule/popups/event-window.d.ts +118 -0
- package/dist/ts/schedule/popups/event-window.ts +2055 -0
- package/dist/ts/schedule/popups/form-validator.d.ts +16 -0
- package/dist/ts/schedule/popups/form-validator.ts +110 -0
- package/dist/ts/schedule/popups/quick-popups.d.ts +78 -0
- package/dist/ts/schedule/popups/quick-popups.ts +1470 -0
- package/dist/ts/schedule/renderer/agenda.d.ts +45 -0
- package/dist/ts/schedule/renderer/agenda.ts +497 -0
- package/dist/ts/schedule/renderer/day.d.ts +20 -0
- package/dist/ts/schedule/renderer/day.ts +28 -0
- package/dist/ts/schedule/renderer/header-renderer.d.ts +48 -0
- package/dist/ts/schedule/renderer/header-renderer.ts +736 -0
- package/dist/ts/schedule/renderer/month-agenda.d.ts +29 -0
- package/dist/ts/schedule/renderer/month-agenda.ts +184 -0
- package/dist/ts/schedule/renderer/month.d.ts +61 -0
- package/dist/ts/schedule/renderer/month.ts +766 -0
- package/dist/ts/schedule/renderer/renderer.d.ts +13 -0
- package/dist/ts/schedule/renderer/renderer.ts +165 -0
- package/dist/ts/schedule/renderer/timeline-header-row.d.ts +15 -0
- package/dist/ts/schedule/renderer/timeline-header-row.ts +132 -0
- package/dist/ts/schedule/renderer/timeline-month.d.ts +29 -0
- package/dist/ts/schedule/renderer/timeline-month.ts +184 -0
- package/dist/ts/schedule/renderer/timeline-view.d.ts +31 -0
- package/dist/ts/schedule/renderer/timeline-view.ts +308 -0
- package/dist/ts/schedule/renderer/timeline-year.d.ts +22 -0
- package/dist/ts/schedule/renderer/timeline-year.ts +450 -0
- package/dist/ts/schedule/renderer/vertical-view.d.ts +63 -0
- package/dist/ts/schedule/renderer/vertical-view.ts +911 -0
- package/dist/ts/schedule/renderer/view-base.d.ts +83 -0
- package/dist/ts/schedule/renderer/view-base.ts +709 -0
- package/dist/ts/schedule/renderer/week.d.ts +22 -0
- package/dist/ts/schedule/renderer/week.ts +35 -0
- package/dist/ts/schedule/renderer/work-week.d.ts +22 -0
- package/dist/ts/schedule/renderer/work-week.ts +36 -0
- package/dist/ts/schedule/renderer/year.d.ts +46 -0
- package/dist/ts/schedule/renderer/year.ts +470 -0
- package/dist/ts/schedule/timezone/timezone.d.ts +16 -0
- package/dist/ts/schedule/timezone/timezone.ts +313 -0
- package/package.json +56 -21
- package/src/schedule/actions/action-base.js +3 -0
- package/src/schedule/actions/drag.js +11 -4
- package/src/schedule/actions/keyboard.js +1 -1
- package/src/schedule/actions/resize.js +8 -5
- package/src/schedule/base/css-constant.d.ts +2 -0
- package/src/schedule/base/css-constant.js +2 -0
- package/src/schedule/base/schedule.js +15 -1
- package/src/schedule/event-renderer/agenda-base.d.ts +1 -1
- package/src/schedule/event-renderer/agenda-base.js +5 -4
- package/src/schedule/event-renderer/inline-edit.js +11 -6
- package/src/schedule/event-renderer/month.js +5 -3
- package/src/schedule/event-renderer/vertical-view.js +3 -0
- package/src/schedule/event-renderer/year.d.ts +2 -0
- package/src/schedule/event-renderer/year.js +28 -4
- package/src/schedule/popups/event-tooltip.js +4 -0
- package/src/schedule/popups/event-window.js +2 -2
- package/src/schedule/popups/quick-popups.js +5 -1
- package/src/schedule/renderer/agenda.js +3 -2
- package/src/schedule/renderer/vertical-view.js +1 -1
- package/src/schedule/renderer/year.js +3 -2
- package/styles/bds-lite.css +11 -8
- package/styles/bds.css +11 -8
- package/styles/bootstrap-dark-lite.css +12 -9
- package/styles/bootstrap-dark.css +12 -9
- package/styles/bootstrap-lite.css +12 -9
- package/styles/bootstrap.css +12 -9
- package/styles/bootstrap4-lite.css +11 -8
- package/styles/bootstrap4.css +11 -8
- package/styles/bootstrap5-dark-lite.css +11 -8
- package/styles/bootstrap5-dark.css +11 -8
- package/styles/bootstrap5-lite.css +11 -8
- package/styles/bootstrap5.3-lite.css +11 -8
- package/styles/bootstrap5.3.css +11 -8
- package/styles/bootstrap5.css +11 -8
- package/styles/fabric-dark-lite.css +12 -9
- package/styles/fabric-dark.css +12 -9
- package/styles/fabric-lite.css +12 -9
- package/styles/fabric.css +12 -9
- package/styles/fluent-dark-lite.css +13 -10
- package/styles/fluent-dark.css +13 -10
- package/styles/fluent-lite.css +13 -10
- package/styles/fluent.css +13 -10
- package/styles/fluent2-lite.css +11 -8
- package/styles/fluent2.css +11 -8
- package/styles/highcontrast-light-lite.css +12 -9
- package/styles/highcontrast-light.css +12 -9
- package/styles/highcontrast-lite.css +12 -9
- package/styles/highcontrast.css +12 -9
- package/styles/material-dark-lite.css +12 -9
- package/styles/material-dark.css +12 -9
- package/styles/material-lite.css +12 -9
- package/styles/material.css +12 -9
- package/styles/material3-dark-lite.css +11 -8
- package/styles/material3-dark.css +11 -8
- package/styles/material3-lite.css +11 -8
- package/styles/material3.css +11 -8
- package/styles/recurrence-editor/_bds-definition.scss +1 -0
- package/styles/recurrence-editor/_bootstrap-dark-definition.scss +1 -0
- package/styles/recurrence-editor/_bootstrap-definition.scss +1 -0
- package/styles/recurrence-editor/_bootstrap4-definition.scss +1 -0
- package/styles/recurrence-editor/_bootstrap5-definition.scss +1 -0
- package/styles/recurrence-editor/_bootstrap5.3-definition.scss +1 -0
- package/styles/recurrence-editor/_fabric-dark-definition.scss +1 -0
- package/styles/recurrence-editor/_fabric-definition.scss +1 -0
- package/styles/recurrence-editor/_fluent-definition.scss +1 -0
- package/styles/recurrence-editor/_fluent2-definition.scss +1 -0
- package/styles/recurrence-editor/_fusionnew-definition.scss +1 -0
- package/styles/recurrence-editor/_highcontrast-definition.scss +1 -0
- package/styles/recurrence-editor/_highcontrast-light-definition.scss +1 -0
- package/styles/recurrence-editor/_layout.scss +5 -1
- package/styles/recurrence-editor/_material-dark-definition.scss +1 -0
- package/styles/recurrence-editor/_material-definition.scss +1 -0
- package/styles/recurrence-editor/_material3-definition.scss +1 -0
- package/styles/recurrence-editor/_tailwind-definition.scss +1 -0
- package/styles/recurrence-editor/_tailwind3-definition.scss +1 -0
- package/styles/recurrence-editor/bds.css +3 -0
- package/styles/recurrence-editor/bootstrap-dark.css +4 -1
- package/styles/recurrence-editor/bootstrap.css +4 -1
- package/styles/recurrence-editor/bootstrap4.css +3 -0
- package/styles/recurrence-editor/bootstrap5-dark.css +3 -0
- package/styles/recurrence-editor/bootstrap5.3.css +3 -0
- package/styles/recurrence-editor/bootstrap5.css +3 -0
- package/styles/recurrence-editor/fabric-dark.css +4 -1
- package/styles/recurrence-editor/fabric.css +4 -1
- package/styles/recurrence-editor/fluent-dark.css +4 -1
- package/styles/recurrence-editor/fluent.css +4 -1
- package/styles/recurrence-editor/fluent2.css +3 -0
- package/styles/recurrence-editor/highcontrast-light.css +4 -1
- package/styles/recurrence-editor/highcontrast.css +4 -1
- package/styles/recurrence-editor/material-dark.css +4 -1
- package/styles/recurrence-editor/material.css +4 -1
- package/styles/recurrence-editor/material3-dark.css +3 -0
- package/styles/recurrence-editor/material3.css +3 -0
- package/styles/recurrence-editor/tailwind-dark.css +3 -0
- package/styles/recurrence-editor/tailwind.css +3 -0
- package/styles/recurrence-editor/tailwind3.css +3 -0
- package/styles/schedule/_bds-definition.scss +2 -0
- package/styles/schedule/_bootstrap-dark-definition.scss +2 -0
- package/styles/schedule/_bootstrap-definition.scss +2 -0
- package/styles/schedule/_bootstrap4-definition.scss +2 -0
- package/styles/schedule/_bootstrap5-definition.scss +2 -0
- package/styles/schedule/_bootstrap5.3-definition.scss +2 -0
- package/styles/schedule/_fabric-dark-definition.scss +2 -0
- package/styles/schedule/_fabric-definition.scss +2 -0
- package/styles/schedule/_fluent-definition.scss +3 -1
- package/styles/schedule/_fluent2-definition.scss +2 -0
- package/styles/schedule/_fusionnew-definition.scss +2 -0
- package/styles/schedule/_highcontrast-definition.scss +2 -0
- package/styles/schedule/_highcontrast-light-definition.scss +2 -0
- package/styles/schedule/_layout.scss +12 -11
- package/styles/schedule/_material-dark-definition.scss +2 -0
- package/styles/schedule/_material-definition.scss +2 -0
- package/styles/schedule/_material3-definition.scss +2 -0
- package/styles/schedule/_tailwind-definition.scss +2 -0
- package/styles/schedule/_tailwind3-definition.scss +2 -0
- package/styles/schedule/bds.css +8 -8
- package/styles/schedule/bootstrap-dark.css +8 -8
- package/styles/schedule/bootstrap.css +8 -8
- package/styles/schedule/bootstrap4.css +8 -8
- package/styles/schedule/bootstrap5-dark.css +8 -8
- package/styles/schedule/bootstrap5.3.css +8 -8
- package/styles/schedule/bootstrap5.css +8 -8
- package/styles/schedule/fabric-dark.css +8 -8
- package/styles/schedule/fabric.css +8 -8
- package/styles/schedule/fluent-dark.css +9 -9
- package/styles/schedule/fluent.css +9 -9
- package/styles/schedule/fluent2.css +8 -8
- package/styles/schedule/highcontrast-light.css +8 -8
- package/styles/schedule/highcontrast.css +8 -8
- package/styles/schedule/material-dark.css +8 -8
- package/styles/schedule/material.css +8 -8
- package/styles/schedule/material3-dark.css +8 -8
- package/styles/schedule/material3.css +8 -8
- package/styles/schedule/tailwind-dark.css +8 -8
- package/styles/schedule/tailwind.css +8 -8
- package/styles/schedule/tailwind3.css +8 -8
- package/styles/tailwind-dark-lite.css +11 -8
- package/styles/tailwind-dark.css +11 -8
- package/styles/tailwind-lite.css +11 -8
- package/styles/tailwind.css +11 -8
- package/styles/tailwind3-lite.css +11 -8
- package/styles/tailwind3.css +11 -8
|
@@ -0,0 +1,492 @@
|
|
|
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
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
}
|