@seniorsistemas/angular-components 17.5.5 → 17.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +461 -378
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/dynamic-form/components/fields/bignumber/bignumber-field.module.d.ts +2 -0
  6. package/components/dynamic-form/components/fields/currency/currency-field.module.d.ts +2 -0
  7. package/components/dynamic-form/components/fields/number/number-field.component.d.ts +1 -1
  8. package/components/dynamic-form/components/fields/number/number-field.module.d.ts +2 -0
  9. package/components/dynamic-form/components/fields/text/text-field.module.d.ts +2 -0
  10. package/components/dynamic-form/configurations/addon-config.d.ts +4 -0
  11. package/esm2015/components/button/button.component.js +2 -2
  12. package/esm2015/components/dynamic-form/components/fields/bignumber/bignumber-field.component.js +96 -0
  13. package/esm2015/components/dynamic-form/components/fields/bignumber/bignumber-field.module.js +30 -0
  14. package/esm2015/components/dynamic-form/components/fields/currency/currency-field.module.js +20 -0
  15. package/esm2015/components/dynamic-form/components/fields/number/number-field.component.js +4 -4
  16. package/esm2015/components/dynamic-form/components/fields/number/number-field.module.js +32 -0
  17. package/esm2015/components/dynamic-form/components/fields/text/text-field.component.js +3 -3
  18. package/esm2015/components/dynamic-form/components/fields/text/text-field.module.js +30 -0
  19. package/esm2015/components/dynamic-form/configurations/addon-config.js +1 -1
  20. package/esm2015/components/dynamic-form/dynamic-form.js +9 -8
  21. package/esm2015/components/dynamic-form/dynamic-form.module.js +9 -13
  22. package/esm2015/seniorsistemas-angular-components.js +67 -60
  23. package/esm5/components/button/button.component.js +2 -2
  24. package/esm5/components/dynamic-form/components/fields/bignumber/bignumber-field.component.js +105 -0
  25. package/esm5/components/dynamic-form/components/fields/bignumber/bignumber-field.module.js +33 -0
  26. package/esm5/components/dynamic-form/components/fields/currency/currency-field.module.js +23 -0
  27. package/esm5/components/dynamic-form/components/fields/number/number-field.component.js +4 -4
  28. package/esm5/components/dynamic-form/components/fields/number/number-field.module.js +35 -0
  29. package/esm5/components/dynamic-form/components/fields/text/text-field.component.js +3 -3
  30. package/esm5/components/dynamic-form/components/fields/text/text-field.module.js +33 -0
  31. package/esm5/components/dynamic-form/configurations/addon-config.js +1 -1
  32. package/esm5/components/dynamic-form/dynamic-form.js +9 -8
  33. package/esm5/components/dynamic-form/dynamic-form.module.js +9 -13
  34. package/esm5/seniorsistemas-angular-components.js +67 -60
  35. package/fesm2015/seniorsistemas-angular-components.js +363 -299
  36. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  37. package/fesm5/seniorsistemas-angular-components.js +396 -320
  38. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  39. package/package.json +1 -1
  40. package/seniorsistemas-angular-components.d.ts +66 -59
  41. package/seniorsistemas-angular-components.metadata.json +1 -1
  42. package/esm2015/components/dynamic-form/components/fields/bignumber/number-field.component.js +0 -96
  43. package/esm5/components/dynamic-form/components/fields/bignumber/number-field.component.js +0 -105
  44. /package/components/dynamic-form/components/fields/bignumber/{number-field.component.d.ts → bignumber-field.component.d.ts} +0 -0
