@gipisistemas/ng-core 1.1.11 → 1.1.13
Sign up to get free protection for your applications and to get access to all the features.
- package/assets/styles/colors.scss +228 -211
- package/assets/styles/styles.scss +54 -5
- package/bundles/gipisistemas-ng-core.umd.js +3516 -146
- package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
- package/bundles/gipisistemas-ng-core.umd.min.js +9 -9
- package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
- package/core/gipi-components/components/abstract-find.component.d.ts +1 -0
- package/core/gipi-components/components/abstract.component.d.ts +1 -0
- package/esm2015/core/gipi-components/components/abstract-find.component.js +22 -1
- package/esm2015/core/gipi-components/components/abstract.component.js +5 -2
- package/esm2015/gipi-components.js +19 -6
- package/esm2015/gipisistemas-ng-core.js +3 -1
- package/esm2015/shared/components/button/button.component.js +2 -2
- package/esm2015/shared/components/icon/icon.component.js +2 -4
- package/esm2015/shared/gipi-components/button/button.component.js +2 -2
- package/esm2015/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
- package/esm2015/shared/gipi-components/datepicker/datepicker/datepicker.component.js +3 -3
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +1 -1
- package/esm2015/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +1 -1
- package/esm2015/shared/gipi-components/datetime-picker/datetime-picker/datetime-picker.component.js +158 -0
- package/esm2015/shared/gipi-components/datetime-picker/datetime-picker.module.js +82 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar-body.js +116 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar.js +676 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/clock.js +306 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-animations.js +30 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-errors.js +7 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-filtertype.js +7 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input.js +346 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle.js +83 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-type.js +1 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker.js +451 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/month-view.js +151 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/multi-year-view.js +230 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/adapter.module.js +43 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-adapter.js +139 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-formats.js +3 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-adapter.js +138 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-formats.js +20 -0
- package/esm2015/shared/gipi-components/datetime-picker/mat-datetime-picker/year-view.js +141 -0
- package/esm2015/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
- package/esm2015/shared/gipi-components/form-field/form-field.component.js +8 -3
- package/esm2015/shared/gipi-components/input-currency/input-currency.component.js +1 -1
- package/esm2015/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
- package/esm2015/shared/gipi-components/input-select/input-select.component.js +1 -1
- package/esm2015/shared/gipi-components/input-select-enum/input-select-enum.component.js +20 -6
- package/esm2015/shared/gipi-components/month-year-picker/month-year-picker.component.js +1 -1
- package/esm2015/shared/gipi-components/radio-group/radio-group.component.js +1 -1
- package/esm2015/shared/gipi-components/range-page/range-page.component.js +1 -1
- package/esm2015/shared/gipi-components/range-slider/range-slider.component.js +1 -1
- package/esm2015/shared/gipi-components/select-button/select-button.component.js +1 -1
- package/esm2015/shared/gipi-components/split-button/split-button.component.js +2 -2
- package/esm2015/shared/gipi-components/tabs/tab-group/tab-group.component.js +5 -2
- package/esm2015/shared/gipi-components/textarea/textarea.component.js +1 -1
- package/esm2015/shared/shared.module.js +51 -3
- package/esm5/core/gipi-components/components/abstract-find.component.js +22 -1
- package/esm5/core/gipi-components/components/abstract.component.js +5 -2
- package/esm5/gipi-components.js +19 -6
- package/esm5/gipisistemas-ng-core.js +3 -1
- package/esm5/shared/components/button/button.component.js +2 -2
- package/esm5/shared/components/icon/icon.component.js +2 -4
- package/esm5/shared/gipi-components/button/button.component.js +2 -2
- package/esm5/shared/gipi-components/datepicker/date-range-picker/date-range-picker.component.js +1 -1
- package/esm5/shared/gipi-components/datepicker/datepicker/datepicker.component.js +3 -3
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/calendar-body.js +1 -1
- package/esm5/shared/gipi-components/datepicker/mat-datepicker/date-range-input.js +1 -1
- package/esm5/shared/gipi-components/datetime-picker/datetime-picker/datetime-picker.component.js +176 -0
- package/esm5/shared/gipi-components/datetime-picker/datetime-picker.module.js +85 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar-body.js +119 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar.js +747 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/clock.js +332 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-animations.js +30 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-errors.js +7 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-filtertype.js +7 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input.js +377 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle.js +89 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-type.js +1 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker.js +495 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/month-view.js +160 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/multi-year-view.js +248 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/adapter.module.js +49 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-adapter.js +145 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-formats.js +3 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-adapter.js +141 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-formats.js +20 -0
- package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/year-view.js +151 -0
- package/esm5/shared/gipi-components/dropdown-menu/dropdown-menu.component.js +1 -1
- package/esm5/shared/gipi-components/form-field/form-field.component.js +8 -3
- package/esm5/shared/gipi-components/input-currency/input-currency.component.js +1 -1
- package/esm5/shared/gipi-components/input-monthpicker/input-monthpicker.component.js +1 -1
- package/esm5/shared/gipi-components/input-select/input-select.component.js +1 -1
- package/esm5/shared/gipi-components/input-select-enum/input-select-enum.component.js +25 -6
- package/esm5/shared/gipi-components/month-year-picker/month-year-picker.component.js +1 -1
- package/esm5/shared/gipi-components/radio-group/radio-group.component.js +1 -1
- package/esm5/shared/gipi-components/range-page/range-page.component.js +1 -1
- package/esm5/shared/gipi-components/range-slider/range-slider.component.js +1 -1
- package/esm5/shared/gipi-components/select-button/select-button.component.js +1 -1
- package/esm5/shared/gipi-components/split-button/split-button.component.js +2 -2
- package/esm5/shared/gipi-components/tabs/tab-group/tab-group.component.js +5 -2
- package/esm5/shared/gipi-components/textarea/textarea.component.js +1 -1
- package/esm5/shared/shared.module.js +51 -3
- package/fesm2015/gipisistemas-ng-core.js +3244 -157
- package/fesm2015/gipisistemas-ng-core.js.map +1 -1
- package/fesm5/gipisistemas-ng-core.js +3494 -152
- package/fesm5/gipisistemas-ng-core.js.map +1 -1
- package/gipi-components.d.ts +16 -0
- package/gipisistemas-ng-core.d.ts +2 -0
- package/gipisistemas-ng-core.metadata.json +1 -1
- package/package.json +4 -4
- package/shared/components/icon/icon.component.d.ts +1 -3
- package/shared/gipi-components/datetime-picker/datetime-picker/datetime-picker.component.d.ts +40 -0
- package/shared/gipi-components/datetime-picker/datetime-picker.module.d.ts +2 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar-body.d.ts +50 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/calendar.d.ts +140 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/clock.d.ts +66 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-animations.d.ts +8 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-errors.d.ts +2 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-filtertype.d.ts +5 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input.d.ts +98 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle.d.ts +20 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-type.d.ts +1 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker.d.ts +133 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/month-view.d.ts +53 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/multi-year-view.d.ts +80 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/adapter.module.d.ts +4 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-adapter.d.ts +46 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/datetime-formats.d.ts +20 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-adapter.d.ts +36 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/shared/adapter/native-datetime-formats.d.ts +2 -0
- package/shared/gipi-components/datetime-picker/mat-datetime-picker/year-view.d.ts +52 -0
- package/shared/gipi-components/form-field/form-field.component.d.ts +1 -0
- package/shared/gipi-components/input-select-enum/input-select-enum.component.d.ts +4 -2
package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-input.js
ADDED
@@ -0,0 +1,377 @@
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
2
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
3
|
+
import { DOWN_ARROW } from '@angular/cdk/keycodes';
|
4
|
+
import { AfterContentInit, Directive, ElementRef, EventEmitter, forwardRef, Inject, Input, OnDestroy, Optional, Output, } from '@angular/core';
|
5
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators, } from '@angular/forms';
|
6
|
+
import { MatFormField } from '@angular/material/form-field';
|
7
|
+
import { MAT_INPUT_VALUE_ACCESSOR } from '@angular/material/input';
|
8
|
+
import { Subscription } from 'rxjs';
|
9
|
+
import { GIPIDatetimepickerComponent } from './datetimepicker';
|
10
|
+
import { createMissingDateImplError } from './datetimepicker-errors';
|
11
|
+
import { GIPIDatetimepickerFilterType } from './datetimepicker-filtertype';
|
12
|
+
import { GIPIDatetimeAdapter } from './shared/adapter/datetime-adapter';
|
13
|
+
import { GIPI_DATETIME_FORMATS, } from './shared/adapter/datetime-formats';
|
14
|
+
export var GIPI_DATETIMEPICKER_VALUE_ACCESSOR = {
|
15
|
+
provide: NG_VALUE_ACCESSOR,
|
16
|
+
useExisting: forwardRef(function () { return GIPIDatetimepickerInputDirective; }),
|
17
|
+
multi: true,
|
18
|
+
};
|
19
|
+
export var GIPI_DATETIMEPICKER_VALIDATORS = {
|
20
|
+
provide: NG_VALIDATORS,
|
21
|
+
useExisting: forwardRef(function () { return GIPIDatetimepickerInputDirective; }),
|
22
|
+
multi: true,
|
23
|
+
};
|
24
|
+
/**
|
25
|
+
* An event used for datepicker input and change events. We don't always have access to a native
|
26
|
+
* input or change event because the event may have been triggered by the user clicking on the
|
27
|
+
* calendar popup. For consistency, we always use MatDatepickerInputEvent instead.
|
28
|
+
*/
|
29
|
+
var GIPIDatetimepickerInputEvent = /** @class */ (function () {
|
30
|
+
function GIPIDatetimepickerInputEvent(target, targetElement) {
|
31
|
+
this.target = target;
|
32
|
+
this.targetElement = targetElement;
|
33
|
+
this.value = this.target.value;
|
34
|
+
}
|
35
|
+
return GIPIDatetimepickerInputEvent;
|
36
|
+
}());
|
37
|
+
export { GIPIDatetimepickerInputEvent };
|
38
|
+
/** Directive used to connect an input to a MatDatepicker. */
|
39
|
+
var GIPIDatetimepickerInputDirective = /** @class */ (function () {
|
40
|
+
function GIPIDatetimepickerInputDirective(_elementRef, _dateAdapter, _dateFormats, _formField) {
|
41
|
+
var _this = this;
|
42
|
+
this._elementRef = _elementRef;
|
43
|
+
this._dateAdapter = _dateAdapter;
|
44
|
+
this._dateFormats = _dateFormats;
|
45
|
+
this._formField = _formField;
|
46
|
+
/** Emits when the value changes (either due to user input or programmatic change). */
|
47
|
+
this._valueChange = new EventEmitter();
|
48
|
+
/** Emits when the disabled state has changed */
|
49
|
+
this._disabledChange = new EventEmitter();
|
50
|
+
this._datepickerSubscription = Subscription.EMPTY;
|
51
|
+
this._localeSubscription = Subscription.EMPTY;
|
52
|
+
/** Whether the last value set on the input was valid. */
|
53
|
+
this._lastValueValid = false;
|
54
|
+
/** Emits when a `change` event is fired on this `<input>`. */
|
55
|
+
this.dateChange = new EventEmitter();
|
56
|
+
/** Emits when an `input` event is fired on this `<input>`. */
|
57
|
+
this.dateInput = new EventEmitter();
|
58
|
+
this._onTouched = function () { };
|
59
|
+
this._cvaOnChange = function () { };
|
60
|
+
this._validatorOnChange = function () { };
|
61
|
+
/** The form control validator for whether the input parses. */
|
62
|
+
this._parseValidator = function () {
|
63
|
+
return _this._lastValueValid
|
64
|
+
? null
|
65
|
+
: { matDatepickerParse: { text: _this._elementRef.nativeElement.value } };
|
66
|
+
};
|
67
|
+
/** The form control validator for the min date. */
|
68
|
+
this._minValidator = function (control) {
|
69
|
+
var controlValue = _this._dateAdapter.getValidDateOrNull(_this._dateAdapter.deserialize(control.value));
|
70
|
+
return !_this.min ||
|
71
|
+
!controlValue ||
|
72
|
+
_this._dateAdapter.compareDatetime(_this.min, controlValue) <= 0 ? null : { matDatepickerMin: { min: _this.min, actual: controlValue } };
|
73
|
+
};
|
74
|
+
/** The form control validator for the max date. */
|
75
|
+
this._maxValidator = function (control) {
|
76
|
+
var controlValue = _this._dateAdapter.getValidDateOrNull(_this._dateAdapter.deserialize(control.value));
|
77
|
+
return !_this.max ||
|
78
|
+
!controlValue ||
|
79
|
+
_this._dateAdapter.compareDatetime(_this.max, controlValue) >= 0 ? null : { matDatepickerMax: { max: _this.max, actual: controlValue } };
|
80
|
+
};
|
81
|
+
/** The form control validator for the date filter. */
|
82
|
+
this._filterValidator = function (control) {
|
83
|
+
var controlValue = _this._dateAdapter.getValidDateOrNull(_this._dateAdapter.deserialize(control.value));
|
84
|
+
return !_this._dateFilter ||
|
85
|
+
!controlValue ||
|
86
|
+
_this._dateFilter(controlValue, GIPIDatetimepickerFilterType.DATE)
|
87
|
+
? null
|
88
|
+
: { matDatepickerFilter: true };
|
89
|
+
};
|
90
|
+
/** The combined form control validator for this input. */
|
91
|
+
this._validator = Validators.compose([
|
92
|
+
this._parseValidator,
|
93
|
+
this._minValidator,
|
94
|
+
this._maxValidator,
|
95
|
+
this._filterValidator,
|
96
|
+
]);
|
97
|
+
if (!this._dateAdapter) {
|
98
|
+
throw createMissingDateImplError('GIPIDatetimeAdapter');
|
99
|
+
}
|
100
|
+
if (!this._dateFormats) {
|
101
|
+
throw createMissingDateImplError('GIPI_DATETIME_FORMATS');
|
102
|
+
}
|
103
|
+
// Update the displayed date when the locale changes.
|
104
|
+
this._localeSubscription = _dateAdapter.localeChanges.subscribe(function () { return _this.value = _this.value; });
|
105
|
+
}
|
106
|
+
GIPIDatetimepickerInputDirective_1 = GIPIDatetimepickerInputDirective;
|
107
|
+
Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "gipiMatDatetimePicker", {
|
108
|
+
/** The datepicker that this input is associated with. */
|
109
|
+
set: function (value) {
|
110
|
+
this.registerDatepicker(value);
|
111
|
+
},
|
112
|
+
enumerable: false,
|
113
|
+
configurable: true
|
114
|
+
});
|
115
|
+
Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "matDatepickerFilter", {
|
116
|
+
set: function (filter) {
|
117
|
+
this._dateFilter = filter;
|
118
|
+
this._validatorOnChange();
|
119
|
+
},
|
120
|
+
enumerable: false,
|
121
|
+
configurable: true
|
122
|
+
});
|
123
|
+
Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "value", {
|
124
|
+
get: function () {
|
125
|
+
return this._value;
|
126
|
+
},
|
127
|
+
set: function (value) {
|
128
|
+
var _this = this;
|
129
|
+
value = this._dateAdapter.deserialize(value);
|
130
|
+
this._lastValueValid = !value || this._dateAdapter.isValid(value);
|
131
|
+
value = this._dateAdapter.getValidDateOrNull(value);
|
132
|
+
var oldDate = this.value;
|
133
|
+
this._value = value;
|
134
|
+
this._formatValue(value);
|
135
|
+
// use timeout to ensure the datetimepicker is instantiated and we get the correct format
|
136
|
+
setTimeout(function () {
|
137
|
+
if (!_this._dateAdapter.sameDatetime(oldDate, value)) {
|
138
|
+
_this._valueChange.emit(value);
|
139
|
+
}
|
140
|
+
});
|
141
|
+
},
|
142
|
+
enumerable: false,
|
143
|
+
configurable: true
|
144
|
+
});
|
145
|
+
Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "min", {
|
146
|
+
get: function () {
|
147
|
+
return this._min;
|
148
|
+
},
|
149
|
+
set: function (value) {
|
150
|
+
this._min = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
|
151
|
+
this._validatorOnChange();
|
152
|
+
},
|
153
|
+
enumerable: false,
|
154
|
+
configurable: true
|
155
|
+
});
|
156
|
+
Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "max", {
|
157
|
+
get: function () {
|
158
|
+
return this._max;
|
159
|
+
},
|
160
|
+
set: function (value) {
|
161
|
+
this._max = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));
|
162
|
+
this._validatorOnChange();
|
163
|
+
},
|
164
|
+
enumerable: false,
|
165
|
+
configurable: true
|
166
|
+
});
|
167
|
+
Object.defineProperty(GIPIDatetimepickerInputDirective.prototype, "disabled", {
|
168
|
+
get: function () {
|
169
|
+
return !!this._disabled;
|
170
|
+
},
|
171
|
+
set: function (value) {
|
172
|
+
var newValue = coerceBooleanProperty(value);
|
173
|
+
if (this._disabled !== newValue) {
|
174
|
+
this._disabled = newValue;
|
175
|
+
this._disabledChange.emit(newValue);
|
176
|
+
}
|
177
|
+
},
|
178
|
+
enumerable: false,
|
179
|
+
configurable: true
|
180
|
+
});
|
181
|
+
GIPIDatetimepickerInputDirective.prototype.ngAfterContentInit = function () {
|
182
|
+
var _this = this;
|
183
|
+
if (this._datepicker) {
|
184
|
+
this._datepickerSubscription = this._datepicker.selectedChanged.subscribe(function (selected) {
|
185
|
+
_this.value = selected;
|
186
|
+
_this._cvaOnChange(selected);
|
187
|
+
_this._onTouched();
|
188
|
+
_this.dateInput.emit(new GIPIDatetimepickerInputEvent(_this, _this._elementRef.nativeElement));
|
189
|
+
_this.dateChange.emit(new GIPIDatetimepickerInputEvent(_this, _this._elementRef.nativeElement));
|
190
|
+
});
|
191
|
+
}
|
192
|
+
};
|
193
|
+
GIPIDatetimepickerInputDirective.prototype.ngOnDestroy = function () {
|
194
|
+
this._datepickerSubscription.unsubscribe();
|
195
|
+
this._localeSubscription.unsubscribe();
|
196
|
+
this._valueChange.complete();
|
197
|
+
this._disabledChange.complete();
|
198
|
+
};
|
199
|
+
GIPIDatetimepickerInputDirective.prototype.registerOnValidatorChange = function (fn) {
|
200
|
+
this._validatorOnChange = fn;
|
201
|
+
};
|
202
|
+
GIPIDatetimepickerInputDirective.prototype.validate = function (c) {
|
203
|
+
return this._validator ? this._validator(c) : null;
|
204
|
+
};
|
205
|
+
/**
|
206
|
+
* Gets the element that the datepicker popup should be connected to.
|
207
|
+
* @return The element to connect the popup to.
|
208
|
+
*/
|
209
|
+
GIPIDatetimepickerInputDirective.prototype.getConnectedOverlayOrigin = function () {
|
210
|
+
return this._formField
|
211
|
+
? this._formField.getConnectedOverlayOrigin()
|
212
|
+
: this._elementRef;
|
213
|
+
};
|
214
|
+
// Implemented as part of ControlValueAccessor
|
215
|
+
GIPIDatetimepickerInputDirective.prototype.writeValue = function (value) {
|
216
|
+
this.value = value;
|
217
|
+
};
|
218
|
+
// Implemented as part of ControlValueAccessor
|
219
|
+
GIPIDatetimepickerInputDirective.prototype.registerOnChange = function (fn) {
|
220
|
+
this._cvaOnChange = fn;
|
221
|
+
};
|
222
|
+
// Implemented as part of ControlValueAccessor
|
223
|
+
GIPIDatetimepickerInputDirective.prototype.registerOnTouched = function (fn) {
|
224
|
+
this._onTouched = fn;
|
225
|
+
};
|
226
|
+
// Implemented as part of ControlValueAccessor
|
227
|
+
GIPIDatetimepickerInputDirective.prototype.setDisabledState = function (disabled) {
|
228
|
+
this.disabled = disabled;
|
229
|
+
};
|
230
|
+
GIPIDatetimepickerInputDirective.prototype._onKeydown = function (event) {
|
231
|
+
if (event.altKey && event.keyCode === DOWN_ARROW) {
|
232
|
+
this._datepicker.open();
|
233
|
+
event.preventDefault();
|
234
|
+
}
|
235
|
+
};
|
236
|
+
GIPIDatetimepickerInputDirective.prototype._onInput = function (value) {
|
237
|
+
var date = this._dateAdapter.parse(value, this.getParseFormat());
|
238
|
+
this._lastValueValid = !date || this._dateAdapter.isValid(date);
|
239
|
+
date = this._dateAdapter.getValidDateOrNull(date);
|
240
|
+
this._value = date;
|
241
|
+
this._cvaOnChange(date);
|
242
|
+
this._valueChange.emit(date);
|
243
|
+
this.dateInput.emit(new GIPIDatetimepickerInputEvent(this, this._elementRef.nativeElement));
|
244
|
+
};
|
245
|
+
GIPIDatetimepickerInputDirective.prototype._onChange = function () {
|
246
|
+
this.dateChange.emit(new GIPIDatetimepickerInputEvent(this, this._elementRef.nativeElement));
|
247
|
+
};
|
248
|
+
/** Handles blur events on the input. */
|
249
|
+
GIPIDatetimepickerInputDirective.prototype._onBlur = function () {
|
250
|
+
// Reformat the input only if we have a valid value.
|
251
|
+
if (this.value) {
|
252
|
+
this._formatValue(this.value);
|
253
|
+
}
|
254
|
+
this._onTouched();
|
255
|
+
};
|
256
|
+
GIPIDatetimepickerInputDirective.prototype.registerDatepicker = function (value) {
|
257
|
+
if (value) {
|
258
|
+
this._datepicker = value;
|
259
|
+
this._datepicker._registerInput(this);
|
260
|
+
}
|
261
|
+
};
|
262
|
+
GIPIDatetimepickerInputDirective.prototype.getDisplayFormat = function () {
|
263
|
+
switch (this._datepicker.type) {
|
264
|
+
case 'date': return this._dateFormats.display.dateInput;
|
265
|
+
case 'datetime': return this._dateFormats.display.datetimeInput;
|
266
|
+
case 'time': return this._dateFormats.display.timeInput;
|
267
|
+
case 'month': return this._dateFormats.display.monthInput;
|
268
|
+
}
|
269
|
+
};
|
270
|
+
GIPIDatetimepickerInputDirective.prototype.getParseFormat = function () {
|
271
|
+
var parseFormat;
|
272
|
+
switch (this._datepicker.type) {
|
273
|
+
case 'date':
|
274
|
+
parseFormat = this._dateFormats.parse.dateInput;
|
275
|
+
break;
|
276
|
+
case 'datetime':
|
277
|
+
parseFormat = this._dateFormats.parse.datetimeInput;
|
278
|
+
break;
|
279
|
+
case 'time':
|
280
|
+
parseFormat = this._dateFormats.parse.timeInput;
|
281
|
+
break;
|
282
|
+
case 'month':
|
283
|
+
parseFormat = this._dateFormats.parse.monthInput;
|
284
|
+
break;
|
285
|
+
}
|
286
|
+
if (!parseFormat) {
|
287
|
+
parseFormat = this._dateFormats.parse.dateInput;
|
288
|
+
}
|
289
|
+
return parseFormat;
|
290
|
+
};
|
291
|
+
/** Formats a value and sets it on the input element. */
|
292
|
+
GIPIDatetimepickerInputDirective.prototype._formatValue = function (value) {
|
293
|
+
this._elementRef.nativeElement.value = value
|
294
|
+
? this._dateAdapter.format(value, this.getDisplayFormat())
|
295
|
+
: '';
|
296
|
+
};
|
297
|
+
var GIPIDatetimepickerInputDirective_1;
|
298
|
+
GIPIDatetimepickerInputDirective.ctorParameters = function () { return [
|
299
|
+
{ type: ElementRef },
|
300
|
+
{ type: GIPIDatetimeAdapter, decorators: [{ type: Optional }] },
|
301
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [GIPI_DATETIME_FORMATS,] }] },
|
302
|
+
{ type: MatFormField, decorators: [{ type: Optional }] }
|
303
|
+
]; };
|
304
|
+
__decorate([
|
305
|
+
Input(),
|
306
|
+
__metadata("design:type", GIPIDatetimepickerComponent),
|
307
|
+
__metadata("design:paramtypes", [GIPIDatetimepickerComponent])
|
308
|
+
], GIPIDatetimepickerInputDirective.prototype, "gipiMatDatetimePicker", null);
|
309
|
+
__decorate([
|
310
|
+
Input(),
|
311
|
+
__metadata("design:type", Function),
|
312
|
+
__metadata("design:paramtypes", [Function])
|
313
|
+
], GIPIDatetimepickerInputDirective.prototype, "matDatepickerFilter", null);
|
314
|
+
__decorate([
|
315
|
+
Input(),
|
316
|
+
__metadata("design:type", Object),
|
317
|
+
__metadata("design:paramtypes", [Object])
|
318
|
+
], GIPIDatetimepickerInputDirective.prototype, "value", null);
|
319
|
+
__decorate([
|
320
|
+
Input(),
|
321
|
+
__metadata("design:type", Object),
|
322
|
+
__metadata("design:paramtypes", [Object])
|
323
|
+
], GIPIDatetimepickerInputDirective.prototype, "min", null);
|
324
|
+
__decorate([
|
325
|
+
Input(),
|
326
|
+
__metadata("design:type", Object),
|
327
|
+
__metadata("design:paramtypes", [Object])
|
328
|
+
], GIPIDatetimepickerInputDirective.prototype, "max", null);
|
329
|
+
__decorate([
|
330
|
+
Input(),
|
331
|
+
__metadata("design:type", Object),
|
332
|
+
__metadata("design:paramtypes", [Object])
|
333
|
+
], GIPIDatetimepickerInputDirective.prototype, "disabled", null);
|
334
|
+
__decorate([
|
335
|
+
Output(),
|
336
|
+
__metadata("design:type", Object)
|
337
|
+
], GIPIDatetimepickerInputDirective.prototype, "dateChange", void 0);
|
338
|
+
__decorate([
|
339
|
+
Output(),
|
340
|
+
__metadata("design:type", Object)
|
341
|
+
], GIPIDatetimepickerInputDirective.prototype, "dateInput", void 0);
|
342
|
+
GIPIDatetimepickerInputDirective = GIPIDatetimepickerInputDirective_1 = __decorate([
|
343
|
+
Directive({
|
344
|
+
selector: 'input[gipiMatDatetimePicker]',
|
345
|
+
exportAs: 'matDatepickerInput',
|
346
|
+
providers: [
|
347
|
+
GIPI_DATETIMEPICKER_VALUE_ACCESSOR,
|
348
|
+
GIPI_DATETIMEPICKER_VALIDATORS,
|
349
|
+
{
|
350
|
+
provide: MAT_INPUT_VALUE_ACCESSOR,
|
351
|
+
useExisting: GIPIDatetimepickerInputDirective_1,
|
352
|
+
},
|
353
|
+
],
|
354
|
+
host: {
|
355
|
+
'[attr.aria-haspopup]': 'true',
|
356
|
+
'[attr.aria-owns]': '(_datepicker?.opened && _datepicker.id) || null',
|
357
|
+
'[attr.min]': 'min ? _dateAdapter.toIso8601(min) : null',
|
358
|
+
'[attr.max]': 'max ? _dateAdapter.toIso8601(max) : null',
|
359
|
+
'[disabled]': 'disabled',
|
360
|
+
'(focus)': '_datepicker._handleFocus()',
|
361
|
+
'(input)': '_onInput($event.target.value)',
|
362
|
+
'(change)': '_onChange()',
|
363
|
+
'(blur)': '_onBlur()',
|
364
|
+
'(keydown)': '_onKeydown($event)',
|
365
|
+
},
|
366
|
+
}),
|
367
|
+
__param(1, Optional()),
|
368
|
+
__param(2, Optional()),
|
369
|
+
__param(2, Inject(GIPI_DATETIME_FORMATS)),
|
370
|
+
__param(3, Optional()),
|
371
|
+
__metadata("design:paramtypes", [ElementRef,
|
372
|
+
GIPIDatetimeAdapter, Object, MatFormField])
|
373
|
+
], GIPIDatetimepickerInputDirective);
|
374
|
+
return GIPIDatetimepickerInputDirective;
|
375
|
+
}());
|
376
|
+
export { GIPIDatetimepickerInputDirective };
|
377
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWVwaWNrZXItaW5wdXQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ2lwaXNpc3RlbWFzL25nLWNvcmUvIiwic291cmNlcyI6WyJzaGFyZWQvZ2lwaS1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9tYXQtZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lcGlja2VyLWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBeUMsYUFBYSxFQUFFLGlCQUFpQixFQUE0QyxVQUFVLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoSyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEdBQXdCLE1BQU0sbUNBQW1DLENBQUM7QUFFaEcsTUFBTSxDQUFDLElBQU0sa0NBQWtDLEdBQVE7SUFDbkQsT0FBTyxFQUFF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QUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBRTdCLFdBQUEsUUFBUSxFQUFFLENBQUE7eUNBTFUsVUFBVTtZQUNFLG1CQUFtQixVQUlwQixZQUFZO09BNUZ2QyxnQ0FBZ0MsQ0E2UjVDO0lBQUQsdUNBQUM7Q0FBQSxBQTdSRCxJQTZSQztTQTdSWSxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRE9XTl9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCwgT3V0cHV0LCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNQVRfSU5QVVRfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgR0lQSURhdGV0aW1lcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRldGltZXBpY2tlcic7XG5pbXBvcnQgeyBjcmVhdGVNaXNzaW5nRGF0ZUltcGxFcnJvciB9IGZyb20gJy4vZGF0ZXRpbWVwaWNrZXItZXJyb3JzJztcbmltcG9ydCB7IEdJUElEYXRldGltZXBpY2tlckZpbHRlclR5cGUgfSBmcm9tICcuL2RhdGV0aW1lcGlja2VyLWZpbHRlcnR5cGUnO1xuaW1wb3J0IHsgR0lQSURhdGV0aW1lQWRhcHRlciB9IGZyb20gJy4vc2hhcmVkL2FkYXB0ZXIvZGF0ZXRpbWUtYWRhcHRlcic7XG5pbXBvcnQgeyBHSVBJX0RBVEVUSU1FX0ZPUk1BVFMsIEdJUElEYXRldGltZUZvcm1hdHMsIH0gZnJvbSAnLi9zaGFyZWQvYWRhcHRlci9kYXRldGltZS1mb3JtYXRzJztcblxuZXhwb3J0IGNvbnN0IEdJUElfREFURVRJTUVQSUNLRVJfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBHSVBJRGF0ZXRpbWVwaWNrZXJJbnB1dERpcmVjdGl2ZSksXG4gICAgbXVsdGk6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgR0lQSV9EQVRFVElNRVBJQ0tFUl9WQUxJREFUT1JTOiBhbnkgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBHSVBJRGF0ZXRpbWVwaWNrZXJJbnB1dERpcmVjdGl2ZSksXG4gICAgbXVsdGk6IHRydWUsXG59O1xuXG4vKipcbiAqIEFuIGV2ZW50IHVzZWQgZm9yIGRhdGVwaWNrZXIgaW5wdXQgYW5kIGNoYW5nZSBldmVudHMuIFdlIGRvbid0IGFsd2F5cyBoYXZlIGFjY2VzcyB0byBhIG5hdGl2ZVxuICogaW5wdXQgb3IgY2hhbmdlIGV2ZW50IGJlY2F1c2UgdGhlIGV2ZW50IG1heSBoYXZlIGJlZW4gdHJpZ2dlcmVkIGJ5IHRoZSB1c2VyIGNsaWNraW5nIG9uIHRoZVxuICogY2FsZW5kYXIgcG9wdXAuIEZvciBjb25zaXN0ZW5jeSwgd2UgYWx3YXlzIHVzZSBNYXREYXRlcGlja2VySW5wdXRFdmVudCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgR0lQSURhdGV0aW1lcGlja2VySW5wdXRFdmVudDxEPiB7XG4gICAgLyoqIFRoZSBuZXcgdmFsdWUgZm9yIHRoZSB0YXJnZXQgZGF0ZXBpY2tlciBpbnB1dC4gKi9cbiAgICB2YWx1ZTogRCB8IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHRhcmdldDogR0lQSURhdGV0aW1lcGlja2VySW5wdXREaXJlY3RpdmU8RD4sXG4gICAgICAgIHB1YmxpYyB0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudFxuICAgICkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy50YXJnZXQudmFsdWU7XG4gICAgfVxufVxuXG4vKiogRGlyZWN0aXZlIHVzZWQgdG8gY29ubmVjdCBhbiBpbnB1dCB0byBhIE1hdERhdGVwaWNrZXIuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W2dpcGlNYXREYXRldGltZVBpY2tlcl0nLFxuICAgIGV4cG9ydEFzOiAnbWF0RGF0ZXBpY2tlcklucHV0JyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgR0lQSV9EQVRFVElNRVBJQ0tFUl9WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgR0lQSV9EQVRFVElNRVBJQ0tFUl9WQUxJREFUT1JTLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBNQVRfSU5QVVRfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogR0lQSURhdGV0aW1lcGlja2VySW5wdXREaXJlY3RpdmUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5hcmlhLWhhc3BvcHVwXSc6ICd0cnVlJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtb3duc10nOiAnKF9kYXRlcGlja2VyPy5vcGVuZWQgJiYgX2RhdGVwaWNrZXIuaWQpIHx8IG51bGwnLFxuICAgICAgICAnW2F0dHIubWluXSc6ICdtaW4gPyBfZGF0ZUFkYXB0ZXIudG9Jc284NjAxKG1pbikgOiBudWxsJyxcbiAgICAgICAgJ1thdHRyLm1heF0nOiAnbWF4ID8gX2RhdGVBZGFwdGVyLnRvSXNvODYwMShtYXgpIDogbnVsbCcsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAgICAgJyhmb2N1cyknOiAnX2RhdGVwaWNrZXIuX2hhbmRsZUZvY3VzKCknLFxuICAgICAgICAnKGlucHV0KSc6ICdfb25JbnB1dCgkZXZlbnQudGFyZ2V0LnZhbHVlKScsXG4gICAgICAgICcoY2hhbmdlKSc6ICdfb25DaGFuZ2UoKScsXG4gICAgICAgICcoYmx1ciknOiAnX29uQmx1cigpJyxcbiAgICAgICAgJyhrZXlkb3duKSc6ICdfb25LZXlkb3duKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdJUElEYXRldGltZXBpY2tlcklucHV0RGlyZWN0aXZlPEQ+IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSwgVmFsaWRhdG9yIHtcbiAgICBfZGF0ZXBpY2tlcjogR0lQSURhdGV0aW1lcGlja2VyQ29tcG9uZW50PEQ+O1xuXG4gICAgX2RhdGVGaWx0ZXI6IChkYXRlOiBEIHwgbnVsbCwgdHlwZTogR0lQSURhdGV0aW1lcGlja2VyRmlsdGVyVHlwZSkgPT4gYm9vbGVhbjtcblxuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzIChlaXRoZXIgZHVlIHRvIHVzZXIgaW5wdXQgb3IgcHJvZ3JhbW1hdGljIGNoYW5nZSkuICovXG4gICAgX3ZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEIHwgbnVsbD4oKTtcblxuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBkaXNhYmxlZCBzdGF0ZSBoYXMgY2hhbmdlZCAqL1xuICAgIF9kaXNhYmxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIF9kYXRlcGlja2VyU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgIHByaXZhdGUgX2xvY2FsZVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBsYXN0IHZhbHVlIHNldCBvbiB0aGUgaW5wdXQgd2FzIHZhbGlkLiAqL1xuICAgIHByaXZhdGUgX2xhc3RWYWx1ZVZhbGlkID0gZmFsc2U7XG5cbiAgICAvKiogVGhlIGRhdGVwaWNrZXIgdGhhdCB0aGlzIGlucHV0IGlzIGFzc29jaWF0ZWQgd2l0aC4gKi9cbiAgICBASW5wdXQoKSBzZXQgZ2lwaU1hdERhdGV0aW1lUGlja2VyKHZhbHVlOiBHSVBJRGF0ZXRpbWVwaWNrZXJDb21wb25lbnQ8RD4pIHtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRhdGVwaWNrZXIodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtYXREYXRlcGlja2VyRmlsdGVyKGZpbHRlcjogKGRhdGU6IEQgfCBudWxsLCB0eXBlOiBHSVBJRGF0ZXRpbWVwaWNrZXJGaWx0ZXJUeXBlKSA9PiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2RhdGVGaWx0ZXIgPSBmaWx0ZXI7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvck9uQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQuICovXG4gICAgcHJpdmF0ZSBfdmFsdWU6IEQgfCBudWxsO1xuICAgIEBJbnB1dCgpIGdldCB2YWx1ZSgpOiBEIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gICAgc2V0IHZhbHVlKHZhbHVlOiBEIHwgbnVsbCkge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcbiAgICAgICAgdGhpcy5fbGFzdFZhbHVlVmFsaWQgPSAhdmFsdWUgfHwgdGhpcy5fZGF0ZUFkYXB0ZXIuaXNWYWxpZCh2YWx1ZSk7XG4gICAgICAgIHZhbHVlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKHZhbHVlKTtcbiAgICAgICAgY29uc3Qgb2xkRGF0ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2Zvcm1hdFZhbHVlKHZhbHVlKTtcblxuICAgICAgICAvLyB1c2UgdGltZW91dCB0byBlbnN1cmUgdGhlIGRhdGV0aW1lcGlja2VyIGlzIGluc3RhbnRpYXRlZCBhbmQgd2UgZ2V0IHRoZSBjb3JyZWN0IGZvcm1hdFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fZGF0ZUFkYXB0ZXIuc2FtZURhdGV0aW1lKG9sZERhdGUsIHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogVGhlIG1pbmltdW0gdmFsaWQgZGF0ZS4gKi9cbiAgICBwcml2YXRlIF9taW46IEQgfCBudWxsO1xuICAgIEBJbnB1dCgpIGdldCBtaW4oKTogRCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluO1xuICAgIH1cbiAgICBzZXQgbWluKHZhbHVlOiBEIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9taW4gPSB0aGlzLl9kYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwodGhpcy5fZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpKTtcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yT25DaGFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIG1heGltdW0gdmFsaWQgZGF0ZS4gKi9cbiAgICBwcml2YXRlIF9tYXg6IEQgfCBudWxsO1xuICAgIEBJbnB1dCgpIGdldCBtYXgoKTogRCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4O1xuICAgIH1cbiAgICBzZXQgbWF4KHZhbHVlOiBEIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9tYXggPSB0aGlzLl9kYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwodGhpcy5fZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpKTtcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yT25DaGFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgZGF0ZXBpY2tlci1pbnB1dCBpcyBkaXNhYmxlZC4gKi9cbiAgICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBnZXQgZGlzYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2Rpc2FibGVkO1xuICAgIH1cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGFueSkge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLl9kaXNhYmxlZCAhPT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlZENoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBFbWl0cyB3aGVuIGEgYGNoYW5nZWAgZXZlbnQgaXMgZmlyZWQgb24gdGhpcyBgPGlucHV0PmAuICovXG4gICAgQE91dHB1dCgpIGRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEdJUElEYXRldGltZXBpY2tlcklucHV0RXZlbnQ8RD4+KCk7XG5cbiAgICAvKiogRW1pdHMgd2hlbiBhbiBgaW5wdXRgIGV2ZW50IGlzIGZpcmVkIG9uIHRoaXMgYDxpbnB1dD5gLiAqL1xuICAgIEBPdXRwdXQoKSBkYXRlSW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEdJUElEYXRldGltZXBpY2tlcklucHV0RXZlbnQ8RD4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHVibGljIF9kYXRlQWRhcHRlcjogR0lQSURhdGV0aW1lQWRhcHRlcjxEPixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChHSVBJX0RBVEVUSU1FX0ZPUk1BVFMpXG4gICAgICAgIHByaXZhdGUgX2RhdGVGb3JtYXRzOiBHSVBJRGF0ZXRpbWVGb3JtYXRzLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9mb3JtRmllbGQ6IE1hdEZvcm1GaWVsZFxuICAgICkge1xuICAgICAgICBpZiAoIXRoaXMuX2RhdGVBZGFwdGVyKSB7XG4gICAgICAgICAgICB0aHJvdyBjcmVhdGVNaXNzaW5nRGF0ZUltcGxFcnJvcignR0lQSURhdGV0aW1lQWRhcHRlcicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fZGF0ZUZvcm1hdHMpIHtcbiAgICAgICAgICAgIHRocm93IGNyZWF0ZU1pc3NpbmdEYXRlSW1wbEVycm9yKCdHSVBJX0RBVEVUSU1FX0ZPUk1BVFMnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgZGlzcGxheWVkIGRhdGUgd2hlbiB0aGUgbG9jYWxlIGNoYW5nZXMuXG4gICAgICAgIHRoaXMuX2xvY2FsZVN1YnNjcmlwdGlvbiA9IF9kYXRlQWRhcHRlci5sb2NhbGVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgX29uVG91Y2hlZCA9ICgpID0+IHsgfTtcblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2RhdGVwaWNrZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2RhdGVwaWNrZXJTdWJzY3JpcHRpb24gPSB0aGlzLl9kYXRlcGlja2VyLnNlbGVjdGVkQ2hhbmdlZC5zdWJzY3JpYmUoKHNlbGVjdGVkOiBEKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHNlbGVjdGVkO1xuICAgICAgICAgICAgICAgIHRoaXMuX2N2YU9uQ2hhbmdlKHNlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVJbnB1dC5lbWl0KG5ldyBHSVBJRGF0ZXRpbWVwaWNrZXJJbnB1dEV2ZW50KHRoaXMsIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KG5ldyBHSVBJRGF0ZXRpbWVwaWNrZXJJbnB1dEV2ZW50KHRoaXMsIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fZGF0ZXBpY2tlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9sb2NhbGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvck9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoYzogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsaWRhdG9yID8gdGhpcy5fdmFsaWRhdG9yKGMpIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBlbGVtZW50IHRoYXQgdGhlIGRhdGVwaWNrZXIgcG9wdXAgc2hvdWxkIGJlIGNvbm5lY3RlZCB0by5cbiAgICAgKiBAcmV0dXJuIFRoZSBlbGVtZW50IHRvIGNvbm5lY3QgdGhlIHBvcHVwIHRvLlxuICAgICAqL1xuICAgIGdldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtRmllbGRcbiAgICAgICAgICAgID8gdGhpcy5fZm9ybUZpZWxkLmdldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKVxuICAgICAgICAgICAgOiB0aGlzLl9lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8vIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBEKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3ZhT25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvLyBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLy8gSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3NvclxuICAgIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgIH1cblxuICAgIF9vbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmFsdEtleSAmJiBldmVudC5rZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICAgICAgICB0aGlzLl9kYXRlcGlja2VyLm9wZW4oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfb25JbnB1dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGxldCBkYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIucGFyc2UodmFsdWUsIHRoaXMuZ2V0UGFyc2VGb3JtYXQoKSk7XG4gICAgICAgIHRoaXMuX2xhc3RWYWx1ZVZhbGlkID0gIWRhdGUgfHwgdGhpcy5fZGF0ZUFkYXB0ZXIuaXNWYWxpZChkYXRlKTtcbiAgICAgICAgZGF0ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbChkYXRlKTtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBkYXRlO1xuICAgICAgICB0aGlzLl9jdmFPbkNoYW5nZShkYXRlKTtcbiAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2UuZW1pdChkYXRlKTtcbiAgICAgICAgdGhpcy5kYXRlSW5wdXQuZW1pdChuZXcgR0lQSURhdGV0aW1lcGlja2VySW5wdXRFdmVudCh0aGlzLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpKTtcbiAgICB9XG5cbiAgICBfb25DaGFuZ2UoKSB7XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KG5ldyBHSVBJRGF0ZXRpbWVwaWNrZXJJbnB1dEV2ZW50KHRoaXMsIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIGJsdXIgZXZlbnRzIG9uIHRoZSBpbnB1dC4gKi9cbiAgICBfb25CbHVyKCkge1xuICAgICAgICAvLyBSZWZvcm1hdCB0aGUgaW5wdXQgb25seSBpZiB3ZSBoYXZlIGEgdmFsaWQgdmFsdWUuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9mb3JtYXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJEYXRlcGlja2VyKHZhbHVlOiBHSVBJRGF0ZXRpbWVwaWNrZXJDb21wb25lbnQ8RD4pIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9kYXRlcGlja2VyID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9kYXRlcGlja2VyLl9yZWdpc3RlcklucHV0KHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREaXNwbGF5Rm9ybWF0KCkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuX2RhdGVwaWNrZXIudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnZGF0ZSc6IHJldHVybiB0aGlzLl9kYXRlRm9ybWF0cy5kaXNwbGF5LmRhdGVJbnB1dDtcbiAgICAgICAgICAgIGNhc2UgJ2RhdGV0aW1lJzogcmV0dXJuIHRoaXMuX2RhdGVGb3JtYXRzLmRpc3BsYXkuZGF0ZXRpbWVJbnB1dDtcbiAgICAgICAgICAgIGNhc2UgJ3RpbWUnOiByZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdHMuZGlzcGxheS50aW1lSW5wdXQ7XG4gICAgICAgICAgICBjYXNlICdtb250aCc6IHJldHVybiB0aGlzLl9kYXRlRm9ybWF0cy5kaXNwbGF5Lm1vbnRoSW5wdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBhcnNlRm9ybWF0KCkge1xuICAgICAgICBsZXQgcGFyc2VGb3JtYXQ7XG4gICAgICAgIHN3aXRjaCAodGhpcy5fZGF0ZXBpY2tlci50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgICAgICBwYXJzZUZvcm1hdCA9IHRoaXMuX2RhdGVGb3JtYXRzLnBhcnNlLmRhdGVJbnB1dDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RhdGV0aW1lJzpcbiAgICAgICAgICAgICAgICBwYXJzZUZvcm1hdCA9IHRoaXMuX2RhdGVGb3JtYXRzLnBhcnNlLmRhdGV0aW1lSW5wdXQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgICAgICAgICBwYXJzZUZvcm1hdCA9IHRoaXMuX2RhdGVGb3JtYXRzLnBhcnNlLnRpbWVJbnB1dDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICBwYXJzZUZvcm1hdCA9IHRoaXMuX2RhdGVGb3JtYXRzLnBhcnNlLm1vbnRoSW5wdXQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFwYXJzZUZvcm1hdCkge1xuICAgICAgICAgICAgcGFyc2VGb3JtYXQgPSB0aGlzLl9kYXRlRm9ybWF0cy5wYXJzZS5kYXRlSW5wdXQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyc2VGb3JtYXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3ZhT25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4geyB9O1xuXG4gICAgcHJpdmF0ZSBfdmFsaWRhdG9yT25DaGFuZ2UgPSAoKSA9PiB7IH07XG5cbiAgICAvKiogVGhlIGZvcm0gY29udHJvbCB2YWxpZGF0b3IgZm9yIHdoZXRoZXIgdGhlIGlucHV0IHBhcnNlcy4gKi9cbiAgICBwcml2YXRlIF9wYXJzZVZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSAoKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFzdFZhbHVlVmFsaWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB7IG1hdERhdGVwaWNrZXJQYXJzZTogeyB0ZXh0OiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgfSB9O1xuICAgIH07XG5cbiAgICAvKiogVGhlIGZvcm0gY29udHJvbCB2YWxpZGF0b3IgZm9yIHRoZSBtaW4gZGF0ZS4gKi9cbiAgICBwcml2YXRlIF9taW5WYWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuZ2V0VmFsaWREYXRlT3JOdWxsKHRoaXMuX2RhdGVBZGFwdGVyLmRlc2VyaWFsaXplKGNvbnRyb2wudmFsdWUpKTtcbiAgICAgICAgcmV0dXJuICF0aGlzLm1pbiB8fFxuICAgICAgICAgICAgIWNvbnRyb2xWYWx1ZSB8fFxuICAgICAgICAgICAgdGhpcy5fZGF0ZUFkYXB0ZXIuY29tcGFyZURhdGV0aW1lKHRoaXMubWluLCBjb250cm9sVmFsdWUpIDw9IDAgPyBudWxsIDogeyBtYXREYXRlcGlja2VyTWluOiB7IG1pbjogdGhpcy5taW4sIGFjdHVhbDogY29udHJvbFZhbHVlIH0gfTtcbiAgICB9O1xuXG4gICAgLyoqIFRoZSBmb3JtIGNvbnRyb2wgdmFsaWRhdG9yIGZvciB0aGUgbWF4IGRhdGUuICovXG4gICAgcHJpdmF0ZSBfbWF4VmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IHRoaXMuX2RhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbCh0aGlzLl9kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZShjb250cm9sLnZhbHVlKSk7XG4gICAgICAgIHJldHVybiAhdGhpcy5tYXggfHxcbiAgICAgICAgICAgICFjb250cm9sVmFsdWUgfHxcbiAgICAgICAgICAgIHRoaXMuX2RhdGVBZGFwdGVyLmNvbXBhcmVEYXRldGltZSh0aGlzLm1heCwgY29udHJvbFZhbHVlKSA+PSAwID8gbnVsbCA6IHsgbWF0RGF0ZXBpY2tlck1heDogeyBtYXg6IHRoaXMubWF4LCBhY3R1YWw6IGNvbnRyb2xWYWx1ZSB9IH07XG4gICAgfTtcblxuICAgIC8qKiBUaGUgZm9ybSBjb250cm9sIHZhbGlkYXRvciBmb3IgdGhlIGRhdGUgZmlsdGVyLiAqL1xuICAgIHByaXZhdGUgX2ZpbHRlclZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCBjb250cm9sVmFsdWUgPSB0aGlzLl9kYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwodGhpcy5fZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUoY29udHJvbC52YWx1ZSkpO1xuICAgICAgICByZXR1cm4gIXRoaXMuX2RhdGVGaWx0ZXIgfHxcbiAgICAgICAgICAgICFjb250cm9sVmFsdWUgfHxcbiAgICAgICAgICAgIHRoaXMuX2RhdGVGaWx0ZXIoY29udHJvbFZhbHVlLCBHSVBJRGF0ZXRpbWVwaWNrZXJGaWx0ZXJUeXBlLkRBVEUpXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogeyBtYXREYXRlcGlja2VyRmlsdGVyOiB0cnVlIH07XG4gICAgfTtcblxuICAgIC8qKiBUaGUgY29tYmluZWQgZm9ybSBjb250cm9sIHZhbGlkYXRvciBmb3IgdGhpcyBpbnB1dC4gKi9cbiAgICBwcml2YXRlIF92YWxpZGF0b3I6IFZhbGlkYXRvckZuIHwgbnVsbCA9IFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIHRoaXMuX3BhcnNlVmFsaWRhdG9yLFxuICAgICAgICB0aGlzLl9taW5WYWxpZGF0b3IsXG4gICAgICAgIHRoaXMuX21heFZhbGlkYXRvcixcbiAgICAgICAgdGhpcy5fZmlsdGVyVmFsaWRhdG9yLFxuICAgIF0pO1xuXG4gICAgLyoqIEZvcm1hdHMgYSB2YWx1ZSBhbmQgc2V0cyBpdCBvbiB0aGUgaW5wdXQgZWxlbWVudC4gKi9cbiAgICBwcml2YXRlIF9mb3JtYXRWYWx1ZSh2YWx1ZTogRCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWVcbiAgICAgICAgICAgID8gdGhpcy5fZGF0ZUFkYXB0ZXIuZm9ybWF0KHZhbHVlLCB0aGlzLmdldERpc3BsYXlGb3JtYXQoKSlcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxufVxuIl19
|
package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-toggle.js
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
3
|
+
import { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnDestroy, SimpleChanges, ViewEncapsulation, } from '@angular/core';
|
4
|
+
import { MatDatepickerIntl } from '@angular/material/datepicker';
|
5
|
+
import { asyncScheduler, merge, of, Subscription } from 'rxjs';
|
6
|
+
import { GIPIDatetimepickerComponent } from './datetimepicker';
|
7
|
+
var GIPIDatetimepickerToggleComponent = /** @class */ (function () {
|
8
|
+
function GIPIDatetimepickerToggleComponent(_intl, _changeDetectorRef) {
|
9
|
+
this._intl = _intl;
|
10
|
+
this._changeDetectorRef = _changeDetectorRef;
|
11
|
+
this._stateChanges = Subscription.EMPTY;
|
12
|
+
}
|
13
|
+
Object.defineProperty(GIPIDatetimepickerToggleComponent.prototype, "disabled", {
|
14
|
+
/** Whether the toggle button is disabled. */
|
15
|
+
get: function () {
|
16
|
+
return this._disabled === undefined
|
17
|
+
? this.datetimepicker.disabled
|
18
|
+
: !!this._disabled;
|
19
|
+
},
|
20
|
+
set: function (value) {
|
21
|
+
this._disabled = coerceBooleanProperty(value);
|
22
|
+
},
|
23
|
+
enumerable: false,
|
24
|
+
configurable: true
|
25
|
+
});
|
26
|
+
GIPIDatetimepickerToggleComponent.prototype.ngOnChanges = function (changes) {
|
27
|
+
if (changes.datepicker) {
|
28
|
+
this._watchStateChanges();
|
29
|
+
}
|
30
|
+
};
|
31
|
+
GIPIDatetimepickerToggleComponent.prototype.ngOnDestroy = function () {
|
32
|
+
this._stateChanges.unsubscribe();
|
33
|
+
};
|
34
|
+
GIPIDatetimepickerToggleComponent.prototype.ngAfterContentInit = function () {
|
35
|
+
this._watchStateChanges();
|
36
|
+
};
|
37
|
+
GIPIDatetimepickerToggleComponent.prototype._open = function (event) {
|
38
|
+
if (this.datetimepicker && !this.disabled) {
|
39
|
+
this.datetimepicker.open();
|
40
|
+
event.stopPropagation();
|
41
|
+
}
|
42
|
+
};
|
43
|
+
GIPIDatetimepickerToggleComponent.prototype._watchStateChanges = function () {
|
44
|
+
var _this = this;
|
45
|
+
var datepickerDisabled = this.datetimepicker
|
46
|
+
? this.datetimepicker._disabledChange
|
47
|
+
: of([], asyncScheduler);
|
48
|
+
var inputDisabled = this.datetimepicker && this.datetimepicker._datepickerInput
|
49
|
+
? this.datetimepicker._datepickerInput._disabledChange
|
50
|
+
: of([], asyncScheduler);
|
51
|
+
this._stateChanges.unsubscribe();
|
52
|
+
this._stateChanges = merge(this._intl.changes, datepickerDisabled, inputDisabled).subscribe(function () { return _this._changeDetectorRef.markForCheck(); });
|
53
|
+
};
|
54
|
+
GIPIDatetimepickerToggleComponent.ctorParameters = function () { return [
|
55
|
+
{ type: MatDatepickerIntl },
|
56
|
+
{ type: ChangeDetectorRef }
|
57
|
+
]; };
|
58
|
+
__decorate([
|
59
|
+
Input('for'),
|
60
|
+
__metadata("design:type", GIPIDatetimepickerComponent)
|
61
|
+
], GIPIDatetimepickerToggleComponent.prototype, "datetimepicker", void 0);
|
62
|
+
__decorate([
|
63
|
+
Input(),
|
64
|
+
__metadata("design:type", Boolean),
|
65
|
+
__metadata("design:paramtypes", [Boolean])
|
66
|
+
], GIPIDatetimepickerToggleComponent.prototype, "disabled", null);
|
67
|
+
GIPIDatetimepickerToggleComponent = __decorate([
|
68
|
+
Component({
|
69
|
+
selector: 'gipi-mat-datetime-picker-toggle',
|
70
|
+
exportAs: 'gipiDatetimePickerToggle',
|
71
|
+
template: "<button [attr.aria-label]=\"_intl.openCalendarLabel\"\n [disabled]=\"disabled\"\n mat-icon-button\n type=\"button\">\n <mat-icon [ngSwitch]=\"datetimepicker.type\">\n <svg *ngSwitchCase=\"'time'\"\n fill=\"currentColor\"\n focusable=\"false\"\n height=\"100%\"\n style=\"vertical-align: top\"\n viewBox=\"0 0 24 24\"\n width=\"100%\">\n <path\n d=\"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\">\n </path>\n </svg>\n <svg *ngSwitchCase=\"'datetime'\"\n fill=\"currentColor\"\n focusable=\"false\"\n height=\"100%\"\n style=\"vertical-align: top\"\n viewBox=\"0 0 24 24\"\n width=\"100%\">\n <path\n d=\"M15,13H16.5V15.82L18.94,17.23L18.19,18.53L15,16.69V13M19,8H5V19H9.67C9.24,18.09 9,17.07 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M5,21C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C14.09,23 12.36,22.24 11.1,21H5M16,11.15A4.85,4.85 0 0,0 11.15,16C11.15,18.68 13.32,20.85 16,20.85A4.85,4.85 0 0,0 20.85,16C20.85,13.32 18.68,11.15 16,11.15Z\">\n </path>\n </svg>\n <svg *ngSwitchDefault\n fill=\"currentColor\"\n focusable=\"false\"\n height=\"100%\"\n style=\"vertical-align: top\"\n viewBox=\"0 0 24 24\"\n width=\"100%\">\n <path d=\"M0 0h24v24H0z\"\n fill=\"none\" />\n <path\n d=\"M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z\" />\n </svg>\n </mat-icon>\n</button>",
|
72
|
+
encapsulation: ViewEncapsulation.None,
|
73
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
74
|
+
preserveWhitespaces: false,
|
75
|
+
host: {
|
76
|
+
class: 'gipi-mat-datetime-picker-toggle',
|
77
|
+
// Bind the `click` on the host, rather than the inner `button`, so that we can call `stopPropagation`
|
78
|
+
// on it without affecting the user's `click` handlers. We need to stop it so that the input doesn't
|
79
|
+
// get focused automatically by the form field (See https://github.com/angular/components/pull/21856).
|
80
|
+
'(click)': '_open($event)',
|
81
|
+
}
|
82
|
+
}),
|
83
|
+
__metadata("design:paramtypes", [MatDatepickerIntl,
|
84
|
+
ChangeDetectorRef])
|
85
|
+
], GIPIDatetimepickerToggleComponent);
|
86
|
+
return GIPIDatetimepickerToggleComponent;
|
87
|
+
}());
|
88
|
+
export { GIPIDatetimepickerToggleComponent };
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWVwaWNrZXItdG9nZ2xlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdpcGlzaXN0ZW1hcy9uZy1jb3JlLyIsInNvdXJjZXMiOlsic2hhcmVkL2dpcGktY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvbWF0LWRhdGV0aW1lLXBpY2tlci9kYXRldGltZXBpY2tlci10b2dnbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixHQUFHLE1BQU0sZUFBZSxDQUFDO0FBQ3hLLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFpQi9EO0lBbUJJLDJDQUNXLEtBQXdCLEVBQ3ZCLGtCQUFxQztRQUR0QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN2Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBakJ6QyxrQkFBYSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFrQnZDLENBQUM7SUFaSSxzQkFBSSx1REFBUTtRQURyQiw2Q0FBNkM7YUFDcEM7WUFDTCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUztnQkFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUTtnQkFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzNCLENBQUM7YUFDRCxVQUFhLEtBQWM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDOzs7T0FIQTtJQVVELHVEQUFXLEdBQVgsVUFBWSxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRUQsdURBQVcsR0FBWDtRQUNJLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELDhEQUFrQixHQUFsQjtRQUNJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxpREFBSyxHQUFMLFVBQU0sS0FBWTtRQUNkLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRU8sOERBQWtCLEdBQTFCO1FBQUEsaUJBVUM7UUFURyxJQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjO1lBQzFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWU7WUFDckMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDN0IsSUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQjtZQUM3RSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlO1lBQ3RELENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRTdCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLEVBQXRDLENBQXNDLENBQUMsQ0FBQztJQUM5SSxDQUFDOztnQkFuQ2lCLGlCQUFpQjtnQkFDSCxpQkFBaUI7O0lBZG5DO1FBQWIsS0FBSyxDQUFDLEtBQUssQ0FBQztrQ0FBaUIsMkJBQTJCOzZFQUFJO0lBR3BEO1FBQVIsS0FBSyxFQUFFOzs7cUVBSVA7SUFkUSxpQ0FBaUM7UUFmN0MsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGlDQUFpQztZQUMzQyxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLHUrREFBeUM7WUFDekMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7WUFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixJQUFJLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLGlDQUFpQztnQkFDeEMsc0dBQXNHO2dCQUN0RyxvR0FBb0c7Z0JBQ3BHLHNHQUFzRztnQkFDdEcsU0FBUyxFQUFFLGVBQWU7YUFDN0I7U0FDSixDQUFDO3lDQXFCb0IsaUJBQWlCO1lBQ0gsaUJBQWlCO09BckJ4QyxpQ0FBaUMsQ0F5RDdDO0lBQUQsd0NBQUM7Q0FBQSxBQXpERCxJQXlEQztTQXpEWSxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24sIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VySW50bCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIG1lcmdlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEdJUElEYXRldGltZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXRpbWVwaWNrZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dpcGktbWF0LWRhdGV0aW1lLXBpY2tlci10b2dnbGUnLFxuICAgIGV4cG9ydEFzOiAnZ2lwaURhdGV0aW1lUGlja2VyVG9nZ2xlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2RhdGV0aW1lcGlja2VyLXRvZ2dsZS5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdnaXBpLW1hdC1kYXRldGltZS1waWNrZXItdG9nZ2xlJyxcbiAgICAgICAgLy8gQmluZCB0aGUgYGNsaWNrYCBvbiB0aGUgaG9zdCwgcmF0aGVyIHRoYW4gdGhlIGlubmVyIGBidXR0b25gLCBzbyB0aGF0IHdlIGNhbiBjYWxsIGBzdG9wUHJvcGFnYXRpb25gXG4gICAgICAgIC8vIG9uIGl0IHdpdGhvdXQgYWZmZWN0aW5nIHRoZSB1c2VyJ3MgYGNsaWNrYCBoYW5kbGVycy4gV2UgbmVlZCB0byBzdG9wIGl0IHNvIHRoYXQgdGhlIGlucHV0IGRvZXNuJ3RcbiAgICAgICAgLy8gZ2V0IGZvY3VzZWQgYXV0b21hdGljYWxseSBieSB0aGUgZm9ybSBmaWVsZCAoU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvcHVsbC8yMTg1NikuXG4gICAgICAgICcoY2xpY2spJzogJ19vcGVuKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdJUElEYXRldGltZXBpY2tlclRvZ2dsZUNvbXBvbmVudDxEPiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBfc3RhdGVDaGFuZ2VzID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gICAgLyoqIERhdGVwaWNrZXIgaW5zdGFuY2UgdGhhdCB0aGUgYnV0dG9uIHdpbGwgdG9nZ2xlLiAqL1xuICAgIEBJbnB1dCgnZm9yJykgZGF0ZXRpbWVwaWNrZXI6IEdJUElEYXRldGltZXBpY2tlckNvbXBvbmVudDxEPjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUgYnV0dG9uIGlzIGRpc2FibGVkLiAqL1xuICAgIEBJbnB1dCgpIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gdGhpcy5kYXRldGltZXBpY2tlci5kaXNhYmxlZFxuICAgICAgICAgICAgOiAhIXRoaXMuX2Rpc2FibGVkO1xuICAgIH1cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgX2ludGw6IE1hdERhdGVwaWNrZXJJbnRsLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHsgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5kYXRlcGlja2VyKSB7XG4gICAgICAgICAgICB0aGlzLl93YXRjaFN0YXRlQ2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fd2F0Y2hTdGF0ZUNoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBfb3BlbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXRpbWVwaWNrZXIgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZXRpbWVwaWNrZXIub3BlbigpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF93YXRjaFN0YXRlQ2hhbmdlcygpIHtcbiAgICAgICAgY29uc3QgZGF0ZXBpY2tlckRpc2FibGVkID0gdGhpcy5kYXRldGltZXBpY2tlclxuICAgICAgICAgICAgPyB0aGlzLmRhdGV0aW1lcGlja2VyLl9kaXNhYmxlZENoYW5nZVxuICAgICAgICAgICAgOiBvZihbXSwgYXN5bmNTY2hlZHVsZXIpO1xuICAgICAgICBjb25zdCBpbnB1dERpc2FibGVkID0gdGhpcy5kYXRldGltZXBpY2tlciAmJiB0aGlzLmRhdGV0aW1lcGlja2VyLl9kYXRlcGlja2VySW5wdXRcbiAgICAgICAgICAgID8gdGhpcy5kYXRldGltZXBpY2tlci5fZGF0ZXBpY2tlcklucHV0Ll9kaXNhYmxlZENoYW5nZVxuICAgICAgICAgICAgOiBvZihbXSwgYXN5bmNTY2hlZHVsZXIpO1xuXG4gICAgICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9zdGF0ZUNoYW5nZXMgPSBtZXJnZSh0aGlzLl9pbnRsLmNoYW5nZXMsIGRhdGVwaWNrZXJEaXNhYmxlZCwgaW5wdXREaXNhYmxlZCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
package/esm5/shared/gipi-components/datetime-picker/mat-datetime-picker/datetimepicker-type.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWVwaWNrZXItdHlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbInNoYXJlZC9naXBpLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyL21hdC1kYXRldGltZS1waWNrZXIvZGF0ZXRpbWVwaWNrZXItdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgR0lQSURhdGV0aW1lcGlja2VyVHlwZSA9IChcbiAgICB8ICdkYXRlJ1xuICAgIHwgJ3RpbWUnXG4gICAgfCAnbW9udGgnXG4gICAgfCAneWVhcidcbiAgICB8ICdkYXRldGltZSdcbik7XG4iXX0=
|