@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,151 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { extend, closest, isNullOrUndefined, EventHandler } from '@syncfusion/ej2-base';
|
|
3
|
+
import { Schedule } from '../base/schedule';
|
|
4
|
+
import { CellClickEventArgs, HoverEventArgs, InlineClickArgs } from '../base/interface';
|
|
5
|
+
import { View } from '../base/type';
|
|
6
|
+
import * as event from '../base/constant';
|
|
7
|
+
import * as cls from '../base/css-constant';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Work cell interactions
|
|
11
|
+
*/
|
|
12
|
+
export class WorkCellInteraction {
|
|
13
|
+
private parent: Schedule;
|
|
14
|
+
|
|
15
|
+
constructor(parent: Schedule) {
|
|
16
|
+
this.parent = parent;
|
|
17
|
+
EventHandler.add(this.parent.element, 'mouseover', this.onHover, this);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public cellMouseDown(e: Event): void {
|
|
21
|
+
if (this.isPreventAction(e)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this.parent.notify(event.cellMouseDown, { event: e });
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public cellClick(e: Event & MouseEvent): void {
|
|
28
|
+
if (this.isPreventAction(e)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const queryStr: string = '.' + cls.WORK_CELLS_CLASS + ',.' + cls.ALLDAY_CELLS_CLASS + ',.' + cls.HEADER_CELLS_CLASS;
|
|
32
|
+
const target: HTMLTableCellElement = closest((e.target as Element), queryStr) as HTMLTableCellElement;
|
|
33
|
+
if (isNullOrUndefined(target)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (!isNullOrUndefined(closest(e.target as Element, '.' + cls.NEW_EVENT_CLASS))) {
|
|
37
|
+
this.parent.eventWindow.openEditor(this.parent.activeCellsData as unknown as Record<string, any>, 'Add');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const isWorkCell: boolean = target.classList.contains(cls.WORK_CELLS_CLASS) ||
|
|
41
|
+
target.classList.contains(cls.ALLDAY_CELLS_CLASS);
|
|
42
|
+
if (this.parent.uiStateValues.isTapHold && !this.parent.uiStateValues.action && isWorkCell) {
|
|
43
|
+
this.parent.uiStateValues.isTapHold = false;
|
|
44
|
+
this.parent.eventBase.removeSelectedAppointmentClass();
|
|
45
|
+
this.parent.selectedElements = [];
|
|
46
|
+
}
|
|
47
|
+
const navigateEle: Element = closest((e.target as Element), '.' + cls.NAVIGATE_CLASS);
|
|
48
|
+
const navigateView: View = this.parent.getNavigateView();
|
|
49
|
+
const sameView: boolean = this.parent.currentView === navigateView;
|
|
50
|
+
if (isNullOrUndefined(navigateEle) || sameView ||
|
|
51
|
+
isNullOrUndefined(this.parent.viewOptions[navigateView.charAt(0).toLowerCase() + navigateView.slice(1)])) {
|
|
52
|
+
if (this.parent.activeViewOptions.readonly && this.parent.currentView !== 'MonthAgenda') {
|
|
53
|
+
if (this.parent.quickPopup) {
|
|
54
|
+
this.parent.quickPopup.quickPopupHide();
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (this.parent.isAdaptive && ((e.target as Element).classList.contains(cls.MORE_INDICATOR_CLASS) ||
|
|
59
|
+
closest((e.target as Element), '.' + cls.MORE_INDICATOR_CLASS))) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (isWorkCell && e.shiftKey && e.which === 1 && this.parent.keyboardInteractionModule) {
|
|
63
|
+
this.parent.keyboardInteractionModule.onMouseSelection(e);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this.parent.activeCellsData = this.parent.getCellDetails(target);
|
|
67
|
+
const args: CellClickEventArgs =
|
|
68
|
+
<CellClickEventArgs>extend(this.parent.activeCellsData, { cancel: false, event: e, name: 'cellClick' });
|
|
69
|
+
this.parent.trigger(event.cellClick, args, (clickArgs: CellClickEventArgs) => {
|
|
70
|
+
if (!clickArgs.cancel) {
|
|
71
|
+
if (isWorkCell) {
|
|
72
|
+
this.parent.selectCell(target);
|
|
73
|
+
}
|
|
74
|
+
if (this.parent.allowInline) {
|
|
75
|
+
const inlineArgs: InlineClickArgs = {
|
|
76
|
+
element: clickArgs.element as HTMLElement,
|
|
77
|
+
groupIndex: clickArgs.groupIndex, type: 'Cell'
|
|
78
|
+
};
|
|
79
|
+
this.parent.notify(event.inlineClick, inlineArgs);
|
|
80
|
+
} else {
|
|
81
|
+
this.parent.notify(event.cellClick, clickArgs);
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
if (this.parent.quickPopup) {
|
|
85
|
+
this.parent.quickPopup.quickPopupHide();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
} else {
|
|
90
|
+
const date: Date = this.parent.getDateFromElement(target);
|
|
91
|
+
if (!isNullOrUndefined(date) && this.parent.isMinMaxDate(date)) {
|
|
92
|
+
this.parent.setProperties({ selectedDate: date }, true);
|
|
93
|
+
this.parent.changeView(this.parent.getNavigateView(), e);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
public cellDblClick(e: Event): void {
|
|
99
|
+
const queryStr: string = '.' + cls.WORK_CELLS_CLASS + ',.' + cls.ALLDAY_CELLS_CLASS + ',.' + cls.HEADER_CELLS_CLASS;
|
|
100
|
+
const target: HTMLTableCellElement = closest((e.target as Element), queryStr) as HTMLTableCellElement;
|
|
101
|
+
if (this.parent.activeViewOptions.readonly || this.isPreventAction(e) || isNullOrUndefined(target)) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const args: CellClickEventArgs =
|
|
105
|
+
<CellClickEventArgs>extend(this.parent.activeCellsData, { cancel: false, event: e, name: 'cellDoubleClick' });
|
|
106
|
+
this.parent.trigger(event.cellDoubleClick, args, (clickArgs: CellClickEventArgs) => {
|
|
107
|
+
if (!clickArgs.startTime) { return; }
|
|
108
|
+
const date: Date = new Date(clickArgs.startTime.getTime());
|
|
109
|
+
if (!this.parent.isMinMaxDate(new Date(date.setHours(0, 0, 0, 0)))) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (!clickArgs.cancel) {
|
|
113
|
+
this.parent.eventWindow.openEditor(this.parent.activeCellsData as unknown as Record<string, any>, 'Add');
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
private onHover(e: MouseEvent): void {
|
|
119
|
+
const targetSelector: string = '.' + cls.WORK_CELLS_CLASS + ',.' + cls.TIME_SLOT_CLASS + ',.' + cls.ALLDAY_CELLS_CLASS + ',.' +
|
|
120
|
+
cls.HEADER_CELLS_CLASS + ',.' + cls.RESOURCE_CELLS_CLASS + ',.' + cls.APPOINTMENT_CLASS + ',.' + cls.WEEK_NUMBER_CLASS +
|
|
121
|
+
',.' + cls.MONTH_HEADER_CLASS;
|
|
122
|
+
const hoverTarget: HTMLElement = closest((e.target as Element), targetSelector) as HTMLElement;
|
|
123
|
+
if (hoverTarget) {
|
|
124
|
+
const hoverArgs: HoverEventArgs = { element: hoverTarget, event: e };
|
|
125
|
+
this.parent.trigger(event.hover, hoverArgs);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
private isPreventAction(e: Event): boolean {
|
|
130
|
+
if (closest((e.target as Element), '.' + cls.NAVIGATE_CLASS)) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
if (closest((e.target as Element), '.' + cls.APPOINTMENT_WRAPPER_CLASS) &&
|
|
134
|
+
!closest((e.target as Element), '.' + cls.MORE_INDICATOR_CLASS)) {
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
let target: Element = closest((e.target as Element), '.' + cls.APPOINTMENT_CLASS + ',.' + cls.RESOURCE_GROUP_CELLS_CLASS);
|
|
138
|
+
if (!isNullOrUndefined(target)) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
target = closest((e.target as Element), '.' + cls.HEADER_CELLS_CLASS);
|
|
142
|
+
if (this.parent.activeView && this.parent.activeView.isTimelineView() && !isNullOrUndefined(target)) {
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
public destroy(): void {
|
|
149
|
+
EventHandler.remove(this.parent.element, 'mouseover', this.onHover);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants
|
|
3
|
+
*/
|
|
4
|
+
/** @private */
|
|
5
|
+
export declare const cellClick: string;
|
|
6
|
+
/** @private */
|
|
7
|
+
export declare const cellDoubleClick: string;
|
|
8
|
+
/** @private */
|
|
9
|
+
export declare const moreEventsClick: string;
|
|
10
|
+
/** @private */
|
|
11
|
+
export declare const select: string;
|
|
12
|
+
/** @private */
|
|
13
|
+
export declare const hover: string;
|
|
14
|
+
/** @private */
|
|
15
|
+
export declare const actionBegin: string;
|
|
16
|
+
/** @private */
|
|
17
|
+
export declare const actionComplete: string;
|
|
18
|
+
/** @private */
|
|
19
|
+
export declare const actionFailure: string;
|
|
20
|
+
/** @private */
|
|
21
|
+
export declare const navigating: string;
|
|
22
|
+
/** @private */
|
|
23
|
+
export declare const renderCell: string;
|
|
24
|
+
/** @private */
|
|
25
|
+
export declare const eventClick: string;
|
|
26
|
+
/** @private */
|
|
27
|
+
export declare const eventDoubleClick: string;
|
|
28
|
+
/** @private */
|
|
29
|
+
export declare const eventRendered: string;
|
|
30
|
+
/** @private */
|
|
31
|
+
export declare const dataBinding: string;
|
|
32
|
+
/** @private */
|
|
33
|
+
export declare const dataBound: string;
|
|
34
|
+
/** @private */
|
|
35
|
+
export declare const popupOpen: string;
|
|
36
|
+
/** @private */
|
|
37
|
+
export declare const popupClose: string;
|
|
38
|
+
/** @private */
|
|
39
|
+
export declare const dragStart: string;
|
|
40
|
+
/** @private */
|
|
41
|
+
export declare const drag: string;
|
|
42
|
+
/** @private */
|
|
43
|
+
export declare const dragStop: string;
|
|
44
|
+
/** @private */
|
|
45
|
+
export declare const resizeStart: string;
|
|
46
|
+
/** @private */
|
|
47
|
+
export declare const resizing: string;
|
|
48
|
+
/** @private */
|
|
49
|
+
export declare const resizeStop: string;
|
|
50
|
+
/** @private */
|
|
51
|
+
export declare const inlineClick: string;
|
|
52
|
+
/** @private */
|
|
53
|
+
export declare const cellSelect: string;
|
|
54
|
+
/** @private */
|
|
55
|
+
export declare const virtualScrollStart: string;
|
|
56
|
+
/** @private */
|
|
57
|
+
export declare const virtualScrollStop: string;
|
|
58
|
+
/** @private */
|
|
59
|
+
export declare const noEvents: string;
|
|
60
|
+
/** @private */
|
|
61
|
+
export declare const agendaCells: string;
|
|
62
|
+
/** @private */
|
|
63
|
+
export declare const resourceHeader: string;
|
|
64
|
+
/** @private */
|
|
65
|
+
export declare const dateHeader: string;
|
|
66
|
+
/** @private */
|
|
67
|
+
export declare const beforePaste: string;
|
|
68
|
+
/** @private */
|
|
69
|
+
export declare const beforePrint: string;
|
|
70
|
+
/** @private */
|
|
71
|
+
export declare const excelExport: string;
|
|
72
|
+
/** @private */
|
|
73
|
+
export declare const tooltipOpen: string;
|
|
74
|
+
/**
|
|
75
|
+
* Specifies schedule internal events
|
|
76
|
+
*/
|
|
77
|
+
/** @private */
|
|
78
|
+
export declare const initialLoad: string;
|
|
79
|
+
/** @private */
|
|
80
|
+
export declare const initialEnd: string;
|
|
81
|
+
/** @private */
|
|
82
|
+
export declare const print: string;
|
|
83
|
+
/** @private */
|
|
84
|
+
export declare const dataReady: string;
|
|
85
|
+
/** @private */
|
|
86
|
+
export declare const eventsLoaded: string;
|
|
87
|
+
/** @private */
|
|
88
|
+
export declare const contentReady: string;
|
|
89
|
+
/** @private */
|
|
90
|
+
export declare const scroll: string;
|
|
91
|
+
/** @private */
|
|
92
|
+
export declare const virtualScroll: string;
|
|
93
|
+
/** @private */
|
|
94
|
+
export declare const scrollUiUpdate: string;
|
|
95
|
+
/** @private */
|
|
96
|
+
export declare const uiUpdate: string;
|
|
97
|
+
/** @private */
|
|
98
|
+
export declare const documentClick: string;
|
|
99
|
+
/** @private */
|
|
100
|
+
export declare const documentPaste: string;
|
|
101
|
+
/** @private */
|
|
102
|
+
export declare const cellMouseDown: string;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants
|
|
3
|
+
*/
|
|
4
|
+
/** @private */
|
|
5
|
+
export const cellClick: string = 'cellClick';
|
|
6
|
+
/** @private */
|
|
7
|
+
export const cellDoubleClick: string = 'cellDoubleClick';
|
|
8
|
+
/** @private */
|
|
9
|
+
export const moreEventsClick: string = 'moreEventsClick';
|
|
10
|
+
/** @private */
|
|
11
|
+
export const select: string = 'select';
|
|
12
|
+
/** @private */
|
|
13
|
+
export const hover: string = 'hover';
|
|
14
|
+
/** @private */
|
|
15
|
+
export const actionBegin: string = 'actionBegin';
|
|
16
|
+
/** @private */
|
|
17
|
+
export const actionComplete: string = 'actionComplete';
|
|
18
|
+
/** @private */
|
|
19
|
+
export const actionFailure: string = 'actionFailure';
|
|
20
|
+
/** @private */
|
|
21
|
+
export const navigating: string = 'navigating';
|
|
22
|
+
/** @private */
|
|
23
|
+
export const renderCell: string = 'renderCell';
|
|
24
|
+
/** @private */
|
|
25
|
+
export const eventClick: string = 'eventClick';
|
|
26
|
+
/** @private */
|
|
27
|
+
export const eventDoubleClick: string = 'eventDoubleClick';
|
|
28
|
+
/** @private */
|
|
29
|
+
export const eventRendered: string = 'eventRendered';
|
|
30
|
+
/** @private */
|
|
31
|
+
export const dataBinding: string = 'dataBinding';
|
|
32
|
+
/** @private */
|
|
33
|
+
export const dataBound: string = 'dataBound';
|
|
34
|
+
/** @private */
|
|
35
|
+
export const popupOpen: string = 'popupOpen';
|
|
36
|
+
/** @private */
|
|
37
|
+
export const popupClose: string = 'popupClose';
|
|
38
|
+
/** @private */
|
|
39
|
+
export const dragStart: string = 'dragStart';
|
|
40
|
+
/** @private */
|
|
41
|
+
export const drag: string = 'drag';
|
|
42
|
+
/** @private */
|
|
43
|
+
export const dragStop: string = 'dragStop';
|
|
44
|
+
/** @private */
|
|
45
|
+
export const resizeStart: string = 'resizeStart';
|
|
46
|
+
/** @private */
|
|
47
|
+
export const resizing: string = 'resizing';
|
|
48
|
+
/** @private */
|
|
49
|
+
export const resizeStop: string = 'resizeStop';
|
|
50
|
+
/** @private */
|
|
51
|
+
export const inlineClick: string = 'inlineClick';
|
|
52
|
+
/** @private */
|
|
53
|
+
export const cellSelect: string = 'cellSelect';
|
|
54
|
+
/** @private */
|
|
55
|
+
export const virtualScrollStart: string = 'virtualScrollStart';
|
|
56
|
+
/** @private */
|
|
57
|
+
export const virtualScrollStop: string = 'virtualScrollStop';
|
|
58
|
+
/** @private */
|
|
59
|
+
export const noEvents: string = 'noEvents';
|
|
60
|
+
/** @private */
|
|
61
|
+
export const agendaCells: string = 'agendaCells';
|
|
62
|
+
/** @private */
|
|
63
|
+
export const resourceHeader: string = 'resourceHeader';
|
|
64
|
+
/** @private */
|
|
65
|
+
export const dateHeader: string = 'dateHeader';
|
|
66
|
+
/** @private */
|
|
67
|
+
export const beforePaste: string = 'beforePaste';
|
|
68
|
+
/** @private */
|
|
69
|
+
export const beforePrint: string = 'beforePrint';
|
|
70
|
+
/** @private */
|
|
71
|
+
export const excelExport: string = 'excelExport';
|
|
72
|
+
/** @private */
|
|
73
|
+
export const tooltipOpen: string = 'tooltipOpen';
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Specifies schedule internal events
|
|
77
|
+
*/
|
|
78
|
+
/** @private */
|
|
79
|
+
export const initialLoad: string = 'initial-load';
|
|
80
|
+
/** @private */
|
|
81
|
+
export const initialEnd: string = 'initial-end';
|
|
82
|
+
/** @private */
|
|
83
|
+
export const print: string = 'print';
|
|
84
|
+
/** @private */
|
|
85
|
+
export const dataReady: string = 'data-ready';
|
|
86
|
+
/** @private */
|
|
87
|
+
export const eventsLoaded: string = 'events-loaded';
|
|
88
|
+
/** @private */
|
|
89
|
+
export const contentReady: string = 'content-ready';
|
|
90
|
+
/** @private */
|
|
91
|
+
export const scroll: string = 'scroll';
|
|
92
|
+
/** @private */
|
|
93
|
+
export const virtualScroll: string = 'virtual-scroll';
|
|
94
|
+
/** @private */
|
|
95
|
+
export const scrollUiUpdate: string = 'scroll-ui-update';
|
|
96
|
+
/** @private */
|
|
97
|
+
export const uiUpdate: string = 'ui-update';
|
|
98
|
+
/** @private */
|
|
99
|
+
export const documentClick: string = 'document-click';
|
|
100
|
+
/** @private */
|
|
101
|
+
export const documentPaste: string = 'document-paste';
|
|
102
|
+
/** @private */
|
|
103
|
+
export const cellMouseDown: string = 'cell-mouse-down';
|