ngx-nz-formly 0.0.9 → 0.0.10
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/esm2022/index.mjs +5 -0
- package/esm2022/lib/components/nz-formly-button/nz-formly-button.component.mjs +21 -21
- package/esm2022/lib/components/nz-formly-field-checkbox/nz-formly-field-checkbox.component.mjs +36 -33
- package/esm2022/lib/components/nz-formly-field-input/nz-formly-field-input.component.mjs +107 -105
- package/esm2022/lib/components/nz-formly-field-input/phone-mask.config.mjs +1463 -1463
- package/esm2022/lib/components/nz-formly-field-radio/nz-formly-field-radio.component.mjs +42 -39
- package/esm2022/lib/components/nz-formly-field-select/nz-formly-field-select.component.mjs +37 -34
- package/esm2022/lib/components/nz-formly-field-switch/nz-formly-field-switch.component.mjs +41 -38
- package/esm2022/lib/ngx-nz-formly-props.model.mjs +6 -6
- package/esm2022/lib/ngx-nz-formly-type-safe.model.mjs +44 -44
- package/esm2022/lib/ngx-nz-formly-validators.mjs +52 -52
- package/esm2022/lib/ngx-nz-formly.module.mjs +272 -272
- package/esm2022/lib/wrappers/nz-formly-default-wrapper/nz-formly-default-wrapper.component.mjs +14 -14
- package/esm2022/lib/wrappers/nz-formly-label-wrapper/nz-formly-label-wrapper.component.mjs +13 -13
- package/esm2022/ngx-nz-formly.mjs +5 -5
- package/fesm2022/ngx-nz-formly.mjs +2042 -2028
- package/fesm2022/ngx-nz-formly.mjs.map +1 -1
- package/index.d.ts +4 -5
- package/lib/components/nz-formly-button/nz-formly-button.component.d.ts +8 -8
- package/lib/components/nz-formly-field-checkbox/nz-formly-field-checkbox.component.d.ts +13 -13
- package/lib/components/nz-formly-field-input/nz-formly-field-input.component.d.ts +24 -24
- package/lib/components/nz-formly-field-input/phone-mask.config.d.ts +11 -11
- package/lib/components/nz-formly-field-radio/nz-formly-field-radio.component.d.ts +14 -14
- package/lib/components/nz-formly-field-select/nz-formly-field-select.component.d.ts +13 -13
- package/lib/components/nz-formly-field-switch/nz-formly-field-switch.component.d.ts +14 -14
- package/lib/ngx-nz-formly-props.model.d.ts +144 -146
- package/lib/ngx-nz-formly-type-safe.model.d.ts +14 -14
- package/lib/ngx-nz-formly-validators.d.ts +16 -16
- package/lib/ngx-nz-formly.module.d.ts +2 -2
- package/lib/wrappers/nz-formly-default-wrapper/nz-formly-default-wrapper.component.d.ts +7 -7
- package/lib/wrappers/nz-formly-label-wrapper/nz-formly-label-wrapper.component.d.ts +7 -7
- package/package.json +7 -2
- package/esm2022/public-api.mjs +0 -5
- package/public-api.d.ts +0 -4
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './lib/ngx-nz-formly.module';
|
|
2
|
+
export * from './lib/ngx-nz-formly-props.model';
|
|
3
|
+
export * from './lib/ngx-nz-formly-type-safe.model';
|
|
4
|
+
export * from './lib/ngx-nz-formly-validators';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL25neC1uei1mb3JtbHkvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtbnotZm9ybWx5Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1uei1mb3JtbHktcHJvcHMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtbnotZm9ybWx5LXR5cGUtc2FmZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1uei1mb3JtbHktdmFsaWRhdG9ycyc7XHJcbiJdfQ==
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { FieldType } from "@ngx-formly/core";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "ng-zorro-antd/button";
|
|
6
|
-
import * as i3 from "ng-zorro-antd/core/transition-patch";
|
|
7
|
-
import * as i4 from "ng-zorro-antd/core/wave";
|
|
8
|
-
export class NzFormlyButtonComponent extends FieldType {
|
|
9
|
-
onClick() {
|
|
10
|
-
if (typeof this.props?.click == "function") {
|
|
11
|
-
this.props.click();
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
static
|
|
15
|
-
static
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyButtonComponent, decorators: [{
|
|
18
|
-
type: Component,
|
|
19
|
-
args: [{ selector: "app-nz-formly-button", template: "<button\r\n nz-button\r\n type=\"button\"\r\n [disabled]=\"props.disabled\"\r\n [nzGhost]=\"props.nzGhost\"\r\n [nzLoading]=\"props.nzLoading\"\r\n [nzShape]=\"props.nzShape\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzType]=\"props.nzType\"\r\n [nzBlock]=\"props.nzBlock\"\r\n [nzDanger]=\"props.nzDanger\"\r\n [ngClass]=\"props.classList\"\r\n (click)=\"onClick()\"\r\n>\r\n {{props.text}}\r\n</button>\r\n" }]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { FieldType } from "@ngx-formly/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "ng-zorro-antd/button";
|
|
6
|
+
import * as i3 from "ng-zorro-antd/core/transition-patch";
|
|
7
|
+
import * as i4 from "ng-zorro-antd/core/wave";
|
|
8
|
+
export class NzFormlyButtonComponent extends FieldType {
|
|
9
|
+
onClick() {
|
|
10
|
+
if (typeof this.props?.click == "function") {
|
|
11
|
+
this.props.click();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyButtonComponent, selector: "app-nz-formly-button", usesInheritance: true, ngImport: i0, template: "<button\r\n nz-button\r\n type=\"button\"\r\n [disabled]=\"props.disabled\"\r\n [nzGhost]=\"props.nzGhost\"\r\n [nzLoading]=\"props.nzLoading\"\r\n [nzShape]=\"props.nzShape\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzType]=\"props.nzType\"\r\n [nzBlock]=\"props.nzBlock\"\r\n [nzDanger]=\"props.nzDanger\"\r\n [ngClass]=\"props.classList\"\r\n (click)=\"onClick()\"\r\n>\r\n {{props.text}}\r\n</button>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i4.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }] }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyButtonComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: "app-nz-formly-button", template: "<button\r\n nz-button\r\n type=\"button\"\r\n [disabled]=\"props.disabled\"\r\n [nzGhost]=\"props.nzGhost\"\r\n [nzLoading]=\"props.nzLoading\"\r\n [nzShape]=\"props.nzShape\"\r\n [nzSize]=\"props.nzSize\"\r\n [nzType]=\"props.nzType\"\r\n [nzBlock]=\"props.nzBlock\"\r\n [nzDanger]=\"props.nzDanger\"\r\n [ngClass]=\"props.classList\"\r\n (click)=\"onClick()\"\r\n>\r\n {{props.text}}\r\n</button>\r\n" }]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotZm9ybWx5LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25neC1uei1mb3JtbHkvc3JjL2xpYi9jb21wb25lbnRzL256LWZvcm1seS1idXR0b24vbnotZm9ybWx5LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25neC1uei1mb3JtbHkvc3JjL2xpYi9jb21wb25lbnRzL256LWZvcm1seS1idXR0b24vbnotZm9ybWx5LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQVFoRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsU0FFNUM7SUFDQyxPQUFPO1FBQ0wsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLFVBQVUsRUFBRTtZQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzsrR0FQVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixtRkNUcEMsaWFBZ0JBOzs0RkRQYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gXCJAbmd4LWZvcm1seS9jb3JlXCI7XHJcbmltcG9ydCB7IE56Rm9ybWx5QnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vLi4vbmd4LW56LWZvcm1seS1wcm9wcy5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLW56LWZvcm1seS1idXR0b25cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL256LWZvcm1seS1idXR0b24uY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vbnotZm9ybWx5LWJ1dHRvbi5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE56Rm9ybWx5QnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlPFxyXG4gIEZvcm1seUZpZWxkQ29uZmlnPE56Rm9ybWx5QnV0dG9uUHJvcHM+XHJcbj4ge1xyXG4gIG9uQ2xpY2soKSB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMucHJvcHM/LmNsaWNrID09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICB0aGlzLnByb3BzLmNsaWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICBuei1idXR0b25cclxuICB0eXBlPVwiYnV0dG9uXCJcclxuICBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIlxyXG4gIFtuekdob3N0XT1cInByb3BzLm56R2hvc3RcIlxyXG4gIFtuekxvYWRpbmddPVwicHJvcHMubnpMb2FkaW5nXCJcclxuICBbbnpTaGFwZV09XCJwcm9wcy5uelNoYXBlXCJcclxuICBbbnpTaXplXT1cInByb3BzLm56U2l6ZVwiXHJcbiAgW256VHlwZV09XCJwcm9wcy5uelR5cGVcIlxyXG4gIFtuekJsb2NrXT1cInByb3BzLm56QmxvY2tcIlxyXG4gIFtuekRhbmdlcl09XCJwcm9wcy5uekRhbmdlclwiXHJcbiAgW25nQ2xhc3NdPVwicHJvcHMuY2xhc3NMaXN0XCJcclxuICAoY2xpY2spPVwib25DbGljaygpXCJcclxuPlxyXG4gIHt7cHJvcHMudGV4dH19XHJcbjwvYnV0dG9uPlxyXG4iXX0=
|
package/esm2022/lib/components/nz-formly-field-checkbox/nz-formly-field-checkbox.component.mjs
CHANGED
|
@@ -1,33 +1,36 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { FieldType } from "@ngx-formly/core";
|
|
3
|
-
import { Subject, takeUntil, tap } from "rxjs";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@ngx-formly/core";
|
|
6
|
-
import * as i2 from "@angular/forms";
|
|
7
|
-
import * as i3 from "ng-zorro-antd/checkbox";
|
|
8
|
-
export class NzFormlyFieldCheckboxComponent extends FieldType {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
this.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
this.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵ
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { FieldType } from "@ngx-formly/core";
|
|
3
|
+
import { Subject, takeUntil, tap } from "rxjs";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-formly/core";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
import * as i3 from "ng-zorro-antd/checkbox";
|
|
8
|
+
export class NzFormlyFieldCheckboxComponent extends FieldType {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.unSubscribeAll$ = new Subject();
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
this.formControl.valueChanges
|
|
15
|
+
.pipe(takeUntil(this.unSubscribeAll$), tap((value) => {
|
|
16
|
+
if (typeof this.props?.change == "function") {
|
|
17
|
+
this.props.change(this.field, value);
|
|
18
|
+
}
|
|
19
|
+
}))
|
|
20
|
+
.subscribe();
|
|
21
|
+
}
|
|
22
|
+
get fieldID() {
|
|
23
|
+
return "control-" + this.field.key;
|
|
24
|
+
}
|
|
25
|
+
ngOnDestroy() {
|
|
26
|
+
this.unSubscribeAll$.next();
|
|
27
|
+
this.unSubscribeAll$.complete();
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyFieldCheckboxComponent, selector: "app-nz-formly-field-checkbox", usesInheritance: true, ngImport: i0, template: "<label\r\n nz-checkbox\r\n [nzId]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [nzDisabled]=\"props.disabled\"\r\n>\r\n {{props.label}}\r\n</label>\r\n", styles: ["label{display:flex;font-size:100%;font-weight:600;min-height:30px;width:-moz-fit-content;width:fit-content;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }] }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldCheckboxComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ selector: "app-nz-formly-field-checkbox", template: "<label\r\n nz-checkbox\r\n [nzId]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [nzDisabled]=\"props.disabled\"\r\n>\r\n {{props.label}}\r\n</label>\r\n", styles: ["label{display:flex;font-size:100%;font-weight:600;min-height:30px;width:-moz-fit-content;width:fit-content;align-items:center}\n"] }]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotZm9ybWx5LWZpZWxkLWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LW56LWZvcm1seS9zcmMvbGliL2NvbXBvbmVudHMvbnotZm9ybWx5LWZpZWxkLWNoZWNrYm94L256LWZvcm1seS1maWVsZC1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25neC1uei1mb3JtbHkvc3JjL2xpYi9jb21wb25lbnRzL256LWZvcm1seS1maWVsZC1jaGVja2JveC9uei1mb3JtbHktZmllbGQtY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTy9DLE1BQU0sT0FBTyw4QkFDWCxTQUFRLFNBQWlEO0lBTjNEOztRQVNFLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztLQXVCdkM7SUFyQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWTthQUMxQixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFDL0IsR0FBRyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLFVBQVUsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN0QztRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7K0dBMUJVLDhCQUE4QjttR0FBOUIsOEJBQThCLDJGQ1YzQyxxTUFTQTs7NEZEQ2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZyB9IGZyb20gXCJAbmd4LWZvcm1seS9jb3JlXCI7XHJcbmltcG9ydCB7IE56Rm9ybWx5Q2hlY2tib3hQcm9wcyB9IGZyb20gXCIuLi8uLi9uZ3gtbnotZm9ybWx5LXByb3BzLm1vZGVsXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC1uei1mb3JtbHktZmllbGQtY2hlY2tib3hcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL256LWZvcm1seS1maWVsZC1jaGVja2JveC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9uei1mb3JtbHktZmllbGQtY2hlY2tib3guY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOekZvcm1seUZpZWxkQ2hlY2tib3hDb21wb25lbnRcclxuICBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc8TnpGb3JtbHlDaGVja2JveFByb3BzPj5cclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICB1blN1YnNjcmliZUFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuU3Vic2NyaWJlQWxsJCksXHJcbiAgICAgICAgdGFwKCh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvcHM/LmNoYW5nZSA9PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy5jaGFuZ2UodGhpcy5maWVsZCwgdmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGdldCBmaWVsZElEKCkge1xyXG4gICAgcmV0dXJuIFwiY29udHJvbC1cIiArIHRoaXMuZmllbGQua2V5O1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuU3Vic2NyaWJlQWxsJC5uZXh0KCk7XHJcbiAgICB0aGlzLnVuU3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8bGFiZWxcclxuICBuei1jaGVja2JveFxyXG4gIFtueklkXT1cImZpZWxkSURcIlxyXG4gIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gIFtuekRpc2FibGVkXT1cInByb3BzLmRpc2FibGVkXCJcclxuPlxyXG4gIHt7cHJvcHMubGFiZWx9fVxyXG48L2xhYmVsPlxyXG4iXX0=
|
|
@@ -1,105 +1,107 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { FieldType } from "@ngx-formly/core";
|
|
3
|
-
import { debounceTime, Subject, takeUntil, tap } from "rxjs";
|
|
4
|
-
import { CountryMasks2 } from "./phone-mask.config";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@ngx-formly/core";
|
|
8
|
-
import * as i3 from "@angular/forms";
|
|
9
|
-
import * as i4 from "ngx-mask";
|
|
10
|
-
import * as i5 from "ng-zorro-antd/input";
|
|
11
|
-
import * as i6 from "ng-zorro-antd/core/transition-patch";
|
|
12
|
-
import * as i7 from "ng-zorro-antd/icon";
|
|
13
|
-
const DefaultPhoneMask = {
|
|
14
|
-
countryShortName: "IR",
|
|
15
|
-
prefix: "+98",
|
|
16
|
-
globalMask: "+00(000)000-0000",
|
|
17
|
-
};
|
|
18
|
-
export class NzFormlyFieldInputComponent extends FieldType {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
i0.ɵɵ
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotZm9ybWx5LWZpZWxkLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1uei1mb3JtbHkvc3JjL2xpYi9jb21wb25lbnRzL256LWZvcm1seS1maWVsZC1pbnB1dC9uei1mb3JtbHktZmllbGQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW56LWZvcm1seS9zcmMvbGliL2NvbXBvbmVudHMvbnotZm9ybWx5LWZpZWxkLWlucHV0L256LWZvcm1seS1maWVsZC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBRTlELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFtQixhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7O0FBRXJFLE1BQU0sZ0JBQWdCLEdBQW9CO0lBQ3hDLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsTUFBTSxFQUFFLEtBQUs7SUFDYixVQUFVLEVBQUUsa0JBQWtCO0NBQy9CLENBQUM7QUFPRixNQUFNLE9BQU8sMkJBQ1gsU0FBUSxTQUE4QztJQUd0RCxJQUFJLENBQXFCO0lBQ3pCLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXRDLGVBQWU7UUFDYixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDL0IsSUFBSSxDQUFD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QUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7d0dBbkdVLDJCQUEyQjs0RkFBM0IsMkJBQTJCLHdGQ2pCeEMsbWtDQWlDQTs7NEZEaEJhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSBcIkBuZ3gtZm9ybWx5L2NvcmVcIjtcclxuaW1wb3J0IHsgTnpGb3JtbHlJbnB1dFByb3BzIH0gZnJvbSBcIi4uLy4uL25neC1uei1mb3JtbHktcHJvcHMubW9kZWxcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBTdWJqZWN0LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IENvdW50cnlDb2RlTWFzaywgQ291bnRyeU1hc2tzMiB9IGZyb20gXCIuL3Bob25lLW1hc2suY29uZmlnXCI7XHJcblxyXG5jb25zdCBEZWZhdWx0UGhvbmVNYXNrOiBDb3VudHJ5Q29kZU1hc2sgPSB7XHJcbiAgY291bnRyeVNob3J0TmFtZTogXCJJUlwiLFxyXG4gIHByZWZpeDogXCIrOThcIixcclxuICBnbG9iYWxNYXNrOiBcIiswMCgwMDApMDAwLTAwMDBcIixcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC1uei1mb3JtbHktZmllbGQtaW5wdXRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL256LWZvcm1seS1maWVsZC1pbnB1dC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9uei1mb3JtbHktZmllbGQtaW5wdXQuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOekZvcm1seUZpZWxkSW5wdXRDb21wb25lbnRcclxuICBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc8TnpGb3JtbHlJbnB1dFByb3BzPj5cclxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgbWFzazogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIHVuU3Vic2NyaWJlQWxsJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY3JlYXRlSW5pdFN0YXRlKCk7XHJcbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUluaXRTdGF0ZSgpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLm1hc2sgPT09IFwicGhvbmVcIikge1xyXG4gICAgICB0aGlzLm1hc2sgPSBEZWZhdWx0UGhvbmVNYXNrLmdsb2JhbE1hc2s7XHJcbiAgICAgIHRoaXMuaGFuZGxlUGhvbmVNYXNrKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1hc2sgPSB0aGlzLnByb3BzLm1hc2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVQaG9uZU1hc2soKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YnNjcmliZUFsbCQpLFxyXG4gICAgICAgIHRhcCgodmFsdWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgaWYgKHZhbHVlID09IFwiXCIpIHtcclxuICAgICAgICAgICAgLy8gaGludDogd2l0aG91dCBzZXRUaW1lb3V0IHdlIGRvbid0IGhhdmUgQ3RybCArIEEgLT4gZGVsZXRlXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMubWFzayA9IERlZmF1bHRQaG9uZU1hc2suZ2xvYmFsTWFzaztcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgbWFzayA9IHRoaXMuZmluZEFwcHJvcHJpYXRlTWFzayh2YWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChtYXNrICYmIHRoaXMubWFzayAhPT0gbWFzay5nbG9iYWxNYXNrKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tYXNrID0gbWFzay5nbG9iYWxNYXNrPy5yZXBsYWNlKC8jfFsxLTldL2csIFwiMFwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YnNjcmliZUFsbCQpLFxyXG4gICAgICAgIGRlYm91bmNlVGltZSgzMDApLFxyXG4gICAgICAgIHRhcCgodmFsdWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzPy5jaGFuZ2UgPT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuY2hhbmdlKHRoaXMuZmllbGQsIHZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBmaW5kQXBwcm9wcmlhdGVNYXNrKHZhbHVlOiBzdHJpbmcpOiBDb3VudHJ5Q29kZU1hc2sgfCBudWxsIHtcclxuICAgIGxldCBuZXdNYXNrID0gQ291bnRyeU1hc2tzMi5maWx0ZXIoaXRlbSA9PlxyXG4gICAgICB0aGlzLmV4YWN0RXF1YWxpdHkodmFsdWUsIGl0ZW0ucHJlZml4KSxcclxuICAgICkuZmluZChpdGVtID0+IHZhbHVlLmxlbmd0aCA8PSBpdGVtLmdsb2JhbE1hc2subGVuZ3RoKTtcclxuICAgIGlmIChuZXdNYXNrKSByZXR1cm4gbmV3TWFzaztcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZXhhY3RFcXVhbGl0eShzdHI6IHN0cmluZywgcHJlZml4OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIC8vIGhpbnQ6IHJlcGxhY2UgZnVuY3Rpb24gcmVtb3ZlcyBhbGwgY2hhcmFjdGVycyBleGNlcHQgbnVtYmVycyB0byByZXR1cm4gY2xlYW4gbnVtZXJpYyBzdHJpbmdcclxuICAgIC8vIGhpbnQ6IGluZGV4IG9mIGNvbnZpbmNlIHVzIHRvIG1hdGNoIHByZWZpeCBvbiBmaXJzdCBpbmRleCBvZiBpbnB1dCB2YWx1ZVxyXG4gICAgbGV0IG5ld19zdHIgPSBzdHIucmVwbGFjZSgvW14wLTkuXS9nLCBcIlwiKTtcclxuICAgIGxldCBuZXdfcHJlZml4ID0gcHJlZml4LnJlcGxhY2UoL1teMC05Ll0vZywgXCJcIik7XHJcbiAgICByZXR1cm4gbmV3X3N0ci5pbmRleE9mKG5ld19wcmVmaXgpID09IDA7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTaG93UGFzc3dvcmQoaW5wdXQ6IGFueSkge1xyXG4gICAgaWYgKGlucHV0LnR5cGUgPT09IFwicGFzc3dvcmRcIikge1xyXG4gICAgICBpbnB1dC50eXBlID0gXCJ0ZXh0XCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpbnB1dC50eXBlID0gXCJwYXNzd29yZFwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd1Bhc3N3b3JkKGlucHV0OiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBpbnB1dC50eXBlID09PSBcInRleHRcIjtcclxuICB9XHJcblxyXG4gIGdldCB0eXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvcHMudHlwZSA/PyBcInRleHRcIjtcclxuICB9XHJcblxyXG4gIGdldCBmaWVsZElEKCkge1xyXG4gICAgcmV0dXJuIFwiY29udHJvbC1cIiArIHRoaXMuZmllbGQua2V5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0YXR1cygpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sLnRvdWNoZWQgJiYgdGhpcy5mb3JtQ29udHJvbC5pbnZhbGlkID8gXCJlcnJvclwiIDogXCJcIjtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51blN1YnNjcmliZUFsbCQubmV4dCgpO1xyXG4gICAgdGhpcy51blN1YnNjcmliZUFsbCQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPG56LWlucHV0LWdyb3VwXHJcbiAgW256QWRkT25BZnRlcl09XCJwcm9wcy5uekFkZE9uQWZ0ZXJcIlxyXG4gIFtuekFkZE9uQmVmb3JlXT1cInByb3BzLm56QWRkT25CZWZvcmVcIlxyXG4gIFtuekFkZE9uQWZ0ZXJJY29uXT1cInByb3BzLm56QWRkT25BZnRlckljb25cIlxyXG4gIFtuekFkZE9uQmVmb3JlSWNvbl09XCJwcm9wcy5uekFkZE9uQmVmb3JlSWNvblwiXHJcbiAgW256UHJlZml4XT1cInByb3BzLm56UHJlZml4XCJcclxuICBbbnpTdWZmaXhdPVwicHJvcHMubnpTdWZmaXhcIlxyXG4gIFtuelNpemVdPVwicHJvcHMubnpTaXplIHx8ICdkZWZhdWx0J1wiXHJcbj5cclxuICA8aW5wdXRcclxuICAgICAgI2lucHV0XHJcbiAgICAgIG56LWlucHV0XHJcbiAgICAgIFtpZF09XCJmaWVsZElEXCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICBbbWFza109XCJtYXNrXCJcclxuICAgICAgW3Rob3VzYW5kU2VwYXJhdG9yXT1cInByb3BzLnRob3VzYW5kU2VwYXJhdG9yXCJcclxuICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgIFtuelN0YXR1c109XCJzdGF0dXNcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIlxyXG4gICAgICBbcmVhZG9ubHldPVwicHJvcHMucmVhZG9ubHlcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicHJvcHMucGxhY2Vob2xkZXJcIlxyXG4gICAgICBbbnpCb3JkZXJsZXNzXT1cInByb3BzLm56Qm9yZGVybGVzc1wiXHJcbiAgLz5cclxuICA8ZGl2IGNsYXNzPVwic2hvdy1wYXNzd29yZFwiICpuZ0lmPVwicHJvcHMudHlwZSA9PT0gJ3Bhc3N3b3JkJ1wiPlxyXG4gICAgPHNwYW5cclxuICAgICAgbnotaWNvblxyXG4gICAgICBuelRoZW1lPVwib3V0bGluZVwiXHJcbiAgICAgIChjbGljayk9XCJjaGFuZ2VTaG93UGFzc3dvcmQoaW5wdXQpXCJcclxuICAgICAgW256VHlwZV09XCJzaG93UGFzc3dvcmQoaW5wdXQpID8gJ2V5ZS1pbnZpc2libGUnIDogJ2V5ZSdcIlxyXG4gICAgPjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9uei1pbnB1dC1ncm91cD5cclxuIl19
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { FieldType } from "@ngx-formly/core";
|
|
3
|
+
import { debounceTime, Subject, takeUntil, tap } from "rxjs";
|
|
4
|
+
import { CountryMasks2 } from "./phone-mask.config";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@ngx-formly/core";
|
|
8
|
+
import * as i3 from "@angular/forms";
|
|
9
|
+
import * as i4 from "ngx-mask";
|
|
10
|
+
import * as i5 from "ng-zorro-antd/input";
|
|
11
|
+
import * as i6 from "ng-zorro-antd/core/transition-patch";
|
|
12
|
+
import * as i7 from "ng-zorro-antd/icon";
|
|
13
|
+
const DefaultPhoneMask = {
|
|
14
|
+
countryShortName: "IR",
|
|
15
|
+
prefix: "+98",
|
|
16
|
+
globalMask: "+00(000)000-0000",
|
|
17
|
+
};
|
|
18
|
+
export class NzFormlyFieldInputComponent extends FieldType {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.unSubscribeAll$ = new Subject();
|
|
22
|
+
}
|
|
23
|
+
ngAfterViewInit() {
|
|
24
|
+
this.createInitState();
|
|
25
|
+
this.onValueChange();
|
|
26
|
+
}
|
|
27
|
+
createInitState() {
|
|
28
|
+
if (this.props.mask === "phone") {
|
|
29
|
+
this.mask = DefaultPhoneMask.globalMask;
|
|
30
|
+
this.handlePhoneMask();
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.mask = this.props.mask;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
handlePhoneMask() {
|
|
37
|
+
this.formControl.valueChanges
|
|
38
|
+
.pipe(takeUntil(this.unSubscribeAll$), tap((value) => {
|
|
39
|
+
if (value == "") {
|
|
40
|
+
// hint: without setTimeout we don't have Ctrl + A -> delete
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
this.mask = DefaultPhoneMask.globalMask;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
let mask = this.findAppropriateMask(value);
|
|
47
|
+
if (mask && this.mask !== mask.globalMask) {
|
|
48
|
+
this.mask = mask.globalMask?.replace(/#|[1-9]/g, "0");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}))
|
|
52
|
+
.subscribe();
|
|
53
|
+
}
|
|
54
|
+
onValueChange() {
|
|
55
|
+
this.formControl.valueChanges
|
|
56
|
+
.pipe(takeUntil(this.unSubscribeAll$), debounceTime(300), tap((value) => {
|
|
57
|
+
if (typeof this.props?.change == "function") {
|
|
58
|
+
this.props.change(this.field, value);
|
|
59
|
+
}
|
|
60
|
+
}))
|
|
61
|
+
.subscribe();
|
|
62
|
+
}
|
|
63
|
+
findAppropriateMask(value) {
|
|
64
|
+
let newMask = CountryMasks2.filter(item => this.exactEquality(value, item.prefix)).find(item => value.length <= item.globalMask.length);
|
|
65
|
+
if (newMask)
|
|
66
|
+
return newMask;
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
exactEquality(str, prefix) {
|
|
70
|
+
// hint: replace function removes all characters except numbers to return clean numeric string
|
|
71
|
+
// hint: index of convince us to match prefix on first index of input value
|
|
72
|
+
let new_str = str.replace(/[^0-9.]/g, "");
|
|
73
|
+
let new_prefix = prefix.replace(/[^0-9.]/g, "");
|
|
74
|
+
return new_str.indexOf(new_prefix) == 0;
|
|
75
|
+
}
|
|
76
|
+
changeShowPassword(input) {
|
|
77
|
+
if (input.type === "password") {
|
|
78
|
+
input.type = "text";
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
input.type = "password";
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
showPassword(input) {
|
|
85
|
+
return input.type === "text";
|
|
86
|
+
}
|
|
87
|
+
get type() {
|
|
88
|
+
return this.props.type ?? "text";
|
|
89
|
+
}
|
|
90
|
+
get fieldID() {
|
|
91
|
+
return "control-" + this.field.key;
|
|
92
|
+
}
|
|
93
|
+
get status() {
|
|
94
|
+
return this.formControl.touched && this.formControl.invalid ? "error" : "";
|
|
95
|
+
}
|
|
96
|
+
ngOnDestroy() {
|
|
97
|
+
this.unSubscribeAll$.next();
|
|
98
|
+
this.unSubscribeAll$.complete();
|
|
99
|
+
}
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NzFormlyFieldInputComponent, selector: "app-nz-formly-field-input", usesInheritance: true, ngImport: i0, template: "<nz-input-group\r\n [nzAddOnAfter]=\"props.nzAddOnAfter\"\r\n [nzAddOnBefore]=\"props.nzAddOnBefore\"\r\n [nzAddOnAfterIcon]=\"props.nzAddOnAfterIcon\"\r\n [nzAddOnBeforeIcon]=\"props.nzAddOnBeforeIcon\"\r\n [nzPrefix]=\"props.nzPrefix\"\r\n [nzSuffix]=\"props.nzSuffix\"\r\n [nzSize]=\"props.nzSize || 'default'\"\r\n>\r\n <input\r\n #input\r\n nz-input\r\n [id]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [mask]=\"mask\"\r\n [thousandSeparator]=\"props.thousandSeparator\"\r\n [type]=\"type\"\r\n [nzStatus]=\"status\"\r\n [attr.disabled]=\"props.disabled\"\r\n [readonly]=\"props.readonly\"\r\n [placeholder]=\"props.placeholder\"\r\n [nzBorderless]=\"props.nzBorderless\"\r\n />\r\n <div class=\"show-password\" *ngIf=\"props.type === 'password'\">\r\n <span\r\n nz-icon\r\n nzTheme=\"outline\"\r\n (click)=\"changeShowPassword(input)\"\r\n [nzType]=\"showPassword(input) ? 'eye-invisible' : 'eye'\"\r\n ></span>\r\n </div>\r\n</nz-input-group>\r\n", styles: [".show-password{z-index:5;opacity:.6;cursor:pointer;position:absolute;inset-inline-end:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: i5.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i5.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i5.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "directive", type: i6.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i7.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }] }); }
|
|
102
|
+
}
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NzFormlyFieldInputComponent, decorators: [{
|
|
104
|
+
type: Component,
|
|
105
|
+
args: [{ selector: "app-nz-formly-field-input", template: "<nz-input-group\r\n [nzAddOnAfter]=\"props.nzAddOnAfter\"\r\n [nzAddOnBefore]=\"props.nzAddOnBefore\"\r\n [nzAddOnAfterIcon]=\"props.nzAddOnAfterIcon\"\r\n [nzAddOnBeforeIcon]=\"props.nzAddOnBeforeIcon\"\r\n [nzPrefix]=\"props.nzPrefix\"\r\n [nzSuffix]=\"props.nzSuffix\"\r\n [nzSize]=\"props.nzSize || 'default'\"\r\n>\r\n <input\r\n #input\r\n nz-input\r\n [id]=\"fieldID\"\r\n [formControl]=\"formControl\"\r\n [formlyAttributes]=\"field\"\r\n [mask]=\"mask\"\r\n [thousandSeparator]=\"props.thousandSeparator\"\r\n [type]=\"type\"\r\n [nzStatus]=\"status\"\r\n [attr.disabled]=\"props.disabled\"\r\n [readonly]=\"props.readonly\"\r\n [placeholder]=\"props.placeholder\"\r\n [nzBorderless]=\"props.nzBorderless\"\r\n />\r\n <div class=\"show-password\" *ngIf=\"props.type === 'password'\">\r\n <span\r\n nz-icon\r\n nzTheme=\"outline\"\r\n (click)=\"changeShowPassword(input)\"\r\n [nzType]=\"showPassword(input) ? 'eye-invisible' : 'eye'\"\r\n ></span>\r\n </div>\r\n</nz-input-group>\r\n", styles: [".show-password{z-index:5;opacity:.6;cursor:pointer;position:absolute;inset-inline-end:10px}\n"] }]
|
|
106
|
+
}] });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotZm9ybWx5LWZpZWxkLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LW56LWZvcm1seS9zcmMvbGliL2NvbXBvbmVudHMvbnotZm9ybWx5LWZpZWxkLWlucHV0L256LWZvcm1seS1maWVsZC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25neC1uei1mb3JtbHkvc3JjL2xpYi9jb21wb25lbnRzL256LWZvcm1seS1maWVsZC1pbnB1dC9uei1mb3JtbHktZmllbGQtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7OztBQUVyRSxNQUFNLGdCQUFnQixHQUFvQjtJQUN4QyxnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsVUFBVSxFQUFFLGtCQUFrQjtDQUMvQixDQUFDO0FBT0YsTUFBTSxPQUFPLDJCQUNYLFNBQVEsU0FBOEM7SUFOeEQ7O1FBVUUsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0tBK0Z2QztJQTdGQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJ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RUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDOytHQW5HVSwyQkFBMkI7bUdBQTNCLDJCQUEyQix3RkNqQnhDLHdrQ0FpQ0E7OzRGRGhCYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZyB9IGZyb20gXCJAbmd4LWZvcm1seS9jb3JlXCI7XHJcbmltcG9ydCB7IE56Rm9ybWx5SW5wdXRQcm9wcyB9IGZyb20gXCIuLi8uLi9uZ3gtbnotZm9ybWx5LXByb3BzLm1vZGVsXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgU3ViamVjdCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBDb3VudHJ5Q29kZU1hc2ssIENvdW50cnlNYXNrczIgfSBmcm9tIFwiLi9waG9uZS1tYXNrLmNvbmZpZ1wiO1xyXG5cclxuY29uc3QgRGVmYXVsdFBob25lTWFzazogQ291bnRyeUNvZGVNYXNrID0ge1xyXG4gIGNvdW50cnlTaG9ydE5hbWU6IFwiSVJcIixcclxuICBwcmVmaXg6IFwiKzk4XCIsXHJcbiAgZ2xvYmFsTWFzazogXCIrMDAoMDAwKTAwMC0wMDAwXCIsXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtbnotZm9ybWx5LWZpZWxkLWlucHV0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9uei1mb3JtbHktZmllbGQtaW5wdXQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vbnotZm9ybWx5LWZpZWxkLWlucHV0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnpGb3JtbHlGaWVsZElucHV0Q29tcG9uZW50XHJcbiAgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPE56Rm9ybWx5SW5wdXRQcm9wcz4+XHJcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gIG1hc2s6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICB1blN1YnNjcmliZUFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUluaXRTdGF0ZSgpO1xyXG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVJbml0U3RhdGUoKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5tYXNrID09PSBcInBob25lXCIpIHtcclxuICAgICAgdGhpcy5tYXNrID0gRGVmYXVsdFBob25lTWFzay5nbG9iYWxNYXNrO1xyXG4gICAgICB0aGlzLmhhbmRsZVBob25lTWFzaygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tYXNrID0gdGhpcy5wcm9wcy5tYXNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlUGhvbmVNYXNrKCkge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5TdWJzY3JpYmVBbGwkKSxcclxuICAgICAgICB0YXAoKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIGlmICh2YWx1ZSA9PSBcIlwiKSB7XHJcbiAgICAgICAgICAgIC8vIGhpbnQ6IHdpdGhvdXQgc2V0VGltZW91dCB3ZSBkb24ndCBoYXZlIEN0cmwgKyBBIC0+IGRlbGV0ZVxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm1hc2sgPSBEZWZhdWx0UGhvbmVNYXNrLmdsb2JhbE1hc2s7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IG1hc2sgPSB0aGlzLmZpbmRBcHByb3ByaWF0ZU1hc2sodmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAobWFzayAmJiB0aGlzLm1hc2sgIT09IG1hc2suZ2xvYmFsTWFzaykge1xyXG4gICAgICAgICAgICAgIHRoaXMubWFzayA9IG1hc2suZ2xvYmFsTWFzaz8ucmVwbGFjZSgvI3xbMS05XS9nLCBcIjBcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5TdWJzY3JpYmVBbGwkKSxcclxuICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcclxuICAgICAgICB0YXAoKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcz8uY2hhbmdlID09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgICB0aGlzLnByb3BzLmNoYW5nZSh0aGlzLmZpZWxkLCB2YWx1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZmluZEFwcHJvcHJpYXRlTWFzayh2YWx1ZTogc3RyaW5nKTogQ291bnRyeUNvZGVNYXNrIHwgbnVsbCB7XHJcbiAgICBsZXQgbmV3TWFzayA9IENvdW50cnlNYXNrczIuZmlsdGVyKGl0ZW0gPT5cclxuICAgICAgdGhpcy5leGFjdEVxdWFsaXR5KHZhbHVlLCBpdGVtLnByZWZpeCksXHJcbiAgICApLmZpbmQoaXRlbSA9PiB2YWx1ZS5sZW5ndGggPD0gaXRlbS5nbG9iYWxNYXNrLmxlbmd0aCk7XHJcbiAgICBpZiAobmV3TWFzaykgcmV0dXJuIG5ld01hc2s7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGV4YWN0RXF1YWxpdHkoc3RyOiBzdHJpbmcsIHByZWZpeDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAvLyBoaW50OiByZXBsYWNlIGZ1bmN0aW9uIHJlbW92ZXMgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IG51bWJlcnMgdG8gcmV0dXJuIGNsZWFuIG51bWVyaWMgc3RyaW5nXHJcbiAgICAvLyBoaW50OiBpbmRleCBvZiBjb252aW5jZSB1cyB0byBtYXRjaCBwcmVmaXggb24gZmlyc3QgaW5kZXggb2YgaW5wdXQgdmFsdWVcclxuICAgIGxldCBuZXdfc3RyID0gc3RyLnJlcGxhY2UoL1teMC05Ll0vZywgXCJcIik7XHJcbiAgICBsZXQgbmV3X3ByZWZpeCA9IHByZWZpeC5yZXBsYWNlKC9bXjAtOS5dL2csIFwiXCIpO1xyXG4gICAgcmV0dXJuIG5ld19zdHIuaW5kZXhPZihuZXdfcHJlZml4KSA9PSAwO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU2hvd1Bhc3N3b3JkKGlucHV0OiBhbnkpIHtcclxuICAgIGlmIChpbnB1dC50eXBlID09PSBcInBhc3N3b3JkXCIpIHtcclxuICAgICAgaW5wdXQudHlwZSA9IFwidGV4dFwiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaW5wdXQudHlwZSA9IFwicGFzc3dvcmRcIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dQYXNzd29yZChpbnB1dDogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaW5wdXQudHlwZSA9PT0gXCJ0ZXh0XCI7XHJcbiAgfVxyXG5cclxuICBnZXQgdHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnByb3BzLnR5cGUgPz8gXCJ0ZXh0XCI7XHJcbiAgfVxyXG5cclxuICBnZXQgZmllbGRJRCgpIHtcclxuICAgIHJldHVybiBcImNvbnRyb2wtXCIgKyB0aGlzLmZpZWxkLmtleTtcclxuICB9XHJcblxyXG4gIGdldCBzdGF0dXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtQ29udHJvbC50b3VjaGVkICYmIHRoaXMuZm9ybUNvbnRyb2wuaW52YWxpZCA/IFwiZXJyb3JcIiA6IFwiXCI7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5TdWJzY3JpYmVBbGwkLm5leHQoKTtcclxuICAgIHRoaXMudW5TdWJzY3JpYmVBbGwkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuei1pbnB1dC1ncm91cFxyXG4gIFtuekFkZE9uQWZ0ZXJdPVwicHJvcHMubnpBZGRPbkFmdGVyXCJcclxuICBbbnpBZGRPbkJlZm9yZV09XCJwcm9wcy5uekFkZE9uQmVmb3JlXCJcclxuICBbbnpBZGRPbkFmdGVySWNvbl09XCJwcm9wcy5uekFkZE9uQWZ0ZXJJY29uXCJcclxuICBbbnpBZGRPbkJlZm9yZUljb25dPVwicHJvcHMubnpBZGRPbkJlZm9yZUljb25cIlxyXG4gIFtuelByZWZpeF09XCJwcm9wcy5uelByZWZpeFwiXHJcbiAgW256U3VmZml4XT1cInByb3BzLm56U3VmZml4XCJcclxuICBbbnpTaXplXT1cInByb3BzLm56U2l6ZSB8fCAnZGVmYXVsdCdcIlxyXG4+XHJcbiAgPGlucHV0XHJcbiAgICAgICNpbnB1dFxyXG4gICAgICBuei1pbnB1dFxyXG4gICAgICBbaWRdPVwiZmllbGRJRFwiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcclxuICAgICAgW21hc2tdPVwibWFza1wiXHJcbiAgICAgIFt0aG91c2FuZFNlcGFyYXRvcl09XCJwcm9wcy50aG91c2FuZFNlcGFyYXRvclwiXHJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICBbbnpTdGF0dXNdPVwic3RhdHVzXCJcclxuICAgICAgW2F0dHIuZGlzYWJsZWRdPVwicHJvcHMuZGlzYWJsZWRcIlxyXG4gICAgICBbcmVhZG9ubHldPVwicHJvcHMucmVhZG9ubHlcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicHJvcHMucGxhY2Vob2xkZXJcIlxyXG4gICAgICBbbnpCb3JkZXJsZXNzXT1cInByb3BzLm56Qm9yZGVybGVzc1wiXHJcbiAgLz5cclxuICA8ZGl2IGNsYXNzPVwic2hvdy1wYXNzd29yZFwiICpuZ0lmPVwicHJvcHMudHlwZSA9PT0gJ3Bhc3N3b3JkJ1wiPlxyXG4gICAgPHNwYW5cclxuICAgICAgbnotaWNvblxyXG4gICAgICBuelRoZW1lPVwib3V0bGluZVwiXHJcbiAgICAgIChjbGljayk9XCJjaGFuZ2VTaG93UGFzc3dvcmQoaW5wdXQpXCJcclxuICAgICAgW256VHlwZV09XCJzaG93UGFzc3dvcmQoaW5wdXQpID8gJ2V5ZS1pbnZpc2libGUnIDogJ2V5ZSdcIlxyXG4gICAgPjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9uei1pbnB1dC1ncm91cD5cclxuIl19
|