@@ -1,96 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
3
- import { Subject } from "rxjs";
4
- import { first, takeUntil } from "rxjs/operators";
5
- import { BaseFieldComponent } from "../base-field-component";
6
- import { FieldType } from "../../../configurations/field-type";
7
- import { LocaleService } from "../../../../locale/locale.service";
8
- let BignumberFieldComponent = class BignumberFieldComponent extends BaseFieldComponent {
9
- constructor(localeService) {
10
- super();
11
- this.localeService = localeService;
12
- this.onInput = new EventEmitter();
13
- this.onFocus = new EventEmitter();
14
- this.onComplete = new EventEmitter();
15
- this.ngUnsubscribe = new Subject();
16
- }
17
- ngOnInit() {
18
- this.onLocaleService();
19
- this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
20
- if (this.field.onFocus) {
21
- this.field.onFocus(event);
22
- }
23
- });
24
- this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
25
- if (this.field.onInput) {
26
- this.field.onInput(event);
27
- }
28
- });
29
- this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event) => {
30
- if (this.field.onComplete) {
31
- this.field.onComplete(event);
32
- }
33
- });
34
- }
35
- ngOnDestroy() {
36
- this.ngUnsubscribe.next();
37
- this.ngUnsubscribe.complete();
38
- }
39
- get fieldType() {
40
- return FieldType;
41
- }
42
- onLocaleService() {
43
- this.localeService
44
- .getLocale()
45
- .pipe(first())
46
- .subscribe({
47
- next: () => {
48
- var _a, _b, _c;
49
- if (!((_a = this.field.numberLocaleOptions) === null || _a === void 0 ? void 0 : _a.decimalSeparator)) {
50
- this.field.numberLocaleOptions = Object.assign(Object.assign({}, this.field.numberLocaleOptions), { decimalSeparator: this.localeService.getDecimalSeparator() });
51
- }
52
- if (!((_b = this.field.numberLocaleOptions) === null || _b === void 0 ? void 0 : _b.thousandsSeparator)) {
53
- this.field.numberLocaleOptions = Object.assign(Object.assign({}, this.field.numberLocaleOptions), { thousandsSeparator: this.localeService.getGroupingSeparator() });
54
- }
55
- if (!((_c = this.field.numberLocaleOptions) === null || _c === void 0 ? void 0 : _c.currencySymbol)) {
56
- this.field.numberLocaleOptions = Object.assign(Object.assign({}, this.field.numberLocaleOptions), { currencySymbol: this.field.type === FieldType.Integer || this.field.type === FieldType.Double ? "" : "R$" });
57
- }
58
- },
59
- error: () => {
60
- var _a;
61
- return (this.field.numberLocaleOptions = (_a = this.field.numberLocaleOptions) !== null && _a !== void 0 ? _a : {
62
- thousandsSeparator: ".",
63
- decimalSeparator: ",",
64
- currencySymbol: this.field.type === FieldType.Integer || this.field.type === FieldType.Double ? "" : "R$",
65
- });
66
- },
67
- });
68
- }
69
- };
70
- BignumberFieldComponent.ctorParameters = () => [
71
- { type: LocaleService }
72
- ];
73
- __decorate([
74
- Input()
75
- ], BignumberFieldComponent.prototype, "field", void 0);
76
- __decorate([
77
- Input()
78
- ], BignumberFieldComponent.prototype, "formControl", void 0);
79
- __decorate([
80
- Output()
81
- ], BignumberFieldComponent.prototype, "onInput", void 0);
82
- __decorate([
83
- Output()
84
- ], BignumberFieldComponent.prototype, "onFocus", void 0);
85
- __decorate([
86
- Output()
87
- ], BignumberFieldComponent.prototype, "onComplete", void 0);
88
- BignumberFieldComponent = __decorate([
89
- Component({
90
- template: "<p-inputMask\n *ngIf=\"field.mask; else noMask\"\n type=\"text\"\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [mask]=\"isFunction(field.mask) ? field.mask() : field.mask\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n [autoClear]=\"field.autoClear\">\n</p-inputMask>\n\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.leftAddon.label\">{{field.leftAddon.label}}</span>\n <span *ngIf=\"!field.leftAddon.label\" [ngClass]=\"field.leftAddon.icon\"></span>\n </span>\n </ng-container>\n\n <input\n [id]=\"(field.id || field.name)\"\n type=\"text\"\n [name]=\"field.name\"\n sBignumberInput\n [allowNegative]=\"field.allowNegative\"\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [scale]=\"isFunction(field.scale) ? trigger(field.scale) : field.scale\"\n [decimalSeparator]=\"field.numberLocaleOptions.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions.thousandsSeparator\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl\" />\n <ng-container *ngIf=\"field.rightAddon\">\n <span class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.rightAddon.label\">{{field.rightAddon.label}}</span>\n <span *ngIf=\"!field.rightAddon.label\" [ngClass]=\"field.rightAddon.icon\"></span>\n </span>\n </ng-container>\n </div>\n </ng-container>\n</ng-template>\n",
91
- encapsulation: ViewEncapsulation.None,
92
- styles: ["s-number-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:#e44328}"]
93
- })
94
- ], BignumberFieldComponent);
95
- export { BignumberFieldComponent };
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9iaWdudW1iZXIvbnVtYmVyLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0csT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSxrQkFBa0IsRUFBNEIsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBT2xFLElBQWEsdUJBQXVCLEdBQXBDLE1BQWEsdUJBQXdCLFNBQVEsa0JBQWtCO0lBZTNELFlBQTZCLGFBQTRCO1FBQ3JELEtBQUssRUFBRSxDQUFDO1FBRGlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBUmxELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVoRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxELGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUl0QyxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFB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LEtBQUssU0FBUyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7aUJBQzVHLENBQUMsQ0FBQTthQUFBO1NBQ1QsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUNKLENBQUE7O1lBdEUrQyxhQUFhOztBQWJ6RDtJQURDLEtBQUssRUFBRTtzREFDcUI7QUFFN0I7SUFEQyxLQUFLLEVBQUU7NERBQ3dCO0FBR2hDO0lBREMsTUFBTSxFQUFFO3dEQUM4QztBQUV2RDtJQURDLE1BQU0sRUFBRTt3REFDOEM7QUFFdkQ7SUFEQyxNQUFNLEVBQUU7MkRBQ2lEO0FBWGpELHVCQUF1QjtJQUxuQyxTQUFTLENBQUM7UUFDUCxpbkZBQTBDO1FBRTFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztLQUN4QyxDQUFDO0dBQ1csdUJBQXVCLENBcUZuQztTQXJGWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZmlyc3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnQsIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gXCIuLi9iYXNlLWZpZWxkLWNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkLXR5cGVcIjtcbmltcG9ydCB7IEJpZ251bWJlckZpZWxkIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9iaWdudW1iZXItZmllbGRcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vbG9jYWxlL2xvY2FsZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIm51bWJlci1maWVsZC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9udW1iZXItZmllbGQuY29tcG9uZW50LnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnbnVtYmVyRmllbGRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWVsZDogQmlnbnVtYmVyRmllbGQ7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm9uTG9jYWxlU2VydmljZSgpO1xuXG4gICAgICAgIHRoaXMub25Gb2N1cy5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5vbkZvY3VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5vbkZvY3VzKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vbklucHV0LnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQub25JbnB1dCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQub25JbnB1dChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25Db21wbGV0ZS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9uQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLm9uQ29tcGxldGUoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmllbGRUeXBlKCkge1xuICAgICAgICByZXR1cm4gRmllbGRUeXBlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25Mb2NhbGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRMb2NhbGUoKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LmRlY2ltYWxTZXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5sb2NhbGVTZXJ2aWNlLmdldERlY2ltYWxTZXBhcmF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucz8udGhvdXNhbmRzU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogdGhpcy5sb2NhbGVTZXJ2aWNlLmdldEdyb3VwaW5nU2VwYXJhdG9yKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LmN1cnJlbmN5U3ltYm9sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiB0aGlzLmZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5JbnRlZ2VyIHx8IHRoaXMuZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLkRvdWJsZSA/IFwiXCIgOiBcIlIkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyA/PyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IFwiLlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogXCIsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeVN5bWJvbDogdGhpcy5maWVsZC50eXBlID09PSBGaWVsZFR5cGUuSW50ZWdlciB8fCB0aGlzLmZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5Eb3VibGUgPyBcIlwiIDogXCJSJFwiLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,105 +0,0 @@
1
- import { __assign, __decorate, __extends } from "tslib";
2
- import { Component, EventEmitter, Input, Output, ViewEncapsulation } from "@angular/core";
3
- import { Subject } from "rxjs";
4
- import { first, takeUntil } from "rxjs/operators";
5
- import { BaseFieldComponent } from "../base-field-component";
6
- import { FieldType } from "../../../configurations/field-type";
7
- import { LocaleService } from "../../../../locale/locale.service";
8
- var BignumberFieldComponent = /** @class */ (function (_super) {
9
- __extends(BignumberFieldComponent, _super);
10
- function BignumberFieldComponent(localeService) {
11
- var _this = _super.call(this) || this;
12
- _this.localeService = localeService;
13
- _this.onInput = new EventEmitter();
14
- _this.onFocus = new EventEmitter();
15
- _this.onComplete = new EventEmitter();
16
- _this.ngUnsubscribe = new Subject();
17
- return _this;
18
- }
19
- BignumberFieldComponent.prototype.ngOnInit = function () {
20
- var _this = this;
21
- this.onLocaleService();
22
- this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe(function (event) {
23
- if (_this.field.onFocus) {
24
- _this.field.onFocus(event);
25
- }
26
- });
27
- this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe(function (event) {
28
- if (_this.field.onInput) {
29
- _this.field.onInput(event);
30
- }
31
- });
32
- this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe(function (event) {
33
- if (_this.field.onComplete) {
34
- _this.field.onComplete(event);
35
- }
36
- });
37
- };
38
- BignumberFieldComponent.prototype.ngOnDestroy = function () {
39
- this.ngUnsubscribe.next();
40
- this.ngUnsubscribe.complete();
41
- };
42
- Object.defineProperty(BignumberFieldComponent.prototype, "fieldType", {
43
- get: function () {
44
- return FieldType;
45
- },
46
- enumerable: true,
47
- configurable: true
48
- });
49
- BignumberFieldComponent.prototype.onLocaleService = function () {
50
- var _this = this;
51
- this.localeService
52
- .getLocale()
53
- .pipe(first())
54
- .subscribe({
55
- next: function () {
56
- var _a, _b, _c;
57
- if (!((_a = _this.field.numberLocaleOptions) === null || _a === void 0 ? void 0 : _a.decimalSeparator)) {
58
- _this.field.numberLocaleOptions = __assign(__assign({}, _this.field.numberLocaleOptions), { decimalSeparator: _this.localeService.getDecimalSeparator() });
59
- }
60
- if (!((_b = _this.field.numberLocaleOptions) === null || _b === void 0 ? void 0 : _b.thousandsSeparator)) {
61
- _this.field.numberLocaleOptions = __assign(__assign({}, _this.field.numberLocaleOptions), { thousandsSeparator: _this.localeService.getGroupingSeparator() });
62
- }
63
- if (!((_c = _this.field.numberLocaleOptions) === null || _c === void 0 ? void 0 : _c.currencySymbol)) {
64
- _this.field.numberLocaleOptions = __assign(__assign({}, _this.field.numberLocaleOptions), { currencySymbol: _this.field.type === FieldType.Integer || _this.field.type === FieldType.Double ? "" : "R$" });
65
- }
66
- },
67
- error: function () {
68
- var _a;
69
- return (_this.field.numberLocaleOptions = (_a = _this.field.numberLocaleOptions) !== null && _a !== void 0 ? _a : {
70
- thousandsSeparator: ".",
71
- decimalSeparator: ",",
72
- currencySymbol: _this.field.type === FieldType.Integer || _this.field.type === FieldType.Double ? "" : "R$",
73
- });
74
- },
75
- });
76
- };
77
- BignumberFieldComponent.ctorParameters = function () { return [
78
- { type: LocaleService }
79
- ]; };
80
- __decorate([
81
- Input()
82
- ], BignumberFieldComponent.prototype, "field", void 0);
83
- __decorate([
84
- Input()
85
- ], BignumberFieldComponent.prototype, "formControl", void 0);
86
- __decorate([
87
- Output()
88
- ], BignumberFieldComponent.prototype, "onInput", void 0);
89
- __decorate([
90
- Output()
91
- ], BignumberFieldComponent.prototype, "onFocus", void 0);
92
- __decorate([
93
- Output()
94
- ], BignumberFieldComponent.prototype, "onComplete", void 0);
95
- BignumberFieldComponent = __decorate([
96
- Component({
97
- template: "<p-inputMask\n *ngIf=\"field.mask; else noMask\"\n type=\"text\"\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [mask]=\"isFunction(field.mask) ? field.mask() : field.mask\"\n [placeholder]=\"field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl\"\n [autoClear]=\"field.autoClear\">\n</p-inputMask>\n\n<ng-template #noMask>\n <ng-container>\n <div class=\"ui-inputgroup\">\n <ng-container *ngIf=\"field.leftAddon\">\n <span class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.leftAddon.label\">{{field.leftAddon.label}}</span>\n <span *ngIf=\"!field.leftAddon.label\" [ngClass]=\"field.leftAddon.icon\"></span>\n </span>\n </ng-container>\n\n <input\n [id]=\"(field.id || field.name)\"\n type=\"text\"\n [name]=\"field.name\"\n sBignumberInput\n [allowNegative]=\"field.allowNegative\"\n [precision]=\"isFunction(field.precision) ? trigger(field.precision) : field.precision\"\n [scale]=\"isFunction(field.scale) ? trigger(field.scale) : field.scale\"\n [decimalSeparator]=\"field.numberLocaleOptions.decimalSeparator\"\n [thousandsSeparator]=\"field.numberLocaleOptions.thousandsSeparator\"\n [alignTo]=\"field.alignTo\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"field.onBlur ? field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl\" />\n <ng-container *ngIf=\"field.rightAddon\">\n <span class=\"ui-inputgroup-addon\">\n <span *ngIf=\"field.rightAddon.label\">{{field.rightAddon.label}}</span>\n <span *ngIf=\"!field.rightAddon.label\" [ngClass]=\"field.rightAddon.icon\"></span>\n </span>\n </ng-container>\n </div>\n </ng-container>\n</ng-template>\n",
98
- encapsulation: ViewEncapsulation.None,
99
- styles: ["s-number-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:#e44328}"]
100
- })
101
- ], BignumberFieldComponent);
102
- return BignumberFieldComponent;
103
- }(BaseFieldComponent));
104
- export { BignumberFieldComponent };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9iaWdudW1iZXIvbnVtYmVyLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHN0csT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSxrQkFBa0IsRUFBNEIsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBT2xFO0lBQTZDLDJDQUFrQjtJQWUzRCxpQ0FBNkIsYUFBNEI7UUFBekQsWUFDSSxpQkFBTyxTQUNWO1FBRjRCLG1CQUFhLEdBQWIsYUFBYSxDQUFlO1FBUmxELGFBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVoRCxhQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsZ0JBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVsRCxtQkFBYSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7O0lBSXRDLENBQUM7SUFFTSwwQ0FBUSxHQUFmO1FBQUEsaUJBb0JDO1FBbkJHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FB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T0FBTyxJQUFJLEtBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSTtpQkFDNUcsQ0FBQyxDQUFBO2FBQUE7U0FDVCxDQUFDLENBQUM7SUFDWCxDQUFDOztnQkFyRTJDLGFBQWE7O0lBYnpEO1FBREMsS0FBSyxFQUFFOzBEQUNxQjtJQUU3QjtRQURDLEtBQUssRUFBRTtnRUFDd0I7SUFHaEM7UUFEQyxNQUFNLEVBQUU7NERBQzhDO0lBRXZEO1FBREMsTUFBTSxFQUFFOzREQUM4QztJQUV2RDtRQURDLE1BQU0sRUFBRTsrREFDaUQ7SUFYakQsdUJBQXVCO1FBTG5DLFNBQVMsQ0FBQztZQUNQLGluRkFBMEM7WUFFMUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O1NBQ3hDLENBQUM7T0FDVyx1QkFBdUIsQ0FxRm5DO0lBQUQsOEJBQUM7Q0FBQSxBQXJGRCxDQUE2QyxrQkFBa0IsR0FxRjlEO1NBckZZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudCwgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSBcIi4uL2Jhc2UtZmllbGQtY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi4vLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGQtdHlwZVwiO1xuaW1wb3J0IHsgQmlnbnVtYmVyRmllbGQgfSBmcm9tIFwiLi4vLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2JpZ251bWJlci1maWVsZFwiO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9sb2NhbGUvbG9jYWxlLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6IFwibnVtYmVyLWZpZWxkLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL251bWJlci1maWVsZC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdudW1iZXJGaWVsZENvbXBvbmVudCBleHRlbmRzIEJhc2VGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkOiBCaWdudW1iZXJGaWVsZDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25JbnB1dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNvbXBsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMub25Mb2NhbGVTZXJ2aWNlKCk7XG5cbiAgICAgICAgdGhpcy5vbkZvY3VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9uRm9jdXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLm9uRm9jdXMoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9uSW5wdXQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5vbklucHV0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5vbklucHV0KGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vbkNvbXBsZXRlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQub25Db21wbGV0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQub25Db21wbGV0ZShldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmaWVsZFR5cGUoKSB7XG4gICAgICAgIHJldHVybiBGaWVsZFR5cGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkxvY2FsZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZVxuICAgICAgICAgICAgLmdldExvY2FsZSgpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0RGVjaW1hbFNlcGFyYXRvcigpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0R3JvdXBpbmdTZXBhcmF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucz8uY3VycmVuY3lTeW1ib2wpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6IHRoaXMuZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLkludGVnZXIgfHwgdGhpcy5maWVsZC50eXBlID09PSBGaWVsZFR5cGUuRG91YmxlID8gXCJcIiA6IFwiUiRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAodGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zID0gdGhpcy5maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zID8/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogXCIuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yOiBcIixcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiB0aGlzLmZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5JbnRlZ2VyIHx8IHRoaXMuZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLkRvdWJsZSA/IFwiXCIgOiBcIlIkXCIsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19