@netwin/angular-datetime-picker 18.1.0 → 19.0.0-rc.1
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 +1 -27
- package/assets/style/picker.min.css +1 -1
- package/esm2022/lib/date-time/adapter/date-time-adapter.class.mjs +7 -13
- package/esm2022/lib/date-time/adapter/date-time-format.class.mjs +1 -4
- package/esm2022/lib/date-time/adapter/native-date-time-adapter.class.mjs +21 -36
- package/esm2022/lib/date-time/adapter/native-date-time-format.class.mjs +1 -2
- package/esm2022/lib/date-time/adapter/native-date-time.module.mjs +9 -12
- package/esm2022/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-adapter.class.mjs +12 -25
- package/esm2022/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-format.class.mjs +1 -2
- package/esm2022/lib/date-time/calendar-body.component.mjs +22 -31
- package/esm2022/lib/date-time/calendar-month-view.component.mjs +13 -29
- package/esm2022/lib/date-time/calendar-multi-year-view.component.mjs +11 -17
- package/esm2022/lib/date-time/calendar-year-view.component.mjs +11 -19
- package/esm2022/lib/date-time/calendar.component.mjs +16 -27
- package/esm2022/lib/date-time/date-time-inline.component.mjs +262 -108
- package/esm2022/lib/date-time/date-time-picker-intl.service.mjs +4 -11
- package/esm2022/lib/date-time/date-time.module.mjs +12 -36
- package/esm2022/lib/date-time/options-provider.mjs +1 -1
- package/esm2022/lib/date-time/timer-box.component.mjs +6 -16
- package/esm2022/lib/date-time/timer.component.mjs +18 -17
- package/esm2022/lib/types/date-view.mjs +19 -0
- package/esm2022/lib/types/index.mjs +4 -0
- package/esm2022/lib/types/picker-type.mjs +2 -0
- package/esm2022/lib/types/select-mode.mjs +2 -0
- package/esm2022/lib/utils/array.utils.mjs +2 -9
- package/esm2022/lib/utils/constants.mjs +1 -4
- package/esm2022/lib/utils/date.utils.mjs +1 -4
- package/esm2022/public_api.mjs +13 -20
- package/fesm2022/netwin-angular-datetime-picker.mjs +2653 -5112
- package/fesm2022/netwin-angular-datetime-picker.mjs.map +1 -1
- package/lib/date-time/adapter/date-time-adapter.class.d.ts +16 -26
- package/lib/date-time/adapter/date-time-format.class.d.ts +8 -12
- package/lib/date-time/adapter/native-date-time-adapter.class.d.ts +7 -18
- package/lib/date-time/adapter/native-date-time-format.class.d.ts +0 -3
- package/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-adapter.class.d.ts +6 -17
- package/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-format.class.d.ts +0 -3
- package/lib/date-time/calendar-body.component.d.ts +21 -26
- package/lib/date-time/calendar-month-view.component.d.ts +19 -24
- package/lib/date-time/calendar-multi-year-view.component.d.ts +7 -8
- package/lib/date-time/calendar-year-view.component.d.ts +8 -9
- package/lib/date-time/calendar.component.d.ts +15 -21
- package/lib/date-time/date-time-inline.component.d.ts +164 -74
- package/lib/date-time/date-time-picker-intl.service.d.ts +0 -4
- package/lib/date-time/date-time.module.d.ts +11 -18
- package/lib/date-time/timer-box.component.d.ts +4 -5
- package/lib/date-time/timer.component.d.ts +6 -9
- package/lib/types/date-view.d.ts +17 -0
- package/lib/types/index.d.ts +3 -0
- package/lib/types/picker-type.d.ts +7 -0
- package/lib/types/select-mode.d.ts +8 -0
- package/lib/utils/array.utils.d.ts +0 -3
- package/lib/utils/constants.d.ts +0 -3
- package/lib/utils/date.utils.d.ts +0 -3
- package/package.json +1 -1
- package/public_api.d.ts +12 -19
- package/esm2022/lib/date-time/date-time-picker-container.component.mjs +0 -405
- package/esm2022/lib/date-time/date-time-picker-input.directive.mjs +0 -598
- package/esm2022/lib/date-time/date-time-picker-trigger.directive.mjs +0 -64
- package/esm2022/lib/date-time/date-time-picker.animations.mjs +0 -21
- package/esm2022/lib/date-time/date-time-picker.component.mjs +0 -564
- package/esm2022/lib/date-time/date-time.class.mjs +0 -176
- package/esm2022/lib/date-time/numberedFixLen.pipe.mjs +0 -28
- package/esm2022/lib/dialog/dialog-config.class.mjs +0 -59
- package/esm2022/lib/dialog/dialog-container.component.mjs +0 -232
- package/esm2022/lib/dialog/dialog-ref.class.mjs +0 -134
- package/esm2022/lib/dialog/dialog.module.mjs +0 -26
- package/esm2022/lib/dialog/dialog.service.mjs +0 -228
- package/esm2022/lib/utils/index.mjs +0 -5
- package/esm2022/lib/utils/object.utils.mjs +0 -26
- package/lib/date-time/date-time-picker-container.component.d.ts +0 -130
- package/lib/date-time/date-time-picker-input.directive.d.ts +0 -164
- package/lib/date-time/date-time-picker-trigger.directive.d.ts +0 -23
- package/lib/date-time/date-time-picker.animations.d.ts +0 -8
- package/lib/date-time/date-time-picker.component.d.ts +0 -173
- package/lib/date-time/date-time.class.d.ts +0 -103
- package/lib/date-time/numberedFixLen.pipe.d.ts +0 -10
- package/lib/dialog/dialog-config.class.d.ts +0 -169
- package/lib/dialog/dialog-container.component.d.ts +0 -58
- package/lib/dialog/dialog-ref.class.d.ts +0 -51
- package/lib/dialog/dialog.module.d.ts +0 -11
- package/lib/dialog/dialog.service.d.ts +0 -76
- package/lib/utils/index.d.ts +0 -4
- package/lib/utils/object.utils.d.ts +0 -11
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* date-time.class
|
|
3
|
-
*/
|
|
4
|
-
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
5
|
-
import { Directive, Inject, Input, Optional } from '@angular/core';
|
|
6
|
-
import { OWL_DATE_TIME_FORMATS } from './adapter/date-time-format.class';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./adapter/date-time-adapter.class";
|
|
9
|
-
let nextUniqueId = 0;
|
|
10
|
-
export var DateView;
|
|
11
|
-
(function (DateView) {
|
|
12
|
-
DateView["MONTH"] = "month";
|
|
13
|
-
DateView["YEAR"] = "year";
|
|
14
|
-
DateView["MULTI_YEARS"] = "multi-years";
|
|
15
|
-
})(DateView || (DateView = {}));
|
|
16
|
-
export class OwlDateTime {
|
|
17
|
-
get showSecondsTimer() {
|
|
18
|
-
return this._showSecondsTimer;
|
|
19
|
-
}
|
|
20
|
-
set showSecondsTimer(val) {
|
|
21
|
-
this._showSecondsTimer = coerceBooleanProperty(val);
|
|
22
|
-
}
|
|
23
|
-
get hour12Timer() {
|
|
24
|
-
return this._hour12Timer;
|
|
25
|
-
}
|
|
26
|
-
set hour12Timer(val) {
|
|
27
|
-
this._hour12Timer = coerceBooleanProperty(val);
|
|
28
|
-
}
|
|
29
|
-
get stepHour() {
|
|
30
|
-
return this._stepHour;
|
|
31
|
-
}
|
|
32
|
-
set stepHour(val) {
|
|
33
|
-
this._stepHour = coerceNumberProperty(val, 1);
|
|
34
|
-
}
|
|
35
|
-
get stepMinute() {
|
|
36
|
-
return this._stepMinute;
|
|
37
|
-
}
|
|
38
|
-
set stepMinute(val) {
|
|
39
|
-
this._stepMinute = coerceNumberProperty(val, 1);
|
|
40
|
-
}
|
|
41
|
-
get stepSecond() {
|
|
42
|
-
return this._stepSecond;
|
|
43
|
-
}
|
|
44
|
-
set stepSecond(val) {
|
|
45
|
-
this._stepSecond = coerceNumberProperty(val, 1);
|
|
46
|
-
}
|
|
47
|
-
get firstDayOfWeek() {
|
|
48
|
-
return this._firstDayOfWeek;
|
|
49
|
-
}
|
|
50
|
-
set firstDayOfWeek(value) {
|
|
51
|
-
value = coerceNumberProperty(value);
|
|
52
|
-
if (value > 6 || value < 0) {
|
|
53
|
-
this._firstDayOfWeek = undefined;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
this._firstDayOfWeek = value;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
get hideOtherMonths() {
|
|
60
|
-
return this._hideOtherMonths;
|
|
61
|
-
}
|
|
62
|
-
set hideOtherMonths(val) {
|
|
63
|
-
this._hideOtherMonths = coerceBooleanProperty(val);
|
|
64
|
-
}
|
|
65
|
-
get id() {
|
|
66
|
-
return this._id;
|
|
67
|
-
}
|
|
68
|
-
get formatString() {
|
|
69
|
-
if (this.pickerType === 'both') {
|
|
70
|
-
return this.dateTimeFormats.fullPickerInput;
|
|
71
|
-
}
|
|
72
|
-
if (this.pickerType === 'calendar') {
|
|
73
|
-
return this.dateTimeFormats.datePickerInput;
|
|
74
|
-
}
|
|
75
|
-
return this.dateTimeFormats.timePickerInput;
|
|
76
|
-
}
|
|
77
|
-
get disabled() {
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
constructor(dateTimeAdapter, dateTimeFormats) {
|
|
81
|
-
this.dateTimeAdapter = dateTimeAdapter;
|
|
82
|
-
this.dateTimeFormats = dateTimeFormats;
|
|
83
|
-
/**
|
|
84
|
-
* Whether to show the second's timer
|
|
85
|
-
*/
|
|
86
|
-
this._showSecondsTimer = false;
|
|
87
|
-
/**
|
|
88
|
-
* Whether the timer is in hour12 format
|
|
89
|
-
*/
|
|
90
|
-
this._hour12Timer = false;
|
|
91
|
-
/**
|
|
92
|
-
* The view that the calendar should start in.
|
|
93
|
-
*/
|
|
94
|
-
this.startView = DateView.MONTH;
|
|
95
|
-
/**
|
|
96
|
-
* Whether to should only the year and multi-year views.
|
|
97
|
-
*/
|
|
98
|
-
this.yearOnly = false;
|
|
99
|
-
/**
|
|
100
|
-
* Whether to should only the multi-year view.
|
|
101
|
-
*/
|
|
102
|
-
this.multiyearOnly = false;
|
|
103
|
-
/**
|
|
104
|
-
* Hours to change per step
|
|
105
|
-
*/
|
|
106
|
-
this._stepHour = 1;
|
|
107
|
-
/**
|
|
108
|
-
* Minutes to change per step
|
|
109
|
-
*/
|
|
110
|
-
this._stepMinute = 1;
|
|
111
|
-
/**
|
|
112
|
-
* Seconds to change per step
|
|
113
|
-
*/
|
|
114
|
-
this._stepSecond = 1;
|
|
115
|
-
/**
|
|
116
|
-
* Whether to hide dates in other months at the start or end of the current month.
|
|
117
|
-
*/
|
|
118
|
-
this._hideOtherMonths = false;
|
|
119
|
-
/**
|
|
120
|
-
* Date Time Checker to check if the give dateTime is selectable
|
|
121
|
-
*/
|
|
122
|
-
this.dateTimeChecker = (dateTime) => {
|
|
123
|
-
return (!!dateTime &&
|
|
124
|
-
(!this.dateTimeFilter || this.dateTimeFilter(dateTime)) &&
|
|
125
|
-
(!this.minDateTime || this.dateTimeAdapter.compare(dateTime, this.minDateTime) >= 0) &&
|
|
126
|
-
(!this.maxDateTime || this.dateTimeAdapter.compare(dateTime, this.maxDateTime) <= 0));
|
|
127
|
-
};
|
|
128
|
-
if (!this.dateTimeAdapter) {
|
|
129
|
-
throw Error(`OwlDateTimePicker: No provider found for DateTimeAdapter. You must import one of the following ` +
|
|
130
|
-
`modules at your application root: OwlNativeDateTimeModule, OwlMomentDateTimeModule, or provide a ` +
|
|
131
|
-
`custom implementation.`);
|
|
132
|
-
}
|
|
133
|
-
if (!this.dateTimeFormats) {
|
|
134
|
-
throw Error(`OwlDateTimePicker: No provider found for OWL_DATE_TIME_FORMATS. You must import one of the following ` +
|
|
135
|
-
`modules at your application root: OwlNativeDateTimeModule, OwlMomentDateTimeModule, or provide a ` +
|
|
136
|
-
`custom implementation.`);
|
|
137
|
-
}
|
|
138
|
-
this._id = `owl-dt-picker-${nextUniqueId++}`;
|
|
139
|
-
}
|
|
140
|
-
getValidDate(obj) {
|
|
141
|
-
return this.dateTimeAdapter.isDateInstance(obj) && this.dateTimeAdapter.isValid(obj) ? obj : null;
|
|
142
|
-
}
|
|
143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OwlDateTime, deps: [{ token: i1.DateTimeAdapter, optional: true }, { token: OWL_DATE_TIME_FORMATS, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
144
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: OwlDateTime, inputs: { showSecondsTimer: "showSecondsTimer", hour12Timer: "hour12Timer", startView: "startView", yearOnly: "yearOnly", multiyearOnly: "multiyearOnly", stepHour: "stepHour", stepMinute: "stepMinute", stepSecond: "stepSecond", firstDayOfWeek: "firstDayOfWeek", hideOtherMonths: "hideOtherMonths" }, ngImport: i0 }); }
|
|
145
|
-
}
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OwlDateTime, decorators: [{
|
|
147
|
-
type: Directive
|
|
148
|
-
}], ctorParameters: () => [{ type: i1.DateTimeAdapter, decorators: [{
|
|
149
|
-
type: Optional
|
|
150
|
-
}] }, { type: undefined, decorators: [{
|
|
151
|
-
type: Optional
|
|
152
|
-
}, {
|
|
153
|
-
type: Inject,
|
|
154
|
-
args: [OWL_DATE_TIME_FORMATS]
|
|
155
|
-
}] }], propDecorators: { showSecondsTimer: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], hour12Timer: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], startView: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], yearOnly: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], multiyearOnly: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], stepHour: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], stepMinute: [{
|
|
168
|
-
type: Input
|
|
169
|
-
}], stepSecond: [{
|
|
170
|
-
type: Input
|
|
171
|
-
}], firstDayOfWeek: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], hideOtherMonths: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}] } });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGlja2VyL3NyYy9saWIvZGF0ZS10aW1lL2RhdGUtdGltZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE9BQU8sRUFBRSxxQkFBcUIsRUFBc0IsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRTdGLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQVFyQixNQUFNLENBQU4sSUFBWSxRQUlYO0FBSkQsV0FBWSxRQUFRO0lBQ2xCLDJCQUFlLENBQUE7SUFDZix5QkFBYSxDQUFBO0lBQ2IsdUNBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUpXLFFBQVEsS0FBUixRQUFRLFFBSW5CO0FBS0QsTUFBTSxPQUFnQixXQUFXO0lBSy9CLElBQ0ksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLGdCQUFnQixDQUFDLEdBQVk7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFNRCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLEdBQVk7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBd0JELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFR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LFFBQVE7c0JBRFAsS0FBSztnQkFPTixhQUFhO3NCQURaLEtBQUs7Z0JBUUYsUUFBUTtzQkFEWCxLQUFLO2dCQWNGLFVBQVU7c0JBRGIsS0FBSztnQkFjRixVQUFVO3NCQURiLEtBQUs7Z0JBY0YsY0FBYztzQkFEakIsS0FBSztnQkFtQkYsZUFBZTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZGF0ZS10aW1lLmNsYXNzXG4gKi9cbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlVGltZUFkYXB0ZXIgfSBmcm9tICcuL2FkYXB0ZXIvZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MnO1xuaW1wb3J0IHsgT1dMX0RBVEVfVElNRV9GT1JNQVRTLCBPd2xEYXRlVGltZUZvcm1hdHMgfSBmcm9tICcuL2FkYXB0ZXIvZGF0ZS10aW1lLWZvcm1hdC5jbGFzcyc7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5leHBvcnQgdHlwZSBQaWNrZXJUeXBlID0gJ2JvdGgnIHwgJ2NhbGVuZGFyJyB8ICd0aW1lcic7XG5cbmV4cG9ydCB0eXBlIFBpY2tlck1vZGUgPSAncG9wdXAnIHwgJ2RpYWxvZycgfCAnaW5saW5lJztcblxuZXhwb3J0IHR5cGUgU2VsZWN0TW9kZSA9ICdzaW5nbGUnIHwgJ3JhbmdlJyB8ICdyYW5nZUZyb20nIHwgJ3JhbmdlVG8nO1xuXG5leHBvcnQgZW51bSBEYXRlVmlldyB7XG4gIE1PTlRIID0gJ21vbnRoJyxcbiAgWUVBUiA9ICd5ZWFyJyxcbiAgTVVMVElfWUVBUlMgPSAnbXVsdGkteWVhcnMnXG59XG5cbmV4cG9ydCB0eXBlIERhdGVWaWV3VHlwZSA9IERhdGVWaWV3Lk1PTlRIIHwgRGF0ZVZpZXcuWUVBUiB8IERhdGVWaWV3Lk1VTFRJX1lFQVJTO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPd2xEYXRlVGltZTxUPiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIHNlY29uZCdzIHRpbWVyXG4gICAqL1xuICBwcml2YXRlIF9zaG93U2Vjb25kc1RpbWVyID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGdldCBzaG93U2Vjb25kc1RpbWVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93U2Vjb25kc1RpbWVyO1xuICB9XG5cbiAgc2V0IHNob3dTZWNvbmRzVGltZXIodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd1NlY29uZHNUaW1lciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRpbWVyIGlzIGluIGhvdXIxMiBmb3JtYXRcbiAgICovXG4gIHByaXZhdGUgX2hvdXIxMlRpbWVyID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGdldCBob3VyMTJUaW1lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faG91cjEyVGltZXI7XG4gIH1cblxuICBzZXQgaG91cjEyVGltZXIodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5faG91cjEyVGltZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdmlldyB0aGF0IHRoZSBjYWxlbmRhciBzaG91bGQgc3RhcnQgaW4uXG4gICAqL1xuICBASW5wdXQoKVxuICBzdGFydFZpZXc6IERhdGVWaWV3VHlwZSA9IERhdGVWaWV3Lk1PTlRIO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3VsZCBvbmx5IHRoZSB5ZWFyIGFuZCBtdWx0aS15ZWFyIHZpZXdzLlxuICAgKi9cbiAgQElucHV0KClcbiAgeWVhck9ubHkgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG91bGQgb25seSB0aGUgbXVsdGkteWVhciB2aWV3LlxuICAgKi9cbiAgQElucHV0KClcbiAgbXVsdGl5ZWFyT25seSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBIb3VycyB0byBjaGFuZ2UgcGVyIHN0ZXBcbiAgICovXG4gIHByaXZhdGUgX3N0ZXBIb3VyID0gMTtcbiAgQElucHV0KClcbiAgZ2V0IHN0ZXBIb3VyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3N0ZXBIb3VyO1xuICB9XG5cbiAgc2V0IHN0ZXBIb3VyKHZhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5fc3RlcEhvdXIgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWwsIDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1pbnV0ZXMgdG8gY2hhbmdlIHBlciBzdGVwXG4gICAqL1xuICBwcml2YXRlIF9zdGVwTWludXRlID0gMTtcbiAgQElucHV0KClcbiAgZ2V0IHN0ZXBNaW51dGUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc3RlcE1pbnV0ZTtcbiAgfVxuXG4gIHNldCBzdGVwTWludXRlKHZhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5fc3RlcE1pbnV0ZSA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbCwgMSk7XG4gIH1cblxuICAvKipcbiAgICogU2Vjb25kcyB0byBjaGFuZ2UgcGVyIHN0ZXBcbiAgICovXG4gIHByaXZhdGUgX3N0ZXBTZWNvbmQgPSAxO1xuICBASW5wdXQoKVxuICBnZXQgc3RlcFNlY29uZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zdGVwU2Vjb25kO1xuICB9XG5cbiAgc2V0IHN0ZXBTZWNvbmQodmFsOiBudW1iZXIpIHtcbiAgICB0aGlzLl9zdGVwU2Vjb25kID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsLCAxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGZpcnN0IGRheSBvZiB3ZWVrXG4gICAqL1xuICBwcml2YXRlIF9maXJzdERheU9mV2VlazogbnVtYmVyO1xuICBASW5wdXQoKVxuICBnZXQgZmlyc3REYXlPZldlZWsoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrO1xuICB9XG5cbiAgc2V0IGZpcnN0RGF5T2ZXZWVrKHZhbHVlOiBudW1iZXIpIHtcbiAgICB2YWx1ZSA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodmFsdWUgPiA2IHx8IHZhbHVlIDwgMCkge1xuICAgICAgdGhpcy5fZmlyc3REYXlPZldlZWsgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaGlkZSBkYXRlcyBpbiBvdGhlciBtb250aHMgYXQgdGhlIHN0YXJ0IG9yIGVuZCBvZiB0aGUgY3VycmVudCBtb250aC5cbiAgICovXG4gIHByaXZhdGUgX2hpZGVPdGhlck1vbnRocyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBnZXQgaGlkZU90aGVyTW9udGhzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oaWRlT3RoZXJNb250aHM7XG4gIH1cblxuICBzZXQgaGlkZU90aGVyTW9udGhzKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuX2hpZGVPdGhlck1vbnRocyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaWQ6IHN0cmluZztcbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgYWJzdHJhY3QgZ2V0IHNlbGVjdGVkKCk6IFQgfCBudWxsO1xuXG4gIGFic3RyYWN0IGdldCBzZWxlY3RlZHMoKTogQXJyYXk8VD4gfCBudWxsO1xuXG4gIGFic3RyYWN0IGdldCBkYXRlVGltZUZpbHRlcigpOiAoZGF0ZTogVCB8IG51bGwpID0+IGJvb2xlYW47XG5cbiAgYWJzdHJhY3QgZ2V0IG1heERhdGVUaW1lKCk6IFQgfCBudWxsO1xuXG4gIGFic3RyYWN0IGdldCBtaW5EYXRlVGltZSgpOiBUIHwgbnVsbDtcblxuICBhYnN0cmFjdCBnZXQgc2VsZWN0TW9kZSgpOiBTZWxlY3RNb2RlO1xuXG4gIGFic3RyYWN0IGdldCBzdGFydEF0KCk6IFQgfCBudWxsO1xuXG4gIGFic3RyYWN0IGdldCBlbmRBdCgpOiBUIHwgbnVsbDtcblxuICBhYnN0cmFjdCBnZXQgb3BlbmVkKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3QgZ2V0IHBpY2tlck1vZGUoKTogUGlja2VyTW9kZTtcblxuICBhYnN0cmFjdCBnZXQgcGlja2VyVHlwZSgpOiBQaWNrZXJUeXBlO1xuXG4gIGFic3RyYWN0IGdldCBpc0luU2luZ2xlTW9kZSgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGdldCBpc0luUmFuZ2VNb2RlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3Qgc2VsZWN0KGRhdGU6IFQgfCBBcnJheTxUPik6IHZvaWQ7XG5cbiAgYWJzdHJhY3QgeWVhclNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8VD47XG5cbiAgYWJzdHJhY3QgbW9udGhTZWxlY3RlZDogRXZlbnRFbWl0dGVyPFQ+O1xuXG4gIGFic3RyYWN0IGRhdGVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPFQ+O1xuXG4gIGFic3RyYWN0IHNlbGVjdFllYXIobm9ybWFsaXplZFllYXI6IFQpOiB2b2lkO1xuXG4gIGFic3RyYWN0IHNlbGVjdE1vbnRoKG5vcm1hbGl6ZWRNb250aDogVCk6IHZvaWQ7XG5cbiAgYWJzdHJhY3Qgc2VsZWN0RGF0ZShub3JtYWxpemVkRGF0ZTogVCk6IHZvaWQ7XG5cbiAgZ2V0IGZvcm1hdFN0cmluZygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnBpY2tlclR5cGUgPT09ICdib3RoJykge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVGb3JtYXRzLmZ1bGxQaWNrZXJJbnB1dDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5waWNrZXJUeXBlID09PSAnY2FsZW5kYXInKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRlVGltZUZvcm1hdHMuZGF0ZVBpY2tlcklucHV0O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRhdGVUaW1lRm9ybWF0cy50aW1lUGlja2VySW5wdXQ7XG4gIH1cblxuICAvKipcbiAgICogRGF0ZSBUaW1lIENoZWNrZXIgdG8gY2hlY2sgaWYgdGhlIGdpdmUgZGF0ZVRpbWUgaXMgc2VsZWN0YWJsZVxuICAgKi9cbiAgcHVibGljIGRhdGVUaW1lQ2hlY2tlciA9IChkYXRlVGltZTogVCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIWRhdGVUaW1lICYmXG4gICAgICAoIXRoaXMuZGF0ZVRpbWVGaWx0ZXIgfHwgdGhpcy5kYXRlVGltZUZpbHRlcihkYXRlVGltZSkpICYmXG4gICAgICAoIXRoaXMubWluRGF0ZVRpbWUgfHwgdGhpcy5kYXRlVGltZUFkYXB0ZXIuY29tcGFyZShkYXRlVGltZSwgdGhpcy5taW5EYXRlVGltZSkgPj0gMCkgJiZcbiAgICAgICghdGhpcy5tYXhEYXRlVGltZSB8fCB0aGlzLmRhdGVUaW1lQWRhcHRlci5jb21wYXJlKGRhdGVUaW1lLCB0aGlzLm1heERhdGVUaW1lKSA8PSAwKVxuICAgICk7XG4gIH07XG5cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgZGF0ZVRpbWVBZGFwdGVyOiBEYXRlVGltZUFkYXB0ZXI8VD4sXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KE9XTF9EQVRFX1RJTUVfRk9STUFUUylcbiAgICBwcm90ZWN0ZWQgZGF0ZVRpbWVGb3JtYXRzOiBPd2xEYXRlVGltZUZvcm1hdHNcbiAgKSB7XG4gICAgaWYgKCF0aGlzLmRhdGVUaW1lQWRhcHRlcikge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgIGBPd2xEYXRlVGltZVBpY2tlcjogTm8gcHJvdmlkZXIgZm91bmQgZm9yIERhdGVUaW1lQWRhcHRlci4gWW91IG11c3QgaW1wb3J0IG9uZSBvZiB0aGUgZm9sbG93aW5nIGAgK1xuICAgICAgICAgIGBtb2R1bGVzIGF0IHlvdXIgYXBwbGljYXRpb24gcm9vdDogT3dsTmF0aXZlRGF0ZVRpbWVNb2R1bGUsIE93bE1vbWVudERhdGVUaW1lTW9kdWxlLCBvciBwcm92aWRlIGEgYCArXG4gICAgICAgICAgYGN1c3RvbSBpbXBsZW1lbnRhdGlvbi5gXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kYXRlVGltZUZvcm1hdHMpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICBgT3dsRGF0ZVRpbWVQaWNrZXI6IE5vIHByb3ZpZGVyIGZvdW5kIGZvciBPV0xfREFURV9USU1FX0ZPUk1BVFMuIFlvdSBtdXN0IGltcG9ydCBvbmUgb2YgdGhlIGZvbGxvd2luZyBgICtcbiAgICAgICAgICBgbW9kdWxlcyBhdCB5b3VyIGFwcGxpY2F0aW9uIHJvb3Q6IE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlLCBPd2xNb21lbnREYXRlVGltZU1vZHVsZSwgb3IgcHJvdmlkZSBhIGAgK1xuICAgICAgICAgIGBjdXN0b20gaW1wbGVtZW50YXRpb24uYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pZCA9IGBvd2wtZHQtcGlja2VyLSR7bmV4dFVuaXF1ZUlkKyt9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRWYWxpZERhdGUob2JqOiBhbnkpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmlzRGF0ZUluc3RhbmNlKG9iaikgJiYgdGhpcy5kYXRlVGltZUFkYXB0ZXIuaXNWYWxpZChvYmopID8gb2JqIDogbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* numberFixedLen.pipe
|
|
3
|
-
*/
|
|
4
|
-
import { Pipe } from '@angular/core';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class NumberFixedLenPipe {
|
|
7
|
-
transform(num, len) {
|
|
8
|
-
const number = Math.floor(num);
|
|
9
|
-
const length = Math.floor(len);
|
|
10
|
-
if (num === null || isNaN(number) || isNaN(length)) {
|
|
11
|
-
return num;
|
|
12
|
-
}
|
|
13
|
-
let numString = number.toString();
|
|
14
|
-
while (numString.length < length) {
|
|
15
|
-
numString = `0${numString}`;
|
|
16
|
-
}
|
|
17
|
-
return numString;
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NumberFixedLenPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
20
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: NumberFixedLenPipe, name: "numberFixedLen" }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NumberFixedLenPipe, decorators: [{
|
|
23
|
-
type: Pipe,
|
|
24
|
-
args: [{
|
|
25
|
-
name: 'numberFixedLen'
|
|
26
|
-
}]
|
|
27
|
-
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyZWRGaXhMZW4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BpY2tlci9zcmMvbGliL2RhdGUtdGltZS9udW1iZXJlZEZpeExlbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxrQkFBa0I7SUFDdEIsU0FBUyxDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUvQixJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25ELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztRQUVELElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVsQyxPQUFPLFNBQVMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDakMsU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDOUIsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7OEdBaEJVLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUg5QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBudW1iZXJGaXhlZExlbi5waXBlXG4gKi9cblxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdudW1iZXJGaXhlZExlbidcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyRml4ZWRMZW5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0obnVtOiBudW1iZXIsIGxlbjogbnVtYmVyKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICBjb25zdCBudW1iZXIgPSBNYXRoLmZsb29yKG51bSk7XG4gICAgY29uc3QgbGVuZ3RoID0gTWF0aC5mbG9vcihsZW4pO1xuXG4gICAgaWYgKG51bSA9PT0gbnVsbCB8fCBpc05hTihudW1iZXIpIHx8IGlzTmFOKGxlbmd0aCkpIHtcbiAgICAgIHJldHVybiBudW07XG4gICAgfVxuXG4gICAgbGV0IG51bVN0cmluZyA9IG51bWJlci50b1N0cmluZygpO1xuXG4gICAgd2hpbGUgKG51bVN0cmluZy5sZW5ndGggPCBsZW5ndGgpIHtcbiAgICAgIG51bVN0cmluZyA9IGAwJHtudW1TdHJpbmd9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVtU3RyaW5nO1xuICB9XG59XG4iXX0=
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* dialog-config.class
|
|
3
|
-
*/
|
|
4
|
-
import { NoopScrollStrategy } from '@angular/cdk/overlay';
|
|
5
|
-
let uniqueId = 0;
|
|
6
|
-
export class OwlDialogConfig {
|
|
7
|
-
constructor() {
|
|
8
|
-
/**
|
|
9
|
-
* ID of the element that describes the dialog.
|
|
10
|
-
*/
|
|
11
|
-
this.ariaDescribedBy = null;
|
|
12
|
-
/**
|
|
13
|
-
* Whether to focus the dialog when the dialog is opened
|
|
14
|
-
*/
|
|
15
|
-
this.autoFocus = true;
|
|
16
|
-
/** Whether the dialog has a backdrop. */
|
|
17
|
-
this.hasBackdrop = true;
|
|
18
|
-
/** Data being injected into the child component. */
|
|
19
|
-
this.data = null;
|
|
20
|
-
/** Whether the user can use escape or clicking outside to close a modal. */
|
|
21
|
-
this.disableClose = false;
|
|
22
|
-
/**
|
|
23
|
-
* The ARIA role of the dialog element.
|
|
24
|
-
*/
|
|
25
|
-
this.role = 'dialog';
|
|
26
|
-
/**
|
|
27
|
-
* Custom class for the pane
|
|
28
|
-
* */
|
|
29
|
-
this.paneClass = '';
|
|
30
|
-
/**
|
|
31
|
-
* Mouse Event
|
|
32
|
-
* */
|
|
33
|
-
this.event = null;
|
|
34
|
-
/**
|
|
35
|
-
* Custom class for the backdrop
|
|
36
|
-
* */
|
|
37
|
-
this.backdropClass = '';
|
|
38
|
-
/**
|
|
39
|
-
* Whether the dialog should close when the user goes backwards/forwards in history.
|
|
40
|
-
* */
|
|
41
|
-
this.closeOnNavigation = true;
|
|
42
|
-
/** Width of the dialog. */
|
|
43
|
-
this.width = '';
|
|
44
|
-
/** Height of the dialog. */
|
|
45
|
-
this.height = '';
|
|
46
|
-
/**
|
|
47
|
-
* The max-width of the overlay panel.
|
|
48
|
-
* If a number is provided, pixel units are assumed.
|
|
49
|
-
* */
|
|
50
|
-
this.maxWidth = '85vw';
|
|
51
|
-
/**
|
|
52
|
-
* The scroll strategy when the dialog is open
|
|
53
|
-
* Learn more this from https://material.angular.io/cdk/overlay/overview#scroll-strategies
|
|
54
|
-
* */
|
|
55
|
-
this.scrollStrategy = new NoopScrollStrategy();
|
|
56
|
-
this.id = `owl-dialog-${uniqueId++}`;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BpY2tlci9zcmMvbGliL2RpYWxvZy9kaWFsb2ctY29uZmlnLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLGtCQUFrQixFQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBRzFFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQWtIakIsTUFBTSxPQUFPLGVBQWU7SUFnRzFCO1FBL0ZBOztXQUVHO1FBQ0ksb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBRTdDOztXQUVHO1FBQ0ksY0FBUyxHQUFHLElBQUksQ0FBQztRQUV4Qix5Q0FBeUM7UUFDbEMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFPMUIsb0RBQW9EO1FBQzdDLFNBQUksR0FBUSxJQUFJLENBQUM7UUFFeEIsNEVBQTRFO1FBQ3JFLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBTzVCOztXQUVHO1FBQ0ksU0FBSSxHQUE2QixRQUFRLENBQUM7UUFFakQ7O2FBRUs7UUFDRSxjQUFTLEdBQTJCLEVBQUUsQ0FBQztRQUU5Qzs7YUFFSztRQUNFLFVBQUssR0FBZSxJQUFJLENBQUM7UUFFaEM7O2FBRUs7UUFDRSxrQkFBYSxHQUEyQixFQUFFLENBQUM7UUFFbEQ7O2FBRUs7UUFDRSxzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFFaEMsMkJBQTJCO1FBQ3BCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFbEIsNEJBQTRCO1FBQ3JCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFjbkI7OzthQUdLO1FBQ0UsYUFBUSxHQUFvQixNQUFNLENBQUM7UUFXMUM7OzthQUdLO1FBQ0UsbUJBQWMsR0FBbUIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBSy9ELElBQUksQ0FBQyxFQUFFLEdBQUcsY0FBYyxRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZGlhbG9nLWNvbmZpZy5jbGFzc1xuICovXG5pbXBvcnQgeyBOb29wU2Nyb2xsU3RyYXRlZ3ksIFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG4vKiogUG9zc2libGUgb3ZlcnJpZGVzIGZvciBhIGRpYWxvZydzIHBvc2l0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dQb3NpdGlvbiB7XG4gIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIHRvcCBwb3NpdGlvbi4gKi9cbiAgdG9wPzogc3RyaW5nO1xuXG4gIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIGJvdHRvbSBwb3NpdGlvbi4gKi9cbiAgYm90dG9tPzogc3RyaW5nO1xuXG4gIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIGxlZnQgcG9zaXRpb24uICovXG4gIGxlZnQ/OiBzdHJpbmc7XG5cbiAgLyoqIE92ZXJyaWRlIGZvciB0aGUgZGlhbG9nJ3MgcmlnaHQgcG9zaXRpb24uICovXG4gIHJpZ2h0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE93bERpYWxvZ0NvbmZpZ0ludGVyZmFjZSB7XG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgZGlhbG9nLlxuICAgKi9cbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBmb2N1cyB0aGUgZGlhbG9nIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWRcbiAgICovXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW47XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGRpYWxvZyBoYXMgYSBiYWNrZHJvcC4gKi9cbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gc3R5bGUgZm9yIHRoZSBiYWNrZHJvcFxuICAgKiAqL1xuICBiYWNrZHJvcFN0eWxlPzogYW55O1xuXG4gIC8qKiBEYXRhIGJlaW5nIGluamVjdGVkIGludG8gdGhlIGNoaWxkIGNvbXBvbmVudC4gKi9cbiAgZGF0YT86IGFueTtcblxuICAvKiogV2hldGhlciB0aGUgdXNlciBjYW4gdXNlIGVzY2FwZSBvciBjbGlja2luZyBvdXRzaWRlIHRvIGNsb3NlIGEgbW9kYWwuICovXG4gIGRpc2FibGVDbG9zZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElEIGZvciB0aGUgbW9kYWwuIElmIG9taXR0ZWQsIGEgdW5pcXVlIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSByb2xlIG9mIHRoZSBkaWFsb2cgZWxlbWVudC5cbiAgICovXG4gIHJvbGU/OiAnZGlhbG9nJyB8ICdhbGVydGRpYWxvZyc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIHBhbmVcbiAgICogKi9cbiAgcGFuZUNsYXNzPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcblxuICAvKipcbiAgICogTW91c2UgRXZlbnRcbiAgICogKi9cbiAgZXZlbnQ/OiBNb3VzZUV2ZW50O1xuXG4gIC8qKlxuICAgKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBiYWNrZHJvcFxuICAgKiAqL1xuICBiYWNrZHJvcENsYXNzPzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZGlhbG9nIHNob3VsZCBjbG9zZSB3aGVuIHRoZSB1c2VyIGdvZXMgYmFja3dhcmRzL2ZvcndhcmRzIGluIGhpc3RvcnkuXG4gICAqICovXG4gIGNsb3NlT25OYXZpZ2F0aW9uPzogYm9vbGVhbjtcblxuICAvKiogV2lkdGggb2YgdGhlIGRpYWxvZy4gKi9cbiAgd2lkdGg/OiBzdHJpbmc7XG5cbiAgLyoqIEhlaWdodCBvZiB0aGUgZGlhbG9nLiAqL1xuICBoZWlnaHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW4td2lkdGggb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICogKi9cbiAgbWluV2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW4taGVpZ2h0IG9mIHRoZSBvdmVybGF5IHBhbmVsLlxuICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAqICovXG4gIG1pbkhlaWdodD86IG51bWJlciB8IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1heC13aWR0aCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxuICAgKiAqL1xuICBtYXhXaWR0aD86IG51bWJlciB8IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1heC1oZWlnaHQgb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICogKi9cbiAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBQb3NpdGlvbiBvdmVycmlkZXMuICovXG4gIHBvc2l0aW9uPzogRGlhbG9nUG9zaXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBzY3JvbGwgc3RyYXRlZ3kgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5cbiAgICogTGVhcm4gbW9yZSB0aGlzIGZyb20gaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2Nkay9vdmVybGF5L292ZXJ2aWV3I3Njcm9sbC1zdHJhdGVnaWVzXG4gICAqICovXG4gIHNjcm9sbFN0cmF0ZWd5PzogU2Nyb2xsU3RyYXRlZ3k7XG5cbiAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG59XG5cbmV4cG9ydCBjbGFzcyBPd2xEaWFsb2dDb25maWcgaW1wbGVtZW50cyBPd2xEaWFsb2dDb25maWdJbnRlcmZhY2Uge1xuICAvKipcbiAgICogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGRpYWxvZy5cbiAgICovXG4gIHB1YmxpYyBhcmlhRGVzY3JpYmVkQnk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZvY3VzIHRoZSBkaWFsb2cgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5lZFxuICAgKi9cbiAgcHVibGljIGF1dG9Gb2N1cyA9IHRydWU7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGRpYWxvZyBoYXMgYSBiYWNrZHJvcC4gKi9cbiAgcHVibGljIGhhc0JhY2tkcm9wID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ3VzdG9tIHN0eWxlIGZvciB0aGUgYmFja2Ryb3BcbiAgICogKi9cbiAgcHVibGljIGJhY2tkcm9wU3R5bGU6IGFueTtcblxuICAvKiogRGF0YSBiZWluZyBpbmplY3RlZCBpbnRvIHRoZSBjaGlsZCBjb21wb25lbnQuICovXG4gIHB1YmxpYyBkYXRhOiBhbnkgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGNhbiB1c2UgZXNjYXBlIG9yIGNsaWNraW5nIG91dHNpZGUgdG8gY2xvc2UgYSBtb2RhbC4gKi9cbiAgcHVibGljIGRpc2FibGVDbG9zZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJRCBmb3IgdGhlIG1vZGFsLiBJZiBvbWl0dGVkLCBhIHVuaXF1ZSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqL1xuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSSUEgcm9sZSBvZiB0aGUgZGlhbG9nIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgcm9sZTogJ2RpYWxvZycgfCAnYWxlcnRkaWFsb2cnID0gJ2RpYWxvZyc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIHBhbmVcbiAgICogKi9cbiAgcHVibGljIHBhbmVDbGFzczogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiA9ICcnO1xuXG4gIC8qKlxuICAgKiBNb3VzZSBFdmVudFxuICAgKiAqL1xuICBwdWJsaWMgZXZlbnQ6IE1vdXNlRXZlbnQgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBiYWNrZHJvcFxuICAgKiAqL1xuICBwdWJsaWMgYmFja2Ryb3BDbGFzczogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiA9ICcnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBkaWFsb2cgc2hvdWxkIGNsb3NlIHdoZW4gdGhlIHVzZXIgZ29lcyBiYWNrd2FyZHMvZm9yd2FyZHMgaW4gaGlzdG9yeS5cbiAgICogKi9cbiAgcHVibGljIGNsb3NlT25OYXZpZ2F0aW9uID0gdHJ1ZTtcblxuICAvKiogV2lkdGggb2YgdGhlIGRpYWxvZy4gKi9cbiAgcHVibGljIHdpZHRoID0gJyc7XG5cbiAgLyoqIEhlaWdodCBvZiB0aGUgZGlhbG9nLiAqL1xuICBwdWJsaWMgaGVpZ2h0ID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW4td2lkdGggb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICogKi9cbiAgcHVibGljIG1pbldpZHRoOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW4taGVpZ2h0IG9mIHRoZSBvdmVybGF5IHBhbmVsLlxuICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAqICovXG4gIHB1YmxpYyBtaW5IZWlnaHQ6IG51bWJlciB8IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1heC13aWR0aCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxuICAgKiAqL1xuICBwdWJsaWMgbWF4V2lkdGg6IG51bWJlciB8IHN0cmluZyA9ICc4NXZ3JztcblxuICAvKipcbiAgICogVGhlIG1heC1oZWlnaHQgb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICogKi9cbiAgcHVibGljIG1heEhlaWdodDogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBQb3NpdGlvbiBvdmVycmlkZXMuICovXG4gIHB1YmxpYyBwb3NpdGlvbjogRGlhbG9nUG9zaXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBzY3JvbGwgc3RyYXRlZ3kgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5cbiAgICogTGVhcm4gbW9yZSB0aGlzIGZyb20gaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2Nkay9vdmVybGF5L292ZXJ2aWV3I3Njcm9sbC1zdHJhdGVnaWVzXG4gICAqICovXG4gIHB1YmxpYyBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3kgPSBuZXcgTm9vcFNjcm9sbFN0cmF0ZWd5KCk7XG5cbiAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pZCA9IGBvd2wtZGlhbG9nLSR7dW5pcXVlSWQrK31gO1xuICB9XG59XG4iXX0=
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* dialog-container.component
|
|
3
|
-
*/
|
|
4
|
-
import { animate, animateChild, keyframes, style, transition, trigger } from '@angular/animations';
|
|
5
|
-
import { BasePortalOutlet, CdkPortalOutlet } from '@angular/cdk/portal';
|
|
6
|
-
import { DOCUMENT } from '@angular/common';
|
|
7
|
-
import { Component, EventEmitter, Inject, Optional, ViewChild } from '@angular/core';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/cdk/a11y";
|
|
10
|
-
import * as i2 from "@angular/cdk/portal";
|
|
11
|
-
const zoomFadeIn = {
|
|
12
|
-
opacity: 0,
|
|
13
|
-
transform: 'translateX({{ x }}) translateY({{ y }}) scale({{scale}})'
|
|
14
|
-
};
|
|
15
|
-
const zoomFadeInFrom = {
|
|
16
|
-
opacity: 0,
|
|
17
|
-
transform: 'translateX({{ x }}) translateY({{ y }}) scale({{scale}})',
|
|
18
|
-
transformOrigin: '{{ ox }} {{ oy }}'
|
|
19
|
-
};
|
|
20
|
-
export class OwlDialogContainerComponent extends BasePortalOutlet {
|
|
21
|
-
get config() {
|
|
22
|
-
return this._config;
|
|
23
|
-
}
|
|
24
|
-
get owlDialogContainerClass() {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
get owlDialogContainerTabIndex() {
|
|
28
|
-
return -1;
|
|
29
|
-
}
|
|
30
|
-
get owlDialogContainerId() {
|
|
31
|
-
return this._config.id;
|
|
32
|
-
}
|
|
33
|
-
get owlDialogContainerRole() {
|
|
34
|
-
return this._config.role || null;
|
|
35
|
-
}
|
|
36
|
-
get owlDialogContainerAriaLabelledby() {
|
|
37
|
-
return this.ariaLabelledBy;
|
|
38
|
-
}
|
|
39
|
-
get owlDialogContainerAriaDescribedby() {
|
|
40
|
-
return this._config.ariaDescribedBy || null;
|
|
41
|
-
}
|
|
42
|
-
get owlDialogContainerAnimation() {
|
|
43
|
-
return { value: this.state, params: this.params };
|
|
44
|
-
}
|
|
45
|
-
constructor(changeDetector, elementRef, focusTrapFactory, document) {
|
|
46
|
-
super();
|
|
47
|
-
this.changeDetector = changeDetector;
|
|
48
|
-
this.elementRef = elementRef;
|
|
49
|
-
this.focusTrapFactory = focusTrapFactory;
|
|
50
|
-
this.document = document;
|
|
51
|
-
this.portalOutlet = null;
|
|
52
|
-
/** ID of the element that should be considered as the dialog's label. */
|
|
53
|
-
this.ariaLabelledBy = null;
|
|
54
|
-
/** Emits when an animation state changes. */
|
|
55
|
-
this.animationStateChanged = new EventEmitter();
|
|
56
|
-
this.isAnimating = false;
|
|
57
|
-
this.state = 'enter';
|
|
58
|
-
// for animation purpose
|
|
59
|
-
this.params = {
|
|
60
|
-
x: '0px',
|
|
61
|
-
y: '0px',
|
|
62
|
-
ox: '50%',
|
|
63
|
-
oy: '50%',
|
|
64
|
-
scale: 0
|
|
65
|
-
};
|
|
66
|
-
// A variable to hold the focused element before the dialog was open.
|
|
67
|
-
// This would help us to refocus back to element when the dialog was closed.
|
|
68
|
-
this.elementFocusedBeforeDialogWasOpened = null;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Attach a ComponentPortal as content to this dialog container.
|
|
72
|
-
*/
|
|
73
|
-
attachComponentPortal(portal) {
|
|
74
|
-
if (this.portalOutlet.hasAttached()) {
|
|
75
|
-
throw Error('Attempting to attach dialog content after content is already attached');
|
|
76
|
-
}
|
|
77
|
-
this.savePreviouslyFocusedElement();
|
|
78
|
-
return this.portalOutlet.attachComponentPortal(portal);
|
|
79
|
-
}
|
|
80
|
-
attachTemplatePortal(portal) {
|
|
81
|
-
throw new Error('Method not implemented.');
|
|
82
|
-
}
|
|
83
|
-
setConfig(config) {
|
|
84
|
-
this._config = config;
|
|
85
|
-
if (config.event) {
|
|
86
|
-
this.calculateZoomOrigin(event);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
onAnimationStart(event) {
|
|
90
|
-
this.isAnimating = true;
|
|
91
|
-
this.animationStateChanged.emit(event);
|
|
92
|
-
}
|
|
93
|
-
onAnimationDone(event) {
|
|
94
|
-
if (event.toState === 'enter') {
|
|
95
|
-
this.trapFocus();
|
|
96
|
-
}
|
|
97
|
-
else if (event.toState === 'exit') {
|
|
98
|
-
this.restoreFocus();
|
|
99
|
-
}
|
|
100
|
-
this.animationStateChanged.emit(event);
|
|
101
|
-
this.isAnimating = false;
|
|
102
|
-
}
|
|
103
|
-
startExitAnimation() {
|
|
104
|
-
this.state = 'exit';
|
|
105
|
-
this.changeDetector.markForCheck();
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Calculate origin used in the `zoomFadeInFrom()`
|
|
109
|
-
* for animation purpose
|
|
110
|
-
*/
|
|
111
|
-
calculateZoomOrigin(event) {
|
|
112
|
-
if (!event) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
const clientX = event.clientX;
|
|
116
|
-
const clientY = event.clientY;
|
|
117
|
-
const wh = window.innerWidth / 2;
|
|
118
|
-
const hh = window.innerHeight / 2;
|
|
119
|
-
const x = clientX - wh;
|
|
120
|
-
const y = clientY - hh;
|
|
121
|
-
const ox = clientX / window.innerWidth;
|
|
122
|
-
const oy = clientY / window.innerHeight;
|
|
123
|
-
this.params.x = `${x}px`;
|
|
124
|
-
this.params.y = `${y}px`;
|
|
125
|
-
this.params.ox = `${ox * 100}%`;
|
|
126
|
-
this.params.oy = `${oy * 100}%`;
|
|
127
|
-
this.params.scale = 0;
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Save the focused element before dialog was open
|
|
132
|
-
*/
|
|
133
|
-
savePreviouslyFocusedElement() {
|
|
134
|
-
if (this.document) {
|
|
135
|
-
this.elementFocusedBeforeDialogWasOpened = this.document.activeElement;
|
|
136
|
-
setTimeout(() => this.elementRef.nativeElement.focus(), 0);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
trapFocus() {
|
|
140
|
-
if (!this.focusTrap) {
|
|
141
|
-
this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);
|
|
142
|
-
}
|
|
143
|
-
if (this._config.autoFocus) {
|
|
144
|
-
void this.focusTrap.focusInitialElementWhenReady();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
restoreFocus() {
|
|
148
|
-
const toFocus = this.elementFocusedBeforeDialogWasOpened;
|
|
149
|
-
// We need the extra check, because IE can set the `activeElement` to null in some cases.
|
|
150
|
-
if (toFocus && typeof toFocus.focus === 'function') {
|
|
151
|
-
toFocus.focus();
|
|
152
|
-
}
|
|
153
|
-
if (this.focusTrap) {
|
|
154
|
-
this.focusTrap.destroy();
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OwlDialogContainerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.FocusTrapFactory }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
158
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: OwlDialogContainerComponent, selector: "owl-dialog-container", host: { listeners: { "@slideModal.start": "onAnimationStart($event)", "@slideModal.done": "onAnimationDone($event)" }, properties: { "class.owl-dialog-container": "owlDialogContainerClass", "attr.tabindex": "owlDialogContainerTabIndex", "attr.id": "owlDialogContainerId", "attr.role": "owlDialogContainerRole", "attr.aria-labelledby": "owlDialogContainerAriaLabelledby", "attr.aria-describedby": "owlDialogContainerAriaDescribedby", "@slideModal": "owlDialogContainerAnimation" } }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template [cdkPortalOutlet]></ng-template>\n", dependencies: [{ kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [
|
|
159
|
-
trigger('slideModal', [
|
|
160
|
-
transition('void => enter', [
|
|
161
|
-
style(zoomFadeInFrom),
|
|
162
|
-
animate('300ms cubic-bezier(0.35, 0, 0.25, 1)', style('*')),
|
|
163
|
-
animate('150ms', keyframes([
|
|
164
|
-
style({ transform: 'scale(1)', offset: 0 }),
|
|
165
|
-
style({ transform: 'scale(1.05)', offset: 0.3 }),
|
|
166
|
-
style({ transform: 'scale(.95)', offset: 0.8 }),
|
|
167
|
-
style({ transform: 'scale(1)', offset: 1.0 })
|
|
168
|
-
])),
|
|
169
|
-
animateChild()
|
|
170
|
-
], {
|
|
171
|
-
params: {
|
|
172
|
-
x: '0px',
|
|
173
|
-
y: '0px',
|
|
174
|
-
ox: '50%',
|
|
175
|
-
oy: '50%',
|
|
176
|
-
scale: 1
|
|
177
|
-
}
|
|
178
|
-
}),
|
|
179
|
-
transition('enter => exit', [animateChild(), animate(200, style(zoomFadeIn))], {
|
|
180
|
-
params: { x: '0px', y: '0px', ox: '50%', oy: '50%' }
|
|
181
|
-
})
|
|
182
|
-
])
|
|
183
|
-
] }); }
|
|
184
|
-
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OwlDialogContainerComponent, decorators: [{
|
|
186
|
-
type: Component,
|
|
187
|
-
args: [{ selector: 'owl-dialog-container', animations: [
|
|
188
|
-
trigger('slideModal', [
|
|
189
|
-
transition('void => enter', [
|
|
190
|
-
style(zoomFadeInFrom),
|
|
191
|
-
animate('300ms cubic-bezier(0.35, 0, 0.25, 1)', style('*')),
|
|
192
|
-
animate('150ms', keyframes([
|
|
193
|
-
style({ transform: 'scale(1)', offset: 0 }),
|
|
194
|
-
style({ transform: 'scale(1.05)', offset: 0.3 }),
|
|
195
|
-
style({ transform: 'scale(.95)', offset: 0.8 }),
|
|
196
|
-
style({ transform: 'scale(1)', offset: 1.0 })
|
|
197
|
-
])),
|
|
198
|
-
animateChild()
|
|
199
|
-
], {
|
|
200
|
-
params: {
|
|
201
|
-
x: '0px',
|
|
202
|
-
y: '0px',
|
|
203
|
-
ox: '50%',
|
|
204
|
-
oy: '50%',
|
|
205
|
-
scale: 1
|
|
206
|
-
}
|
|
207
|
-
}),
|
|
208
|
-
transition('enter => exit', [animateChild(), animate(200, style(zoomFadeIn))], {
|
|
209
|
-
params: { x: '0px', y: '0px', ox: '50%', oy: '50%' }
|
|
210
|
-
})
|
|
211
|
-
])
|
|
212
|
-
], host: {
|
|
213
|
-
'(@slideModal.start)': 'onAnimationStart($event)',
|
|
214
|
-
'(@slideModal.done)': 'onAnimationDone($event)',
|
|
215
|
-
'[class.owl-dialog-container]': 'owlDialogContainerClass',
|
|
216
|
-
'[attr.tabindex]': 'owlDialogContainerTabIndex',
|
|
217
|
-
'[attr.id]': 'owlDialogContainerId',
|
|
218
|
-
'[attr.role]': 'owlDialogContainerRole',
|
|
219
|
-
'[attr.aria-labelledby]': 'owlDialogContainerAriaLabelledby',
|
|
220
|
-
'[attr.aria-describedby]': 'owlDialogContainerAriaDescribedby',
|
|
221
|
-
'[@slideModal]': 'owlDialogContainerAnimation'
|
|
222
|
-
}, template: "<ng-template [cdkPortalOutlet]></ng-template>\n" }]
|
|
223
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.FocusTrapFactory }, { type: undefined, decorators: [{
|
|
224
|
-
type: Optional
|
|
225
|
-
}, {
|
|
226
|
-
type: Inject,
|
|
227
|
-
args: [DOCUMENT]
|
|
228
|
-
}] }], propDecorators: { portalOutlet: [{
|
|
229
|
-
type: ViewChild,
|
|
230
|
-
args: [CdkPortalOutlet, { static: true }]
|
|
231
|
-
}] } });
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9waWNrZXIvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9waWNrZXIvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBa0IsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFtQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUwsU0FBUyxFQUlULFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQzs7OztBQUd2QixNQUFNLFVBQVUsR0FBRztJQUNqQixPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSwwREFBMEQ7Q0FDdEUsQ0FBQztBQUNGLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLDBEQUEwRDtJQUNyRSxlQUFlLEVBQUUsbUJBQW1CO0NBQ3JDLENBQUM7QUFrREYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGdCQUFnQjtJQWdCL0QsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFpQkQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSwwQkFBMEI7UUFDNUIsT0FBTyxDQUFDLENBQUMs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QkFBaUIsRUFBRSw0QkFBNEI7d0JBQy9DLFdBQVcsRUFBRSxzQkFBc0I7d0JBQ25DLGFBQWEsRUFBRSx3QkFBd0I7d0JBQ3ZDLHdCQUF3QixFQUFFLGtDQUFrQzt3QkFDNUQseUJBQXlCLEVBQUUsbUNBQW1DO3dCQUM5RCxlQUFlLEVBQUUsNkJBQTZCO3FCQUMvQzs7MEJBcUVFLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsUUFBUTt5Q0FsRVgsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBkaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudFxuICovXG5cbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50LCBhbmltYXRlLCBhbmltYXRlQ2hpbGQsIGtleWZyYW1lcywgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEZvY3VzVHJhcCwgRm9jdXNUcmFwRmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJhc2VQb3J0YWxPdXRsZXQsIENka1BvcnRhbE91dGxldCwgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBFbWJlZGRlZFZpZXdSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBPcHRpb25hbCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3dsRGlhbG9nQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSAnLi9kaWFsb2ctY29uZmlnLmNsYXNzJztcblxuY29uc3Qgem9vbUZhZGVJbiA9IHtcbiAgb3BhY2l0eTogMCxcbiAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCh7eyB4IH19KSB0cmFuc2xhdGVZKHt7IHkgfX0pIHNjYWxlKHt7c2NhbGV9fSknXG59O1xuY29uc3Qgem9vbUZhZGVJbkZyb20gPSB7XG4gIG9wYWNpdHk6IDAsXG4gIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3sgeCB9fSkgdHJhbnNsYXRlWSh7eyB5IH19KSBzY2FsZSh7e3NjYWxlfX0pJyxcbiAgdHJhbnNmb3JtT3JpZ2luOiAne3sgb3ggfX0ge3sgb3kgfX0nXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvd2wtZGlhbG9nLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlTW9kYWwnLCBbXG4gICAgICB0cmFuc2l0aW9uKFxuICAgICAgICAndm9pZCA9PiBlbnRlcicsXG4gICAgICAgIFtcbiAgICAgICAgICBzdHlsZSh6b29tRmFkZUluRnJvbSksXG4gICAgICAgICAgYW5pbWF0ZSgnMzAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpJywgc3R5bGUoJyonKSksXG4gICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICcxNTBtcycsXG4gICAgICAgICAgICBrZXlmcmFtZXMoW1xuICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEpJywgb2Zmc2V0OiAwIH0pLFxuICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEuMDUpJywgb2Zmc2V0OiAwLjMgfSksXG4gICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoLjk1KScsIG9mZnNldDogMC44IH0pLFxuICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEpJywgb2Zmc2V0OiAxLjAgfSlcbiAgICAgICAgICAgIF0pXG4gICAgICAgICAgKSxcbiAgICAgICAgICBhbmltYXRlQ2hpbGQoKVxuICAgICAgICBdLFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICB4OiAnMHB4JyxcbiAgICAgICAgICAgIHk6ICcwcHgnLFxuICAgICAgICAgICAgb3g6ICc1MCUnLFxuICAgICAgICAgICAgb3k6ICc1MCUnLFxuICAgICAgICAgICAgc2NhbGU6IDFcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCdlbnRlciA9PiBleGl0JywgW2FuaW1hdGVDaGlsZCgpLCBhbmltYXRlKDIwMCwgc3R5bGUoem9vbUZhZGVJbikpXSwge1xuICAgICAgICBwYXJhbXM6IHsgeDogJzBweCcsIHk6ICcwcHgnLCBveDogJzUwJScsIG95OiAnNTAlJyB9XG4gICAgICB9KVxuICAgIF0pXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnKEBzbGlkZU1vZGFsLnN0YXJ0KSc6ICdvbkFuaW1hdGlvblN0YXJ0KCRldmVudCknLFxuICAgICcoQHNsaWRlTW9kYWwuZG9uZSknOiAnb25BbmltYXRpb25Eb25lKCRldmVudCknLFxuICAgICdbY2xhc3Mub3dsLWRpYWxvZy1jb250YWluZXJdJzogJ293bERpYWxvZ0NvbnRhaW5lckNsYXNzJyxcbiAgICAnW2F0dHIudGFiaW5kZXhdJzogJ293bERpYWxvZ0NvbnRhaW5lclRhYkluZGV4JyxcbiAgICAnW2F0dHIuaWRdJzogJ293bERpYWxvZ0NvbnRhaW5lcklkJyxcbiAgICAnW2F0dHIucm9sZV0nOiAnb3dsRGlhbG9nQ29udGFpbmVyUm9sZScsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnb3dsRGlhbG9nQ29udGFpbmVyQXJpYUxhYmVsbGVkYnknLFxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdvd2xEaWFsb2dDb250YWluZXJBcmlhRGVzY3JpYmVkYnknLFxuICAgICdbQHNsaWRlTW9kYWxdJzogJ293bERpYWxvZ0NvbnRhaW5lckFuaW1hdGlvbidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPd2xEaWFsb2dDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlUG9ydGFsT3V0bGV0IHtcbiAgQFZpZXdDaGlsZChDZGtQb3J0YWxPdXRsZXQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBwb3J0YWxPdXRsZXQ6IENka1BvcnRhbE91dGxldCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgY2xhc3MgdGhhdCB0cmFwcyBhbmQgbWFuYWdlcyBmb2N1cyB3aXRoaW4gdGhlIGRpYWxvZy4gKi9cbiAgcHJpdmF0ZSBmb2N1c1RyYXA6IEZvY3VzVHJhcDtcblxuICAvKiogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCBhcyB0aGUgZGlhbG9nJ3MgbGFiZWwuICovXG4gIHB1YmxpYyBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIEVtaXRzIHdoZW4gYW4gYW5pbWF0aW9uIHN0YXRlIGNoYW5nZXMuICovXG4gIHB1YmxpYyBhbmltYXRpb25TdGF0ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEFuaW1hdGlvbkV2ZW50PigpO1xuXG4gIHB1YmxpYyBpc0FuaW1hdGluZyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2NvbmZpZzogT3dsRGlhbG9nQ29uZmlnSW50ZXJmYWNlO1xuICBwdWJsaWMgZ2V0IGNvbmZpZygpOiBPd2xEaWFsb2dDb25maWdJbnRlcmZhY2Uge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBwcml2YXRlIHN0YXRlOiAndm9pZCcgfCAnZW50ZXInIHwgJ2V4aXQnID0gJ2VudGVyJztcblxuICAvLyBmb3IgYW5pbWF0aW9uIHB1cnBvc2VcbiAgcHJpdmF0ZSBwYXJhbXM6IGFueSA9IHtcbiAgICB4OiAnMHB4JyxcbiAgICB5OiAnMHB4JyxcbiAgICBveDogJzUwJScsXG4gICAgb3k6ICc1MCUnLFxuICAgIHNjYWxlOiAwXG4gIH07XG5cbiAgLy8gQSB2YXJpYWJsZSB0byBob2xkIHRoZSBmb2N1c2VkIGVsZW1lbnQgYmVmb3JlIHRoZSBkaWFsb2cgd2FzIG9wZW4uXG4gIC8vIFRoaXMgd291bGQgaGVscCB1cyB0byByZWZvY3VzIGJhY2sgdG8gZWxlbWVudCB3aGVuIHRoZSBkaWFsb2cgd2FzIGNsb3NlZC5cbiAgcHJpdmF0ZSBlbGVtZW50Rm9jdXNlZEJlZm9yZURpYWxvZ1dhc09wZW5lZDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBnZXQgb3dsRGlhbG9nQ29udGFpbmVyQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgb3dsRGlhbG9nQ29udGFpbmVyVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICBnZXQgb3dsRGlhbG9nQ29udGFpbmVySWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLmlkO1xuICB9XG5cbiAgZ2V0IG93bERpYWxvZ0NvbnRhaW5lclJvbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJvbGUgfHwgbnVsbDtcbiAgfVxuXG4gIGdldCBvd2xEaWFsb2dDb250YWluZXJBcmlhTGFiZWxsZWRieSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFyaWFMYWJlbGxlZEJ5O1xuICB9XG5cbiAgZ2V0IG93bERpYWxvZ0NvbnRhaW5lckFyaWFEZXNjcmliZWRieSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcuYXJpYURlc2NyaWJlZEJ5IHx8IG51bGw7XG4gIH1cblxuICBnZXQgb3dsRGlhbG9nQ29udGFpbmVyQW5pbWF0aW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHsgdmFsdWU6IHRoaXMuc3RhdGUsIHBhcmFtczogdGhpcy5wYXJhbXMgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGZvY3VzVHJhcEZhY3Rvcnk6IEZvY3VzVHJhcEZhY3RvcnksXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KERPQ1VNRU5UKVxuICAgIHByaXZhdGUgZG9jdW1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCBhIENvbXBvbmVudFBvcnRhbCBhcyBjb250ZW50IHRvIHRoaXMgZGlhbG9nIGNvbnRhaW5lci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hDb21wb25lbnRQb3J0YWw8VD4ocG9ydGFsOiBDb21wb25lbnRQb3J0YWw8VD4pOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIGlmICh0aGlzLnBvcnRhbE91dGxldC5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICB0aHJvdyBFcnJvcignQXR0ZW1wdGluZyB0byBhdHRhY2ggZGlhbG9nIGNvbnRlbnQgYWZ0ZXIgY29udGVudCBpcyBhbHJlYWR5IGF0dGFjaGVkJyk7XG4gICAgfVxuXG4gICAgdGhpcy5zYXZlUHJldmlvdXNseUZvY3VzZWRFbGVtZW50KCk7XG4gICAgcmV0dXJuIHRoaXMucG9ydGFsT3V0bGV0LmF0dGFjaENvbXBvbmVudFBvcnRhbChwb3J0YWwpO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaFRlbXBsYXRlUG9ydGFsPEM+KHBvcnRhbDogVGVtcGxhdGVQb3J0YWw8Qz4pOiBFbWJlZGRlZFZpZXdSZWY8Qz4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb25maWcoY29uZmlnOiBPd2xEaWFsb2dDb25maWdJbnRlcmZhY2UpOiB2b2lkIHtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG5cbiAgICBpZiAoY29uZmlnLmV2ZW50KSB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZVpvb21PcmlnaW4oZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkFuaW1hdGlvblN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgIHRoaXMuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ2VudGVyJykge1xuICAgICAgdGhpcy50cmFwRm9jdXMoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICdleGl0Jykge1xuICAgICAgdGhpcy5yZXN0b3JlRm9jdXMoKTtcbiAgICB9XG5cbiAgICB0aGlzLmFuaW1hdGlvblN0YXRlQ2hhbmdlZC5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLmlzQW5pbWF0aW5nID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRFeGl0QW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnZXhpdCc7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgb3JpZ2luIHVzZWQgaW4gdGhlIGB6b29tRmFkZUluRnJvbSgpYFxuICAgKiBmb3IgYW5pbWF0aW9uIHB1cnBvc2VcbiAgICovXG4gIHByaXZhdGUgY2FsY3VsYXRlWm9vbU9yaWdpbihldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKCFldmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNsaWVudFggPSBldmVudC5jbGllbnRYO1xuICAgIGNvbnN0IGNsaWVudFkgPSBldmVudC5jbGllbnRZO1xuXG4gICAgY29uc3Qgd2ggPSB3aW5kb3cuaW5uZXJXaWR0aCAvIDI7XG4gICAgY29uc3QgaGggPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyO1xuICAgIGNvbnN0IHggPSBjbGllbnRYIC0gd2g7XG4gICAgY29uc3QgeSA9IGNsaWVudFkgLSBoaDtcbiAgICBjb25zdCBveCA9IGNsaWVudFggLyB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICBjb25zdCBveSA9IGNsaWVudFkgLyB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cbiAgICB0aGlzLnBhcmFtcy54ID0gYCR7eH1weGA7XG4gICAgdGhpcy5wYXJhbXMueSA9IGAke3l9cHhgO1xuICAgIHRoaXMucGFyYW1zLm94ID0gYCR7b3ggKiAxMDB9JWA7XG4gICAgdGhpcy5wYXJhbXMub3kgPSBgJHtveSAqIDEwMH0lYDtcbiAgICB0aGlzLnBhcmFtcy5zY2FsZSA9IDA7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSB0aGUgZm9jdXNlZCBlbGVtZW50IGJlZm9yZSBkaWFsb2cgd2FzIG9wZW5cbiAgICovXG4gIHByaXZhdGUgc2F2ZVByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kb2N1bWVudCkge1xuICAgICAgdGhpcy5lbGVtZW50Rm9jdXNlZEJlZm9yZURpYWxvZ1dhc09wZW5lZCA9IHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0cmFwRm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZvY3VzVHJhcCkge1xuICAgICAgdGhpcy5mb2N1c1RyYXAgPSB0aGlzLmZvY3VzVHJhcEZhY3RvcnkuY3JlYXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLmF1dG9Gb2N1cykge1xuICAgICAgdm9pZCB0aGlzLmZvY3VzVHJhcC5mb2N1c0luaXRpYWxFbGVtZW50V2hlblJlYWR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXN0b3JlRm9jdXMoKTogdm9pZCB7XG4gICAgY29uc3QgdG9Gb2N1cyA9IHRoaXMuZWxlbWVudEZvY3VzZWRCZWZvcmVEaWFsb2dXYXNPcGVuZWQ7XG5cbiAgICAvLyBXZSBuZWVkIHRoZSBleHRyYSBjaGVjaywgYmVjYXVzZSBJRSBjYW4gc2V0IHRoZSBgYWN0aXZlRWxlbWVudGAgdG8gbnVsbCBpbiBzb21lIGNhc2VzLlxuICAgIGlmICh0b0ZvY3VzICYmIHR5cGVvZiB0b0ZvY3VzLmZvY3VzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0b0ZvY3VzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9jdXNUcmFwKSB7XG4gICAgICB0aGlzLmZvY3VzVHJhcC5kZXN0cm95KCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF0+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|