@syncfusion/ej2-schedule 31.1.17 → 31.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +1 -1
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +1 -1
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +2 -2
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +17 -52
- package/src/schedule/event-renderer/event-base.js +1 -1
- package/styles/bootstrap4-lite.css +8 -0
- package/styles/bootstrap4.css +8 -0
- package/styles/recurrence-editor/bootstrap4.css +8 -0
- package/styles/schedule/bootstrap4.css +8 -0
- package/dist/ts/common/calendar-util.d.ts +0 -92
- package/dist/ts/common/calendar-util.ts +0 -261
- package/dist/ts/common/index.d.ts +0 -4
- package/dist/ts/common/index.ts +0 -4
- package/dist/ts/components.d.ts +0 -5
- package/dist/ts/components.ts +0 -5
- package/dist/ts/index.d.ts +0 -6
- package/dist/ts/index.ts +0 -7
- package/dist/ts/recurrence-editor/date-generator.d.ts +0 -76
- package/dist/ts/recurrence-editor/date-generator.ts +0 -1699
- package/dist/ts/recurrence-editor/index.d.ts +0 -6
- package/dist/ts/recurrence-editor/index.ts +0 -6
- package/dist/ts/recurrence-editor/recurrence-editor-model.d.ts +0 -112
- package/dist/ts/recurrence-editor/recurrence-editor.d.ts +0 -245
- package/dist/ts/recurrence-editor/recurrence-editor.ts +0 -1257
- package/dist/ts/schedule/actions/action-base.d.ts +0 -44
- package/dist/ts/schedule/actions/action-base.ts +0 -493
- package/dist/ts/schedule/actions/crud.d.ts +0 -41
- package/dist/ts/schedule/actions/crud.ts +0 -784
- package/dist/ts/schedule/actions/data.d.ts +0 -63
- package/dist/ts/schedule/actions/data.ts +0 -128
- package/dist/ts/schedule/actions/drag.d.ts +0 -75
- package/dist/ts/schedule/actions/drag.ts +0 -1401
- package/dist/ts/schedule/actions/keyboard.d.ts +0 -100
- package/dist/ts/schedule/actions/keyboard.ts +0 -1435
- package/dist/ts/schedule/actions/resize.d.ts +0 -27
- package/dist/ts/schedule/actions/resize.ts +0 -602
- package/dist/ts/schedule/actions/scroll.d.ts +0 -69
- package/dist/ts/schedule/actions/scroll.ts +0 -105
- package/dist/ts/schedule/actions/touch.d.ts +0 -32
- package/dist/ts/schedule/actions/touch.ts +0 -314
- package/dist/ts/schedule/actions/virtual-scroll.d.ts +0 -55
- package/dist/ts/schedule/actions/virtual-scroll.ts +0 -596
- package/dist/ts/schedule/actions/work-cells.d.ts +0 -14
- package/dist/ts/schedule/actions/work-cells.ts +0 -151
- package/dist/ts/schedule/base/constant.d.ts +0 -102
- package/dist/ts/schedule/base/constant.ts +0 -103
- package/dist/ts/schedule/base/css-constant.d.ts +0 -475
- package/dist/ts/schedule/base/css-constant.ts +0 -475
- package/dist/ts/schedule/base/interface.d.ts +0 -673
- package/dist/ts/schedule/base/interface.ts +0 -738
- package/dist/ts/schedule/base/resource.d.ts +0 -59
- package/dist/ts/schedule/base/resource.ts +0 -1091
- package/dist/ts/schedule/base/schedule-model.d.ts +0 -930
- package/dist/ts/schedule/base/schedule.d.ts +0 -1967
- package/dist/ts/schedule/base/schedule.ts +0 -4221
- package/dist/ts/schedule/base/type.d.ts +0 -134
- package/dist/ts/schedule/base/type.ts +0 -142
- package/dist/ts/schedule/base/util.d.ts +0 -266
- package/dist/ts/schedule/base/util.ts +0 -492
- package/dist/ts/schedule/event-renderer/agenda-base.d.ts +0 -15
- package/dist/ts/schedule/event-renderer/agenda-base.ts +0 -423
- package/dist/ts/schedule/event-renderer/event-base.d.ts +0 -101
- package/dist/ts/schedule/event-renderer/event-base.ts +0 -1501
- package/dist/ts/schedule/event-renderer/inline-edit.d.ts +0 -23
- package/dist/ts/schedule/event-renderer/inline-edit.ts +0 -287
- package/dist/ts/schedule/event-renderer/month.d.ts +0 -60
- package/dist/ts/schedule/event-renderer/month.ts +0 -760
- package/dist/ts/schedule/event-renderer/timeline-view.d.ts +0 -51
- package/dist/ts/schedule/event-renderer/timeline-view.ts +0 -606
- package/dist/ts/schedule/event-renderer/vertical-view.d.ts +0 -57
- package/dist/ts/schedule/event-renderer/vertical-view.ts +0 -898
- package/dist/ts/schedule/event-renderer/year.d.ts +0 -27
- package/dist/ts/schedule/event-renderer/year.ts +0 -623
- package/dist/ts/schedule/exports/calendar-export.d.ts +0 -16
- package/dist/ts/schedule/exports/calendar-export.ts +0 -160
- package/dist/ts/schedule/exports/calendar-import.d.ts +0 -18
- package/dist/ts/schedule/exports/calendar-import.ts +0 -277
- package/dist/ts/schedule/exports/excel-export.d.ts +0 -14
- package/dist/ts/schedule/exports/excel-export.ts +0 -89
- package/dist/ts/schedule/exports/index.d.ts +0 -7
- package/dist/ts/schedule/exports/index.ts +0 -7
- package/dist/ts/schedule/exports/print.d.ts +0 -20
- package/dist/ts/schedule/exports/print.ts +0 -233
- package/dist/ts/schedule/index.d.ts +0 -26
- package/dist/ts/schedule/index.ts +0 -26
- package/dist/ts/schedule/models/event-settings-model.d.ts +0 -165
- package/dist/ts/schedule/models/event-settings.d.ts +0 -149
- package/dist/ts/schedule/models/event-settings.ts +0 -187
- package/dist/ts/schedule/models/field-options-model.d.ts +0 -37
- package/dist/ts/schedule/models/field-options.d.ts +0 -31
- package/dist/ts/schedule/models/field-options.ts +0 -41
- package/dist/ts/schedule/models/fields-model.d.ts +0 -129
- package/dist/ts/schedule/models/fields.d.ts +0 -117
- package/dist/ts/schedule/models/fields.ts +0 -149
- package/dist/ts/schedule/models/group-model.d.ts +0 -69
- package/dist/ts/schedule/models/group.d.ts +0 -60
- package/dist/ts/schedule/models/group.ts +0 -75
- package/dist/ts/schedule/models/header-rows-model.d.ts +0 -33
- package/dist/ts/schedule/models/header-rows.d.ts +0 -30
- package/dist/ts/schedule/models/header-rows.ts +0 -35
- package/dist/ts/schedule/models/models.d.ts +0 -14
- package/dist/ts/schedule/models/models.ts +0 -15
- package/dist/ts/schedule/models/quick-info-templates-model.d.ts +0 -52
- package/dist/ts/schedule/models/quick-info-templates.d.ts +0 -47
- package/dist/ts/schedule/models/quick-info-templates.ts +0 -56
- package/dist/ts/schedule/models/resources-model.d.ts +0 -122
- package/dist/ts/schedule/models/resources.d.ts +0 -106
- package/dist/ts/schedule/models/resources.ts +0 -138
- package/dist/ts/schedule/models/time-scale-model.d.ts +0 -57
- package/dist/ts/schedule/models/time-scale.d.ts +0 -50
- package/dist/ts/schedule/models/time-scale.ts +0 -61
- package/dist/ts/schedule/models/toolbar-model.d.ts +0 -196
- package/dist/ts/schedule/models/toolbar.d.ts +0 -176
- package/dist/ts/schedule/models/toolbar.ts +0 -196
- package/dist/ts/schedule/models/views-model.d.ts +0 -370
- package/dist/ts/schedule/models/views.d.ts +0 -335
- package/dist/ts/schedule/models/views.ts +0 -408
- package/dist/ts/schedule/models/work-hours-model.d.ts +0 -29
- package/dist/ts/schedule/models/work-hours.d.ts +0 -24
- package/dist/ts/schedule/models/work-hours.ts +0 -31
- package/dist/ts/schedule/popups/event-tooltip.d.ts +0 -16
- package/dist/ts/schedule/popups/event-tooltip.ts +0 -203
- package/dist/ts/schedule/popups/event-window.d.ts +0 -118
- package/dist/ts/schedule/popups/event-window.ts +0 -2055
- package/dist/ts/schedule/popups/form-validator.d.ts +0 -16
- package/dist/ts/schedule/popups/form-validator.ts +0 -110
- package/dist/ts/schedule/popups/quick-popups.d.ts +0 -78
- package/dist/ts/schedule/popups/quick-popups.ts +0 -1470
- package/dist/ts/schedule/renderer/agenda.d.ts +0 -45
- package/dist/ts/schedule/renderer/agenda.ts +0 -497
- package/dist/ts/schedule/renderer/day.d.ts +0 -20
- package/dist/ts/schedule/renderer/day.ts +0 -28
- package/dist/ts/schedule/renderer/header-renderer.d.ts +0 -48
- package/dist/ts/schedule/renderer/header-renderer.ts +0 -736
- package/dist/ts/schedule/renderer/month-agenda.d.ts +0 -29
- package/dist/ts/schedule/renderer/month-agenda.ts +0 -184
- package/dist/ts/schedule/renderer/month.d.ts +0 -61
- package/dist/ts/schedule/renderer/month.ts +0 -766
- package/dist/ts/schedule/renderer/renderer.d.ts +0 -13
- package/dist/ts/schedule/renderer/renderer.ts +0 -165
- package/dist/ts/schedule/renderer/timeline-header-row.d.ts +0 -15
- package/dist/ts/schedule/renderer/timeline-header-row.ts +0 -132
- package/dist/ts/schedule/renderer/timeline-month.d.ts +0 -29
- package/dist/ts/schedule/renderer/timeline-month.ts +0 -184
- package/dist/ts/schedule/renderer/timeline-view.d.ts +0 -31
- package/dist/ts/schedule/renderer/timeline-view.ts +0 -308
- package/dist/ts/schedule/renderer/timeline-year.d.ts +0 -22
- package/dist/ts/schedule/renderer/timeline-year.ts +0 -450
- package/dist/ts/schedule/renderer/vertical-view.d.ts +0 -63
- package/dist/ts/schedule/renderer/vertical-view.ts +0 -911
- package/dist/ts/schedule/renderer/view-base.d.ts +0 -83
- package/dist/ts/schedule/renderer/view-base.ts +0 -709
- package/dist/ts/schedule/renderer/week.d.ts +0 -22
- package/dist/ts/schedule/renderer/week.ts +0 -35
- package/dist/ts/schedule/renderer/work-week.d.ts +0 -22
- package/dist/ts/schedule/renderer/work-week.ts +0 -36
- package/dist/ts/schedule/renderer/year.d.ts +0 -46
- package/dist/ts/schedule/renderer/year.ts +0 -470
- package/dist/ts/schedule/timezone/timezone.d.ts +0 -16
- package/dist/ts/schedule/timezone/timezone.ts +0 -313
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { IRenderer } from '../base/interface';
|
|
2
|
-
import { AgendaBase } from '../event-renderer/agenda-base';
|
|
3
|
-
import { Schedule } from '../base/schedule';
|
|
4
|
-
import { NavigationDirection } from '../base/type';
|
|
5
|
-
/**
|
|
6
|
-
* agenda view
|
|
7
|
-
*/
|
|
8
|
-
export declare class Agenda extends AgendaBase implements IRenderer {
|
|
9
|
-
viewClass: string;
|
|
10
|
-
isInverseTableSelect: boolean;
|
|
11
|
-
agendaDates: {
|
|
12
|
-
[key: string]: Date;
|
|
13
|
-
};
|
|
14
|
-
virtualScrollTop: number;
|
|
15
|
-
dataSource: Record<string, any>[];
|
|
16
|
-
constructor(parent: Schedule);
|
|
17
|
-
protected getModuleName(): string;
|
|
18
|
-
renderLayout(): void;
|
|
19
|
-
private eventLoad;
|
|
20
|
-
private refreshEvent;
|
|
21
|
-
refreshHeader(): void;
|
|
22
|
-
private renderInitialContent;
|
|
23
|
-
renderContent(tBody: Element, agendaDate: Date, lastDate: Date): void;
|
|
24
|
-
private isAgendaWorkDay;
|
|
25
|
-
private agendaScrolling;
|
|
26
|
-
private virtualScrolling;
|
|
27
|
-
private getElementFromScrollerPosition;
|
|
28
|
-
private updateHeaderText;
|
|
29
|
-
private getPreviousNextDate;
|
|
30
|
-
private appointmentFiltering;
|
|
31
|
-
getStartDateFromEndDate(endDate: Date): Date;
|
|
32
|
-
getEndDateFromStartDate(startDate: Date): Date;
|
|
33
|
-
getNextPreviousDate(type: NavigationDirection): Date;
|
|
34
|
-
startDate(): Date;
|
|
35
|
-
endDate(): Date;
|
|
36
|
-
getDateRangeText(date?: Date): string;
|
|
37
|
-
dayNavigationClick(e: Event): void;
|
|
38
|
-
private wireEvents;
|
|
39
|
-
private unWireEvents;
|
|
40
|
-
addEventListener(): void;
|
|
41
|
-
removeEventListener(): void;
|
|
42
|
-
private onAgendaScrollUiUpdate;
|
|
43
|
-
scrollToDate(scrollDate: Date): void;
|
|
44
|
-
destroy(): void;
|
|
45
|
-
}
|
|
@@ -1,497 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { formatUnit, isNullOrUndefined, closest, extend, append, prepend, remove } from '@syncfusion/ej2-base';
|
|
3
|
-
import { createElement, addClass, EventHandler } from '@syncfusion/ej2-base';
|
|
4
|
-
import { IRenderer, NotifyEventArgs, EventFieldsMapping, TdData } from '../base/interface';
|
|
5
|
-
import { AgendaBase } from '../event-renderer/agenda-base';
|
|
6
|
-
import { Schedule } from '../base/schedule';
|
|
7
|
-
import * as util from '../base/util';
|
|
8
|
-
import * as event from '../base/constant';
|
|
9
|
-
import * as cls from '../base/css-constant';
|
|
10
|
-
import { NavigationDirection } from '../base/type';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* agenda view
|
|
14
|
-
*/
|
|
15
|
-
export class Agenda extends AgendaBase implements IRenderer {
|
|
16
|
-
public viewClass: string = 'e-agenda-view';
|
|
17
|
-
public isInverseTableSelect: boolean = false;
|
|
18
|
-
public agendaDates: { [key: string]: Date } = {};
|
|
19
|
-
public virtualScrollTop: number = 1;
|
|
20
|
-
public dataSource: Record<string, any>[];
|
|
21
|
-
|
|
22
|
-
constructor(parent: Schedule) {
|
|
23
|
-
super(parent);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
protected getModuleName(): string {
|
|
27
|
-
return 'agenda';
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
public renderLayout(): void {
|
|
31
|
-
this.agendaDates = {};
|
|
32
|
-
this.element = createElement('div', { className: cls.TABLE_WRAP_CLASS });
|
|
33
|
-
addClass([this.element], this.viewClass);
|
|
34
|
-
this.element.appendChild(this.createTableLayout(cls.OUTER_TABLE_CLASS) as HTMLElement);
|
|
35
|
-
this.element.querySelector('table').setAttribute('role', 'presentation');
|
|
36
|
-
this.parent.element.querySelector('.' + cls.TABLE_CONTAINER_CLASS).appendChild(this.element);
|
|
37
|
-
const eTr: Element = createElement('tr');
|
|
38
|
-
this.element.querySelector('tbody').appendChild(eTr);
|
|
39
|
-
const workTd: Element = createElement('td');
|
|
40
|
-
eTr.appendChild(workTd);
|
|
41
|
-
const wrap: Element = createElement('div', { className: cls.CONTENT_WRAP_CLASS });
|
|
42
|
-
workTd.appendChild(wrap);
|
|
43
|
-
const tbl: Element = this.createTableLayout(cls.CONTENT_TABLE_CLASS);
|
|
44
|
-
this.setAriaAttributes(tbl);
|
|
45
|
-
wrap.appendChild(tbl);
|
|
46
|
-
const tBody: Element = tbl.querySelector('tbody');
|
|
47
|
-
const agendaDate: Date = util.resetTime(this.parent.selectedDate);
|
|
48
|
-
this.renderEmptyContent(tBody, agendaDate);
|
|
49
|
-
this.wireEvents();
|
|
50
|
-
if (this.parent.resourceBase) {
|
|
51
|
-
this.parent.resourceBase.generateResourceLevels([(<TdData>{ renderDates: this.parent.activeView.renderDates })]);
|
|
52
|
-
}
|
|
53
|
-
if (this.parent.uiStateValues.isGroupAdaptive && !this.parent.element.querySelector('.' + cls.RESOURCE_TOOLBAR_CONTAINER)) {
|
|
54
|
-
this.renderResourceMobileLayout();
|
|
55
|
-
}
|
|
56
|
-
this.parent.notify(event.contentReady, {});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
private eventLoad(args: NotifyEventArgs): void {
|
|
60
|
-
this.dataSource = extend([], this.parent.eventsData, null, true) as Record<string, any>[];
|
|
61
|
-
for (const event of this.parent.eventsData) {
|
|
62
|
-
delete (<Record<string, any>>event).generatedDates;
|
|
63
|
-
}
|
|
64
|
-
let eventCollection: Record<string, any>[] = this.parent.activeViewOptions.allowVirtualScrolling ?
|
|
65
|
-
args.processedData : this.parent.eventsProcessed;
|
|
66
|
-
if (this.parent.uiStateValues.isGroupAdaptive) {
|
|
67
|
-
const resource: TdData = this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex];
|
|
68
|
-
this.dataSource = this.parent.eventBase.filterEventsByResource(resource, this.dataSource);
|
|
69
|
-
eventCollection = this.parent.eventBase.filterEventsByResource(resource, eventCollection);
|
|
70
|
-
}
|
|
71
|
-
this.parent.eventsProcessed = this.processAgendaEvents(eventCollection);
|
|
72
|
-
const agendaDate: Date = util.resetTime(this.parent.selectedDate);
|
|
73
|
-
const tBody: Element = this.element.querySelector('.' + cls.CONTENT_TABLE_CLASS + ' tbody') as HTMLElement;
|
|
74
|
-
const contentArea: HTMLElement = closest(tBody, '.' + cls.CONTENT_WRAP_CLASS) as HTMLElement;
|
|
75
|
-
const scrollTop: number = contentArea.scrollTop;
|
|
76
|
-
util.removeChildren(tBody);
|
|
77
|
-
this.renderInitialContent(tBody, agendaDate);
|
|
78
|
-
this.wireEventActions();
|
|
79
|
-
contentArea.scrollTop = scrollTop;
|
|
80
|
-
this.parent.notify(event.eventsLoaded, {});
|
|
81
|
-
if (!this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
82
|
-
this.retainScrollPosition();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
private refreshEvent(refreshDate: Date): void {
|
|
87
|
-
let processedData: Record<string, any>[] = [];
|
|
88
|
-
const fields: EventFieldsMapping = this.parent.eventFields;
|
|
89
|
-
for (const data of this.dataSource) {
|
|
90
|
-
if (isNullOrUndefined(data[fields.recurrenceID]) && !isNullOrUndefined(data[fields.recurrenceRule]) &&
|
|
91
|
-
!isNullOrUndefined(data.generatedDates) && refreshDate >= (<Record<string, any>>data.generatedDates).end) {
|
|
92
|
-
processedData = processedData.concat(this.parent.eventBase.generateOccurrence(data, refreshDate));
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
this.parent.eventsProcessed = this.parent.eventsProcessed.concat(this.processAgendaEvents(processedData));
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
public refreshHeader(): void {
|
|
99
|
-
const tBody: Element = this.element.querySelector('.' + cls.CONTENT_TABLE_CLASS + ' tbody') as HTMLElement;
|
|
100
|
-
if (this.parent.activeViewOptions.group.byDate) {
|
|
101
|
-
util.removeChildren(tBody);
|
|
102
|
-
} else {
|
|
103
|
-
remove(tBody.firstElementChild);
|
|
104
|
-
}
|
|
105
|
-
const agendaDate: Date = util.resetTime(this.parent.selectedDate);
|
|
106
|
-
const emptyTBody: Element = createElement('tbody');
|
|
107
|
-
const firstDate: Date = new Date(agendaDate.getTime());
|
|
108
|
-
const lastDate: Date = (this.parent.activeViewOptions.allowVirtualScrolling && this.parent.hideEmptyAgendaDays) ?
|
|
109
|
-
this.getEndDateFromStartDate(firstDate) : util.addDays(firstDate, this.parent.agendaDaysCount);
|
|
110
|
-
this.renderContent(emptyTBody, firstDate, lastDate);
|
|
111
|
-
append([].slice.call(emptyTBody.childNodes), tBody);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
private renderInitialContent(tBody: Element, agendaDate: Date): void {
|
|
115
|
-
const emptyTBody: Element = createElement('tbody');
|
|
116
|
-
let firstDate: Date = new Date(agendaDate.getTime());
|
|
117
|
-
let lastDate: Date = (this.parent.activeViewOptions.allowVirtualScrolling && this.parent.hideEmptyAgendaDays) ?
|
|
118
|
-
this.getEndDateFromStartDate(firstDate) : util.addDays(firstDate, this.parent.agendaDaysCount);
|
|
119
|
-
this.renderContent(emptyTBody, firstDate, lastDate);
|
|
120
|
-
append([].slice.call(emptyTBody.childNodes), tBody);
|
|
121
|
-
// Initial rendering, to load previous date events upto scroll bar enable
|
|
122
|
-
if (this.parent.activeViewOptions.allowVirtualScrolling && this.parent.hideEmptyAgendaDays && this.parent.eventsData.length > 0) {
|
|
123
|
-
const contentArea: HTMLElement = this.getContentAreaElement();
|
|
124
|
-
const contentChild: HTMLElement = contentArea.querySelector('.e-content-table');
|
|
125
|
-
while (contentArea.offsetWidth <= contentArea.clientWidth) {
|
|
126
|
-
if (this.parent.isAdaptive && contentChild.offsetHeight >= contentArea.clientHeight) {
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
const emptyTBody: Element = createElement('tbody');
|
|
130
|
-
lastDate = firstDate;
|
|
131
|
-
firstDate = util.addDays(lastDate, - this.parent.agendaDaysCount);
|
|
132
|
-
this.renderContent(emptyTBody, firstDate, lastDate);
|
|
133
|
-
prepend([].slice.call(emptyTBody.childNodes), tBody);
|
|
134
|
-
if (firstDate <= this.parent.minDate) { break; }
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
if (tBody.childNodes.length <= 0) {
|
|
138
|
-
this.renderEmptyContent(tBody, agendaDate, true);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
public renderContent(tBody: Element, agendaDate: Date, lastDate: Date): void {
|
|
143
|
-
const fieldMapping: EventFieldsMapping = this.parent.eventFields;
|
|
144
|
-
const firstDate: Date = new Date(agendaDate.getTime());
|
|
145
|
-
const isObject: Record<string, any>[] = this.appointmentFiltering(firstDate, lastDate);
|
|
146
|
-
if (isObject.length > 0 && this.parent.activeViewOptions.allowVirtualScrolling && this.parent.hideEmptyAgendaDays) {
|
|
147
|
-
if (!this.parent.activeViewOptions.showWeekend && !this.isAgendaWorkDay(isObject[0][fieldMapping.startTime])) {
|
|
148
|
-
for (const event of isObject) {
|
|
149
|
-
if (this.isAgendaWorkDay(event[fieldMapping.startTime])) {
|
|
150
|
-
agendaDate = new Date(new Date(event[fieldMapping.startTime].getTime()).setHours(0, 0, 0, 0));
|
|
151
|
-
this.updateHeaderText(event[fieldMapping.startTime]);
|
|
152
|
-
break;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
} else {
|
|
156
|
-
agendaDate = new Date(new Date(isObject[0][fieldMapping.startTime].getTime()).setHours(0, 0, 0, 0));
|
|
157
|
-
this.updateHeaderText(isObject[0][fieldMapping.startTime]);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
let endDate: Date;
|
|
161
|
-
if (!this.parent.hideEmptyAgendaDays || (this.parent.agendaDaysCount > 0 && isObject.length > 0)) {
|
|
162
|
-
if (this.parent.activeViewOptions.group.resources.length > 0 && !this.parent.uiStateValues.isGroupAdaptive) {
|
|
163
|
-
let date: Date = agendaDate;
|
|
164
|
-
if (!this.parent.activeViewOptions.group.byDate) {
|
|
165
|
-
this.parent.activeViewOptions.allowVirtualScrolling = false;
|
|
166
|
-
date = firstDate;
|
|
167
|
-
if (this.parent.headerModule) {
|
|
168
|
-
this.parent.headerModule.updateDateRange();
|
|
169
|
-
this.parent.headerModule.updateHeaderItems('remove');
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
this.calculateResourceTableElement(tBody, this.parent.agendaDaysCount, date, lastDate);
|
|
173
|
-
} else {
|
|
174
|
-
for (let day: number = 0; day < this.parent.agendaDaysCount; day++) {
|
|
175
|
-
const nTr: HTMLElement = this.createTableRowElement(agendaDate, 'data') as HTMLElement;
|
|
176
|
-
const virtualContent: HTMLElement = this.element.querySelector('tr[data-row-index="' + (+(nTr.dataset.rowIndex)) + '"]');
|
|
177
|
-
if (virtualContent || !this.parent.activeViewOptions.showWeekend && !this.isAgendaWorkDay(agendaDate)) {
|
|
178
|
-
agendaDate = util.addDays(agendaDate, 1);
|
|
179
|
-
if (!virtualContent && this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
180
|
-
day--;
|
|
181
|
-
}
|
|
182
|
-
if (agendaDate.getTime() > lastDate.getTime()) { break; }
|
|
183
|
-
continue;
|
|
184
|
-
}
|
|
185
|
-
const dTd: Element = nTr.children[0];
|
|
186
|
-
const aTd: Element = nTr.children[1];
|
|
187
|
-
const filterData: Record<string, any>[] = this.appointmentFiltering(agendaDate);
|
|
188
|
-
if (filterData.length > 0 || (!this.parent.hideEmptyAgendaDays && filterData.length === 0)) {
|
|
189
|
-
const elementType: string = (!this.parent.hideEmptyAgendaDays && filterData.length === 0) ? 'noEvents' : 'data';
|
|
190
|
-
dTd.appendChild(this.createDateHeaderElement(agendaDate));
|
|
191
|
-
nTr.appendChild(dTd);
|
|
192
|
-
this.parent.trigger(event.renderCell, { elementType: event.dateHeader, element: dTd, date: agendaDate });
|
|
193
|
-
const cTd: Element = this.createAgendaContentElement(elementType, filterData, aTd);
|
|
194
|
-
nTr.appendChild(cTd);
|
|
195
|
-
if (cTd.querySelectorAll('li').length > 0) {
|
|
196
|
-
tBody.appendChild(nTr);
|
|
197
|
-
}
|
|
198
|
-
const renderCellElementType: string = (!this.parent.hideEmptyAgendaDays && filterData.length === 0) ?
|
|
199
|
-
event.noEvents : event.agendaCells;
|
|
200
|
-
this.parent.trigger(event.renderCell, { elementType: renderCellElementType, element: cTd, date: agendaDate });
|
|
201
|
-
} else if (this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
202
|
-
day--;
|
|
203
|
-
}
|
|
204
|
-
if (this.isCurrentDate(new Date(agendaDate.getTime()))) { addClass(dTd.childNodes, cls.AGENDA_CURRENT_DAY_CLASS); }
|
|
205
|
-
agendaDate = util.addDays(agendaDate, 1);
|
|
206
|
-
if (agendaDate.getTime() > lastDate.getTime()) { break; }
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
endDate = new Date(agendaDate.getTime() - util.MS_PER_DAY);
|
|
210
|
-
}
|
|
211
|
-
this.agendaDates = { start: firstDate, end: endDate };
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
private isAgendaWorkDay(date: Date): boolean {
|
|
215
|
-
if (this.parent.uiStateValues.isGroupAdaptive && !this.parent.group.byDate) {
|
|
216
|
-
return this.isWorkDay(date, this.parent.resourceBase.lastResourceLevel[this.parent.uiStateValues.groupIndex].workDays);
|
|
217
|
-
} else {
|
|
218
|
-
return this.isWorkDay(date);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
private agendaScrolling(event: Event): void {
|
|
223
|
-
if (this.parent.quickPopup) {
|
|
224
|
-
this.parent.quickPopup.quickPopupHide();
|
|
225
|
-
}
|
|
226
|
-
if (this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
227
|
-
this.virtualScrolling(event);
|
|
228
|
-
}
|
|
229
|
-
if (!this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
230
|
-
this.setPersistence();
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
private virtualScrolling(event: Event): void {
|
|
235
|
-
const target: Element = event.target as Element;
|
|
236
|
-
const scrollTop: number = target.scrollTop;
|
|
237
|
-
const scrollHeight: number = target.scrollHeight;
|
|
238
|
-
const offsetHeight: number = target.clientHeight;
|
|
239
|
-
const totalHeight: number = scrollTop + offsetHeight;
|
|
240
|
-
const direction: string = (this.virtualScrollTop < scrollTop) ? 'next' : 'previous';
|
|
241
|
-
const tBody: Element = target.querySelector('tbody');
|
|
242
|
-
const emptyTBody: Element = createElement('tbody');
|
|
243
|
-
const topElement: Element = this.getElementFromScrollerPosition(event);
|
|
244
|
-
const scrollDate: Date = this.parent.getDateFromElement(topElement);
|
|
245
|
-
let filterDate: Record<string, Date>;
|
|
246
|
-
let filterData: Record<string, any>[];
|
|
247
|
-
if (scrollTop === 0) {
|
|
248
|
-
filterDate = this.getPreviousNextDate(util.addDays(scrollDate, -1), direction);
|
|
249
|
-
filterData = this.appointmentFiltering(filterDate.start, filterDate.end);
|
|
250
|
-
if (filterData.length > 0 || !this.parent.hideEmptyAgendaDays) {
|
|
251
|
-
this.renderContent(emptyTBody, filterDate.start, filterDate.end);
|
|
252
|
-
prepend([].slice.call(emptyTBody.childNodes), tBody);
|
|
253
|
-
this.wireEventActions();
|
|
254
|
-
for (let s: number = 0, element: HTMLCollection = tBody.children; s < element.length; s++) {
|
|
255
|
-
if (element[parseInt(s.toString(), 10)].getAttribute('data-row-index') === topElement.getAttribute('data-column-index')) {
|
|
256
|
-
const scrollToValue: number = (<HTMLElement>element[parseInt(s.toString(), 10)]).offsetTop -
|
|
257
|
-
(<HTMLElement>this.element.querySelector('.e-agenda-item')).offsetHeight;
|
|
258
|
-
target.scrollTop = scrollToValue;
|
|
259
|
-
break;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
this.updateHeaderText(scrollDate);
|
|
263
|
-
}
|
|
264
|
-
} else if (totalHeight >= (scrollHeight - 5)) {
|
|
265
|
-
filterDate = this.getPreviousNextDate(util.addDays(scrollDate, 1), direction);
|
|
266
|
-
filterData = this.appointmentFiltering(filterDate.start, filterDate.end);
|
|
267
|
-
if (filterData.length > 0 || !this.parent.hideEmptyAgendaDays) {
|
|
268
|
-
this.renderContent(emptyTBody, filterDate.start, filterDate.end);
|
|
269
|
-
append([].slice.call(emptyTBody.childNodes), tBody);
|
|
270
|
-
this.wireEventActions();
|
|
271
|
-
this.updateHeaderText(scrollDate);
|
|
272
|
-
}
|
|
273
|
-
} else {
|
|
274
|
-
this.updateHeaderText(scrollDate);
|
|
275
|
-
}
|
|
276
|
-
this.virtualScrollTop = scrollTop;
|
|
277
|
-
const selectedElements: Element[] = this.parent.eventBase.getSelectedAppointments();
|
|
278
|
-
if (selectedElements.length > 0) {
|
|
279
|
-
(selectedElements[selectedElements.length - 1] as HTMLElement).focus();
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
private getElementFromScrollerPosition(event: Event): Element {
|
|
284
|
-
let filterElement: Element;
|
|
285
|
-
const target: Element = event.target as Element;
|
|
286
|
-
const scrollTop: number = target.scrollTop;
|
|
287
|
-
const scrollHeight: number = target.scrollHeight;
|
|
288
|
-
const offsetHeight: number = target.clientHeight;
|
|
289
|
-
const totalHeight: number = scrollTop + offsetHeight;
|
|
290
|
-
const liCollection: HTMLElement[] = [].slice.call(target.querySelectorAll('.e-agenda-item'));
|
|
291
|
-
let li: HTMLElement;
|
|
292
|
-
let liDetails: ClientRect;
|
|
293
|
-
if (liCollection.length > 0) {
|
|
294
|
-
if (scrollTop === 0) {
|
|
295
|
-
li = liCollection[0];
|
|
296
|
-
filterElement = closest(li, '.' + cls.AGENDA_CELLS_CLASS);
|
|
297
|
-
} else if (totalHeight === scrollHeight) {
|
|
298
|
-
li = liCollection[liCollection.length - 1];
|
|
299
|
-
filterElement = closest(li, '.' + cls.AGENDA_CELLS_CLASS);
|
|
300
|
-
} else {
|
|
301
|
-
for (let a: number = 0, length: number = liCollection.length; a < length; a++) {
|
|
302
|
-
li = liCollection[parseInt(a.toString(), 10)];
|
|
303
|
-
liDetails = li.getBoundingClientRect();
|
|
304
|
-
if (liDetails.top >= 0) {
|
|
305
|
-
filterElement = closest(li, '.' + cls.AGENDA_CELLS_CLASS);
|
|
306
|
-
break;
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
return filterElement;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
private updateHeaderText(date?: Date): void {
|
|
315
|
-
if (this.parent.showHeaderBar) {
|
|
316
|
-
this.parent.headerModule.updateDateRange(date);
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
private getPreviousNextDate(date: Date, type: string): Record<string, Date> {
|
|
321
|
-
let currentDate: Date = new Date(date.getTime());
|
|
322
|
-
const firstDate: Date = this.getStartDateFromEndDate(date);
|
|
323
|
-
const lastDate: Date = this.getEndDateFromStartDate(date);
|
|
324
|
-
let daysCount: number = 0;
|
|
325
|
-
do {
|
|
326
|
-
if (this.parent.activeViewOptions.showWeekend || !this.parent.activeViewOptions.showWeekend &&
|
|
327
|
-
this.isAgendaWorkDay(currentDate)) {
|
|
328
|
-
const filterData: Record<string, any>[] = this.appointmentFiltering(currentDate);
|
|
329
|
-
if (filterData.length > 0 || !this.parent.hideEmptyAgendaDays) { daysCount++; }
|
|
330
|
-
}
|
|
331
|
-
currentDate = util.addDays(currentDate, (type === 'next') ? 1 : -1);
|
|
332
|
-
if (currentDate < firstDate || currentDate > lastDate) { break; }
|
|
333
|
-
} while (daysCount !== this.parent.agendaDaysCount);
|
|
334
|
-
const endDate: Date = util.addDays(currentDate, (type === 'next') ? -1 : 1);
|
|
335
|
-
return (type === 'next') ? { start: date, end: util.addDays(endDate, 1) } : { start: endDate, end: util.addDays(date, 1) };
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
private appointmentFiltering(startDate?: Date, endDate?: Date): Record<string, any>[] {
|
|
339
|
-
let dateStart: Date; let dateEnd: Date;
|
|
340
|
-
if (!isNullOrUndefined(startDate) && isNullOrUndefined(endDate)) {
|
|
341
|
-
dateStart = util.resetTime(new Date(startDate.getTime()));
|
|
342
|
-
dateEnd = util.setTime(new Date(dateStart.getTime()), util.MS_PER_DAY);
|
|
343
|
-
} else {
|
|
344
|
-
dateStart = new Date(startDate.getTime());
|
|
345
|
-
dateEnd = new Date(endDate.getTime());
|
|
346
|
-
}
|
|
347
|
-
let filterData: Record<string, any>[] = this.parent.eventBase.filterEvents(dateStart, dateEnd);
|
|
348
|
-
if (filterData.length === 0) {
|
|
349
|
-
this.refreshEvent(startDate);
|
|
350
|
-
filterData = this.parent.eventBase.filterEvents(dateStart, dateEnd);
|
|
351
|
-
}
|
|
352
|
-
if (!isNullOrUndefined(this.parent.minDate) || !isNullOrUndefined(this.parent.maxDate)) {
|
|
353
|
-
const fieldMapping: EventFieldsMapping = this.parent.eventFields;
|
|
354
|
-
filterData = filterData.filter((event: Record<string, any>) => {
|
|
355
|
-
const eStart: Date = event[fieldMapping.startTime] as Date;
|
|
356
|
-
const eEnd: Date = event[fieldMapping.endTime] as Date;
|
|
357
|
-
return !(eStart.getTime() < this.parent.minDate.getTime() ||
|
|
358
|
-
eEnd.getTime() > (util.addDays(this.parent.maxDate, 1)).getTime());
|
|
359
|
-
});
|
|
360
|
-
}
|
|
361
|
-
return filterData;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
public getStartDateFromEndDate(endDate: Date): Date {
|
|
365
|
-
let filterDate: Date; const fields: EventFieldsMapping = this.parent.eventFields;
|
|
366
|
-
if (this.parent.eventsProcessed.length > 0) {
|
|
367
|
-
const firstDate: number = Math.min(...this.parent.eventsProcessed.map((a: Record<string, Date>) =>
|
|
368
|
-
a[fields.startTime].getTime()));
|
|
369
|
-
filterDate = this.parent.hideEmptyAgendaDays ? new Date(firstDate) : this.parent.minDate;
|
|
370
|
-
} else {
|
|
371
|
-
filterDate = this.parent.hideEmptyAgendaDays ? util.addMonths(endDate, -1) : this.parent.minDate;
|
|
372
|
-
}
|
|
373
|
-
return util.resetTime(filterDate);
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
public getEndDateFromStartDate(startDate: Date): Date {
|
|
377
|
-
let filterDate: Date; const fieldMapping: EventFieldsMapping = this.parent.eventFields;
|
|
378
|
-
if (this.parent.eventsProcessed.length > 0) {
|
|
379
|
-
const lastDate: number = Math.max(...this.parent.eventsProcessed.map((a: Record<string, Date>) =>
|
|
380
|
-
a[fieldMapping.endTime].getTime()));
|
|
381
|
-
filterDate = this.parent.hideEmptyAgendaDays ? new Date(lastDate) : this.parent.maxDate;
|
|
382
|
-
} else {
|
|
383
|
-
filterDate = this.parent.hideEmptyAgendaDays ? util.addMonths(startDate, 1) : this.parent.maxDate;
|
|
384
|
-
}
|
|
385
|
-
return util.resetTime(util.addDays(filterDate, 1));
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
public getNextPreviousDate(type: NavigationDirection): Date {
|
|
389
|
-
const noOfDays: number = (type === 'Next') ? 1 : -1;
|
|
390
|
-
return util.addDays(this.parent.selectedDate, noOfDays);
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
public startDate(): Date {
|
|
394
|
-
return util.resetTime(this.parent.selectedDate);
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
public endDate(): Date {
|
|
398
|
-
if (this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
399
|
-
return this.getEndDateFromStartDate(this.startDate());
|
|
400
|
-
} else {
|
|
401
|
-
return util.addDays(this.startDate(), this.parent.agendaDaysCount);
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
public getDateRangeText(date?: Date): string {
|
|
406
|
-
const formatDate: string = (this.parent.activeViewOptions.dateFormat) ? this.parent.activeViewOptions.dateFormat : 'MMMM y';
|
|
407
|
-
if (this.parent.activeViewOptions.allowVirtualScrolling || this.parent.isAdaptive) {
|
|
408
|
-
const currentDate: Date = isNullOrUndefined(date) ? this.parent.selectedDate : date;
|
|
409
|
-
return util.capitalizeFirstWord(
|
|
410
|
-
this.parent.globalize.formatDate(currentDate, { format: formatDate, calendar: this.parent.getCalendarMode() }), 'multiple');
|
|
411
|
-
} else {
|
|
412
|
-
const startDate: Date = this.parent.selectedDate;
|
|
413
|
-
const endDate: Date = util.addDays(startDate, this.parent.agendaDaysCount - 1);
|
|
414
|
-
return this.formatDateRange(startDate, endDate);
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
public dayNavigationClick(e: Event): void {
|
|
419
|
-
const element: HTMLTableCellElement = closest((<Element>e.currentTarget), '.' + cls.AGENDA_CELLS_CLASS) as HTMLTableCellElement;
|
|
420
|
-
const date: Date = this.parent.getDateFromElement(element);
|
|
421
|
-
if (!isNullOrUndefined(date) && !this.parent.isAdaptive && this.parent.isMinMaxDate(date)) {
|
|
422
|
-
this.parent.setProperties({ selectedDate: date }, true);
|
|
423
|
-
this.parent.changeView('Day', e);
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
private wireEvents(): void {
|
|
428
|
-
EventHandler.add(this.element.querySelector('.' + cls.CONTENT_WRAP_CLASS), event.scroll, this.agendaScrolling, this);
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
private unWireEvents(): void {
|
|
432
|
-
EventHandler.remove(this.element.querySelector('.' + cls.CONTENT_WRAP_CLASS), event.scroll, this.agendaScrolling);
|
|
433
|
-
const dateHeaderElement: Element[] = [].slice.call(this.element.querySelectorAll('.e-m-date'));
|
|
434
|
-
for (const element of dateHeaderElement) {
|
|
435
|
-
EventHandler.remove(element, 'click', this.dayNavigationClick);
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
public addEventListener(): void {
|
|
440
|
-
this.parent.on(event.scrollUiUpdate, this.onAgendaScrollUiUpdate, this);
|
|
441
|
-
this.parent.on(event.dataReady, this.eventLoad, this);
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
public removeEventListener(): void {
|
|
445
|
-
if (this.parent) {
|
|
446
|
-
this.parent.off(event.scrollUiUpdate, this.onAgendaScrollUiUpdate);
|
|
447
|
-
this.parent.off(event.dataReady, this.eventLoad);
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
private onAgendaScrollUiUpdate(): void {
|
|
452
|
-
const headerHeight: number = this.getHeaderBarHeight();
|
|
453
|
-
if (this.parent.headerModule) {
|
|
454
|
-
if (this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
455
|
-
this.parent.headerModule.updateHeaderItems('add');
|
|
456
|
-
} else {
|
|
457
|
-
this.parent.headerModule.updateHeaderItems('remove');
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
const contentArea: HTMLElement = this.element.querySelector('.' + cls.CONTENT_WRAP_CLASS) as HTMLElement;
|
|
461
|
-
if (this.parent.height !== 'auto') {
|
|
462
|
-
contentArea.style.height = formatUnit(this.parent.element.offsetHeight - headerHeight);
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
public scrollToDate(scrollDate: Date): void {
|
|
467
|
-
const date: Date = new Date(+util.resetTime(scrollDate));
|
|
468
|
-
if (this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
469
|
-
if (!this.parent.hideEmptyAgendaDays || this.parent.getEvents(date, util.addDays(date, 1), true).length > 0) {
|
|
470
|
-
this.parent.changeDate(date);
|
|
471
|
-
}
|
|
472
|
-
} else {
|
|
473
|
-
const dateElement: HTMLElement = this.element.querySelector('.' + cls.AGENDA_CELLS_CLASS + '[data-date="' + date.getTime() + '"]');
|
|
474
|
-
if (dateElement) {
|
|
475
|
-
this.getContentAreaElement().scrollTop = dateElement.offsetTop;
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
|
|
480
|
-
public destroy(): void {
|
|
481
|
-
if (!this.parent || this.parent && this.parent.isDestroyed) {
|
|
482
|
-
this.parent = null;
|
|
483
|
-
return;
|
|
484
|
-
}
|
|
485
|
-
if (this.element) {
|
|
486
|
-
this.unWireEvents();
|
|
487
|
-
if (this.parent.resourceBase) {
|
|
488
|
-
this.parent.resourceBase.destroy();
|
|
489
|
-
}
|
|
490
|
-
if (this.parent.headerModule && this.parent.activeViewOptions.allowVirtualScrolling) {
|
|
491
|
-
this.parent.headerModule.updateHeaderItems('remove');
|
|
492
|
-
}
|
|
493
|
-
super.destroy();
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Schedule } from '../base/schedule';
|
|
2
|
-
import { VerticalView } from './vertical-view';
|
|
3
|
-
/**
|
|
4
|
-
* day view
|
|
5
|
-
*/
|
|
6
|
-
export declare class Day extends VerticalView {
|
|
7
|
-
viewClass: string;
|
|
8
|
-
/**
|
|
9
|
-
* Constructor for day view
|
|
10
|
-
*
|
|
11
|
-
* @param {Schedule} parent Accepts the schedule instance
|
|
12
|
-
*/
|
|
13
|
-
constructor(parent: Schedule);
|
|
14
|
-
/**
|
|
15
|
-
* Get module name.
|
|
16
|
-
*
|
|
17
|
-
* @returns {string} Returns the module name.
|
|
18
|
-
*/
|
|
19
|
-
protected getModuleName(): string;
|
|
20
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Schedule } from '../base/schedule';
|
|
2
|
-
import { VerticalView } from './vertical-view';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* day view
|
|
6
|
-
*/
|
|
7
|
-
export class Day extends VerticalView {
|
|
8
|
-
public viewClass: string = 'e-day-view';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Constructor for day view
|
|
12
|
-
*
|
|
13
|
-
* @param {Schedule} parent Accepts the schedule instance
|
|
14
|
-
*/
|
|
15
|
-
constructor(parent: Schedule) {
|
|
16
|
-
super(parent);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Get module name.
|
|
21
|
-
*
|
|
22
|
-
* @returns {string} Returns the module name.
|
|
23
|
-
*/
|
|
24
|
-
protected getModuleName(): string {
|
|
25
|
-
return 'day';
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { CalendarView } from '@syncfusion/ej2-calendars';
|
|
2
|
-
import { Schedule } from '../base/schedule';
|
|
3
|
-
/**
|
|
4
|
-
* Header module
|
|
5
|
-
*/
|
|
6
|
-
export declare class HeaderRenderer {
|
|
7
|
-
element: HTMLElement;
|
|
8
|
-
private parent;
|
|
9
|
-
private l10n;
|
|
10
|
-
private toolbarObj;
|
|
11
|
-
private headerPopup;
|
|
12
|
-
private headerCalendar;
|
|
13
|
-
constructor(parent: Schedule);
|
|
14
|
-
addEventListener(): void;
|
|
15
|
-
removeEventListener(): void;
|
|
16
|
-
private closeHeaderPopup;
|
|
17
|
-
hideHeaderPopup(): void;
|
|
18
|
-
renderHeader(): void;
|
|
19
|
-
private renderToolbar;
|
|
20
|
-
updateItems(): void;
|
|
21
|
-
getPopUpRelativeElement(): HTMLElement;
|
|
22
|
-
setDayOfWeek(index: number): void;
|
|
23
|
-
setCalendarDate(date: Date): void;
|
|
24
|
-
setCalendarMinMaxDate(): void;
|
|
25
|
-
getCalendarView(): CalendarView;
|
|
26
|
-
setCalendarView(): void;
|
|
27
|
-
updateActiveView(): void;
|
|
28
|
-
updateDateRange(date?: Date): void;
|
|
29
|
-
refresh(): void;
|
|
30
|
-
updateAddIcon(): void;
|
|
31
|
-
private getDateRangeText;
|
|
32
|
-
private getItemModel;
|
|
33
|
-
private getToolbarItems;
|
|
34
|
-
private getItems;
|
|
35
|
-
private getItemObject;
|
|
36
|
-
private renderHeaderPopup;
|
|
37
|
-
private calendarChange;
|
|
38
|
-
setCalendarTimezone(): void;
|
|
39
|
-
private calculateViewIndex;
|
|
40
|
-
private toolbarCreateHandler;
|
|
41
|
-
private toolbarClickHandler;
|
|
42
|
-
private hasSelectedDate;
|
|
43
|
-
getHeaderElement(): HTMLElement;
|
|
44
|
-
updateHeaderItems(classType: string): void;
|
|
45
|
-
previousNextIconHandler(): void;
|
|
46
|
-
protected getModuleName(): string;
|
|
47
|
-
destroy(): void;
|
|
48
|
-
}
|