@skyux/autonumeric 7.0.0-beta.1 → 7.0.0-beta.3
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/documentation.json +56 -56
- package/esm2020/lib/modules/autonumeric/autonumeric.directive.mjs +81 -78
- package/fesm2015/skyux-autonumeric.mjs +82 -79
- package/fesm2015/skyux-autonumeric.mjs.map +1 -1
- package/fesm2020/skyux-autonumeric.mjs +81 -78
- package/fesm2020/skyux-autonumeric.mjs.map +1 -1
- package/lib/modules/autonumeric/autonumeric.directive.d.ts +3 -25
- package/package.json +1 -1
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
var _SkyAutonumericDirective_instances, _SkyAutonumericDirective_autonumericInstance, _SkyAutonumericDirective_autonumericOptions, _SkyAutonumericDirective_control, _SkyAutonumericDirective_isFirstChange, _SkyAutonumericDirective_value, _SkyAutonumericDirective_ngUnsubscribe, _SkyAutonumericDirective_elementRef, _SkyAutonumericDirective_globalConfig, _SkyAutonumericDirective_renderer, _SkyAutonumericDirective_changeDetector, _SkyAutonumericDirective_getNumericValue, _SkyAutonumericDirective_isInputValueTheCurrencySymbol, _SkyAutonumericDirective_getInputValue, _SkyAutonumericDirective_updateAutonumericInstance, _SkyAutonumericDirective_mergeOptions, _SkyAutonumericDirective_onChange, _SkyAutonumericDirective_onTouched;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
1
3
|
import { ChangeDetectorRef, Directive, ElementRef, HostListener, Input, Renderer2, forwardRef, } from '@angular/core';
|
|
2
4
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
5
|
import AutoNumeric from 'autonumeric';
|
|
@@ -22,90 +24,98 @@ const SKY_AUTONUMERIC_VALIDATOR = {
|
|
|
22
24
|
*/
|
|
23
25
|
export class SkyAutonumericDirective {
|
|
24
26
|
constructor(elementRef, globalConfig, renderer, changeDetector) {
|
|
25
|
-
this
|
|
26
|
-
this.globalConfig = globalConfig;
|
|
27
|
-
this.renderer = renderer;
|
|
28
|
-
this.changeDetector = changeDetector;
|
|
27
|
+
_SkyAutonumericDirective_instances.add(this);
|
|
29
28
|
/**
|
|
30
29
|
* @internal
|
|
31
30
|
*/
|
|
32
31
|
this.skyAutonumericFormChangesUnformatted = false;
|
|
33
|
-
this
|
|
34
|
-
this
|
|
35
|
-
|
|
32
|
+
_SkyAutonumericDirective_autonumericInstance.set(this, void 0);
|
|
33
|
+
_SkyAutonumericDirective_autonumericOptions.set(this, void 0);
|
|
34
|
+
_SkyAutonumericDirective_control.set(this, void 0);
|
|
35
|
+
_SkyAutonumericDirective_isFirstChange.set(this, true);
|
|
36
|
+
_SkyAutonumericDirective_value.set(this, void 0);
|
|
37
|
+
_SkyAutonumericDirective_ngUnsubscribe.set(this, new Subject());
|
|
38
|
+
_SkyAutonumericDirective_elementRef.set(this, void 0);
|
|
39
|
+
_SkyAutonumericDirective_globalConfig.set(this, void 0);
|
|
40
|
+
_SkyAutonumericDirective_renderer.set(this, void 0);
|
|
41
|
+
_SkyAutonumericDirective_changeDetector.set(this, void 0);
|
|
36
42
|
// istanbul ignore next
|
|
37
|
-
|
|
38
|
-
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars
|
|
44
|
+
_SkyAutonumericDirective_onChange.set(this, (_) => { });
|
|
39
45
|
// istanbul ignore next
|
|
40
|
-
|
|
41
|
-
this
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
47
|
+
_SkyAutonumericDirective_onTouched.set(this, () => { });
|
|
48
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_elementRef, elementRef, "f");
|
|
49
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_globalConfig, globalConfig, "f");
|
|
50
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_renderer, renderer, "f");
|
|
51
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_changeDetector, changeDetector, "f");
|
|
52
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericInstance, new AutoNumeric(elementRef.nativeElement), "f");
|
|
42
53
|
}
|
|
43
54
|
/**
|
|
44
55
|
* Assigns the name of a property from `SkyAutonumericOptionsProvider`.
|
|
45
56
|
*/
|
|
46
57
|
set skyAutonumeric(value) {
|
|
47
|
-
this
|
|
48
|
-
this.
|
|
58
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_mergeOptions).call(this, value), "f");
|
|
59
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
|
|
49
60
|
}
|
|
50
61
|
ngOnInit() {
|
|
51
62
|
// Ensure that we set the global config even if no local config has been given.
|
|
52
|
-
if (!this
|
|
53
|
-
this
|
|
63
|
+
if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")) {
|
|
64
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig(), "f");
|
|
54
65
|
}
|
|
55
|
-
this.
|
|
56
|
-
fromEvent(this.
|
|
57
|
-
.pipe(takeUntil(this
|
|
66
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
|
|
67
|
+
fromEvent(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'input')
|
|
68
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f")))
|
|
58
69
|
.subscribe(() => {
|
|
59
|
-
const numericValue = this.
|
|
70
|
+
const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getNumericValue).call(this);
|
|
60
71
|
/* istanbul ignore else */
|
|
61
|
-
if (this
|
|
62
|
-
this
|
|
63
|
-
this.
|
|
72
|
+
if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== numericValue) {
|
|
73
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_value, numericValue, "f");
|
|
74
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, numericValue);
|
|
64
75
|
}
|
|
65
76
|
/* istanbul ignore else */
|
|
66
|
-
if (this
|
|
67
|
-
this.
|
|
77
|
+
if (__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && !__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").dirty) {
|
|
78
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsDirty();
|
|
68
79
|
}
|
|
69
|
-
this.
|
|
80
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_changeDetector, "f").markForCheck();
|
|
70
81
|
});
|
|
71
82
|
}
|
|
72
83
|
ngOnDestroy() {
|
|
73
|
-
this.
|
|
74
|
-
this.
|
|
84
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").next();
|
|
85
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").complete();
|
|
75
86
|
}
|
|
76
87
|
/**
|
|
77
88
|
* Implemented as part of ControlValueAccessor.
|
|
78
89
|
*/
|
|
79
90
|
setDisabledState(value) {
|
|
80
|
-
this.
|
|
91
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'disabled', value);
|
|
81
92
|
}
|
|
82
93
|
writeValue(value) {
|
|
83
|
-
if (this
|
|
84
|
-
this
|
|
85
|
-
this.
|
|
94
|
+
if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== value) {
|
|
95
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_value, value, "f");
|
|
96
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, value);
|
|
86
97
|
// Mark the control as "pristine" if it is initialized with a value.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
this
|
|
90
|
-
this.control.markAsPristine();
|
|
98
|
+
if (__classPrivateFieldGet(this, _SkyAutonumericDirective_isFirstChange, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== null) {
|
|
99
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_isFirstChange, false, "f");
|
|
100
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsPristine();
|
|
91
101
|
}
|
|
92
102
|
}
|
|
93
103
|
if (typeof value === 'number') {
|
|
94
104
|
if (this.skyAutonumericFormChangesUnformatted) {
|
|
95
|
-
this.
|
|
105
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").setUnformatted(value);
|
|
96
106
|
}
|
|
97
107
|
else {
|
|
98
|
-
this.
|
|
108
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").set(value);
|
|
99
109
|
}
|
|
100
110
|
}
|
|
101
111
|
else {
|
|
102
|
-
this.
|
|
112
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").clear();
|
|
103
113
|
}
|
|
104
114
|
}
|
|
105
115
|
validate(control) {
|
|
106
116
|
const noErrors = null;
|
|
107
|
-
if (!this
|
|
108
|
-
this
|
|
117
|
+
if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f")) {
|
|
118
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_control, control, "f");
|
|
109
119
|
}
|
|
110
120
|
if (control.value === null || control.value === undefined) {
|
|
111
121
|
return noErrors;
|
|
@@ -118,50 +128,43 @@ export class SkyAutonumericDirective {
|
|
|
118
128
|
return noErrors;
|
|
119
129
|
}
|
|
120
130
|
registerOnChange(fn) {
|
|
121
|
-
this
|
|
131
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_onChange, fn, "f");
|
|
122
132
|
}
|
|
123
133
|
registerOnTouched(fn) {
|
|
124
|
-
this
|
|
134
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_onTouched, fn, "f");
|
|
125
135
|
}
|
|
126
136
|
onBlur() {
|
|
127
|
-
this.
|
|
128
|
-
}
|
|
129
|
-
getNumericValue() {
|
|
130
|
-
const inputValue = this.getInputValue();
|
|
131
|
-
return inputValue && !this.isInputValueTheCurrencySymbol(inputValue)
|
|
132
|
-
? this.autonumericInstance.getNumber()
|
|
133
|
-
: undefined;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Due to AutoNumeric's hover logic - when AutoNumeric has a currency symbol the value
|
|
137
|
-
* that we get back on empty fields will be the currency symbol.
|
|
138
|
-
* The following logic ensures that we don't accidentally set
|
|
139
|
-
* a form value when the only input was the programatically-added currency symbol.
|
|
140
|
-
*/
|
|
141
|
-
isInputValueTheCurrencySymbol(inputValue) {
|
|
142
|
-
/* istanbul ignore next */
|
|
143
|
-
const currencySymbol = (this.autonumericOptions?.currencySymbol ?? '').trim();
|
|
144
|
-
return !!currencySymbol && inputValue === currencySymbol;
|
|
137
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_onTouched, "f").call(this);
|
|
145
138
|
}
|
|
146
|
-
|
|
147
|
-
|
|
139
|
+
}
|
|
140
|
+
_SkyAutonumericDirective_autonumericInstance = new WeakMap(), _SkyAutonumericDirective_autonumericOptions = new WeakMap(), _SkyAutonumericDirective_control = new WeakMap(), _SkyAutonumericDirective_isFirstChange = new WeakMap(), _SkyAutonumericDirective_value = new WeakMap(), _SkyAutonumericDirective_ngUnsubscribe = new WeakMap(), _SkyAutonumericDirective_elementRef = new WeakMap(), _SkyAutonumericDirective_globalConfig = new WeakMap(), _SkyAutonumericDirective_renderer = new WeakMap(), _SkyAutonumericDirective_changeDetector = new WeakMap(), _SkyAutonumericDirective_onChange = new WeakMap(), _SkyAutonumericDirective_onTouched = new WeakMap(), _SkyAutonumericDirective_instances = new WeakSet(), _SkyAutonumericDirective_getNumericValue = function _SkyAutonumericDirective_getNumericValue() {
|
|
141
|
+
const inputValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getInputValue).call(this);
|
|
142
|
+
const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").getNumber();
|
|
143
|
+
return inputValue &&
|
|
144
|
+
!__classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_isInputValueTheCurrencySymbol).call(this, inputValue) &&
|
|
145
|
+
typeof numericValue === 'number'
|
|
146
|
+
? numericValue
|
|
147
|
+
: undefined;
|
|
148
|
+
}, _SkyAutonumericDirective_isInputValueTheCurrencySymbol = function _SkyAutonumericDirective_isInputValueTheCurrencySymbol(inputValue) {
|
|
149
|
+
/* istanbul ignore next */
|
|
150
|
+
const currencySymbol = (__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")?.currencySymbol ?? '').trim();
|
|
151
|
+
return !!currencySymbol && inputValue === currencySymbol;
|
|
152
|
+
}, _SkyAutonumericDirective_getInputValue = function _SkyAutonumericDirective_getInputValue() {
|
|
153
|
+
return __classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement.value;
|
|
154
|
+
}, _SkyAutonumericDirective_updateAutonumericInstance = function _SkyAutonumericDirective_updateAutonumericInstance() {
|
|
155
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").update(__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f"));
|
|
156
|
+
}, _SkyAutonumericDirective_mergeOptions = function _SkyAutonumericDirective_mergeOptions(value) {
|
|
157
|
+
const globalOptions = __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig();
|
|
158
|
+
let newOptions;
|
|
159
|
+
if (typeof value === 'string') {
|
|
160
|
+
const predefinedOptions = AutoNumeric.getPredefinedOptions();
|
|
161
|
+
newOptions = predefinedOptions[value];
|
|
148
162
|
}
|
|
149
|
-
|
|
150
|
-
|
|
163
|
+
else {
|
|
164
|
+
newOptions = value;
|
|
151
165
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
let newOptions;
|
|
155
|
-
if (typeof value === 'string') {
|
|
156
|
-
const predefinedOptions = AutoNumeric.getPredefinedOptions();
|
|
157
|
-
newOptions = predefinedOptions[value];
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
newOptions = value;
|
|
161
|
-
}
|
|
162
|
-
return Object.assign({}, globalOptions, newOptions);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
166
|
+
return Object.assign({}, globalOptions, newOptions);
|
|
167
|
+
};
|
|
165
168
|
SkyAutonumericDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAutonumericDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyAutonumericOptionsProvider }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
166
169
|
SkyAutonumericDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyAutonumericDirective, selector: "input[skyAutonumeric]", inputs: { skyAutonumeric: "skyAutonumeric", skyAutonumericFormChangesUnformatted: "skyAutonumericFormChangesUnformatted" }, host: { listeners: { "blur": "onBlur()" } }, providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR], ngImport: i0 });
|
|
167
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAutonumericDirective, decorators: [{
|
|
@@ -178,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
178
181
|
type: HostListener,
|
|
179
182
|
args: ['blur']
|
|
180
183
|
}] } });
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1dG9udW1lcmljL3NyYy9saWIvbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQUUvRSxNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQUFNLHlCQUF5QixHQUFHO0lBQ2hDLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7SUFDdEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7OztHQUdHO0FBS0gsTUFBTSxPQUFPLHVCQUF1QjtJQTBCbEMsWUFDVSxVQUFzQixFQUN0QixZQUEyQyxFQUMzQyxRQUFtQixFQUNuQixjQUFpQztRQUhqQyxlQUFVLEdBQVYsVUFB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Qjt3R0FBdkIsdUJBQXVCLHlOQUZ2QixDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDOzJGQUUzRCx1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFLENBQUMsOEJBQThCLEVBQUUseUJBQXlCLENBQUM7aUJBQ3ZFO3FNQVFZLGNBQWM7c0JBRHhCLEtBQUs7Z0JBVUMsb0NBQW9DO3NCQUQxQyxLQUFLO2dCQWlIQyxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgQXV0b051bWVyaWMgZnJvbSAnYXV0b251bWVyaWMnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUF1dG9udW1lcmljT3B0aW9ucyB9IGZyb20gJy4vYXV0b251bWVyaWMtb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lBdXRvbnVtZXJpY09wdGlvbnNQcm92aWRlciB9IGZyb20gJy4vYXV0b251bWVyaWMtb3B0aW9ucy1wcm92aWRlcic7XG5cbmNvbnN0IFNLWV9BVVRPTlVNRVJJQ19WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUF1dG9udW1lcmljRGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBTS1lfQVVUT05VTUVSSUNfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuLyoqXG4gKiBXcmFwcyB0aGUgW2F1dG9OdW1lcmljIHV0aWxpdHldKGh0dHBzOi8vZ2l0aHViLmNvbS9hdXRvTnVtZXJpYy9hdXRvTnVtZXJpYykgdG8gZm9ybWF0XG4gKiBhbnkgdHlwZSBvZiBudW1iZXIsIGluY2x1ZGluZyBjdXJyZW5jeS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbc2t5QXV0b251bWVyaWNdJyxcbiAgcHJvdmlkZXJzOiBbU0tZX0FVVE9OVU1FUklDX1ZBTFVFX0FDQ0VTU09SLCBTS1lfQVVUT05VTUVSSUNfVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXV0b251bWVyaWNEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKipcbiAgICogQXNzaWducyB0aGUgbmFtZSBvZiBhIHByb3BlcnR5IGZyb20gYFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2t5QXV0b251bWVyaWModmFsdWU6IFNreUF1dG9udW1lcmljT3B0aW9ucykge1xuICAgIHRoaXMuYXV0b251bWVyaWNPcHRpb25zID0gdGhpcy5tZXJnZU9wdGlvbnModmFsdWUpO1xuICAgIHRoaXMudXBkYXRlQXV0b251bWVyaWNJbnN0YW5jZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreUF1dG9udW1lcmljRm9ybUNoYW5nZXNVbmZvcm1hdHRlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgYXV0b251bWVyaWNJbnN0YW5jZTogQXV0b051bWVyaWM7XG4gIHByaXZhdGUgYXV0b251bWVyaWNPcHRpb25zOiBTa3lBdXRvbnVtZXJpY09wdGlvbnMgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGlzRmlyc3RDaGFuZ2UgPSB0cnVlO1xuICBwcml2YXRlIHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBnbG9iYWxDb25maWc6IFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLmF1dG9udW1lcmljSW5zdGFuY2UgPSBuZXcgQXV0b051bWVyaWModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEVuc3VyZSB0aGF0IHdlIHNldCB0aGUgZ2xvYmFsIGNvbmZpZyBldmVuIGlmIG5vIGxvY2FsIGNvbmZpZyBoYXMgYmVlbiBnaXZlbi5cbiAgICBpZiAoIXRoaXMuYXV0b251bWVyaWNPcHRpb25zKSB7XG4gICAgICB0aGlzLmF1dG9udW1lcmljT3B0aW9ucyA9IHRoaXMuZ2xvYmFsQ29uZmlnLmdldENvbmZpZygpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUF1dG9udW1lcmljSW5zdGFuY2UoKTtcblxuICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lucHV0JylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG51bWVyaWNWYWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdGhpcy5nZXROdW1lcmljVmFsdWUoKTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy52YWx1ZSAhPT0gbnVtZXJpY1ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZSA9IG51bWVyaWNWYWx1ZTtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bWVyaWNWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy5jb250cm9sICYmICF0aGlzLmNvbnRyb2wuZGlydHkpIHtcbiAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuXG4gICAgICAvLyBNYXJrIHRoZSBjb250cm9sIGFzIFwicHJpc3RpbmVcIiBpZiBpdCBpcyBpbml0aWFsaXplZCB3aXRoIGEgdmFsdWUuXG4gICAgICBjb25zdCBpbml0aWFsaXplZFdpdGhWYWx1ZSA9XG4gICAgICAgIHRoaXMuaXNGaXJzdENoYW5nZSAmJiB0aGlzLmNvbnRyb2wgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbDtcbiAgICAgIGlmIChpbml0aWFsaXplZFdpdGhWYWx1ZSkge1xuICAgICAgICB0aGlzLmlzRmlyc3RDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb250cm9sIS5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICBpZiAodGhpcy5za3lBdXRvbnVtZXJpY0Zvcm1DaGFuZ2VzVW5mb3JtYXR0ZWQpIHtcbiAgICAgICAgdGhpcy5hdXRvbnVtZXJpY0luc3RhbmNlLnNldFVuZm9ybWF0dGVkKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYXV0b251bWVyaWNJbnN0YW5jZS5zZXQodmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dG9udW1lcmljSW5zdGFuY2UuY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IG5vRXJyb3JzID0gbnVsbDtcblxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sLnZhbHVlID09PSBudWxsIHx8IGNvbnRyb2wudmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5vRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5vdFR5cGVPZk51bWJlcjogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9FcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIHB1YmxpYyBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TnVtZXJpY1ZhbHVlKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHRoaXMuZ2V0SW5wdXRWYWx1ZSgpO1xuICAgIHJldHVybiBpbnB1dFZhbHVlICYmICF0aGlzLmlzSW5wdXRWYWx1ZVRoZUN1cnJlbmN5U3ltYm9sKGlucHV0VmFsdWUpXG4gICAgICA/IHRoaXMuYXV0b251bWVyaWNJbnN0YW5jZS5nZXROdW1iZXIoKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogRHVlIHRvIEF1dG9OdW1lcmljJ3MgaG92ZXIgbG9naWMgLSB3aGVuIEF1dG9OdW1lcmljIGhhcyBhIGN1cnJlbmN5IHN5bWJvbCB0aGUgdmFsdWVcbiAgICogdGhhdCB3ZSBnZXQgYmFjayBvbiBlbXB0eSBmaWVsZHMgd2lsbCBiZSB0aGUgY3VycmVuY3kgc3ltYm9sLlxuICAgKiBUaGUgZm9sbG93aW5nIGxvZ2ljIGVuc3VyZXMgdGhhdCB3ZSBkb24ndCBhY2NpZGVudGFsbHkgc2V0XG4gICAqIGEgZm9ybSB2YWx1ZSB3aGVuIHRoZSBvbmx5IGlucHV0IHdhcyB0aGUgcHJvZ3JhbWF0aWNhbGx5LWFkZGVkIGN1cnJlbmN5IHN5bWJvbC5cbiAgICovXG4gIHByaXZhdGUgaXNJbnB1dFZhbHVlVGhlQ3VycmVuY3lTeW1ib2woaW5wdXRWYWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBjb25zdCBjdXJyZW5jeVN5bWJvbCA9IChcbiAgICAgICh0aGlzLmF1dG9udW1lcmljT3B0aW9ucyBhcyBBdXRvTnVtZXJpYy5PcHRpb25zKT8uY3VycmVuY3lTeW1ib2wgPz8gJydcbiAgICApLnRyaW0oKTtcbiAgICByZXR1cm4gISFjdXJyZW5jeVN5bWJvbCAmJiBpbnB1dFZhbHVlID09PSBjdXJyZW5jeVN5bWJvbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQXV0b251bWVyaWNJbnN0YW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dG9udW1lcmljSW5zdGFuY2UudXBkYXRlKFxuICAgICAgdGhpcy5hdXRvbnVtZXJpY09wdGlvbnMgYXMgQXV0b051bWVyaWMuT3B0aW9uc1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1lcmdlT3B0aW9ucyh2YWx1ZTogU2t5QXV0b251bWVyaWNPcHRpb25zKTogU2t5QXV0b251bWVyaWNPcHRpb25zIHtcbiAgICBjb25zdCBnbG9iYWxPcHRpb25zID0gdGhpcy5nbG9iYWxDb25maWcuZ2V0Q29uZmlnKCk7XG5cbiAgICBsZXQgbmV3T3B0aW9uczogU2t5QXV0b251bWVyaWNPcHRpb25zO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBwcmVkZWZpbmVkT3B0aW9ucyA9IEF1dG9OdW1lcmljLmdldFByZWRlZmluZWRPcHRpb25zKCk7XG4gICAgICBuZXdPcHRpb25zID0gcHJlZGVmaW5lZE9wdGlvbnNbXG4gICAgICAgIHZhbHVlIGFzIGtleW9mIEF1dG9OdW1lcmljLk9wdGlvbnNcbiAgICAgIF0gYXMgQXV0b051bWVyaWMuT3B0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3T3B0aW9ucyA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBnbG9iYWxPcHRpb25zLCBuZXdPcHRpb25zKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9IChfOiBudW1iZXIgfCB1bmRlZmluZWQpID0+IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XG59XG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b251bWVyaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1dG9udW1lcmljL3NyYy9saWIvbW9kdWxlcy9hdXRvbnVtZXJpYy9hdXRvbnVtZXJpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxXQUFXLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRS9FLE1BQU0sOEJBQThCLEdBQUc7SUFDckMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztJQUN0RCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRjs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO0lBK0JsQyxZQUNFLFVBQXNCLEVBQ3RCLFlBQTJDLEVBQzNDLFFBQW1CLEVBQ25CLGNBQWlDOztRQXZCbkM7O1dBRUc7UUFF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LENBQUM7SUFDbEQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM3RCxVQUFVLEdBQUcsaUJBQWlCLENBQzVCLEtBQWtDLENBQ1osQ0FBQztLQUMxQjtTQUFNO1FBQ0wsVUFBVSxHQUFHLEtBQUssQ0FBQztLQUNwQjtJQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3RELENBQUM7b0hBbE1VLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHlOQUZ2QixDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDOzJGQUUzRCx1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFLENBQUMsOEJBQThCLEVBQUUseUJBQXlCLENBQUM7aUJBQ3ZFO3FNQVFZLGNBQWM7c0JBRHhCLEtBQUs7Z0JBVUMsb0NBQW9DO3NCQUQxQyxLQUFLO2dCQTZIQyxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgQXV0b051bWVyaWMgZnJvbSAnYXV0b251bWVyaWMnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUF1dG9udW1lcmljT3B0aW9ucyB9IGZyb20gJy4vYXV0b251bWVyaWMtb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lBdXRvbnVtZXJpY09wdGlvbnNQcm92aWRlciB9IGZyb20gJy4vYXV0b251bWVyaWMtb3B0aW9ucy1wcm92aWRlcic7XG5cbmNvbnN0IFNLWV9BVVRPTlVNRVJJQ19WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUF1dG9udW1lcmljRGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBTS1lfQVVUT05VTUVSSUNfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lBdXRvbnVtZXJpY0RpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuLyoqXG4gKiBXcmFwcyB0aGUgW2F1dG9OdW1lcmljIHV0aWxpdHldKGh0dHBzOi8vZ2l0aHViLmNvbS9hdXRvTnVtZXJpYy9hdXRvTnVtZXJpYykgdG8gZm9ybWF0XG4gKiBhbnkgdHlwZSBvZiBudW1iZXIsIGluY2x1ZGluZyBjdXJyZW5jeS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbc2t5QXV0b251bWVyaWNdJyxcbiAgcHJvdmlkZXJzOiBbU0tZX0FVVE9OVU1FUklDX1ZBTFVFX0FDQ0VTU09SLCBTS1lfQVVUT05VTUVSSUNfVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXV0b251bWVyaWNEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKipcbiAgICogQXNzaWducyB0aGUgbmFtZSBvZiBhIHByb3BlcnR5IGZyb20gYFNreUF1dG9udW1lcmljT3B0aW9uc1Byb3ZpZGVyYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2t5QXV0b251bWVyaWModmFsdWU6IFNreUF1dG9udW1lcmljT3B0aW9ucyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI2F1dG9udW1lcmljT3B0aW9ucyA9IHRoaXMuI21lcmdlT3B0aW9ucyh2YWx1ZSk7XG4gICAgdGhpcy4jdXBkYXRlQXV0b251bWVyaWNJbnN0YW5jZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreUF1dG9udW1lcmljRm9ybUNoYW5nZXNVbmZvcm1hdHRlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gICNhdXRvbnVtZXJpY0luc3RhbmNlOiBBdXRvTnVtZXJpYztcbiAgI2F1dG9udW1lcmljT3B0aW9uczogU2t5QXV0b251bWVyaWNPcHRpb25zIHwgdW5kZWZpbmVkO1xuICAjY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkO1xuICAjaXNGaXJzdENoYW5nZSA9IHRydWU7XG4gICN2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI2dsb2JhbENvbmZpZzogU2t5QXV0b251bWVyaWNPcHRpb25zUHJvdmlkZXI7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgZ2xvYmFsQ29uZmlnOiBTa3lBdXRvbnVtZXJpY09wdGlvbnNQcm92aWRlcixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNnbG9iYWxDb25maWcgPSBnbG9iYWxDb25maWc7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuXG4gICAgdGhpcy4jYXV0b251bWVyaWNJbnN0YW5jZSA9IG5ldyBBdXRvTnVtZXJpYyhlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEVuc3VyZSB0aGF0IHdlIHNldCB0aGUgZ2xvYmFsIGNvbmZpZyBldmVuIGlmIG5vIGxvY2FsIGNvbmZpZyBoYXMgYmVlbiBnaXZlbi5cbiAgICBpZiAoIXRoaXMuI2F1dG9udW1lcmljT3B0aW9ucykge1xuICAgICAgdGhpcy4jYXV0b251bWVyaWNPcHRpb25zID0gdGhpcy4jZ2xvYmFsQ29uZmlnLmdldENvbmZpZygpO1xuICAgIH1cbiAgICB0aGlzLiN1cGRhdGVBdXRvbnVtZXJpY0luc3RhbmNlKCk7XG5cbiAgICBmcm9tRXZlbnQodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaW5wdXQnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG51bWVyaWNWYWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdGhpcy4jZ2V0TnVtZXJpY1ZhbHVlKCk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuI3ZhbHVlICE9PSBudW1lcmljVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLiN2YWx1ZSA9IG51bWVyaWNWYWx1ZTtcbiAgICAgICAgICB0aGlzLiNvbkNoYW5nZShudW1lcmljVmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuI2NvbnRyb2wgJiYgIXRoaXMuI2NvbnRyb2wuZGlydHkpIHtcbiAgICAgICAgICB0aGlzLiNjb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLiNyZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICdkaXNhYmxlZCcsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3ZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy4jdmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI29uQ2hhbmdlKHZhbHVlKTtcblxuICAgICAgLy8gTWFyayB0aGUgY29udHJvbCBhcyBcInByaXN0aW5lXCIgaWYgaXQgaXMgaW5pdGlhbGl6ZWQgd2l0aCBhIHZhbHVlLlxuICAgICAgaWYgKHRoaXMuI2lzRmlyc3RDaGFuZ2UgJiYgdGhpcy4jY29udHJvbCAmJiB0aGlzLiN2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLiNpc0ZpcnN0Q2hhbmdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuI2NvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgaWYgKHRoaXMuc2t5QXV0b251bWVyaWNGb3JtQ2hhbmdlc1VuZm9ybWF0dGVkKSB7XG4gICAgICAgIHRoaXMuI2F1dG9udW1lcmljSW5zdGFuY2Uuc2V0VW5mb3JtYXR0ZWQodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jYXV0b251bWVyaWNJbnN0YW5jZS5zZXQodmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNhdXRvbnVtZXJpY0luc3RhbmNlLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCBub0Vycm9ycyA9IG51bGw7XG5cbiAgICBpZiAoIXRoaXMuI2NvbnRyb2wpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sLnZhbHVlID09PSBudWxsIHx8IGNvbnRyb2wudmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5vRXJyb3JzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5vdFR5cGVPZk51bWJlcjogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9FcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiNvbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgcHVibGljIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLiNvblRvdWNoZWQoKTtcbiAgfVxuXG4gICNnZXROdW1lcmljVmFsdWUoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpbnB1dFZhbHVlID0gdGhpcy4jZ2V0SW5wdXRWYWx1ZSgpO1xuICAgIGNvbnN0IG51bWVyaWNWYWx1ZSA9IHRoaXMuI2F1dG9udW1lcmljSW5zdGFuY2UuZ2V0TnVtYmVyKCk7XG4gICAgcmV0dXJuIGlucHV0VmFsdWUgJiZcbiAgICAgICF0aGlzLiNpc0lucHV0VmFsdWVUaGVDdXJyZW5jeVN5bWJvbChpbnB1dFZhbHVlKSAmJlxuICAgICAgdHlwZW9mIG51bWVyaWNWYWx1ZSA9PT0gJ251bWJlcidcbiAgICAgID8gbnVtZXJpY1ZhbHVlXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEdWUgdG8gQXV0b051bWVyaWMncyBob3ZlciBsb2dpYyAtIHdoZW4gQXV0b051bWVyaWMgaGFzIGEgY3VycmVuY3kgc3ltYm9sLCB0aGUgdmFsdWVcbiAgICogdGhhdCB3ZSBnZXQgYmFjayBvbiBlbXB0eSBmaWVsZHMgd2lsbCBiZSB0aGUgY3VycmVuY3kgc3ltYm9sLlxuICAgKiBUaGUgZm9sbG93aW5nIGxvZ2ljIGVuc3VyZXMgdGhhdCB3ZSBkb24ndCBhY2NpZGVudGFsbHkgc2V0XG4gICAqIGEgZm9ybSB2YWx1ZSB3aGVuIHRoZSBvbmx5IGlucHV0IHdhcyB0aGUgcHJvZ3JhbWF0aWNhbGx5LWFkZGVkIGN1cnJlbmN5IHN5bWJvbC5cbiAgICovXG4gICNpc0lucHV0VmFsdWVUaGVDdXJyZW5jeVN5bWJvbChpbnB1dFZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGNvbnN0IGN1cnJlbmN5U3ltYm9sID0gKFxuICAgICAgKHRoaXMuI2F1dG9udW1lcmljT3B0aW9ucyBhcyBBdXRvTnVtZXJpYy5PcHRpb25zKT8uY3VycmVuY3lTeW1ib2wgPz8gJydcbiAgICApLnRyaW0oKTtcbiAgICByZXR1cm4gISFjdXJyZW5jeVN5bWJvbCAmJiBpbnB1dFZhbHVlID09PSBjdXJyZW5jeVN5bWJvbDtcbiAgfVxuXG4gICNnZXRJbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gICN1cGRhdGVBdXRvbnVtZXJpY0luc3RhbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuI2F1dG9udW1lcmljSW5zdGFuY2UudXBkYXRlKFxuICAgICAgdGhpcy4jYXV0b251bWVyaWNPcHRpb25zIGFzIEF1dG9OdW1lcmljLk9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgI21lcmdlT3B0aW9ucyhcbiAgICB2YWx1ZTogU2t5QXV0b251bWVyaWNPcHRpb25zIHwgdW5kZWZpbmVkXG4gICk6IFNreUF1dG9udW1lcmljT3B0aW9ucyB7XG4gICAgY29uc3QgZ2xvYmFsT3B0aW9uczogU2t5QXV0b251bWVyaWNPcHRpb25zID0gdGhpcy4jZ2xvYmFsQ29uZmlnLmdldENvbmZpZygpO1xuXG4gICAgbGV0IG5ld09wdGlvbnM6IFNreUF1dG9udW1lcmljT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgcHJlZGVmaW5lZE9wdGlvbnMgPSBBdXRvTnVtZXJpYy5nZXRQcmVkZWZpbmVkT3B0aW9ucygpO1xuICAgICAgbmV3T3B0aW9ucyA9IHByZWRlZmluZWRPcHRpb25zW1xuICAgICAgICB2YWx1ZSBhcyBrZXlvZiBBdXRvTnVtZXJpYy5PcHRpb25zXG4gICAgICBdIGFzIEF1dG9OdW1lcmljLk9wdGlvbnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld09wdGlvbnMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZ2xvYmFsT3B0aW9ucywgbmV3T3B0aW9ucyk7XG4gIH1cblxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uICwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICNvbkNoYW5nZSA9IChfOiBudW1iZXIgfCB1bmRlZmluZWQpID0+IHt9O1xuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNvblRvdWNoZWQgPSAoKSA9PiB7fTtcbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable, forwardRef, Directive, Input, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
|
5
6
|
import AutoNumeric from 'autonumeric';
|
|
6
7
|
import { Subject, fromEvent } from 'rxjs';
|
|
7
8
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -28,6 +29,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
28
29
|
}]
|
|
29
30
|
}] });
|
|
30
31
|
|
|
32
|
+
var _SkyAutonumericDirective_instances, _SkyAutonumericDirective_autonumericInstance, _SkyAutonumericDirective_autonumericOptions, _SkyAutonumericDirective_control, _SkyAutonumericDirective_isFirstChange, _SkyAutonumericDirective_value, _SkyAutonumericDirective_ngUnsubscribe, _SkyAutonumericDirective_elementRef, _SkyAutonumericDirective_globalConfig, _SkyAutonumericDirective_renderer, _SkyAutonumericDirective_changeDetector, _SkyAutonumericDirective_getNumericValue, _SkyAutonumericDirective_isInputValueTheCurrencySymbol, _SkyAutonumericDirective_getInputValue, _SkyAutonumericDirective_updateAutonumericInstance, _SkyAutonumericDirective_mergeOptions, _SkyAutonumericDirective_onChange, _SkyAutonumericDirective_onTouched;
|
|
31
33
|
const SKY_AUTONUMERIC_VALUE_ACCESSOR = {
|
|
32
34
|
provide: NG_VALUE_ACCESSOR,
|
|
33
35
|
useExisting: forwardRef(() => SkyAutonumericDirective),
|
|
@@ -44,90 +46,98 @@ const SKY_AUTONUMERIC_VALIDATOR = {
|
|
|
44
46
|
*/
|
|
45
47
|
class SkyAutonumericDirective {
|
|
46
48
|
constructor(elementRef, globalConfig, renderer, changeDetector) {
|
|
47
|
-
this
|
|
48
|
-
this.globalConfig = globalConfig;
|
|
49
|
-
this.renderer = renderer;
|
|
50
|
-
this.changeDetector = changeDetector;
|
|
49
|
+
_SkyAutonumericDirective_instances.add(this);
|
|
51
50
|
/**
|
|
52
51
|
* @internal
|
|
53
52
|
*/
|
|
54
53
|
this.skyAutonumericFormChangesUnformatted = false;
|
|
55
|
-
this
|
|
56
|
-
this
|
|
57
|
-
|
|
54
|
+
_SkyAutonumericDirective_autonumericInstance.set(this, void 0);
|
|
55
|
+
_SkyAutonumericDirective_autonumericOptions.set(this, void 0);
|
|
56
|
+
_SkyAutonumericDirective_control.set(this, void 0);
|
|
57
|
+
_SkyAutonumericDirective_isFirstChange.set(this, true);
|
|
58
|
+
_SkyAutonumericDirective_value.set(this, void 0);
|
|
59
|
+
_SkyAutonumericDirective_ngUnsubscribe.set(this, new Subject());
|
|
60
|
+
_SkyAutonumericDirective_elementRef.set(this, void 0);
|
|
61
|
+
_SkyAutonumericDirective_globalConfig.set(this, void 0);
|
|
62
|
+
_SkyAutonumericDirective_renderer.set(this, void 0);
|
|
63
|
+
_SkyAutonumericDirective_changeDetector.set(this, void 0);
|
|
58
64
|
// istanbul ignore next
|
|
59
|
-
|
|
60
|
-
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function , @typescript-eslint/no-unused-vars
|
|
66
|
+
_SkyAutonumericDirective_onChange.set(this, (_) => { });
|
|
61
67
|
// istanbul ignore next
|
|
62
|
-
|
|
63
|
-
this
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
69
|
+
_SkyAutonumericDirective_onTouched.set(this, () => { });
|
|
70
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_elementRef, elementRef, "f");
|
|
71
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_globalConfig, globalConfig, "f");
|
|
72
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_renderer, renderer, "f");
|
|
73
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_changeDetector, changeDetector, "f");
|
|
74
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericInstance, new AutoNumeric(elementRef.nativeElement), "f");
|
|
64
75
|
}
|
|
65
76
|
/**
|
|
66
77
|
* Assigns the name of a property from `SkyAutonumericOptionsProvider`.
|
|
67
78
|
*/
|
|
68
79
|
set skyAutonumeric(value) {
|
|
69
|
-
this
|
|
70
|
-
this.
|
|
80
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_mergeOptions).call(this, value), "f");
|
|
81
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
|
|
71
82
|
}
|
|
72
83
|
ngOnInit() {
|
|
73
84
|
// Ensure that we set the global config even if no local config has been given.
|
|
74
|
-
if (!this
|
|
75
|
-
this
|
|
85
|
+
if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")) {
|
|
86
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_autonumericOptions, __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig(), "f");
|
|
76
87
|
}
|
|
77
|
-
this.
|
|
78
|
-
fromEvent(this.
|
|
79
|
-
.pipe(takeUntil(this
|
|
88
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_updateAutonumericInstance).call(this);
|
|
89
|
+
fromEvent(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'input')
|
|
90
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f")))
|
|
80
91
|
.subscribe(() => {
|
|
81
|
-
const numericValue = this.
|
|
92
|
+
const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getNumericValue).call(this);
|
|
82
93
|
/* istanbul ignore else */
|
|
83
|
-
if (this
|
|
84
|
-
this
|
|
85
|
-
this.
|
|
94
|
+
if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== numericValue) {
|
|
95
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_value, numericValue, "f");
|
|
96
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, numericValue);
|
|
86
97
|
}
|
|
87
98
|
/* istanbul ignore else */
|
|
88
|
-
if (this
|
|
89
|
-
this.
|
|
99
|
+
if (__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && !__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").dirty) {
|
|
100
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsDirty();
|
|
90
101
|
}
|
|
91
|
-
this.
|
|
102
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_changeDetector, "f").markForCheck();
|
|
92
103
|
});
|
|
93
104
|
}
|
|
94
105
|
ngOnDestroy() {
|
|
95
|
-
this.
|
|
96
|
-
this.
|
|
106
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").next();
|
|
107
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_ngUnsubscribe, "f").complete();
|
|
97
108
|
}
|
|
98
109
|
/**
|
|
99
110
|
* Implemented as part of ControlValueAccessor.
|
|
100
111
|
*/
|
|
101
112
|
setDisabledState(value) {
|
|
102
|
-
this.
|
|
113
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement, 'disabled', value);
|
|
103
114
|
}
|
|
104
115
|
writeValue(value) {
|
|
105
|
-
if (this
|
|
106
|
-
this
|
|
107
|
-
this.
|
|
116
|
+
if (__classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== value) {
|
|
117
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_value, value, "f");
|
|
118
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_onChange, "f").call(this, value);
|
|
108
119
|
// Mark the control as "pristine" if it is initialized with a value.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this
|
|
112
|
-
this.control.markAsPristine();
|
|
120
|
+
if (__classPrivateFieldGet(this, _SkyAutonumericDirective_isFirstChange, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f") && __classPrivateFieldGet(this, _SkyAutonumericDirective_value, "f") !== null) {
|
|
121
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_isFirstChange, false, "f");
|
|
122
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f").markAsPristine();
|
|
113
123
|
}
|
|
114
124
|
}
|
|
115
125
|
if (typeof value === 'number') {
|
|
116
126
|
if (this.skyAutonumericFormChangesUnformatted) {
|
|
117
|
-
this.
|
|
127
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").setUnformatted(value);
|
|
118
128
|
}
|
|
119
129
|
else {
|
|
120
|
-
this.
|
|
130
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").set(value);
|
|
121
131
|
}
|
|
122
132
|
}
|
|
123
133
|
else {
|
|
124
|
-
this.
|
|
134
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").clear();
|
|
125
135
|
}
|
|
126
136
|
}
|
|
127
137
|
validate(control) {
|
|
128
138
|
const noErrors = null;
|
|
129
|
-
if (!this
|
|
130
|
-
this
|
|
139
|
+
if (!__classPrivateFieldGet(this, _SkyAutonumericDirective_control, "f")) {
|
|
140
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_control, control, "f");
|
|
131
141
|
}
|
|
132
142
|
if (control.value === null || control.value === undefined) {
|
|
133
143
|
return noErrors;
|
|
@@ -140,51 +150,44 @@ class SkyAutonumericDirective {
|
|
|
140
150
|
return noErrors;
|
|
141
151
|
}
|
|
142
152
|
registerOnChange(fn) {
|
|
143
|
-
this
|
|
153
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_onChange, fn, "f");
|
|
144
154
|
}
|
|
145
155
|
registerOnTouched(fn) {
|
|
146
|
-
this
|
|
156
|
+
__classPrivateFieldSet(this, _SkyAutonumericDirective_onTouched, fn, "f");
|
|
147
157
|
}
|
|
148
158
|
onBlur() {
|
|
149
|
-
this.
|
|
150
|
-
}
|
|
151
|
-
getNumericValue() {
|
|
152
|
-
const inputValue = this.getInputValue();
|
|
153
|
-
return inputValue && !this.isInputValueTheCurrencySymbol(inputValue)
|
|
154
|
-
? this.autonumericInstance.getNumber()
|
|
155
|
-
: undefined;
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Due to AutoNumeric's hover logic - when AutoNumeric has a currency symbol the value
|
|
159
|
-
* that we get back on empty fields will be the currency symbol.
|
|
160
|
-
* The following logic ensures that we don't accidentally set
|
|
161
|
-
* a form value when the only input was the programatically-added currency symbol.
|
|
162
|
-
*/
|
|
163
|
-
isInputValueTheCurrencySymbol(inputValue) {
|
|
164
|
-
var _a, _b;
|
|
165
|
-
/* istanbul ignore next */
|
|
166
|
-
const currencySymbol = ((_b = (_a = this.autonumericOptions) === null || _a === void 0 ? void 0 : _a.currencySymbol) !== null && _b !== void 0 ? _b : '').trim();
|
|
167
|
-
return !!currencySymbol && inputValue === currencySymbol;
|
|
168
|
-
}
|
|
169
|
-
getInputValue() {
|
|
170
|
-
return this.elementRef.nativeElement.value;
|
|
171
|
-
}
|
|
172
|
-
updateAutonumericInstance() {
|
|
173
|
-
this.autonumericInstance.update(this.autonumericOptions);
|
|
174
|
-
}
|
|
175
|
-
mergeOptions(value) {
|
|
176
|
-
const globalOptions = this.globalConfig.getConfig();
|
|
177
|
-
let newOptions;
|
|
178
|
-
if (typeof value === 'string') {
|
|
179
|
-
const predefinedOptions = AutoNumeric.getPredefinedOptions();
|
|
180
|
-
newOptions = predefinedOptions[value];
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
newOptions = value;
|
|
184
|
-
}
|
|
185
|
-
return Object.assign({}, globalOptions, newOptions);
|
|
159
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_onTouched, "f").call(this);
|
|
186
160
|
}
|
|
187
161
|
}
|
|
162
|
+
_SkyAutonumericDirective_autonumericInstance = new WeakMap(), _SkyAutonumericDirective_autonumericOptions = new WeakMap(), _SkyAutonumericDirective_control = new WeakMap(), _SkyAutonumericDirective_isFirstChange = new WeakMap(), _SkyAutonumericDirective_value = new WeakMap(), _SkyAutonumericDirective_ngUnsubscribe = new WeakMap(), _SkyAutonumericDirective_elementRef = new WeakMap(), _SkyAutonumericDirective_globalConfig = new WeakMap(), _SkyAutonumericDirective_renderer = new WeakMap(), _SkyAutonumericDirective_changeDetector = new WeakMap(), _SkyAutonumericDirective_onChange = new WeakMap(), _SkyAutonumericDirective_onTouched = new WeakMap(), _SkyAutonumericDirective_instances = new WeakSet(), _SkyAutonumericDirective_getNumericValue = function _SkyAutonumericDirective_getNumericValue() {
|
|
163
|
+
const inputValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_getInputValue).call(this);
|
|
164
|
+
const numericValue = __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").getNumber();
|
|
165
|
+
return inputValue &&
|
|
166
|
+
!__classPrivateFieldGet(this, _SkyAutonumericDirective_instances, "m", _SkyAutonumericDirective_isInputValueTheCurrencySymbol).call(this, inputValue) &&
|
|
167
|
+
typeof numericValue === 'number'
|
|
168
|
+
? numericValue
|
|
169
|
+
: undefined;
|
|
170
|
+
}, _SkyAutonumericDirective_isInputValueTheCurrencySymbol = function _SkyAutonumericDirective_isInputValueTheCurrencySymbol(inputValue) {
|
|
171
|
+
var _a, _b;
|
|
172
|
+
/* istanbul ignore next */
|
|
173
|
+
const currencySymbol = ((_b = (_a = __classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f")) === null || _a === void 0 ? void 0 : _a.currencySymbol) !== null && _b !== void 0 ? _b : '').trim();
|
|
174
|
+
return !!currencySymbol && inputValue === currencySymbol;
|
|
175
|
+
}, _SkyAutonumericDirective_getInputValue = function _SkyAutonumericDirective_getInputValue() {
|
|
176
|
+
return __classPrivateFieldGet(this, _SkyAutonumericDirective_elementRef, "f").nativeElement.value;
|
|
177
|
+
}, _SkyAutonumericDirective_updateAutonumericInstance = function _SkyAutonumericDirective_updateAutonumericInstance() {
|
|
178
|
+
__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericInstance, "f").update(__classPrivateFieldGet(this, _SkyAutonumericDirective_autonumericOptions, "f"));
|
|
179
|
+
}, _SkyAutonumericDirective_mergeOptions = function _SkyAutonumericDirective_mergeOptions(value) {
|
|
180
|
+
const globalOptions = __classPrivateFieldGet(this, _SkyAutonumericDirective_globalConfig, "f").getConfig();
|
|
181
|
+
let newOptions;
|
|
182
|
+
if (typeof value === 'string') {
|
|
183
|
+
const predefinedOptions = AutoNumeric.getPredefinedOptions();
|
|
184
|
+
newOptions = predefinedOptions[value];
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
newOptions = value;
|
|
188
|
+
}
|
|
189
|
+
return Object.assign({}, globalOptions, newOptions);
|
|
190
|
+
};
|
|
188
191
|
SkyAutonumericDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAutonumericDirective, deps: [{ token: i0.ElementRef }, { token: SkyAutonumericOptionsProvider }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
189
192
|
SkyAutonumericDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyAutonumericDirective, selector: "input[skyAutonumeric]", inputs: { skyAutonumeric: "skyAutonumeric", skyAutonumericFormChangesUnformatted: "skyAutonumericFormChangesUnformatted" }, host: { listeners: { "blur": "onBlur()" } }, providers: [SKY_AUTONUMERIC_VALUE_ACCESSOR, SKY_AUTONUMERIC_VALIDATOR], ngImport: i0 });
|
|
190
193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAutonumericDirective, decorators: [{
|