@daypilot/daypilot-lite-angular 4.8.1 → 5.0.0-sandbox.760
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/{esm2020 → esm2022}/daypilot-daypilot-lite-angular.mjs +4 -4
- package/esm2022/lib/core/daypilot-core.mjs +4122 -0
- package/esm2022/lib/daypilot-calendar.component.mjs +146 -0
- package/esm2022/lib/daypilot-month.component.mjs +136 -0
- package/esm2022/lib/daypilot-navigator.component.mjs +183 -0
- package/esm2022/lib/daypilot-scheduler.component.mjs +145 -0
- package/esm2022/lib/daypilot.module.mjs +37 -0
- package/esm2022/lib/util.mjs +45 -0
- package/{esm2020 → esm2022}/public-api.mjs +9 -9
- package/{fesm2020 → fesm2022}/daypilot-daypilot-lite-angular.mjs +4777 -4199
- package/fesm2022/daypilot-daypilot-lite-angular.mjs.map +1 -0
- package/{daypilot-daypilot-lite-angular.d.ts → index.d.ts} +5 -5
- package/lib/core/daypilot-core.d.ts +1431 -1427
- package/lib/daypilot-calendar.component.d.ts +31 -25
- package/lib/daypilot-month.component.d.ts +29 -22
- package/lib/daypilot-navigator.component.d.ts +36 -29
- package/lib/daypilot-scheduler.component.d.ts +31 -25
- package/lib/daypilot.module.d.ts +10 -10
- package/lib/util.d.ts +8 -6
- package/package.json +10 -16
- package/public-api.d.ts +6 -6
- package/esm2020/lib/core/daypilot-core.mjs +0 -3732
- package/esm2020/lib/daypilot-calendar.component.mjs +0 -102
- package/esm2020/lib/daypilot-month.component.mjs +0 -82
- package/esm2020/lib/daypilot-navigator.component.mjs +0 -127
- package/esm2020/lib/daypilot-scheduler.component.mjs +0 -102
- package/esm2020/lib/daypilot.module.mjs +0 -36
- package/esm2020/lib/util.mjs +0 -49
- package/fesm2015/daypilot-daypilot-lite-angular.mjs +0 -6487
- package/fesm2015/daypilot-daypilot-lite-angular.mjs.map +0 -1
- package/fesm2020/daypilot-daypilot-lite-angular.mjs.map +0 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Component, effect, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { DayPilot } from "./core/daypilot-core";
|
|
3
|
+
import { optHash, rand } from "./util";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
class DayPilotCalendarComponent {
|
|
6
|
+
control;
|
|
7
|
+
viewChange = new EventEmitter();
|
|
8
|
+
config;
|
|
9
|
+
_requestUpdateFull = false;
|
|
10
|
+
_requestUpdateEvents = false;
|
|
11
|
+
_requestViewChange = false;
|
|
12
|
+
_hashOptions = "";
|
|
13
|
+
_hashEvents = "";
|
|
14
|
+
_eventsSet = false;
|
|
15
|
+
_id = "dp_" + new Date().getTime() + rand();
|
|
16
|
+
_events = [];
|
|
17
|
+
get events() {
|
|
18
|
+
if (typeof this._events === 'function') {
|
|
19
|
+
return this._events();
|
|
20
|
+
}
|
|
21
|
+
return this._events;
|
|
22
|
+
}
|
|
23
|
+
set events(value) {
|
|
24
|
+
this._eventsSet = true;
|
|
25
|
+
this._events = value;
|
|
26
|
+
}
|
|
27
|
+
get configResolved() {
|
|
28
|
+
return typeof this.config === 'function' ? this.config() : this.config;
|
|
29
|
+
}
|
|
30
|
+
get id() {
|
|
31
|
+
return this._id;
|
|
32
|
+
}
|
|
33
|
+
constructor() {
|
|
34
|
+
effect(() => {
|
|
35
|
+
if (typeof this._events !== 'function') {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const control = this.control;
|
|
39
|
+
const events = this._events();
|
|
40
|
+
if (control) {
|
|
41
|
+
control.internal.upd({ events });
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
effect(() => {
|
|
45
|
+
if (typeof this.config !== 'function') {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const control = this.control;
|
|
49
|
+
const config = this.config();
|
|
50
|
+
if (control) {
|
|
51
|
+
control.internal.upd(config);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
ngOnInit() {
|
|
56
|
+
}
|
|
57
|
+
ngOnDestroy() {
|
|
58
|
+
this.dispose();
|
|
59
|
+
}
|
|
60
|
+
ngAfterViewInit() {
|
|
61
|
+
this.dispose();
|
|
62
|
+
const dp = new DayPilot.Calendar(this.id);
|
|
63
|
+
this.control = dp;
|
|
64
|
+
this.updateOptions();
|
|
65
|
+
this.updateEvents();
|
|
66
|
+
this._requestUpdateFull = false; // config just loaded and calling init(), no need to call update again
|
|
67
|
+
this._requestUpdateEvents = false; // config just loaded and calling init(), no need to call update again
|
|
68
|
+
dp.init();
|
|
69
|
+
}
|
|
70
|
+
ngDoCheck() {
|
|
71
|
+
const eventsAsSignal = typeof this._events === 'function' || !this._eventsSet;
|
|
72
|
+
const configAsSignal = typeof this.config === 'function' || !this.config;
|
|
73
|
+
if (eventsAsSignal && configAsSignal) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (!this.control) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (!configAsSignal) {
|
|
80
|
+
this.updateOptions();
|
|
81
|
+
}
|
|
82
|
+
if (!eventsAsSignal) {
|
|
83
|
+
this.updateEvents();
|
|
84
|
+
}
|
|
85
|
+
const control = this.control;
|
|
86
|
+
if (this._requestUpdateFull) {
|
|
87
|
+
control.internal.upd();
|
|
88
|
+
this._requestUpdateFull = false;
|
|
89
|
+
this._requestUpdateEvents = false;
|
|
90
|
+
}
|
|
91
|
+
else if (this._requestUpdateEvents) {
|
|
92
|
+
control.internal.upd({ "events": this.events });
|
|
93
|
+
this._requestUpdateEvents = false;
|
|
94
|
+
}
|
|
95
|
+
if (this._requestViewChange) {
|
|
96
|
+
this._requestViewChange = false;
|
|
97
|
+
const args = {};
|
|
98
|
+
this.viewChange.emit(args);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
dispose() {
|
|
102
|
+
if (this.control) {
|
|
103
|
+
this.control.dispose();
|
|
104
|
+
//@ts-ignore
|
|
105
|
+
this.control = null;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
updateOptions() {
|
|
109
|
+
const config = this.configResolved;
|
|
110
|
+
const hash = optHash(config);
|
|
111
|
+
if (hash !== this._hashOptions) {
|
|
112
|
+
const dp = this.control;
|
|
113
|
+
dp.internal.loadOptions(config);
|
|
114
|
+
this._requestUpdateFull = true;
|
|
115
|
+
this._requestViewChange = true;
|
|
116
|
+
}
|
|
117
|
+
this._hashOptions = hash;
|
|
118
|
+
}
|
|
119
|
+
updateEvents() {
|
|
120
|
+
const hash = optHash(this.events);
|
|
121
|
+
if (hash !== this._hashEvents) {
|
|
122
|
+
const dp = this.control;
|
|
123
|
+
if (dp) {
|
|
124
|
+
dp.events.list = this.events;
|
|
125
|
+
}
|
|
126
|
+
this._requestUpdateEvents = true;
|
|
127
|
+
}
|
|
128
|
+
this._hashEvents = hash;
|
|
129
|
+
}
|
|
130
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayPilotCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DayPilotCalendarComponent, selector: "daypilot-calendar", inputs: { config: "config", events: "events" }, outputs: { viewChange: "viewChange" }, ngImport: i0, template: `
|
|
132
|
+
<div id='{{id}}'></div>`, isInline: true, styles: [""] });
|
|
133
|
+
}
|
|
134
|
+
export { DayPilotCalendarComponent };
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayPilotCalendarComponent, decorators: [{
|
|
136
|
+
type: Component,
|
|
137
|
+
args: [{ selector: 'daypilot-calendar', template: `
|
|
138
|
+
<div id='{{id}}'></div>` }]
|
|
139
|
+
}], ctorParameters: function () { return []; }, propDecorators: { viewChange: [{
|
|
140
|
+
type: Output
|
|
141
|
+
}], config: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], events: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}] } });
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cGlsb3QtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF5cGlsb3QvZGF5cGlsb3QtbGl0ZS1hbmd1bGFyL3NyYy9saWIvZGF5cGlsb3QtY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFXLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxPQUFPLEVBQWtCLElBQUksRUFBQyxNQUFNLFFBQVEsQ0FBQzs7QUFFckQsTUFNYSx5QkFBeUI7SUFFN0IsT0FBTyxDQUFxQjtJQUN6QixVQUFVLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO0lBQzdFLE1BQU0sQ0FBc0I7SUFDN0Isa0JBQWtCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLG9CQUFvQixHQUFZLEtBQUssQ0FBQztJQUN0QyxrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFDcEMsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFFNUIsR0FBRyxHQUFXLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0lBRXBELE9BQU8sR0FBeUMsRUFBRSxDQUFDO0lBRTNELElBQVcsTUFBTTtRQUNmLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRTtZQUN0QyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN2QjtRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFDVyxNQUFNLENBQUMsS0FB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TSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzdCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDeEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ04sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUM5QjtZQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO3dHQXRKVSx5QkFBeUI7NEZBQXpCLHlCQUF5QixnSkFKMUI7NEJBQ2dCOztTQUdmLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLG1CQUFtQixZQUNuQjs0QkFDZ0I7MEVBTWhCLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0UsTUFBTTtzQkFBZCxLQUFLO2dCQW9CSyxNQUFNO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIERvQ2hlY2ssIGVmZmVjdCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RheVBpbG90fSBmcm9tIFwiLi9jb3JlL2RheXBpbG90LWNvcmVcIjtcbmltcG9ydCB7b3B0SGFzaCwgT3B0aW9uYWxTaWduYWwsIHJhbmR9IGZyb20gXCIuL3V0aWxcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF5cGlsb3QtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgaWQ9J3t7aWR9fSc+PC9kaXY+YCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIERheVBpbG90Q2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjayB7XG5cbiAgcHVibGljIGNvbnRyb2whOiBEYXlQaWxvdC5DYWxlbmRhcjtcbiAgQE91dHB1dCgpIHZpZXdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXlQaWxvdC5EYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF5UGlsb3QuRGF0ZT4oKTtcbiAgQElucHV0KCkgY29uZmlnOiBPcHRpb25hbFNpZ25hbDxhbnk+O1xuICBwcml2YXRlIF9yZXF1ZXN0VXBkYXRlRnVsbDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXF1ZXN0VXBkYXRlRXZlbnRzOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3JlcXVlc3RWaWV3Q2hhbmdlOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2hhc2hPcHRpb25zOiBzdHJpbmcgPSBcIlwiO1xuICBwcml2YXRlIF9oYXNoRXZlbnRzOiBzdHJpbmcgPSBcIlwiO1xuICBwcml2YXRlIF9ldmVudHNTZXQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9pZDogc3RyaW5nID0gXCJkcF9cIiArIG5ldyBEYXRlKCkuZ2V0VGltZSgpICsgcmFuZCgpO1xuXG4gIHByaXZhdGUgX2V2ZW50czogT3B0aW9uYWxTaWduYWw8RGF5UGlsb3QuRXZlbnREYXRhW10+ID0gW107XG5cbiAgcHVibGljIGdldCBldmVudHMoKTogRGF5UGlsb3QuRXZlbnREYXRhW10ge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fZXZlbnRzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZXZlbnRzKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ldmVudHM7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGV2ZW50cyh2YWx1ZTogT3B0aW9uYWxTaWduYWw8RGF5UGlsb3QuRXZlbnREYXRhW10+KSB7XG4gICAgdGhpcy5fZXZlbnRzU2V0ID0gdHJ1ZTtcbiAgICB0aGlzLl9ldmVudHMgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvbmZpZ1Jlc29sdmVkKCkge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5jb25maWcgPT09ICdmdW5jdGlvbicgPyB0aGlzLmNvbmZpZygpIDogdGhpcy5jb25maWc7XG4gIH1cblxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5fZXZlbnRzICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbnRyb2w6IGFueSA9IHRoaXMuY29udHJvbDtcbiAgICAgIGNvbnN0IGV2ZW50cyA9ICg8YW55PnRoaXMuX2V2ZW50cykoKTtcbiAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgIGNvbnRyb2wuaW50ZXJuYWwudXBkKHtldmVudHN9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbnRyb2w6IGFueSA9IHRoaXMuY29udHJvbDtcbiAgICAgIGNvbnN0IGNvbmZpZyA9ICg8YW55PnRoaXMuY29uZmlnKSgpO1xuICAgICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgICAgY29udHJvbC5pbnRlcm5hbC51cGQoY29uZmlnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICBjb25zdCBkcCA9IG5ldyBEYXlQaWxvdC5DYWxlbmRhcih0aGlzLmlkKTtcbiAgICB0aGlzLmNvbnRyb2wgPSBkcDtcbiAgICB0aGlzLnVwZGF0ZU9wdGlvbnMoKTtcbiAgICB0aGlzLnVwZGF0ZUV2ZW50cygpO1xuICAgIHRoaXMuX3JlcXVlc3RVcGRhdGVGdWxsID0gZmFsc2U7IC8vIGNvbmZpZyBqdXN0IGxvYWRlZCBhbmQgY2FsbGluZyBpbml0KCksIG5vIG5lZWQgdG8gY2FsbCB1cGRhdGUgYWdhaW5cbiAgICB0aGlzLl9yZXF1ZXN0VXBkYXRlRXZlbnRzID0gZmFsc2U7IC8vIGNvbmZpZyBqdXN0IGxvYWRlZCBhbmQgY2FsbGluZyBpbml0KCksIG5vIG5lZWQgdG8gY2FsbCB1cGRhdGUgYWdhaW5cbiAgICBkcC5pbml0KCk7XG4gIH1cblxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG5cbiAgICBjb25zdCBldmVudHNBc1NpZ25hbCA9IHR5cGVvZiB0aGlzLl9ldmVudHMgPT09ICdmdW5jdGlvbicgfHwgIXRoaXMuX2V2ZW50c1NldDtcbiAgICBjb25zdCBjb25maWdBc1NpZ25hbCA9IHR5cGVvZiB0aGlzLmNvbmZpZyA9PT0gJ2Z1bmN0aW9uJyB8fCAhdGhpcy5jb25maWc7XG5cbiAgICBpZiAoZXZlbnRzQXNTaWduYWwgJiYgY29uZmlnQXNTaWduYWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnQXNTaWduYWwpIHtcbiAgICAgIHRoaXMudXBkYXRlT3B0aW9ucygpO1xuICAgIH1cbiAgICBpZiAoIWV2ZW50c0FzU2lnbmFsKSB7XG4gICAgICB0aGlzLnVwZGF0ZUV2ZW50cygpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRyb2w6IGFueSA9IHRoaXMuY29udHJvbDtcblxuICAgIGlmICh0aGlzLl9yZXF1ZXN0VXBkYXRlRnVsbCkge1xuICAgICAgY29udHJvbC5pbnRlcm5hbC51cGQoKTtcbiAgICAgIHRoaXMuX3JlcXVlc3RVcGRhdGVGdWxsID0gZmFsc2U7XG4gICAgICB0aGlzLl9yZXF1ZXN0VXBkYXRlRXZlbnRzID0gZmFsc2U7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMuX3JlcXVlc3RVcGRhdGVFdmVudHMpIHtcbiAgICAgIGNvbnRyb2wuaW50ZXJuYWwudXBkKHsgXCJldmVudHNcIjogdGhpcy5ldmVudHMgfSk7XG4gICAgICB0aGlzLl9yZXF1ZXN0VXBkYXRlRXZlbnRzID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLl9yZXF1ZXN0Vmlld0NoYW5nZSkge1xuICAgICAgdGhpcy5fcmVxdWVzdFZpZXdDaGFuZ2UgPSBmYWxzZTtcbiAgICAgIGNvbnN0IGFyZ3M6IGFueSA9IHt9O1xuICAgICAgdGhpcy52aWV3Q2hhbmdlLmVtaXQoYXJncyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlKCkge1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbC5kaXNwb3NlKCk7XG4gICAgICAvL0B0cy1pZ25vcmVcbiAgICAgIHRoaXMuY29udHJvbCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVPcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnUmVzb2x2ZWQ7XG5cbiAgICBjb25zdCBoYXNoID0gb3B0SGFzaChjb25maWcpO1xuICAgIGlmIChoYXNoICE9PSB0aGlzLl9oYXNoT3B0aW9ucykge1xuICAgICAgY29uc3QgZHAgPSB0aGlzLmNvbnRyb2wgYXMgYW55O1xuICAgICAgZHAuaW50ZXJuYWwubG9hZE9wdGlvbnMoY29uZmlnKTtcbiAgICAgIHRoaXMuX3JlcXVlc3RVcGRhdGVGdWxsID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3JlcXVlc3RWaWV3Q2hhbmdlID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5faGFzaE9wdGlvbnMgPSBoYXNoO1xuXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUV2ZW50cygpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNoID0gb3B0SGFzaCh0aGlzLmV2ZW50cyk7XG4gICAgaWYgKGhhc2ggIT09IHRoaXMuX2hhc2hFdmVudHMpIHtcbiAgICAgIGNvbnN0IGRwID0gdGhpcy5jb250cm9sO1xuICAgICAgaWYgKGRwKSB7XG4gICAgICAgIGRwLmV2ZW50cy5saXN0ID0gdGhpcy5ldmVudHM7XG4gICAgICB9XG4gICAgICB0aGlzLl9yZXF1ZXN0VXBkYXRlRXZlbnRzID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5faGFzaEV2ZW50cyA9IGhhc2g7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { Component, effect, Input } from '@angular/core';
|
|
2
|
+
import { DayPilot } from "./core/daypilot-core";
|
|
3
|
+
import { optHash, rand } from "./util";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
class DayPilotMonthComponent {
|
|
6
|
+
control;
|
|
7
|
+
config;
|
|
8
|
+
_requestUpdateFull = false;
|
|
9
|
+
_requestUpdateEvents = false;
|
|
10
|
+
_hashOptions = "";
|
|
11
|
+
_hashEvents = "";
|
|
12
|
+
_eventsSet = false;
|
|
13
|
+
_id = "dp_" + new Date().getTime() + rand();
|
|
14
|
+
_events = [];
|
|
15
|
+
get events() {
|
|
16
|
+
if (typeof this._events === 'function') {
|
|
17
|
+
return this._events();
|
|
18
|
+
}
|
|
19
|
+
return this._events;
|
|
20
|
+
}
|
|
21
|
+
set events(value) {
|
|
22
|
+
this._eventsSet = true;
|
|
23
|
+
this._events = value;
|
|
24
|
+
}
|
|
25
|
+
get configResolved() {
|
|
26
|
+
return typeof this.config === 'function' ? this.config() : this.config;
|
|
27
|
+
}
|
|
28
|
+
get id() {
|
|
29
|
+
return this._id;
|
|
30
|
+
}
|
|
31
|
+
constructor() {
|
|
32
|
+
effect(() => {
|
|
33
|
+
if (typeof this._events !== 'function') {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const control = this.control;
|
|
37
|
+
const events = this._events();
|
|
38
|
+
if (control) {
|
|
39
|
+
control.internal.upd({ events });
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
effect(() => {
|
|
43
|
+
if (typeof this.config !== 'function') {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const control = this.control;
|
|
47
|
+
const config = this.config();
|
|
48
|
+
if (control) {
|
|
49
|
+
control.internal.upd(config);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
ngOnInit() {
|
|
54
|
+
}
|
|
55
|
+
ngOnDestroy() {
|
|
56
|
+
this.dispose();
|
|
57
|
+
}
|
|
58
|
+
ngAfterViewInit() {
|
|
59
|
+
this.dispose();
|
|
60
|
+
const dp = new DayPilot.Month(this.id);
|
|
61
|
+
this.control = dp;
|
|
62
|
+
this.updateOptions();
|
|
63
|
+
this.updateEvents();
|
|
64
|
+
this._requestUpdateFull = false; // config just loaded and calling init(), no need to call update again
|
|
65
|
+
this._requestUpdateEvents = false; // config just loaded and calling init(), no need to call update again
|
|
66
|
+
dp.init();
|
|
67
|
+
}
|
|
68
|
+
ngDoCheck() {
|
|
69
|
+
const eventsAsSignal = typeof this._events === 'function' || !this._eventsSet;
|
|
70
|
+
const configAsSignal = typeof this.config === 'function' || !this.config;
|
|
71
|
+
if (eventsAsSignal && configAsSignal) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (!this.control) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (!configAsSignal) {
|
|
78
|
+
this.updateOptions();
|
|
79
|
+
}
|
|
80
|
+
if (!eventsAsSignal) {
|
|
81
|
+
this.updateEvents();
|
|
82
|
+
}
|
|
83
|
+
const control = this.control;
|
|
84
|
+
if (this._requestUpdateFull) {
|
|
85
|
+
control.internal.upd();
|
|
86
|
+
this._requestUpdateFull = false;
|
|
87
|
+
this._requestUpdateEvents = false;
|
|
88
|
+
}
|
|
89
|
+
else if (this._requestUpdateEvents) {
|
|
90
|
+
control.internal.upd({ "events": this.events });
|
|
91
|
+
this._requestUpdateEvents = false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
dispose() {
|
|
95
|
+
if (this.control) {
|
|
96
|
+
this.control.dispose();
|
|
97
|
+
//@ts-ignore
|
|
98
|
+
this.control = null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
updateOptions() {
|
|
102
|
+
const config = this.configResolved;
|
|
103
|
+
const hash = optHash(config);
|
|
104
|
+
if (hash !== this._hashOptions) {
|
|
105
|
+
const dp = this.control;
|
|
106
|
+
dp.internal.loadOptions(config);
|
|
107
|
+
this._requestUpdateFull = true;
|
|
108
|
+
}
|
|
109
|
+
this._hashOptions = hash;
|
|
110
|
+
}
|
|
111
|
+
updateEvents() {
|
|
112
|
+
const hash = optHash(this.events);
|
|
113
|
+
if (hash !== this._hashEvents) {
|
|
114
|
+
const dp = this.control;
|
|
115
|
+
if (dp) {
|
|
116
|
+
dp.events.list = this.events;
|
|
117
|
+
}
|
|
118
|
+
this._requestUpdateEvents = true;
|
|
119
|
+
}
|
|
120
|
+
this._hashEvents = hash;
|
|
121
|
+
}
|
|
122
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayPilotMonthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
123
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DayPilotMonthComponent, selector: "daypilot-month", inputs: { config: "config", events: "events" }, ngImport: i0, template: `
|
|
124
|
+
<div id='{{id}}'></div>`, isInline: true, styles: [""] });
|
|
125
|
+
}
|
|
126
|
+
export { DayPilotMonthComponent };
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayPilotMonthComponent, decorators: [{
|
|
128
|
+
type: Component,
|
|
129
|
+
args: [{ selector: 'daypilot-month', template: `
|
|
130
|
+
<div id='{{id}}'></div>` }]
|
|
131
|
+
}], ctorParameters: function () { return []; }, propDecorators: { config: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], events: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}] } });
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cGlsb3QtbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF5cGlsb3QvZGF5cGlsb3QtbGl0ZS1hbmd1bGFyL3NyYy9saWIvZGF5cGlsb3QtbW9udGguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFXLE1BQU0sRUFBZ0IsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUMsT0FBTyxFQUFDLE9BQU8sRUFBa0IsSUFBSSxFQUFDLE1BQU0sUUFBUSxDQUFDOztBQUVyRCxNQU1hLHNCQUFzQjtJQUUxQixPQUFPLENBQWtCO0lBQ3ZCLE1BQU0sQ0FBc0I7SUFDN0Isa0JBQWtCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLG9CQUFvQixHQUFZLEtBQUssQ0FBQztJQUN0QyxZQUFZLEdBQVcsRUFBRSxDQUFDO0lBQzFCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUU1QixHQUFHLEdBQVcsS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFFcEQsT0FBTyxHQUF5QyxFQUFFLENBQUM7SUFFM0QsSUFBVyxNQUFNO1FBQ2YsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3ZCO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNXLE1BQU0sQ0FBQyxLQUEyQztRQUMzRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQs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QUM7SUFDMUIsQ0FBQzt3R0E5SVUsc0JBQXNCOzRGQUF0QixzQkFBc0Isc0dBSnZCOzRCQUNnQjs7U0FHZixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxnQkFBZ0IsWUFDaEI7NEJBQ2dCOzBFQU1qQixNQUFNO3NCQUFkLEtBQUs7Z0JBbUJLLE1BQU07c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRG9DaGVjaywgZWZmZWN0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF5UGlsb3R9IGZyb20gXCIuL2NvcmUvZGF5cGlsb3QtY29yZVwiO1xuaW1wb3J0IHtvcHRIYXNoLCBPcHRpb25hbFNpZ25hbCwgcmFuZH0gZnJvbSBcIi4vdXRpbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXlwaWxvdC1tb250aCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBpZD0ne3tpZH19Jz48L2Rpdj5gLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgRGF5UGlsb3RNb250aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBEb0NoZWNrIHtcblxuICBwdWJsaWMgY29udHJvbCE6IERheVBpbG90Lk1vbnRoO1xuICBASW5wdXQoKSBjb25maWc6IE9wdGlvbmFsU2lnbmFsPGFueT47XG4gIHByaXZhdGUgX3JlcXVlc3RVcGRhdGVGdWxsOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3JlcXVlc3RVcGRhdGVFdmVudHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaGFzaE9wdGlvbnM6IHN0cmluZyA9IFwiXCI7XG4gIHByaXZhdGUgX2hhc2hFdmVudHM6IHN0cmluZyA9IFwiXCI7XG4gIHByaXZhdGUgX2V2ZW50c1NldDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2lkOiBzdHJpbmcgPSBcImRwX1wiICsgbmV3IERhdGUoKS5nZXRUaW1lKCkgKyByYW5kKCk7XG5cbiAgcHJpdmF0ZSBfZXZlbnRzOiBPcHRpb25hbFNpZ25hbDxEYXlQaWxvdC5FdmVudERhdGFbXT4gPSBbXTtcblxuICBwdWJsaWMgZ2V0IGV2ZW50cygpOiBEYXlQaWxvdC5FdmVudERhdGFbXSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl9ldmVudHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ldmVudHMoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50cztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZXZlbnRzKHZhbHVlOiBPcHRpb25hbFNpZ25hbDxEYXlQaWxvdC5FdmVudERhdGFbXT4pIHtcbiAgICB0aGlzLl9ldmVudHNTZXQgPSB0cnVlO1xuICAgIHRoaXMuX2V2ZW50cyA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY29uZmlnUmVzb2x2ZWQoKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLmNvbmZpZyA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuY29uZmlnKCkgOiB0aGlzLmNvbmZpZztcbiAgfVxuXG4gIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLl9ldmVudHMgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY29udHJvbDogYW55ID0gdGhpcy5jb250cm9sO1xuICAgICAgY29uc3QgZXZlbnRzID0gKDxhbnk+dGhpcy5fZXZlbnRzKSgpO1xuICAgICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgICAgY29udHJvbC5pbnRlcm5hbC51cGQoe2V2ZW50c30pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY29udHJvbDogYW55ID0gdGhpcy5jb250cm9sO1xuICAgICAgY29uc3QgY29uZmlnID0gKDxhbnk+dGhpcy5jb25maWcpKCk7XG4gICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICBjb250cm9sLmludGVybmFsLnVwZChjb25maWcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICAgIGNvbnN0IGRwID0gbmV3IERheVBpbG90Lk1vbnRoKHRoaXMuaWQpO1xuICAgIHRoaXMuY29udHJvbCA9IGRwO1xuICAgIHRoaXMudXBkYXRlT3B0aW9ucygpO1xuICAgIHRoaXMudXBkYXRlRXZlbnRzKCk7XG4gICAgdGhpcy5fcmVxdWVzdFVwZGF0ZUZ1bGwgPSBmYWxzZTsgLy8gY29uZmlnIGp1c3QgbG9hZGVkIGFuZCBjYWxsaW5nIGluaXQoKSwgbm8gbmVlZCB0byBjYWxsIHVwZGF0ZSBhZ2FpblxuICAgIHRoaXMuX3JlcXVlc3RVcGRhdGVFdmVudHMgPSBmYWxzZTsgLy8gY29uZmlnIGp1c3QgbG9hZGVkIGFuZCBjYWxsaW5nIGluaXQoKSwgbm8gbmVlZCB0byBjYWxsIHVwZGF0ZSBhZ2FpblxuICAgIGRwLmluaXQoKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcblxuICAgIGNvbnN0IGV2ZW50c0FzU2lnbmFsID0gdHlwZW9mIHRoaXMuX2V2ZW50cyA9PT0gJ2Z1bmN0aW9uJyB8fCAhdGhpcy5fZXZlbnRzU2V0O1xuICAgIGNvbnN0IGNvbmZpZ0FzU2lnbmFsID0gdHlwZW9mIHRoaXMuY29uZmlnID09PSAnZnVuY3Rpb24nIHx8ICF0aGlzLmNvbmZpZztcblxuICAgIGlmIChldmVudHNBc1NpZ25hbCAmJiBjb25maWdBc1NpZ25hbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWdBc1NpZ25hbCkge1xuICAgICAgdGhpcy51cGRhdGVPcHRpb25zKCk7XG4gICAgfVxuICAgIGlmICghZXZlbnRzQXNTaWduYWwpIHtcbiAgICAgIHRoaXMudXBkYXRlRXZlbnRzKCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udHJvbDogYW55ID0gdGhpcy5jb250cm9sO1xuXG4gICAgaWYgKHRoaXMuX3JlcXVlc3RVcGRhdGVGdWxsKSB7XG4gICAgICBjb250cm9sLmludGVybmFsLnVwZCgpO1xuICAgICAgdGhpcy5fcmVxdWVzdFVwZGF0ZUZ1bGwgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3JlcXVlc3RVcGRhdGVFdmVudHMgPSBmYWxzZTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGhpcy5fcmVxdWVzdFVwZGF0ZUV2ZW50cykge1xuICAgICAgY29udHJvbC5pbnRlcm5hbC51cGQoeyBcImV2ZW50c1wiOiB0aGlzLmV2ZW50cyB9KTtcbiAgICAgIHRoaXMuX3JlcXVlc3RVcGRhdGVFdmVudHMgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc3Bvc2UoKSB7XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sLmRpc3Bvc2UoKTtcbiAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgdGhpcy5jb250cm9sID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWdSZXNvbHZlZDtcblxuICAgIGNvbnN0IGhhc2ggPSBvcHRIYXNoKGNvbmZpZyk7XG4gICAgaWYgKGhhc2ggIT09IHRoaXMuX2hhc2hPcHRpb25zKSB7XG4gICAgICBjb25zdCBkcCA9IHRoaXMuY29udHJvbCBhcyBhbnk7XG4gICAgICBkcC5pbnRlcm5hbC5sb2FkT3B0aW9ucyhjb25maWcpO1xuICAgICAgdGhpcy5fcmVxdWVzdFVwZGF0ZUZ1bGwgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLl9oYXNoT3B0aW9ucyA9IGhhc2g7XG5cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRXZlbnRzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhhc2ggPSBvcHRIYXNoKHRoaXMuZXZlbnRzKTtcbiAgICBpZiAoaGFzaCAhPT0gdGhpcy5faGFzaEV2ZW50cykge1xuICAgICAgY29uc3QgZHAgPSB0aGlzLmNvbnRyb2w7XG4gICAgICBpZiAoZHApIHtcbiAgICAgICAgZHAuZXZlbnRzLmxpc3QgPSB0aGlzLmV2ZW50cztcbiAgICAgIH1cbiAgICAgIHRoaXMuX3JlcXVlc3RVcGRhdGVFdmVudHMgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLl9oYXNoRXZlbnRzID0gaGFzaDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { Component, effect, EventEmitter, Input, Output } from "@angular/core";
|
|
2
|
+
import { DayPilot } from "./core/daypilot-core";
|
|
3
|
+
import { optHash, rand } from "./util";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
class DayPilotNavigatorComponent {
|
|
6
|
+
config;
|
|
7
|
+
dateChange = new EventEmitter();
|
|
8
|
+
control;
|
|
9
|
+
_requestUpdateFull = false;
|
|
10
|
+
_requestUpdateEvents = false;
|
|
11
|
+
_hashOptions = "";
|
|
12
|
+
_hashEvents = "";
|
|
13
|
+
_onTrs = null;
|
|
14
|
+
_dateSet = false;
|
|
15
|
+
_currentDate = null;
|
|
16
|
+
_eventsSet = false;
|
|
17
|
+
_date = DayPilot.Date.today();
|
|
18
|
+
get date() {
|
|
19
|
+
return this._date;
|
|
20
|
+
}
|
|
21
|
+
// @Input() date: DayPilot.Date = DayPilot.Date.today();
|
|
22
|
+
set date(value) {
|
|
23
|
+
this._date = value;
|
|
24
|
+
this._dateSet = true;
|
|
25
|
+
}
|
|
26
|
+
_events = [];
|
|
27
|
+
get events() {
|
|
28
|
+
if (typeof this._events === 'function') {
|
|
29
|
+
return this._events();
|
|
30
|
+
}
|
|
31
|
+
return this._events;
|
|
32
|
+
}
|
|
33
|
+
set events(value) {
|
|
34
|
+
this._eventsSet = true;
|
|
35
|
+
this._events = value;
|
|
36
|
+
}
|
|
37
|
+
get configResolved() {
|
|
38
|
+
return typeof this.config === 'function' ? this.config() : this.config;
|
|
39
|
+
}
|
|
40
|
+
_id = "dp_" + new Date().getTime() + rand();
|
|
41
|
+
get id() {
|
|
42
|
+
return this._id;
|
|
43
|
+
}
|
|
44
|
+
constructor() {
|
|
45
|
+
effect(() => {
|
|
46
|
+
if (typeof this._events !== 'function') {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const control = this.control;
|
|
50
|
+
const events = this._events();
|
|
51
|
+
if (control) {
|
|
52
|
+
control.internal.upd({ events });
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
effect(() => {
|
|
56
|
+
if (typeof this.config !== 'function') {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const control = this.control;
|
|
60
|
+
const config = this.config();
|
|
61
|
+
if (control) {
|
|
62
|
+
control.internal.upd(config);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
ngOnInit() {
|
|
67
|
+
}
|
|
68
|
+
ngOnDestroy() {
|
|
69
|
+
this.dispose();
|
|
70
|
+
}
|
|
71
|
+
ngAfterViewInit() {
|
|
72
|
+
this.dispose();
|
|
73
|
+
this.control = new DayPilot.Navigator(this.id);
|
|
74
|
+
let component = this;
|
|
75
|
+
this.updateOptions();
|
|
76
|
+
this.updateEvents();
|
|
77
|
+
let dp = this.control;
|
|
78
|
+
this.control.onTimeRangeSelected = function (args) {
|
|
79
|
+
// emit event
|
|
80
|
+
component.dateChange.emit(args.day);
|
|
81
|
+
// call the original
|
|
82
|
+
if (component._onTrs) {
|
|
83
|
+
component._onTrs.call(dp, args);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
this._requestUpdateFull = false; // config just loaded and calling init(), no need to call update again
|
|
87
|
+
this._requestUpdateEvents = false; // config just loaded and calling init(), no need to call update again
|
|
88
|
+
this.control.init();
|
|
89
|
+
if (this.control.selectionDay !== DayPilot.Date.today()) {
|
|
90
|
+
component.dateChange.emit(this.control.selectionDay);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
ngDoCheck() {
|
|
94
|
+
if (!this.control) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const eventsAsSignal = typeof this._events === 'function' || !this._eventsSet;
|
|
98
|
+
const configAsSignal = typeof this.config === 'function' || !this.config;
|
|
99
|
+
if (eventsAsSignal && configAsSignal) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
if (!this.control) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (!configAsSignal) {
|
|
106
|
+
this.updateOptions();
|
|
107
|
+
}
|
|
108
|
+
if (!eventsAsSignal) {
|
|
109
|
+
this.updateEvents();
|
|
110
|
+
}
|
|
111
|
+
const control = this.control;
|
|
112
|
+
if (this._requestUpdateFull) {
|
|
113
|
+
control.internal.upd();
|
|
114
|
+
this._requestUpdateFull = false;
|
|
115
|
+
this._requestUpdateEvents = false;
|
|
116
|
+
}
|
|
117
|
+
else if (this._requestUpdateEvents) {
|
|
118
|
+
control.internal.upd({ "events": this.events });
|
|
119
|
+
this._requestUpdateEvents = false;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
dispose() {
|
|
123
|
+
if (this.control) {
|
|
124
|
+
this.control.dispose();
|
|
125
|
+
//@ts-ignore
|
|
126
|
+
this.control = null;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
updateOptions() {
|
|
130
|
+
let dp = this.control;
|
|
131
|
+
const config = this.configResolved;
|
|
132
|
+
let hash = optHash(this.config);
|
|
133
|
+
if (hash !== this._hashOptions) {
|
|
134
|
+
for (let name in config) {
|
|
135
|
+
if (name === "selectionDay") {
|
|
136
|
+
continue; // ignore
|
|
137
|
+
}
|
|
138
|
+
if (name === "onTimeRangeSelected") {
|
|
139
|
+
this._onTrs = this.config.onTimeRangeSelected;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
dp[name] = config[name];
|
|
143
|
+
}
|
|
144
|
+
this._requestUpdateFull = true;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (this._dateSet && this.date) {
|
|
148
|
+
this._dateSet = false;
|
|
149
|
+
this._currentDate = dp.selectionDay;
|
|
150
|
+
dp.select(this.date);
|
|
151
|
+
}
|
|
152
|
+
this._hashOptions = hash;
|
|
153
|
+
}
|
|
154
|
+
updateEvents() {
|
|
155
|
+
const hash = optHash(this.events);
|
|
156
|
+
if (hash !== this._hashEvents) {
|
|
157
|
+
const dp = this.control;
|
|
158
|
+
if (dp) {
|
|
159
|
+
dp.events.list = this.events;
|
|
160
|
+
}
|
|
161
|
+
this._requestUpdateEvents = true;
|
|
162
|
+
}
|
|
163
|
+
this._hashEvents = hash;
|
|
164
|
+
}
|
|
165
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayPilotNavigatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
166
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DayPilotNavigatorComponent, selector: "daypilot-navigator", inputs: { config: "config", date: "date", events: "events" }, outputs: { dateChange: "dateChange" }, ngImport: i0, template: `
|
|
167
|
+
<div id='{{id}}'></div>`, isInline: true, styles: [""] });
|
|
168
|
+
}
|
|
169
|
+
export { DayPilotNavigatorComponent };
|
|
170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayPilotNavigatorComponent, decorators: [{
|
|
171
|
+
type: Component,
|
|
172
|
+
args: [{ selector: 'daypilot-navigator', template: `
|
|
173
|
+
<div id='{{id}}'></div>` }]
|
|
174
|
+
}], ctorParameters: function () { return []; }, propDecorators: { config: [{
|
|
175
|
+
type: Input
|
|
176
|
+
}], dateChange: [{
|
|
177
|
+
type: Output
|
|
178
|
+
}], date: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], events: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}] } });
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cGlsb3QtbmF2aWdhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RheXBpbG90L2RheXBpbG90LWxpdGUtYW5ndWxhci9zcmMvbGliL2RheXBpbG90LW5hdmlnYXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQVcsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUMsT0FBTyxFQUFDLE9BQU8sRUFBa0IsSUFBSSxFQUFDLE1BQU0sUUFBUSxDQUFDOztBQUVyRCxNQU1hLDBCQUEwQjtJQUU1QixNQUFNLENBQXNCO0lBQzNCLFVBQVUsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFDL0UsT0FBTyxDQUFzQjtJQUM1QixrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFDcEMsb0JBQW9CLEdBQVksS0FBSyxDQUFDO0lBQ3RDLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUN6QixNQUFNLEdBQVEsSUFBSSxDQUFDO0lBQ25CLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsWUFBWSxHQUF5QixJQUFJLENBQUM7SUFDMUMsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUc1QixLQUFLLEdBQWtCLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFckQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsSUFDVyxJQUFJLENBQUMsS0FBb0I7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENB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QUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RCO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVPLFlBQVk7UUFDbEIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzdCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDeEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ04sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUM5QjtZQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO3dHQWxNVSwwQkFBMEI7NEZBQTFCLDBCQUEwQiwrSkFKM0I7NEJBQ2dCOztTQUdmLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLG9CQUFvQixZQUNwQjs0QkFDZ0I7MEVBS2pCLE1BQU07c0JBQWQsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQW9CSSxJQUFJO3NCQURkLEtBQUs7Z0JBZ0JLLE1BQU07c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRG9DaGVjaywgZWZmZWN0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtEYXlQaWxvdH0gZnJvbSBcIi4vY29yZS9kYXlwaWxvdC1jb3JlXCI7XG5pbXBvcnQge29wdEhhc2gsIE9wdGlvbmFsU2lnbmFsLCByYW5kfSBmcm9tIFwiLi91dGlsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RheXBpbG90LW5hdmlnYXRvcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBpZD0ne3tpZH19Jz48L2Rpdj5gLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgRGF5UGlsb3ROYXZpZ2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjayB7XG5cbiAgQElucHV0KCkgY29uZmlnOiBPcHRpb25hbFNpZ25hbDxhbnk+O1xuICBAT3V0cHV0KCkgZGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERheVBpbG90LkRhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXlQaWxvdC5EYXRlPigpO1xuICBwdWJsaWMgY29udHJvbCE6IERheVBpbG90Lk5hdmlnYXRvcjtcbiAgcHJpdmF0ZSBfcmVxdWVzdFVwZGF0ZUZ1bGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVxdWVzdFVwZGF0ZUV2ZW50czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9oYXNoT3B0aW9uczogc3RyaW5nID0gXCJcIjtcbiAgcHJpdmF0ZSBfaGFzaEV2ZW50czogc3RyaW5nID0gXCJcIjtcbiAgcHJpdmF0ZSBfb25UcnM6IGFueSA9IG51bGw7XG4gIHByaXZhdGUgX2RhdGVTZXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY3VycmVudERhdGU6IERheVBpbG90LkRhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfZXZlbnRzU2V0OiBib29sZWFuID0gZmFsc2U7XG5cblxuICBwcml2YXRlIF9kYXRlOiBEYXlQaWxvdC5EYXRlID0gRGF5UGlsb3QuRGF0ZS50b2RheSgpO1xuXG4gIHB1YmxpYyBnZXQgZGF0ZSgpOiBEYXlQaWxvdC5EYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0ZTtcbiAgfVxuXG4gIC8vIEBJbnB1dCgpIGRhdGU6IERheVBpbG90LkRhdGUgPSBEYXlQaWxvdC5EYXRlLnRvZGF5KCk7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0ZSh2YWx1ZTogRGF5UGlsb3QuRGF0ZSkge1xuICAgIHRoaXMuX2RhdGUgPSB2YWx1ZTtcbiAgICB0aGlzLl9kYXRlU2V0ID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2V2ZW50czogT3B0aW9uYWxTaWduYWw8RGF5UGlsb3QuRXZlbnREYXRhW10+ID0gW107XG5cbiAgcHVibGljIGdldCBldmVudHMoKTogRGF5UGlsb3QuRXZlbnREYXRhW10ge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fZXZlbnRzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZXZlbnRzKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ldmVudHM7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGV2ZW50cyh2YWx1ZTogT3B0aW9uYWxTaWduYWw8RGF5UGlsb3QuRXZlbnREYXRhW10+KSB7XG4gICAgdGhpcy5fZXZlbnRzU2V0ID0gdHJ1ZTtcbiAgICB0aGlzLl9ldmVudHMgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvbmZpZ1Jlc29sdmVkKCkge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5jb25maWcgPT09ICdmdW5jdGlvbicgPyB0aGlzLmNvbmZpZygpIDogdGhpcy5jb25maWc7XG4gIH1cblxuXG4gIHByaXZhdGUgX2lkOiBzdHJpbmcgPSBcImRwX1wiICsgbmV3IERhdGUoKS5nZXRUaW1lKCkgKyByYW5kKCk7XG5cbiAgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuX2V2ZW50cyAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBjb250cm9sOiBhbnkgPSB0aGlzLmNvbnRyb2w7XG4gICAgICBjb25zdCBldmVudHMgPSAoPGFueT50aGlzLl9ldmVudHMpKCk7XG4gICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICBjb250cm9sLmludGVybmFsLnVwZCh7ZXZlbnRzfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZyAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBjb250cm9sOiBhbnkgPSB0aGlzLmNvbnRyb2w7XG4gICAgICBjb25zdCBjb25maWcgPSAoPGFueT50aGlzLmNvbmZpZykoKTtcbiAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgIGNvbnRyb2wuaW50ZXJuYWwudXBkKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICAgIHRoaXMuY29udHJvbCA9IG5ldyBEYXlQaWxvdC5OYXZpZ2F0b3IodGhpcy5pZCk7XG4gICAgbGV0IGNvbXBvbmVudCA9IHRoaXM7XG5cbiAgICB0aGlzLnVwZGF0ZU9wdGlvbnMoKTtcbiAgICB0aGlzLnVwZGF0ZUV2ZW50cygpO1xuICAgIGxldCBkcCA9IHRoaXMuY29udHJvbDtcbiAgICB0aGlzLmNvbnRyb2wub25UaW1lUmFuZ2VTZWxlY3RlZCA9IGZ1bmN0aW9uIChhcmdzKSB7XG4gICAgICAvLyBlbWl0IGV2ZW50XG4gICAgICBjb21wb25lbnQuZGF0ZUNoYW5nZS5lbWl0KGFyZ3MuZGF5KTtcbiAgICAgIC8vIGNhbGwgdGhlIG9yaWdpbmFsXG4gICAgICBpZiAoY29tcG9uZW50Ll9vblRycykge1xuICAgICAgICBjb21wb25lbnQuX29uVHJzLmNhbGwoZHAsIGFyZ3MpO1xuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5fcmVxdWVzdFVwZGF0ZUZ1bGwgPSBmYWxzZTsgLy8gY29uZmlnIGp1c3QgbG9hZGVkIGFuZCBjYWxsaW5nIGluaXQoKSwgbm8gbmVlZCB0byBjYWxsIHVwZGF0ZSBhZ2FpblxuICAgIHRoaXMuX3JlcXVlc3RVcGRhdGVFdmVudHMgPSBmYWxzZTsgLy8gY29uZmlnIGp1c3QgbG9hZGVkIGFuZCBjYWxsaW5nIGluaXQoKSwgbm8gbmVlZCB0byBjYWxsIHVwZGF0ZSBhZ2FpblxuICAgIHRoaXMuY29udHJvbC5pbml0KCk7XG5cbiAgICBpZiAodGhpcy5jb250cm9sLnNlbGVjdGlvbkRheSAhPT0gRGF5UGlsb3QuRGF0ZS50b2RheSgpKSB7XG4gICAgICBjb21wb25lbnQuZGF0ZUNoYW5nZS5lbWl0KHRoaXMuY29udHJvbC5zZWxlY3Rpb25EYXkpO1xuICAgIH1cblxuICB9XG5cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnRzQXNTaWduYWwgPSB0eXBlb2YgdGhpcy5fZXZlbnRzID09PSAnZnVuY3Rpb24nIHx8ICF0aGlzLl9ldmVudHNTZXQ7XG4gICAgY29uc3QgY29uZmlnQXNTaWduYWwgPSB0eXBlb2YgdGhpcy5jb25maWcgPT09ICdmdW5jdGlvbicgfHwgIXRoaXMuY29uZmlnO1xuXG4gICAgaWYgKGV2ZW50c0FzU2lnbmFsICYmIGNvbmZpZ0FzU2lnbmFsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWNvbmZpZ0FzU2lnbmFsKSB7XG4gICAgICB0aGlzLnVwZGF0ZU9wdGlvbnMoKTtcbiAgICB9XG4gICAgaWYgKCFldmVudHNBc1NpZ25hbCkge1xuICAgICAgdGhpcy51cGRhdGVFdmVudHMoKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb250cm9sOiBhbnkgPSB0aGlzLmNvbnRyb2w7XG5cbiAgICBpZiAodGhpcy5fcmVxdWVzdFVwZGF0ZUZ1bGwpIHtcbiAgICAgIGNvbnRyb2wuaW50ZXJuYWwudXBkKCk7XG4gICAgICB0aGlzLl9yZXF1ZXN0VXBkYXRlRnVsbCA9IGZhbHNlO1xuICAgICAgdGhpcy5fcmVxdWVzdFVwZGF0ZUV2ZW50cyA9IGZhbHNlO1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLl9yZXF1ZXN0VXBkYXRlRXZlbnRzKSB7XG4gICAgICBjb250cm9sLmludGVybmFsLnVwZCh7IFwiZXZlbnRzXCI6IHRoaXMuZXZlbnRzIH0pO1xuICAgICAgdGhpcy5fcmVxdWVzdFVwZGF0ZUV2ZW50cyA9IGZhbHNlO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlKCkge1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbC5kaXNwb3NlKCk7XG4gICAgICAvL0B0cy1pZ25vcmVcbiAgICAgIHRoaXMuY29udHJvbCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVPcHRpb25zKCk6IHZvaWQge1xuICAgIGxldCBkcCA9IHRoaXMuY29udHJvbCBhcyBhbnk7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWdSZXNvbHZlZDtcbiAgICBsZXQgaGFzaCA9IG9wdEhhc2godGhpcy5jb25maWcpO1xuXG4gICAgaWYgKGhhc2ggIT09IHRoaXMuX2hhc2hPcHRpb25zKSB7XG4gICAgICBmb3IgKGxldCBuYW1lIGluIGNvbmZpZykge1xuICAgICAgICBpZiAobmFtZSA9PT0gXCJzZWxlY3Rpb25EYXlcIikge1xuICAgICAgICAgIGNvbnRpbnVlOyAvLyBpZ25vcmVcbiAgICAgICAgfVxuICAgICAgICBpZiAobmFtZSA9PT0gXCJvblRpbWVSYW5nZVNlbGVjdGVkXCIpIHtcbiAgICAgICAgICB0aGlzLl9vblRycyA9IHRoaXMuY29uZmlnLm9uVGltZVJhbmdlU2VsZWN0ZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZHBbbmFtZV0gPSBjb25maWdbbmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmVxdWVzdFVwZGF0ZUZ1bGwgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9kYXRlU2V0ICYmIHRoaXMuZGF0ZSkge1xuICAgICAgdGhpcy5fZGF0ZVNldCA9IGZhbHNlO1xuICAgICAgdGhpcy5fY3VycmVudERhdGUgPSBkcC5zZWxlY3Rpb25EYXk7XG4gICAgICBkcC5zZWxlY3QodGhpcy5kYXRlKTtcbiAgICB9XG5cbiAgICB0aGlzLl9oYXNoT3B0aW9ucyA9IGhhc2g7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUV2ZW50cygpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNoID0gb3B0SGFzaCh0aGlzLmV2ZW50cyk7XG4gICAgaWYgKGhhc2ggIT09IHRoaXMuX2hhc2hFdmVudHMpIHtcbiAgICAgIGNvbnN0IGRwID0gdGhpcy5jb250cm9sO1xuICAgICAgaWYgKGRwKSB7XG4gICAgICAgIGRwLmV2ZW50cy5saXN0ID0gdGhpcy5ldmVudHM7XG4gICAgICB9XG4gICAgICB0aGlzLl9yZXF1ZXN0VXBkYXRlRXZlbnRzID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5faGFzaEV2ZW50cyA9IGhhc2g7XG4gIH1cbn1cbiJdfQ==
|