@netwin/angular-datetime-picker 18.0.0
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/README.md +225 -0
- package/assets/style/picker.min.css +1 -0
- package/esm2022/lib/date-time/adapter/date-time-adapter.class.mjs +121 -0
- package/esm2022/lib/date-time/adapter/date-time-format.class.mjs +7 -0
- package/esm2022/lib/date-time/adapter/native-date-time-adapter.class.mjs +261 -0
- package/esm2022/lib/date-time/adapter/native-date-time-format.class.mjs +10 -0
- package/esm2022/lib/date-time/adapter/native-date-time.module.mjs +39 -0
- package/esm2022/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-adapter.class.mjs +235 -0
- package/esm2022/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-format.class.mjs +10 -0
- package/esm2022/lib/date-time/calendar-body.component.mjs +147 -0
- package/esm2022/lib/date-time/calendar-month-view.component.mjs +451 -0
- package/esm2022/lib/date-time/calendar-multi-year-view.component.mjs +361 -0
- package/esm2022/lib/date-time/calendar-year-view.component.mjs +371 -0
- package/esm2022/lib/date-time/calendar.component.mjs +383 -0
- package/esm2022/lib/date-time/date-time-inline.component.mjs +296 -0
- package/esm2022/lib/date-time/date-time-picker-container.component.mjs +420 -0
- package/esm2022/lib/date-time/date-time-picker-input.directive.mjs +638 -0
- package/esm2022/lib/date-time/date-time-picker-intl.service.mjs +62 -0
- package/esm2022/lib/date-time/date-time-picker-trigger.directive.mjs +69 -0
- package/esm2022/lib/date-time/date-time-picker.animations.mjs +21 -0
- package/esm2022/lib/date-time/date-time-picker.component.mjs +580 -0
- package/esm2022/lib/date-time/date-time.class.mjs +180 -0
- package/esm2022/lib/date-time/date-time.module.mjs +91 -0
- package/esm2022/lib/date-time/numberedFixLen.pipe.mjs +28 -0
- package/esm2022/lib/date-time/options-provider.mjs +34 -0
- package/esm2022/lib/date-time/timer-box.component.mjs +135 -0
- package/esm2022/lib/date-time/timer.component.mjs +292 -0
- package/esm2022/lib/dialog/dialog-config.class.mjs +56 -0
- package/esm2022/lib/dialog/dialog-container.component.mjs +230 -0
- package/esm2022/lib/dialog/dialog-ref.class.mjs +123 -0
- package/esm2022/lib/dialog/dialog.module.mjs +34 -0
- package/esm2022/lib/dialog/dialog.service.mjs +245 -0
- package/esm2022/lib/utils/array.utils.mjs +12 -0
- package/esm2022/lib/utils/constants.mjs +55 -0
- package/esm2022/lib/utils/date.utils.mjs +49 -0
- package/esm2022/lib/utils/index.mjs +5 -0
- package/esm2022/lib/utils/object.utils.mjs +26 -0
- package/esm2022/netwin-angular-datetime-picker.mjs +5 -0
- package/esm2022/public_api.mjs +25 -0
- package/fesm2022/netwin-angular-datetime-picker.mjs +5913 -0
- package/fesm2022/netwin-angular-datetime-picker.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/date-time/adapter/date-time-adapter.class.d.ts +193 -0
- package/lib/date-time/adapter/date-time-format.class.d.ts +15 -0
- package/lib/date-time/adapter/native-date-time-adapter.class.d.ts +69 -0
- package/lib/date-time/adapter/native-date-time-format.class.d.ts +5 -0
- package/lib/date-time/adapter/native-date-time.module.d.ts +12 -0
- package/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-adapter.class.d.ts +64 -0
- package/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-format.class.d.ts +5 -0
- package/lib/date-time/calendar-body.component.d.ts +80 -0
- package/lib/date-time/calendar-month-view.component.d.ts +144 -0
- package/lib/date-time/calendar-multi-year-view.component.d.ts +111 -0
- package/lib/date-time/calendar-year-view.component.d.ts +123 -0
- package/lib/date-time/calendar.component.d.ts +155 -0
- package/lib/date-time/date-time-inline.component.d.ts +105 -0
- package/lib/date-time/date-time-picker-container.component.d.ts +130 -0
- package/lib/date-time/date-time-picker-input.directive.d.ts +167 -0
- package/lib/date-time/date-time-picker-intl.service.d.ts +51 -0
- package/lib/date-time/date-time-picker-trigger.directive.d.ts +24 -0
- package/lib/date-time/date-time-picker.animations.d.ts +8 -0
- package/lib/date-time/date-time-picker.component.d.ts +177 -0
- package/lib/date-time/date-time.class.d.ts +106 -0
- package/lib/date-time/date-time.module.d.ts +23 -0
- package/lib/date-time/numberedFixLen.pipe.d.ts +10 -0
- package/lib/date-time/options-provider.d.ts +23 -0
- package/lib/date-time/timer-box.component.d.ts +46 -0
- package/lib/date-time/timer.component.d.ts +132 -0
- package/lib/dialog/dialog-config.class.d.ts +169 -0
- package/lib/dialog/dialog-container.component.d.ts +59 -0
- package/lib/dialog/dialog-ref.class.d.ts +51 -0
- package/lib/dialog/dialog.module.d.ts +11 -0
- package/lib/dialog/dialog.service.d.ts +76 -0
- package/lib/utils/array.utils.d.ts +5 -0
- package/lib/utils/constants.d.ts +19 -0
- package/lib/utils/date.utils.d.ts +12 -0
- package/lib/utils/index.d.ts +4 -0
- package/lib/utils/object.utils.d.ts +11 -0
- package/package.json +51 -0
- package/public_api.d.ts +24 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* timer.component
|
|
3
|
+
*/
|
|
4
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output } from '@angular/core';
|
|
5
|
+
import { take } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./date-time-picker-intl.service";
|
|
8
|
+
import * as i2 from "./adapter/date-time-adapter.class";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i4 from "./timer-box.component";
|
|
11
|
+
export class OwlTimerComponent {
|
|
12
|
+
get pickerMoment() {
|
|
13
|
+
return this._pickerMoment;
|
|
14
|
+
}
|
|
15
|
+
set pickerMoment(value) {
|
|
16
|
+
value = this.dateTimeAdapter.deserialize(value);
|
|
17
|
+
this._pickerMoment =
|
|
18
|
+
this.getValidDate(value) || this.dateTimeAdapter.now();
|
|
19
|
+
}
|
|
20
|
+
get minDateTime() {
|
|
21
|
+
return this._minDateTime;
|
|
22
|
+
}
|
|
23
|
+
set minDateTime(value) {
|
|
24
|
+
value = this.dateTimeAdapter.deserialize(value);
|
|
25
|
+
this._minDateTime = this.getValidDate(value);
|
|
26
|
+
}
|
|
27
|
+
get maxDateTime() {
|
|
28
|
+
return this._maxDateTime;
|
|
29
|
+
}
|
|
30
|
+
set maxDateTime(value) {
|
|
31
|
+
value = this.dateTimeAdapter.deserialize(value);
|
|
32
|
+
this._maxDateTime = this.getValidDate(value);
|
|
33
|
+
}
|
|
34
|
+
get hourValue() {
|
|
35
|
+
return this.dateTimeAdapter.getHours(this.pickerMoment);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The value would be displayed in hourBox.
|
|
39
|
+
* We need this because the value displayed in hourBox it not
|
|
40
|
+
* the same as the hourValue when the timer is in hour12Timer mode.
|
|
41
|
+
* */
|
|
42
|
+
get hourBoxValue() {
|
|
43
|
+
let hours = this.hourValue;
|
|
44
|
+
if (!this.hour12Timer) {
|
|
45
|
+
return hours;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
if (hours === 0) {
|
|
49
|
+
hours = 12;
|
|
50
|
+
this.isPM = false;
|
|
51
|
+
}
|
|
52
|
+
else if (hours > 0 && hours < 12) {
|
|
53
|
+
this.isPM = false;
|
|
54
|
+
}
|
|
55
|
+
else if (hours === 12) {
|
|
56
|
+
this.isPM = true;
|
|
57
|
+
}
|
|
58
|
+
else if (hours > 12 && hours < 24) {
|
|
59
|
+
hours = hours - 12;
|
|
60
|
+
this.isPM = true;
|
|
61
|
+
}
|
|
62
|
+
return hours;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
get minuteValue() {
|
|
66
|
+
return this.dateTimeAdapter.getMinutes(this.pickerMoment);
|
|
67
|
+
}
|
|
68
|
+
get secondValue() {
|
|
69
|
+
return this.dateTimeAdapter.getSeconds(this.pickerMoment);
|
|
70
|
+
}
|
|
71
|
+
get upHourButtonLabel() {
|
|
72
|
+
return this.pickerIntl.upHourLabel;
|
|
73
|
+
}
|
|
74
|
+
get downHourButtonLabel() {
|
|
75
|
+
return this.pickerIntl.downHourLabel;
|
|
76
|
+
}
|
|
77
|
+
get upMinuteButtonLabel() {
|
|
78
|
+
return this.pickerIntl.upMinuteLabel;
|
|
79
|
+
}
|
|
80
|
+
get downMinuteButtonLabel() {
|
|
81
|
+
return this.pickerIntl.downMinuteLabel;
|
|
82
|
+
}
|
|
83
|
+
get upSecondButtonLabel() {
|
|
84
|
+
return this.pickerIntl.upSecondLabel;
|
|
85
|
+
}
|
|
86
|
+
get downSecondButtonLabel() {
|
|
87
|
+
return this.pickerIntl.downSecondLabel;
|
|
88
|
+
}
|
|
89
|
+
get hour12ButtonLabel() {
|
|
90
|
+
return this.isPM
|
|
91
|
+
? this.pickerIntl.hour12PMLabel
|
|
92
|
+
: this.pickerIntl.hour12AMLabel;
|
|
93
|
+
}
|
|
94
|
+
get owlDTTimerClass() {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
get owlDTTimeTabIndex() {
|
|
98
|
+
return -1;
|
|
99
|
+
}
|
|
100
|
+
constructor(ngZone, elmRef, pickerIntl, cdRef, dateTimeAdapter) {
|
|
101
|
+
this.ngZone = ngZone;
|
|
102
|
+
this.elmRef = elmRef;
|
|
103
|
+
this.pickerIntl = pickerIntl;
|
|
104
|
+
this.cdRef = cdRef;
|
|
105
|
+
this.dateTimeAdapter = dateTimeAdapter;
|
|
106
|
+
this.isPM = false; // a flag indicates the current timer moment is in PM or AM
|
|
107
|
+
/**
|
|
108
|
+
* Hours to change per step
|
|
109
|
+
*/
|
|
110
|
+
this.stepHour = 1;
|
|
111
|
+
/**
|
|
112
|
+
* Minutes to change per step
|
|
113
|
+
*/
|
|
114
|
+
this.stepMinute = 1;
|
|
115
|
+
/**
|
|
116
|
+
* Seconds to change per step
|
|
117
|
+
*/
|
|
118
|
+
this.stepSecond = 1;
|
|
119
|
+
this.selectedChange = new EventEmitter();
|
|
120
|
+
}
|
|
121
|
+
ngOnInit() { }
|
|
122
|
+
/**
|
|
123
|
+
* Focus to the host element
|
|
124
|
+
* */
|
|
125
|
+
focus() {
|
|
126
|
+
this.ngZone.runOutsideAngular(() => {
|
|
127
|
+
this.ngZone.onStable
|
|
128
|
+
.asObservable()
|
|
129
|
+
.pipe(take(1))
|
|
130
|
+
.subscribe(() => {
|
|
131
|
+
this.elmRef.nativeElement.focus();
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Set the hour value via typing into timer box input
|
|
137
|
+
* We need this to handle the hour value when the timer is in hour12 mode
|
|
138
|
+
* */
|
|
139
|
+
setHourValueViaInput(hours) {
|
|
140
|
+
if (this.hour12Timer && this.isPM && hours >= 1 && hours <= 11) {
|
|
141
|
+
hours = hours + 12;
|
|
142
|
+
}
|
|
143
|
+
else if (this.hour12Timer && !this.isPM && hours === 12) {
|
|
144
|
+
hours = 0;
|
|
145
|
+
}
|
|
146
|
+
this.setHourValue(hours);
|
|
147
|
+
}
|
|
148
|
+
setHourValue(hours) {
|
|
149
|
+
const m = this.dateTimeAdapter.setHours(this.pickerMoment, hours);
|
|
150
|
+
this.selectedChange.emit(m);
|
|
151
|
+
this.cdRef.markForCheck();
|
|
152
|
+
}
|
|
153
|
+
setMinuteValue(minutes) {
|
|
154
|
+
const m = this.dateTimeAdapter.setMinutes(this.pickerMoment, minutes);
|
|
155
|
+
this.selectedChange.emit(m);
|
|
156
|
+
this.cdRef.markForCheck();
|
|
157
|
+
}
|
|
158
|
+
setSecondValue(seconds) {
|
|
159
|
+
const m = this.dateTimeAdapter.setSeconds(this.pickerMoment, seconds);
|
|
160
|
+
this.selectedChange.emit(m);
|
|
161
|
+
this.cdRef.markForCheck();
|
|
162
|
+
}
|
|
163
|
+
setMeridiem(event) {
|
|
164
|
+
this.isPM = !this.isPM;
|
|
165
|
+
let hours = this.hourValue;
|
|
166
|
+
if (this.isPM) {
|
|
167
|
+
hours = hours + 12;
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
hours = hours - 12;
|
|
171
|
+
}
|
|
172
|
+
if (hours >= 0 && hours <= 23) {
|
|
173
|
+
this.setHourValue(hours);
|
|
174
|
+
}
|
|
175
|
+
this.cdRef.markForCheck();
|
|
176
|
+
event.preventDefault();
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Check if the up hour button is enabled
|
|
180
|
+
*/
|
|
181
|
+
upHourEnabled() {
|
|
182
|
+
return (!this.maxDateTime ||
|
|
183
|
+
this.compareHours(this.stepHour, this.maxDateTime) < 1);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Check if the down hour button is enabled
|
|
187
|
+
*/
|
|
188
|
+
downHourEnabled() {
|
|
189
|
+
return (!this.minDateTime ||
|
|
190
|
+
this.compareHours(-this.stepHour, this.minDateTime) > -1);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Check if the up minute button is enabled
|
|
194
|
+
*/
|
|
195
|
+
upMinuteEnabled() {
|
|
196
|
+
return (!this.maxDateTime ||
|
|
197
|
+
this.compareMinutes(this.stepMinute, this.maxDateTime) < 1);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Check if the down minute button is enabled
|
|
201
|
+
*/
|
|
202
|
+
downMinuteEnabled() {
|
|
203
|
+
return (!this.minDateTime ||
|
|
204
|
+
this.compareMinutes(-this.stepMinute, this.minDateTime) > -1);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Check if the up second button is enabled
|
|
208
|
+
*/
|
|
209
|
+
upSecondEnabled() {
|
|
210
|
+
return (!this.maxDateTime ||
|
|
211
|
+
this.compareSeconds(this.stepSecond, this.maxDateTime) < 1);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Check if the down second button is enabled
|
|
215
|
+
*/
|
|
216
|
+
downSecondEnabled() {
|
|
217
|
+
return (!this.minDateTime ||
|
|
218
|
+
this.compareSeconds(-this.stepSecond, this.minDateTime) > -1);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* PickerMoment's hour value +/- certain amount and compare it to the give date
|
|
222
|
+
* 1 is after the comparedDate
|
|
223
|
+
* -1 is before the comparedDate
|
|
224
|
+
* 0 is equal the comparedDate
|
|
225
|
+
* */
|
|
226
|
+
compareHours(amount, comparedDate) {
|
|
227
|
+
const hours = this.dateTimeAdapter.getHours(this.pickerMoment) + amount;
|
|
228
|
+
const result = this.dateTimeAdapter.setHours(this.pickerMoment, hours);
|
|
229
|
+
return this.dateTimeAdapter.compare(result, comparedDate);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* PickerMoment's minute value +/- certain amount and compare it to the give date
|
|
233
|
+
* 1 is after the comparedDate
|
|
234
|
+
* -1 is before the comparedDate
|
|
235
|
+
* 0 is equal the comparedDate
|
|
236
|
+
* */
|
|
237
|
+
compareMinutes(amount, comparedDate) {
|
|
238
|
+
const minutes = this.dateTimeAdapter.getMinutes(this.pickerMoment) + amount;
|
|
239
|
+
const result = this.dateTimeAdapter.setMinutes(this.pickerMoment, minutes);
|
|
240
|
+
return this.dateTimeAdapter.compare(result, comparedDate);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* PickerMoment's second value +/- certain amount and compare it to the give date
|
|
244
|
+
* 1 is after the comparedDate
|
|
245
|
+
* -1 is before the comparedDate
|
|
246
|
+
* 0 is equal the comparedDate
|
|
247
|
+
* */
|
|
248
|
+
compareSeconds(amount, comparedDate) {
|
|
249
|
+
const seconds = this.dateTimeAdapter.getSeconds(this.pickerMoment) + amount;
|
|
250
|
+
const result = this.dateTimeAdapter.setSeconds(this.pickerMoment, seconds);
|
|
251
|
+
return this.dateTimeAdapter.compare(result, comparedDate);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Get a valid date object
|
|
255
|
+
*/
|
|
256
|
+
getValidDate(obj) {
|
|
257
|
+
return this.dateTimeAdapter.isDateInstance(obj) &&
|
|
258
|
+
this.dateTimeAdapter.isValid(obj)
|
|
259
|
+
? obj
|
|
260
|
+
: null;
|
|
261
|
+
}
|
|
262
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: OwlTimerComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.OwlDateTimeIntl }, { token: i0.ChangeDetectorRef }, { token: i2.DateTimeAdapter, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
263
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: OwlTimerComponent, selector: "owl-date-time-timer", inputs: { pickerMoment: "pickerMoment", minDateTime: "minDateTime", maxDateTime: "maxDateTime", showSecondsTimer: "showSecondsTimer", hour12Timer: "hour12Timer", stepHour: "stepHour", stepMinute: "stepMinute", stepSecond: "stepSecond" }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class.owl-dt-timer": "owlDTTimerClass", "attr.tabindex": "owlDTTimeTabIndex" } }, exportAs: ["owlDateTimeTimer"], ngImport: i0, template: "<owl-date-time-timer-box\n [upBtnAriaLabel]=\"upHourButtonLabel\"\n [downBtnAriaLabel]=\"downHourButtonLabel\"\n [upBtnDisabled]=\"!upHourEnabled()\"\n [downBtnDisabled]=\"!downHourEnabled()\"\n [boxValue]=\"hourBoxValue\"\n [value]=\"hourValue\" [min]=\"0\" [max]=\"23\"\n [step]=\"stepHour\" [inputLabel]=\"'Hour'\"\n (inputChange)=\"setHourValueViaInput($event)\"\n (valueChange)=\"setHourValue($event)\"></owl-date-time-timer-box>\n<owl-date-time-timer-box\n [showDivider]=\"true\"\n [upBtnAriaLabel]=\"upMinuteButtonLabel\"\n [downBtnAriaLabel]=\"downMinuteButtonLabel\"\n [upBtnDisabled]=\"!upMinuteEnabled()\"\n [downBtnDisabled]=\"!downMinuteEnabled()\"\n [value]=\"minuteValue\" [min]=\"0\" [max]=\"59\"\n [step]=\"stepMinute\" [inputLabel]=\"'Minute'\"\n (inputChange)=\"setMinuteValue($event)\"\n (valueChange)=\"setMinuteValue($event)\"></owl-date-time-timer-box>\n<owl-date-time-timer-box\n *ngIf=\"showSecondsTimer\"\n [showDivider]=\"true\"\n [upBtnAriaLabel]=\"upSecondButtonLabel\"\n [downBtnAriaLabel]=\"downSecondButtonLabel\"\n [upBtnDisabled]=\"!upSecondEnabled()\"\n [downBtnDisabled]=\"!downSecondEnabled()\"\n [value]=\"secondValue\" [min]=\"0\" [max]=\"59\"\n [step]=\"stepSecond\" [inputLabel]=\"'Second'\"\n (inputChange)=\"setSecondValue($event)\"\n (valueChange)=\"setSecondValue($event)\"></owl-date-time-timer-box>\n\n<div *ngIf=\"hour12Timer\" class=\"owl-dt-timer-hour12\">\n <button class=\"owl-dt-control-button owl-dt-timer-hour12-box\"\n type=\"button\" tabindex=\"0\"\n (click)=\"setMeridiem($event)\">\n <span class=\"owl-dt-control-button-content\" tabindex=\"-1\">\n {{hour12ButtonLabel}}\n </span>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.OwlTimerBoxComponent, selector: "owl-date-time-timer-box", inputs: ["showDivider", "upBtnAriaLabel", "upBtnDisabled", "downBtnAriaLabel", "downBtnDisabled", "boxValue", "value", "min", "max", "step", "inputLabel"], outputs: ["valueChange", "inputChange"], exportAs: ["owlDateTimeTimerBox"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
264
|
+
}
|
|
265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: OwlTimerComponent, decorators: [{
|
|
266
|
+
type: Component,
|
|
267
|
+
args: [{ exportAs: 'owlDateTimeTimer', selector: 'owl-date-time-timer', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
268
|
+
'[class.owl-dt-timer]': 'owlDTTimerClass',
|
|
269
|
+
'[attr.tabindex]': 'owlDTTimeTabIndex'
|
|
270
|
+
}, template: "<owl-date-time-timer-box\n [upBtnAriaLabel]=\"upHourButtonLabel\"\n [downBtnAriaLabel]=\"downHourButtonLabel\"\n [upBtnDisabled]=\"!upHourEnabled()\"\n [downBtnDisabled]=\"!downHourEnabled()\"\n [boxValue]=\"hourBoxValue\"\n [value]=\"hourValue\" [min]=\"0\" [max]=\"23\"\n [step]=\"stepHour\" [inputLabel]=\"'Hour'\"\n (inputChange)=\"setHourValueViaInput($event)\"\n (valueChange)=\"setHourValue($event)\"></owl-date-time-timer-box>\n<owl-date-time-timer-box\n [showDivider]=\"true\"\n [upBtnAriaLabel]=\"upMinuteButtonLabel\"\n [downBtnAriaLabel]=\"downMinuteButtonLabel\"\n [upBtnDisabled]=\"!upMinuteEnabled()\"\n [downBtnDisabled]=\"!downMinuteEnabled()\"\n [value]=\"minuteValue\" [min]=\"0\" [max]=\"59\"\n [step]=\"stepMinute\" [inputLabel]=\"'Minute'\"\n (inputChange)=\"setMinuteValue($event)\"\n (valueChange)=\"setMinuteValue($event)\"></owl-date-time-timer-box>\n<owl-date-time-timer-box\n *ngIf=\"showSecondsTimer\"\n [showDivider]=\"true\"\n [upBtnAriaLabel]=\"upSecondButtonLabel\"\n [downBtnAriaLabel]=\"downSecondButtonLabel\"\n [upBtnDisabled]=\"!upSecondEnabled()\"\n [downBtnDisabled]=\"!downSecondEnabled()\"\n [value]=\"secondValue\" [min]=\"0\" [max]=\"59\"\n [step]=\"stepSecond\" [inputLabel]=\"'Second'\"\n (inputChange)=\"setSecondValue($event)\"\n (valueChange)=\"setSecondValue($event)\"></owl-date-time-timer-box>\n\n<div *ngIf=\"hour12Timer\" class=\"owl-dt-timer-hour12\">\n <button class=\"owl-dt-control-button owl-dt-timer-hour12-box\"\n type=\"button\" tabindex=\"0\"\n (click)=\"setMeridiem($event)\">\n <span class=\"owl-dt-control-button-content\" tabindex=\"-1\">\n {{hour12ButtonLabel}}\n </span>\n </button>\n</div>\n" }]
|
|
271
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i1.OwlDateTimeIntl }, { type: i0.ChangeDetectorRef }, { type: i2.DateTimeAdapter, decorators: [{
|
|
272
|
+
type: Optional
|
|
273
|
+
}] }], propDecorators: { pickerMoment: [{
|
|
274
|
+
type: Input
|
|
275
|
+
}], minDateTime: [{
|
|
276
|
+
type: Input
|
|
277
|
+
}], maxDateTime: [{
|
|
278
|
+
type: Input
|
|
279
|
+
}], showSecondsTimer: [{
|
|
280
|
+
type: Input
|
|
281
|
+
}], hour12Timer: [{
|
|
282
|
+
type: Input
|
|
283
|
+
}], stepHour: [{
|
|
284
|
+
type: Input
|
|
285
|
+
}], stepMinute: [{
|
|
286
|
+
type: Input
|
|
287
|
+
}], stepSecond: [{
|
|
288
|
+
type: Input
|
|
289
|
+
}], selectedChange: [{
|
|
290
|
+
type: Output
|
|
291
|
+
}] } });
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGlja2VyL3NyYy9saWIvZGF0ZS10aW1lL3RpbWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BpY2tlci9zcmMvbGliL2RhdGUtdGltZS90aW1lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWN0QyxNQUFNLE9BQU8saUJBQWlCO0lBRzFCLElBQ0ksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsS0FBUTtRQUNyQixLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWE7WUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUlELElBQ0ksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsS0FBZTtRQUMzQixLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFJRCxJQUNJLFdBQVc7UUFDWCxPQUFPLElB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Ii8qKlxuICogdGltZXIuY29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPd2xEYXRlVGltZUludGwgfSBmcm9tICcuL2RhdGUtdGltZS1waWNrZXItaW50bC5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVUaW1lQWRhcHRlciB9IGZyb20gJy4vYWRhcHRlci9kYXRlLXRpbWUtYWRhcHRlci5jbGFzcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBleHBvcnRBczogJ293bERhdGVUaW1lVGltZXInLFxuICAgIHNlbGVjdG9yOiAnb3dsLWRhdGUtdGltZS10aW1lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbWVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90aW1lci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5vd2wtZHQtdGltZXJdJzogJ293bERUVGltZXJDbGFzcycsXG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiAnb3dsRFRUaW1lVGFiSW5kZXgnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBPd2xUaW1lckNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIFRoZSBjdXJyZW50IHBpY2tlciBtb21lbnQgKi9cbiAgICBwcml2YXRlIF9waWNrZXJNb21lbnQ6IFQ7XG4gICAgQElucHV0KClcbiAgICBnZXQgcGlja2VyTW9tZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGlja2VyTW9tZW50O1xuICAgIH1cblxuICAgIHNldCBwaWNrZXJNb21lbnQodmFsdWU6IFQpIHtcbiAgICAgICAgdmFsdWUgPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX3BpY2tlck1vbWVudCA9XG4gICAgICAgICAgICB0aGlzLmdldFZhbGlkRGF0ZSh2YWx1ZSkgfHwgdGhpcy5kYXRlVGltZUFkYXB0ZXIubm93KCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgZGF0ZSB0aW1lLiAqL1xuICAgIHByaXZhdGUgX21pbkRhdGVUaW1lOiBUIHwgbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIGdldCBtaW5EYXRlVGltZSgpOiBUIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9taW5EYXRlVGltZTtcbiAgICB9XG5cbiAgICBzZXQgbWluRGF0ZVRpbWUodmFsdWU6IFQgfCBudWxsKSB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuICAgICAgICB0aGlzLl9taW5EYXRlVGltZSA9IHRoaXMuZ2V0VmFsaWREYXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIG1heGltdW0gc2VsZWN0YWJsZSBkYXRlIHRpbWUuICovXG4gICAgcHJpdmF0ZSBfbWF4RGF0ZVRpbWU6IFQgfCBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG1heERhdGVUaW1lKCk6IFQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heERhdGVUaW1lO1xuICAgIH1cblxuICAgIHNldCBtYXhEYXRlVGltZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICAgICAgdmFsdWUgPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX21heERhdGVUaW1lID0gdGhpcy5nZXRWYWxpZERhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNQTSA9IGZhbHNlOyAvLyBhIGZsYWcgaW5kaWNhdGVzIHRoZSBjdXJyZW50IHRpbWVyIG1vbWVudCBpcyBpbiBQTSBvciBBTVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBzaG93IHRoZSBzZWNvbmQncyB0aW1lclxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1NlY29uZHNUaW1lcjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRpbWVyIGlzIGluIGhvdXIxMiBmb3JtYXRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGhvdXIxMlRpbWVyOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSG91cnMgdG8gY2hhbmdlIHBlciBzdGVwXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGVwSG91ciA9IDE7XG5cbiAgICAvKipcbiAgICAgKiBNaW51dGVzIHRvIGNoYW5nZSBwZXIgc3RlcFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RlcE1pbnV0ZSA9IDE7XG5cbiAgICAvKipcbiAgICAgKiBTZWNvbmRzIHRvIGNoYW5nZSBwZXIgc3RlcFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RlcFNlY29uZCA9IDE7XG5cbiAgICBnZXQgaG91clZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVUaW1lQWRhcHRlci5nZXRIb3Vycyh0aGlzLnBpY2tlck1vbWVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIHdvdWxkIGJlIGRpc3BsYXllZCBpbiBob3VyQm94LlxuICAgICAqIFdlIG5lZWQgdGhpcyBiZWNhdXNlIHRoZSB2YWx1ZSBkaXNwbGF5ZWQgaW4gaG91ckJveCBpdCBub3RcbiAgICAgKiB0aGUgc2FtZSBhcyB0aGUgaG91clZhbHVlIHdoZW4gdGhlIHRpbWVyIGlzIGluIGhvdXIxMlRpbWVyIG1vZGUuXG4gICAgICogKi9cbiAgICBnZXQgaG91ckJveFZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIGxldCBob3VycyA9IHRoaXMuaG91clZhbHVlO1xuXG4gICAgICAgIGlmICghdGhpcy5ob3VyMTJUaW1lcikge1xuICAgICAgICAgICAgcmV0dXJuIGhvdXJzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGhvdXJzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgaG91cnMgPSAxMjtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUE0gPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaG91cnMgPiAwICYmIGhvdXJzIDwgMTIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUE0gPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaG91cnMgPT09IDEyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1BNID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaG91cnMgPiAxMiAmJiBob3VycyA8IDI0KSB7XG4gICAgICAgICAgICAgICAgaG91cnMgPSBob3VycyAtIDEyO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQTSA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBob3VycztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBtaW51dGVWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlVGltZUFkYXB0ZXIuZ2V0TWludXRlcyh0aGlzLnBpY2tlck1vbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IHNlY29uZFZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVUaW1lQWRhcHRlci5nZXRTZWNvbmRzKHRoaXMucGlja2VyTW9tZW50KTtcbiAgICB9XG5cbiAgICBnZXQgdXBIb3VyQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VySW50bC51cEhvdXJMYWJlbDtcbiAgICB9XG5cbiAgICBnZXQgZG93bkhvdXJCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJJbnRsLmRvd25Ib3VyTGFiZWw7XG4gICAgfVxuXG4gICAgZ2V0IHVwTWludXRlQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VySW50bC51cE1pbnV0ZUxhYmVsO1xuICAgIH1cblxuICAgIGdldCBkb3duTWludXRlQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VySW50bC5kb3duTWludXRlTGFiZWw7XG4gICAgfVxuXG4gICAgZ2V0IHVwU2Vjb25kQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VySW50bC51cFNlY29uZExhYmVsO1xuICAgIH1cblxuICAgIGdldCBkb3duU2Vjb25kQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VySW50bC5kb3duU2Vjb25kTGFiZWw7XG4gICAgfVxuXG4gICAgZ2V0IGhvdXIxMkJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUE1cbiAgICAgICAgICAgID8gdGhpcy5waWNrZXJJbnRsLmhvdXIxMlBNTGFiZWxcbiAgICAgICAgICAgIDogdGhpcy5waWNrZXJJbnRsLmhvdXIxMkFNTGFiZWw7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgICBnZXQgb3dsRFRUaW1lckNsYXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBnZXQgb3dsRFRUaW1lVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGVsbVJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBwaWNrZXJJbnRsOiBPd2xEYXRlVGltZUludGwsXG4gICAgICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRhdGVUaW1lQWRhcHRlcjogRGF0ZVRpbWVBZGFwdGVyPFQ+XG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge31cblxuICAgIC8qKlxuICAgICAqIEZvY3VzIHRvIHRoZSBob3N0IGVsZW1lbnRcbiAgICAgKiAqL1xuICAgIHB1YmxpYyBmb2N1cygpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGVcbiAgICAgICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsbVJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgaG91ciB2YWx1ZSB2aWEgdHlwaW5nIGludG8gdGltZXIgYm94IGlucHV0XG4gICAgICogV2UgbmVlZCB0aGlzIHRvIGhhbmRsZSB0aGUgaG91ciB2YWx1ZSB3aGVuIHRoZSB0aW1lciBpcyBpbiBob3VyMTIgbW9kZVxuICAgICAqICovXG4gICAgcHVibGljIHNldEhvdXJWYWx1ZVZpYUlucHV0KGhvdXJzOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaG91cjEyVGltZXIgJiYgdGhpcy5pc1BNICYmIGhvdXJzID49IDEgJiYgaG91cnMgPD0gMTEpIHtcbiAgICAgICAgICAgIGhvdXJzID0gaG91cnMgKyAxMjtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmhvdXIxMlRpbWVyICYmICF0aGlzLmlzUE0gJiYgaG91cnMgPT09IDEyKSB7XG4gICAgICAgICAgICBob3VycyA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldEhvdXJWYWx1ZShob3Vycyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEhvdXJWYWx1ZShob3VyczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG0gPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5zZXRIb3Vycyh0aGlzLnBpY2tlck1vbWVudCwgaG91cnMpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQobSk7XG4gICAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1pbnV0ZVZhbHVlKG1pbnV0ZXM6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBtID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0TWludXRlcyh0aGlzLnBpY2tlck1vbWVudCwgbWludXRlcyk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChtKTtcbiAgICAgICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0U2Vjb25kVmFsdWUoc2Vjb25kczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG0gPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5zZXRTZWNvbmRzKHRoaXMucGlja2VyTW9tZW50LCBzZWNvbmRzKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KG0pO1xuICAgICAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRNZXJpZGllbShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNQTSA9ICF0aGlzLmlzUE07XG5cbiAgICAgICAgbGV0IGhvdXJzID0gdGhpcy5ob3VyVmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmlzUE0pIHtcbiAgICAgICAgICAgIGhvdXJzID0gaG91cnMgKyAxMjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGhvdXJzID0gaG91cnMgLSAxMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3VycyA+PSAwICYmIGhvdXJzIDw9IDIzKSB7XG4gICAgICAgICAgICB0aGlzLnNldEhvdXJWYWx1ZShob3Vycyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSB1cCBob3VyIGJ1dHRvbiBpcyBlbmFibGVkXG4gICAgICovXG4gICAgcHVibGljIHVwSG91ckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5tYXhEYXRlVGltZSB8fFxuICAgICAgICAgICAgdGhpcy5jb21wYXJlSG91cnModGhpcy5zdGVwSG91ciwgdGhpcy5tYXhEYXRlVGltZSkgPCAxXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGRvd24gaG91ciBidXR0b24gaXMgZW5hYmxlZFxuICAgICAqL1xuICAgIHB1YmxpYyBkb3duSG91ckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5taW5EYXRlVGltZSB8fFxuICAgICAgICAgICAgdGhpcy5jb21wYXJlSG91cnMoLXRoaXMuc3RlcEhvdXIsIHRoaXMubWluRGF0ZVRpbWUpID4gLTFcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgdXAgbWludXRlIGJ1dHRvbiBpcyBlbmFibGVkXG4gICAgICovXG4gICAgcHVibGljIHVwTWludXRlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLm1heERhdGVUaW1lIHx8XG4gICAgICAgICAgICB0aGlzLmNvbXBhcmVNaW51dGVzKHRoaXMuc3RlcE1pbnV0ZSwgdGhpcy5tYXhEYXRlVGltZSkgPCAxXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGRvd24gbWludXRlIGJ1dHRvbiBpcyBlbmFibGVkXG4gICAgICovXG4gICAgcHVibGljIGRvd25NaW51dGVFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMubWluRGF0ZVRpbWUgfHxcbiAgICAgICAgICAgIHRoaXMuY29tcGFyZU1pbnV0ZXMoLXRoaXMuc3RlcE1pbnV0ZSwgdGhpcy5taW5EYXRlVGltZSkgPiAtMVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSB1cCBzZWNvbmQgYnV0dG9uIGlzIGVuYWJsZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgdXBTZWNvbmRFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMubWF4RGF0ZVRpbWUgfHxcbiAgICAgICAgICAgIHRoaXMuY29tcGFyZVNlY29uZHModGhpcy5zdGVwU2Vjb25kLCB0aGlzLm1heERhdGVUaW1lKSA8IDFcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZG93biBzZWNvbmQgYnV0dG9uIGlzIGVuYWJsZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZG93blNlY29uZEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5taW5EYXRlVGltZSB8fFxuICAgICAgICAgICAgdGhpcy5jb21wYXJlU2Vjb25kcygtdGhpcy5zdGVwU2Vjb25kLCB0aGlzLm1pbkRhdGVUaW1lKSA+IC0xXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGlja2VyTW9tZW50J3MgaG91ciB2YWx1ZSArLy0gY2VydGFpbiBhbW91bnQgYW5kIGNvbXBhcmUgaXQgdG8gdGhlIGdpdmUgZGF0ZVxuICAgICAqIDEgaXMgYWZ0ZXIgdGhlIGNvbXBhcmVkRGF0ZVxuICAgICAqIC0xIGlzIGJlZm9yZSB0aGUgY29tcGFyZWREYXRlXG4gICAgICogMCBpcyBlcXVhbCB0aGUgY29tcGFyZWREYXRlXG4gICAgICogKi9cbiAgICBwcml2YXRlIGNvbXBhcmVIb3VycyhhbW91bnQ6IG51bWJlciwgY29tcGFyZWREYXRlOiBUKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgaG91cnMgPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5nZXRIb3Vycyh0aGlzLnBpY2tlck1vbWVudCkgKyBhbW91bnQ7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLnNldEhvdXJzKHRoaXMucGlja2VyTW9tZW50LCBob3Vycyk7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVUaW1lQWRhcHRlci5jb21wYXJlKHJlc3VsdCwgY29tcGFyZWREYXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQaWNrZXJNb21lbnQncyBtaW51dGUgdmFsdWUgKy8tIGNlcnRhaW4gYW1vdW50IGFuZCBjb21wYXJlIGl0IHRvIHRoZSBnaXZlIGRhdGVcbiAgICAgKiAxIGlzIGFmdGVyIHRoZSBjb21wYXJlZERhdGVcbiAgICAgKiAtMSBpcyBiZWZvcmUgdGhlIGNvbXBhcmVkRGF0ZVxuICAgICAqIDAgaXMgZXF1YWwgdGhlIGNvbXBhcmVkRGF0ZVxuICAgICAqICovXG4gICAgcHJpdmF0ZSBjb21wYXJlTWludXRlcyhhbW91bnQ6IG51bWJlciwgY29tcGFyZWREYXRlOiBUKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgbWludXRlcyA9XG4gICAgICAgICAgICB0aGlzLmRhdGVUaW1lQWRhcHRlci5nZXRNaW51dGVzKHRoaXMucGlja2VyTW9tZW50KSArIGFtb3VudDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0TWludXRlcyhcbiAgICAgICAgICAgIHRoaXMucGlja2VyTW9tZW50LFxuICAgICAgICAgICAgbWludXRlc1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlVGltZUFkYXB0ZXIuY29tcGFyZShyZXN1bHQsIGNvbXBhcmVkRGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGlja2VyTW9tZW50J3Mgc2Vjb25kIHZhbHVlICsvLSBjZXJ0YWluIGFtb3VudCBhbmQgY29tcGFyZSBpdCB0byB0aGUgZ2l2ZSBkYXRlXG4gICAgICogMSBpcyBhZnRlciB0aGUgY29tcGFyZWREYXRlXG4gICAgICogLTEgaXMgYmVmb3JlIHRoZSBjb21wYXJlZERhdGVcbiAgICAgKiAwIGlzIGVxdWFsIHRoZSBjb21wYXJlZERhdGVcbiAgICAgKiAqL1xuICAgIHByaXZhdGUgY29tcGFyZVNlY29uZHMoYW1vdW50OiBudW1iZXIsIGNvbXBhcmVkRGF0ZTogVCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPVxuICAgICAgICAgICAgdGhpcy5kYXRlVGltZUFkYXB0ZXIuZ2V0U2Vjb25kcyh0aGlzLnBpY2tlck1vbWVudCkgKyBhbW91bnQ7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLnNldFNlY29uZHMoXG4gICAgICAgICAgICB0aGlzLnBpY2tlck1vbWVudCxcbiAgICAgICAgICAgIHNlY29uZHNcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmNvbXBhcmUocmVzdWx0LCBjb21wYXJlZERhdGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhIHZhbGlkIGRhdGUgb2JqZWN0XG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRWYWxpZERhdGUob2JqOiBhbnkpOiBUIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVUaW1lQWRhcHRlci5pc0RhdGVJbnN0YW5jZShvYmopICYmXG4gICAgICAgICAgICB0aGlzLmRhdGVUaW1lQWRhcHRlci5pc1ZhbGlkKG9iailcbiAgICAgICAgICAgID8gb2JqXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxufVxuIiwiPG93bC1kYXRlLXRpbWUtdGltZXItYm94XG4gICAgICAgIFt1cEJ0bkFyaWFMYWJlbF09XCJ1cEhvdXJCdXR0b25MYWJlbFwiXG4gICAgICAgIFtkb3duQnRuQXJpYUxhYmVsXT1cImRvd25Ib3VyQnV0dG9uTGFiZWxcIlxuICAgICAgICBbdXBCdG5EaXNhYmxlZF09XCIhdXBIb3VyRW5hYmxlZCgpXCJcbiAgICAgICAgW2Rvd25CdG5EaXNhYmxlZF09XCIhZG93bkhvdXJFbmFibGVkKClcIlxuICAgICAgICBbYm94VmFsdWVdPVwiaG91ckJveFZhbHVlXCJcbiAgICAgICAgW3ZhbHVlXT1cImhvdXJWYWx1ZVwiIFttaW5dPVwiMFwiIFttYXhdPVwiMjNcIlxuICAgICAgICBbc3RlcF09XCJzdGVwSG91clwiIFtpbnB1dExhYmVsXT1cIidIb3VyJ1wiXG4gICAgICAgIChpbnB1dENoYW5nZSk9XCJzZXRIb3VyVmFsdWVWaWFJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInNldEhvdXJWYWx1ZSgkZXZlbnQpXCI+PC9vd2wtZGF0ZS10aW1lLXRpbWVyLWJveD5cbjxvd2wtZGF0ZS10aW1lLXRpbWVyLWJveFxuICAgICAgICBbc2hvd0RpdmlkZXJdPVwidHJ1ZVwiXG4gICAgICAgIFt1cEJ0bkFyaWFMYWJlbF09XCJ1cE1pbnV0ZUJ1dHRvbkxhYmVsXCJcbiAgICAgICAgW2Rvd25CdG5BcmlhTGFiZWxdPVwiZG93bk1pbnV0ZUJ1dHRvbkxhYmVsXCJcbiAgICAgICAgW3VwQnRuRGlzYWJsZWRdPVwiIXVwTWludXRlRW5hYmxlZCgpXCJcbiAgICAgICAgW2Rvd25CdG5EaXNhYmxlZF09XCIhZG93bk1pbnV0ZUVuYWJsZWQoKVwiXG4gICAgICAgIFt2YWx1ZV09XCJtaW51dGVWYWx1ZVwiIFttaW5dPVwiMFwiIFttYXhdPVwiNTlcIlxuICAgICAgICBbc3RlcF09XCJzdGVwTWludXRlXCIgW2lucHV0TGFiZWxdPVwiJ01pbnV0ZSdcIlxuICAgICAgICAoaW5wdXRDaGFuZ2UpPVwic2V0TWludXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZXRNaW51dGVWYWx1ZSgkZXZlbnQpXCI+PC9vd2wtZGF0ZS10aW1lLXRpbWVyLWJveD5cbjxvd2wtZGF0ZS10aW1lLXRpbWVyLWJveFxuICAgICAgICAqbmdJZj1cInNob3dTZWNvbmRzVGltZXJcIlxuICAgICAgICBbc2hvd0RpdmlkZXJdPVwidHJ1ZVwiXG4gICAgICAgIFt1cEJ0bkFyaWFMYWJlbF09XCJ1cFNlY29uZEJ1dHRvbkxhYmVsXCJcbiAgICAgICAgW2Rvd25CdG5BcmlhTGFiZWxdPVwiZG93blNlY29uZEJ1dHRvbkxhYmVsXCJcbiAgICAgICAgW3VwQnRuRGlzYWJsZWRdPVwiIXVwU2Vjb25kRW5hYmxlZCgpXCJcbiAgICAgICAgW2Rvd25CdG5EaXNhYmxlZF09XCIhZG93blNlY29uZEVuYWJsZWQoKVwiXG4gICAgICAgIFt2YWx1ZV09XCJzZWNvbmRWYWx1ZVwiIFttaW5dPVwiMFwiIFttYXhdPVwiNTlcIlxuICAgICAgICBbc3RlcF09XCJzdGVwU2Vjb25kXCIgW2lucHV0TGFiZWxdPVwiJ1NlY29uZCdcIlxuICAgICAgICAoaW5wdXRDaGFuZ2UpPVwic2V0U2Vjb25kVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJzZXRTZWNvbmRWYWx1ZSgkZXZlbnQpXCI+PC9vd2wtZGF0ZS10aW1lLXRpbWVyLWJveD5cblxuPGRpdiAqbmdJZj1cImhvdXIxMlRpbWVyXCIgY2xhc3M9XCJvd2wtZHQtdGltZXItaG91cjEyXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cIm93bC1kdC1jb250cm9sLWJ1dHRvbiBvd2wtZHQtdGltZXItaG91cjEyLWJveFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRNZXJpZGllbSgkZXZlbnQpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwib3dsLWR0LWNvbnRyb2wtYnV0dG9uLWNvbnRlbnRcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgICAgICB7e2hvdXIxMkJ1dHRvbkxhYmVsfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { NoopScrollStrategy } from '@angular/cdk/overlay';
|
|
2
|
+
let uniqueId = 0;
|
|
3
|
+
export class OwlDialogConfig {
|
|
4
|
+
constructor() {
|
|
5
|
+
/**
|
|
6
|
+
* ID of the element that describes the dialog.
|
|
7
|
+
*/
|
|
8
|
+
this.ariaDescribedBy = null;
|
|
9
|
+
/**
|
|
10
|
+
* Whether to focus the dialog when the dialog is opened
|
|
11
|
+
*/
|
|
12
|
+
this.autoFocus = true;
|
|
13
|
+
/** Whether the dialog has a backdrop. */
|
|
14
|
+
this.hasBackdrop = true;
|
|
15
|
+
/** Data being injected into the child component. */
|
|
16
|
+
this.data = null;
|
|
17
|
+
/** Whether the user can use escape or clicking outside to close a modal. */
|
|
18
|
+
this.disableClose = false;
|
|
19
|
+
/**
|
|
20
|
+
* The ARIA role of the dialog element.
|
|
21
|
+
*/
|
|
22
|
+
this.role = 'dialog';
|
|
23
|
+
/**
|
|
24
|
+
* Custom class for the pane
|
|
25
|
+
* */
|
|
26
|
+
this.paneClass = '';
|
|
27
|
+
/**
|
|
28
|
+
* Mouse Event
|
|
29
|
+
* */
|
|
30
|
+
this.event = null;
|
|
31
|
+
/**
|
|
32
|
+
* Custom class for the backdrop
|
|
33
|
+
* */
|
|
34
|
+
this.backdropClass = '';
|
|
35
|
+
/**
|
|
36
|
+
* Whether the dialog should close when the user goes backwards/forwards in history.
|
|
37
|
+
* */
|
|
38
|
+
this.closeOnNavigation = true;
|
|
39
|
+
/** Width of the dialog. */
|
|
40
|
+
this.width = '';
|
|
41
|
+
/** Height of the dialog. */
|
|
42
|
+
this.height = '';
|
|
43
|
+
/**
|
|
44
|
+
* The max-width of the overlay panel.
|
|
45
|
+
* If a number is provided, pixel units are assumed.
|
|
46
|
+
* */
|
|
47
|
+
this.maxWidth = '85vw';
|
|
48
|
+
/**
|
|
49
|
+
* The scroll strategy when the dialog is open
|
|
50
|
+
* Learn more this from https://material.angular.io/cdk/overlay/overview#scroll-strategies
|
|
51
|
+
* */
|
|
52
|
+
this.scrollStrategy = new NoopScrollStrategy();
|
|
53
|
+
this.id = `owl-dialog-${uniqueId++}`;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BpY2tlci9zcmMvbGliL2RpYWxvZy9kaWFsb2ctY29uZmlnLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRSxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFrSGpCLE1BQU0sT0FBTyxlQUFlO0lBZ0d4QjtRQS9GQTs7V0FFRztRQUNJLG9CQUFlLEdBQWtCLElBQUksQ0FBQztRQUU3Qzs7V0FFRztRQUNJLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFeEIseUNBQXlDO1FBQ2xDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBTzFCLG9EQUFvRDtRQUM3QyxTQUFJLEdBQVEsSUFBSSxDQUFDO1FBRXhCLDRFQUE0RTtRQUNyRSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQU81Qjs7V0FFRztRQUNJLFNBQUksR0FBNkIsUUFBUSxDQUFDO1FBRWpEOzthQUVLO1FBQ0UsY0FBUyxHQUFzQixFQUFFLENBQUM7UUFFekM7O2FBRUs7UUFDRSxVQUFLLEdBQWUsSUFBSSxDQUFDO1FBRWhDOzthQUVLO1FBQ0Usa0JBQWEsR0FBc0IsRUFBRSxDQUFDO1FBRTdDOzthQUVLO1FBQ0Usc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRWhDLDJCQUEyQjtRQUNwQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRWxCLDRCQUE0QjtRQUNyQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBY25COzs7YUFHSztRQUNFLGFBQVEsR0FBb0IsTUFBTSxDQUFDO1FBVzFDOzs7YUFHSztRQUNFLG1CQUFjLEdBQW1CLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUs3RCxJQUFJLENBQUMsRUFBRSxHQUFHLGNBQWMsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGRpYWxvZy1jb25maWcuY2xhc3NcbiAqL1xuaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9vcFNjcm9sbFN0cmF0ZWd5LCBTY3JvbGxTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuLyoqIFBvc3NpYmxlIG92ZXJyaWRlcyBmb3IgYSBkaWFsb2cncyBwb3NpdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nUG9zaXRpb24ge1xuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIHRvcCBwb3NpdGlvbi4gKi9cbiAgICB0b3A/OiBzdHJpbmc7XG5cbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBkaWFsb2cncyBib3R0b20gcG9zaXRpb24uICovXG4gICAgYm90dG9tPzogc3RyaW5nO1xuXG4gICAgLyoqIE92ZXJyaWRlIGZvciB0aGUgZGlhbG9nJ3MgbGVmdCBwb3NpdGlvbi4gKi9cbiAgICBsZWZ0Pzogc3RyaW5nO1xuXG4gICAgLyoqIE92ZXJyaWRlIGZvciB0aGUgZGlhbG9nJ3MgcmlnaHQgcG9zaXRpb24uICovXG4gICAgcmlnaHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3dsRGlhbG9nQ29uZmlnSW50ZXJmYWNlIHtcbiAgICAvKipcbiAgICAgKiBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgZGlhbG9nLlxuICAgICAqL1xuICAgIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGZvY3VzIHRoZSBkaWFsb2cgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5lZFxuICAgICAqL1xuICAgIGF1dG9Gb2N1cz86IGJvb2xlYW47XG5cbiAgICAvKiogV2hldGhlciB0aGUgZGlhbG9nIGhhcyBhIGJhY2tkcm9wLiAqL1xuICAgIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBzdHlsZSBmb3IgdGhlIGJhY2tkcm9wXG4gICAgICogKi9cbiAgICBiYWNrZHJvcFN0eWxlPzogYW55O1xuXG4gICAgLyoqIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LiAqL1xuICAgIGRhdGE/OiBhbnkgO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgY2FuIHVzZSBlc2NhcGUgb3IgY2xpY2tpbmcgb3V0c2lkZSB0byBjbG9zZSBhIG1vZGFsLiAqL1xuICAgIGRpc2FibGVDbG9zZT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJRCBmb3IgdGhlIG1vZGFsLiBJZiBvbWl0dGVkLCBhIHVuaXF1ZSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAgICovXG4gICAgaWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgQVJJQSByb2xlIG9mIHRoZSBkaWFsb2cgZWxlbWVudC5cbiAgICAgKi9cbiAgICByb2xlPzogJ2RpYWxvZycgfCAnYWxlcnRkaWFsb2cnO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGNsYXNzIGZvciB0aGUgcGFuZVxuICAgICAqICovXG4gICAgcGFuZUNsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBNb3VzZSBFdmVudFxuICAgICAqICovXG4gICAgZXZlbnQ/OiBNb3VzZUV2ZW50O1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGNsYXNzIGZvciB0aGUgYmFja2Ryb3BcbiAgICAgKiAqL1xuICAgIGJhY2tkcm9wQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGRpYWxvZyBzaG91bGQgY2xvc2Ugd2hlbiB0aGUgdXNlciBnb2VzIGJhY2t3YXJkcy9mb3J3YXJkcyBpbiBoaXN0b3J5LlxuICAgICAqICovXG4gICAgY2xvc2VPbk5hdmlnYXRpb24/OiBib29sZWFuO1xuXG4gICAgLyoqIFdpZHRoIG9mIHRoZSBkaWFsb2cuICovXG4gICAgd2lkdGg/OiBzdHJpbmcgO1xuXG4gICAgLyoqIEhlaWdodCBvZiB0aGUgZGlhbG9nLiAqL1xuICAgIGhlaWdodD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBtaW4td2lkdGggb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxuICAgICAqICovXG4gICAgbWluV2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluLWhlaWdodCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICogKi9cbiAgICBtaW5IZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4LXdpZHRoIG9mIHRoZSBvdmVybGF5IHBhbmVsLlxuICAgICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICAgKiAqL1xuICAgIG1heFdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1heC1oZWlnaHQgb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxuICAgICAqICovXG4gICAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqIFBvc2l0aW9uIG92ZXJyaWRlcy4gKi9cbiAgICBwb3NpdGlvbj86IERpYWxvZ1Bvc2l0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNjcm9sbCBzdHJhdGVneSB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlblxuICAgICAqIExlYXJuIG1vcmUgdGhpcyBmcm9tIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jZGsvb3ZlcmxheS9vdmVydmlldyNzY3JvbGwtc3RyYXRlZ2llc1xuICAgICAqICovXG4gICAgc2Nyb2xsU3RyYXRlZ3k/OiBTY3JvbGxTdHJhdGVneTtcblxuICAgIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xufVxuXG5leHBvcnQgY2xhc3MgT3dsRGlhbG9nQ29uZmlnIGltcGxlbWVudHMgT3dsRGlhbG9nQ29uZmlnSW50ZXJmYWNlIHtcbiAgICAvKipcbiAgICAgKiBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgZGlhbG9nLlxuICAgICAqL1xuICAgIHB1YmxpYyBhcmlhRGVzY3JpYmVkQnk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBmb2N1cyB0aGUgZGlhbG9nIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgYXV0b0ZvY3VzID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBkaWFsb2cgaGFzIGEgYmFja2Ryb3AuICovXG4gICAgcHVibGljIGhhc0JhY2tkcm9wID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBzdHlsZSBmb3IgdGhlIGJhY2tkcm9wXG4gICAgICogKi9cbiAgICBwdWJsaWMgYmFja2Ryb3BTdHlsZTogYW55O1xuXG4gICAgLyoqIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LiAqL1xuICAgIHB1YmxpYyBkYXRhOiBhbnkgPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgY2FuIHVzZSBlc2NhcGUgb3IgY2xpY2tpbmcgb3V0c2lkZSB0byBjbG9zZSBhIG1vZGFsLiAqL1xuICAgIHB1YmxpYyBkaXNhYmxlQ2xvc2UgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIElEIGZvciB0aGUgbW9kYWwuIElmIG9taXR0ZWQsIGEgdW5pcXVlIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBBUklBIHJvbGUgb2YgdGhlIGRpYWxvZyBlbGVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyByb2xlOiAnZGlhbG9nJyB8ICdhbGVydGRpYWxvZycgPSAnZGlhbG9nJztcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIHBhbmVcbiAgICAgKiAqL1xuICAgIHB1YmxpYyBwYW5lQ2xhc3M6IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBNb3VzZSBFdmVudFxuICAgICAqICovXG4gICAgcHVibGljIGV2ZW50OiBNb3VzZUV2ZW50ID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIGJhY2tkcm9wXG4gICAgICogKi9cbiAgICBwdWJsaWMgYmFja2Ryb3BDbGFzczogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGRpYWxvZyBzaG91bGQgY2xvc2Ugd2hlbiB0aGUgdXNlciBnb2VzIGJhY2t3YXJkcy9mb3J3YXJkcyBpbiBoaXN0b3J5LlxuICAgICAqICovXG4gICAgcHVibGljIGNsb3NlT25OYXZpZ2F0aW9uID0gdHJ1ZTtcblxuICAgIC8qKiBXaWR0aCBvZiB0aGUgZGlhbG9nLiAqL1xuICAgIHB1YmxpYyB3aWR0aCA9ICcnO1xuXG4gICAgLyoqIEhlaWdodCBvZiB0aGUgZGlhbG9nLiAqL1xuICAgIHB1YmxpYyBoZWlnaHQgPSAnJztcblxuICAgIC8qKlxuICAgICAqIFRoZSBtaW4td2lkdGggb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxuICAgICAqICovXG4gICAgcHVibGljIG1pbldpZHRoOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluLWhlaWdodCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICogKi9cbiAgICBwdWJsaWMgbWluSGVpZ2h0OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4LXdpZHRoIG9mIHRoZSBvdmVybGF5IHBhbmVsLlxuICAgICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICAgKiAqL1xuICAgIHB1YmxpYyBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nID0gJzg1dncnO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1heC1oZWlnaHQgb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxuICAgICAqICovXG4gICAgcHVibGljIG1heEhlaWdodDogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqIFBvc2l0aW9uIG92ZXJyaWRlcy4gKi9cbiAgICBwdWJsaWMgcG9zaXRpb246IERpYWxvZ1Bvc2l0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNjcm9sbCBzdHJhdGVneSB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlblxuICAgICAqIExlYXJuIG1vcmUgdGhpcyBmcm9tIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jZGsvb3ZlcmxheS9vdmVydmlldyNzY3JvbGwtc3RyYXRlZ2llc1xuICAgICAqICovXG4gICAgcHVibGljIHNjcm9sbFN0cmF0ZWd5OiBTY3JvbGxTdHJhdGVneSA9IG5ldyBOb29wU2Nyb2xsU3RyYXRlZ3koKTtcblxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaWQgPSBgb3dsLWRpYWxvZy0ke3VuaXF1ZUlkKyt9YDtcbiAgICB9XG59XG4iXX0=
|