ngx-sumax-erp-components 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2022/lib/date-picker/CustomDatePickerFormat.mjs +43 -0
- package/esm2022/lib/date-picker/CustomDatePickerI18n.mjs +50 -0
- package/esm2022/lib/date-picker/date-picker.component.mjs +366 -0
- package/esm2022/lib/date-picker/date-picker.mjs +3 -0
- package/esm2022/lib/date-picker/date-picker.module.mjs +69 -0
- package/esm2022/lib/date-picker/date-picker.service.mjs +68 -0
- package/esm2022/lib/date-time-picker/date-time-picker.component.mjs +311 -0
- package/esm2022/lib/date-time-picker/date-time-picker.mjs +3 -0
- package/esm2022/lib/date-time-picker/date-time-picker.module.mjs +76 -0
- package/esm2022/lib/date-time-picker/date-time-picker.service.mjs +64 -0
- package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.component.mjs +1140 -0
- package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.module.mjs +93 -0
- package/esm2022/lib/date-time-picker-editable/date-time-picker-editable.service.mjs +85 -0
- package/esm2022/lib/dialog-ag-grid-search/dialog-ag-grid-search.component.mjs +283 -0
- package/esm2022/lib/dialog-ag-grid-search/dialog-ag-grid-search.module.mjs +23 -0
- package/esm2022/lib/error-message/error-message.component.mjs +24 -0
- package/esm2022/lib/error-message/error-message.module.mjs +19 -0
- package/esm2022/lib/input-number/input-number.component.mjs +351 -0
- package/esm2022/lib/input-number/input-number.mjs +3 -0
- package/esm2022/lib/input-number/input-number.module.mjs +65 -0
- package/esm2022/lib/input-number/input-number.service.mjs +68 -0
- package/esm2022/lib/input-text/input-text.component.mjs +345 -0
- package/esm2022/lib/input-text/input-text.mjs +3 -0
- package/esm2022/lib/input-text/input-text.module.mjs +73 -0
- package/esm2022/lib/input-text/input-text.service.mjs +96 -0
- package/esm2022/lib/ng-select-multiple/ng-select-multiple.component.mjs +375 -0
- package/esm2022/lib/ng-select-multiple/ng-select-multiple.mjs +3 -0
- package/esm2022/lib/ng-select-multiple/ng-select-multiple.module.mjs +69 -0
- package/esm2022/lib/ng-select-multiple/ng-select-multiple.service.mjs +96 -0
- package/esm2022/lib/ng-select-simple/ng-select-simple.component.mjs +461 -0
- package/esm2022/lib/ng-select-simple/ng-select-simple.mjs +3 -0
- package/esm2022/lib/ng-select-simple/ng-select-simple.module.mjs +53 -0
- package/esm2022/lib/ng-select-simple/ng-select-simple.service.mjs +138 -0
- package/esm2022/lib/sc-ag-grid/cell-editors/container-shared/container-shared.component.mjs +144 -0
- package/esm2022/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayCustom.component.mjs +27 -0
- package/esm2022/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayDefault.component.mjs +22 -0
- package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-button/sc-cell-render-button.component.mjs +242 -0
- package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-checkbox-list/sc-cell-render-checkbox-list.component.mjs +62 -0
- package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-config.mjs +27 -0
- package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-select/sc-cell-render-select.component.mjs +70 -0
- package/esm2022/lib/sc-ag-grid/cell-render/sc-cell-render-toggle/sc-cell-render-toggle.component.mjs +45 -0
- package/esm2022/lib/sc-ag-grid/directives/scAgGrid.directive.mjs +25 -0
- package/esm2022/lib/sc-ag-grid/index.mjs +14 -0
- package/esm2022/lib/sc-ag-grid/input-search/input-search.component.mjs +20 -0
- package/esm2022/lib/sc-ag-grid/input-search/input-search.module.mjs +31 -0
- package/esm2022/lib/sc-ag-grid/sc-ag-grid-customizable/sc-ag-grid-customizable.component.mjs +564 -0
- package/esm2022/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.component.mjs +80 -0
- package/esm2022/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.module.mjs +31 -0
- package/esm2022/lib/sc-ag-grid/sc-ag-grid.module.mjs +118 -0
- package/esm2022/lib/sc-ag-grid/sc-grid.uitl.mjs +10 -0
- package/esm2022/lib/sc-wizard/sc-wizard.component.mjs +75 -0
- package/esm2022/lib/sc-wizard/sc-wizard.module.mjs +44 -0
- package/esm2022/lib/text-area/text-area.component.mjs +272 -0
- package/esm2022/lib/text-area/text-area.mjs +3 -0
- package/esm2022/lib/text-area/text-area.module.mjs +60 -0
- package/esm2022/lib/text-area/text-area.service.mjs +54 -0
- package/esm2022/lib/tooltip-message/tooltip-message.component.mjs +25 -0
- package/esm2022/lib/tooltip-message/tooltip-message.module.mjs +21 -0
- package/esm2022/lib/utils/DateTimeModel.mjs +56 -0
- package/esm2022/lib/utils/DateTimePickerEditable.mjs +3 -0
- package/esm2022/lib/utils/DateUtil.mjs +196 -0
- package/esm2022/lib/utils/INgSelect.mjs +2 -0
- package/esm2022/lib/utils/IScAgGrid.mjs +7 -0
- package/esm2022/lib/utils/ScWizardBase.mjs +14 -0
- package/esm2022/lib/utils/SharedComponentsUtil.mjs +38 -0
- package/esm2022/lib/utils/ValidateUtil.mjs +18 -0
- package/esm2022/lib/utils/message-util.service.mjs +75 -0
- package/esm2022/ngx-sumax-erp-components.mjs +5 -0
- package/esm2022/public-api.mjs +33 -0
- package/fesm2022/ngx-sumax-erp-components.mjs +7045 -0
- package/fesm2022/ngx-sumax-erp-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/date-picker/CustomDatePickerFormat.d.ts +11 -0
- package/lib/date-picker/CustomDatePickerI18n.d.ts +25 -0
- package/lib/date-picker/date-picker.component.d.ts +108 -0
- package/lib/date-picker/date-picker.d.ts +10 -0
- package/lib/date-picker/date-picker.module.d.ts +18 -0
- package/lib/date-picker/date-picker.service.d.ts +22 -0
- package/lib/date-time-picker/date-time-picker.component.d.ts +96 -0
- package/lib/date-time-picker/date-time-picker.d.ts +9 -0
- package/lib/date-time-picker/date-time-picker.module.d.ts +18 -0
- package/lib/date-time-picker/date-time-picker.service.d.ts +20 -0
- package/lib/date-time-picker-editable/date-time-picker-editable.component.d.ts +118 -0
- package/lib/date-time-picker-editable/date-time-picker-editable.module.d.ts +16 -0
- package/lib/date-time-picker-editable/date-time-picker-editable.service.d.ts +27 -0
- package/lib/dialog-ag-grid-search/dialog-ag-grid-search.component.d.ts +82 -0
- package/lib/dialog-ag-grid-search/dialog-ag-grid-search.module.d.ts +13 -0
- package/lib/error-message/error-message.component.d.ts +13 -0
- package/lib/error-message/error-message.module.d.ts +9 -0
- package/lib/input-number/input-number.component.d.ts +74 -0
- package/lib/input-number/input-number.d.ts +10 -0
- package/lib/input-number/input-number.module.d.ts +17 -0
- package/lib/input-number/input-number.service.d.ts +22 -0
- package/lib/input-text/input-text.component.d.ts +85 -0
- package/lib/input-text/input-text.d.ts +17 -0
- package/lib/input-text/input-text.module.d.ts +18 -0
- package/lib/input-text/input-text.service.d.ts +35 -0
- package/lib/ng-select-multiple/ng-select-multiple.component.d.ts +83 -0
- package/lib/ng-select-multiple/ng-select-multiple.d.ts +14 -0
- package/lib/ng-select-multiple/ng-select-multiple.module.d.ts +17 -0
- package/lib/ng-select-multiple/ng-select-multiple.service.d.ts +30 -0
- package/lib/ng-select-simple/ng-select-simple.component.d.ts +124 -0
- package/lib/ng-select-simple/ng-select-simple.d.ts +20 -0
- package/lib/ng-select-simple/ng-select-simple.module.d.ts +17 -0
- package/lib/ng-select-simple/ng-select-simple.service.d.ts +42 -0
- package/lib/sc-ag-grid/cell-editors/container-shared/container-shared.component.d.ts +61 -0
- package/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayCustom.component.d.ts +10 -0
- package/lib/sc-ag-grid/cell-render/no-rows-overlay/noRowsOverlayDefault.component.d.ts +9 -0
- package/lib/sc-ag-grid/cell-render/sc-cell-render-button/sc-cell-render-button.component.d.ts +49 -0
- package/lib/sc-ag-grid/cell-render/sc-cell-render-checkbox-list/sc-cell-render-checkbox-list.component.d.ts +11 -0
- package/lib/sc-ag-grid/cell-render/sc-cell-render-config.d.ts +20 -0
- package/lib/sc-ag-grid/cell-render/sc-cell-render-select/sc-cell-render-select.component.d.ts +16 -0
- package/lib/sc-ag-grid/cell-render/sc-cell-render-toggle/sc-cell-render-toggle.component.d.ts +16 -0
- package/lib/sc-ag-grid/directives/scAgGrid.directive.d.ts +10 -0
- package/lib/sc-ag-grid/index.d.ts +13 -0
- package/lib/sc-ag-grid/input-search/input-search.component.d.ts +11 -0
- package/lib/sc-ag-grid/input-search/input-search.module.d.ts +9 -0
- package/lib/sc-ag-grid/sc-ag-grid-customizable/sc-ag-grid-customizable.component.d.ts +191 -0
- package/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.component.d.ts +25 -0
- package/lib/sc-ag-grid/sc-ag-grid-pagination/sc-ag-grid-pagination.module.d.ts +9 -0
- package/lib/sc-ag-grid/sc-ag-grid.module.d.ts +32 -0
- package/lib/sc-ag-grid/sc-grid.uitl.d.ts +5 -0
- package/lib/sc-wizard/sc-wizard.component.d.ts +38 -0
- package/lib/sc-wizard/sc-wizard.module.d.ts +13 -0
- package/lib/text-area/text-area.component.d.ts +66 -0
- package/lib/text-area/text-area.d.ts +8 -0
- package/lib/text-area/text-area.module.d.ts +16 -0
- package/lib/text-area/text-area.service.d.ts +18 -0
- package/lib/tooltip-message/tooltip-message.component.d.ts +13 -0
- package/lib/tooltip-message/tooltip-message.module.d.ts +11 -0
- package/lib/utils/DateTimeModel.d.ts +16 -0
- package/lib/utils/DateTimePickerEditable.d.ts +13 -0
- package/lib/utils/DateUtil.d.ts +37 -0
- package/lib/utils/INgSelect.d.ts +6 -0
- package/lib/utils/IScAgGrid.d.ts +65 -0
- package/lib/utils/ScWizardBase.d.ts +9 -0
- package/lib/utils/SharedComponentsUtil.d.ts +6 -0
- package/lib/utils/ValidateUtil.d.ts +4 -0
- package/lib/utils/message-util.service.d.ts +10 -0
- package/package.json +32 -0
- package/public-api.d.ts +29 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class errorMessageComponent {
|
|
5
|
+
constructor() { }
|
|
6
|
+
ngOnInit() { }
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: errorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: errorMessageComponent, selector: "error-message", inputs: { tooltipMessage: "tooltipMessage", validatorMessage: "validatorMessage", controls: "controls", label: "label", submitted: "submitted" }, ngImport: i0, template: "<!-- VALIDATOR GENERICOS -->\r\n<small *ngIf=\"validatorMessage && controls?.errors?.required && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El campo {{ label }} es requerido<br />\r\n</small>\r\n<small *ngIf=\"validatorMessage && controls?.errors?.minlength && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El campo {{ label }} requiere {{ controls.errors.minlength.requiredLength }} caracteres minimo.<br />\r\n</small>\r\n<small *ngIf=\"validatorMessage && controls?.errors?.maxlength && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El campo {{ label }} requiere {{ controls.errors.maxlength.requiredLength }} caracteres maximo.<br />\r\n</small>\r\n<small *ngIf=\"validatorMessage && controls?.errors?.pattern && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El campo {{ label }} tiene formato incorrecto.<br />\r\n</small>\r\n<small *ngIf=\"validatorMessage && controls?.errors?.min && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El valor minimo del campo {{ label }} es: {{ controls?.errors?.min.min }}\r\n</small>\r\n<small *ngIf=\"validatorMessage && controls?.errors?.max && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El valor m\u00E1ximo del campo {{ label }} es: {{ controls?.errors?.max.max }}\r\n</small>\r\n<!-- CUSTOM VALIDATOR -->\r\n<small\r\n *ngIf=\"validatorMessage && controls?.errors?.customValidator && (controls?.dirty || controls?.touched) && submitted\"\r\n class=\"text-danger\">\r\n {{ controls.errors?.customValidator.message }}<br />\r\n</small>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: errorMessageComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: "error-message", template: "<!-- VALIDATOR GENERICOS -->\r\n<small *ngIf=\"validatorMessage && controls?.errors?.required && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El campo {{ label }} es requerido<br />\r\n</small>\r\n<small *ngIf=\"validatorMessage && controls?.errors?.minlength && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El campo {{ label }} requiere {{ controls.errors.minlength.requiredLength }} caracteres minimo.<br />\r\n</small>\r\n<small *ngIf=\"validatorMessage && controls?.errors?.maxlength && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El campo {{ label }} requiere {{ controls.errors.maxlength.requiredLength }} caracteres maximo.<br />\r\n</small>\r\n<small *ngIf=\"validatorMessage && controls?.errors?.pattern && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El campo {{ label }} tiene formato incorrecto.<br />\r\n</small>\r\n<small *ngIf=\"validatorMessage && controls?.errors?.min && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El valor minimo del campo {{ label }} es: {{ controls?.errors?.min.min }}\r\n</small>\r\n<small *ngIf=\"validatorMessage && controls?.errors?.max && (controls?.dirty || controls?.touched) && submitted\" class=\"text-danger\">\r\n El valor m\u00E1ximo del campo {{ label }} es: {{ controls?.errors?.max.max }}\r\n</small>\r\n<!-- CUSTOM VALIDATOR -->\r\n<small\r\n *ngIf=\"validatorMessage && controls?.errors?.customValidator && (controls?.dirty || controls?.touched) && submitted\"\r\n class=\"text-danger\">\r\n {{ controls.errors?.customValidator.message }}<br />\r\n</small>\r\n" }]
|
|
13
|
+
}], ctorParameters: () => [], propDecorators: { tooltipMessage: [{
|
|
14
|
+
type: Input
|
|
15
|
+
}], validatorMessage: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}], controls: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}], label: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], submitted: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3pELE1BQU0sT0FBTyxxQkFBcUI7SUFPaEMsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQzsrR0FURixxQkFBcUI7bUdBQXJCLHFCQUFxQix1TUNQbEMsNnFEQXlCQTs7NEZEbEJhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlO3dEQUtoQixjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImVycm9yLW1lc3NhZ2VcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIGVycm9yTWVzc2FnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgdG9vbHRpcE1lc3NhZ2U6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgdmFsaWRhdG9yTWVzc2FnZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBjb250cm9sczogYW55O1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBhbnk7XHJcbiAgQElucHV0KCkgc3VibWl0dGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxufVxyXG4iLCI8IS0tIFZBTElEQVRPUiBHRU5FUklDT1MgLS0+XHJcbjxzbWFsbCAqbmdJZj1cInZhbGlkYXRvck1lc3NhZ2UgJiYgY29udHJvbHM/LmVycm9ycz8ucmVxdWlyZWQgJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gIEVsIGNhbXBvIHt7IGxhYmVsIH19IGVzIHJlcXVlcmlkbzxiciAvPlxyXG48L3NtYWxsPlxyXG48c21hbGwgKm5nSWY9XCJ2YWxpZGF0b3JNZXNzYWdlICYmIGNvbnRyb2xzPy5lcnJvcnM/Lm1pbmxlbmd0aCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgRWwgY2FtcG8ge3sgbGFiZWwgfX0gcmVxdWllcmUge3sgY29udHJvbHMuZXJyb3JzLm1pbmxlbmd0aC5yZXF1aXJlZExlbmd0aCB9fSBjYXJhY3RlcmVzIG1pbmltby48YnIgLz5cclxuPC9zbWFsbD5cclxuPHNtYWxsICpuZ0lmPVwidmFsaWRhdG9yTWVzc2FnZSAmJiBjb250cm9scz8uZXJyb3JzPy5tYXhsZW5ndGggJiYgKGNvbnRyb2xzPy5kaXJ0eSB8fCBjb250cm9scz8udG91Y2hlZCkgJiYgc3VibWl0dGVkXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiPlxyXG4gIEVsIGNhbXBvIHt7IGxhYmVsIH19IHJlcXVpZXJlIHt7IGNvbnRyb2xzLmVycm9ycy5tYXhsZW5ndGgucmVxdWlyZWRMZW5ndGggfX0gY2FyYWN0ZXJlcyBtYXhpbW8uPGJyIC8+XHJcbjwvc21hbGw+XHJcbjxzbWFsbCAqbmdJZj1cInZhbGlkYXRvck1lc3NhZ2UgJiYgY29udHJvbHM/LmVycm9ycz8ucGF0dGVybiAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgRWwgY2FtcG8ge3sgbGFiZWwgfX0gdGllbmUgZm9ybWF0byBpbmNvcnJlY3RvLjxiciAvPlxyXG48L3NtYWxsPlxyXG48c21hbGwgKm5nSWY9XCJ2YWxpZGF0b3JNZXNzYWdlICYmIGNvbnRyb2xzPy5lcnJvcnM/Lm1pbiAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgRWwgdmFsb3IgbWluaW1vIGRlbCBjYW1wbyB7eyBsYWJlbCB9fSBlczoge3sgY29udHJvbHM/LmVycm9ycz8ubWluLm1pbiB9fVxyXG48L3NtYWxsPlxyXG48c21hbGwgKm5nSWY9XCJ2YWxpZGF0b3JNZXNzYWdlICYmIGNvbnRyb2xzPy5lcnJvcnM/Lm1heCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgRWwgdmFsb3IgbcOheGltbyBkZWwgY2FtcG8ge3sgbGFiZWwgfX0gZXM6IHt7IGNvbnRyb2xzPy5lcnJvcnM/Lm1heC5tYXggfX1cclxuPC9zbWFsbD5cclxuPCEtLSBDVVNUT00gVkFMSURBVE9SICAtLT5cclxuPHNtYWxsXHJcbiAgKm5nSWY9XCJ2YWxpZGF0b3JNZXNzYWdlICYmIGNvbnRyb2xzPy5lcnJvcnM/LmN1c3RvbVZhbGlkYXRvciAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIlxyXG4gIGNsYXNzPVwidGV4dC1kYW5nZXJcIj5cclxuICB7eyBjb250cm9scy5lcnJvcnM/LmN1c3RvbVZhbGlkYXRvci5tZXNzYWdlIH19PGJyIC8+XHJcbjwvc21hbGw+XHJcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CommonModule } from "@angular/common";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { RouterModule } from "@angular/router";
|
|
4
|
+
import { errorMessageComponent } from "./error-message.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ErrorMessageModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ErrorMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ErrorMessageModule, declarations: [errorMessageComponent], imports: [CommonModule, RouterModule], exports: [errorMessageComponent] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ErrorMessageModule, imports: [CommonModule, RouterModule] }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ErrorMessageModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [errorMessageComponent],
|
|
15
|
+
imports: [CommonModule, RouterModule],
|
|
16
|
+
exports: [errorMessageComponent],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQU9sRSxNQUFNLE9BQU8sa0JBQWtCOytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFKZCxxQkFBcUIsYUFDMUIsWUFBWSxFQUFFLFlBQVksYUFDMUIscUJBQXFCO2dIQUVwQixrQkFBa0IsWUFIbkIsWUFBWSxFQUFFLFlBQVk7OzRGQUd6QixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IGVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gXCIuL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW2Vycm9yTWVzc2FnZUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlXSxcclxuICBleHBvcnRzOiBbZXJyb3JNZXNzYWdlQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9yTWVzc2FnZU1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
import { Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { SharedComponentsUtil } from '../utils/SharedComponentsUtil';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../utils/message-util.service";
|
|
6
|
+
import * as i2 from "./input-number.service";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "@angular/forms";
|
|
9
|
+
import * as i5 from "../error-message/error-message.component";
|
|
10
|
+
import * as i6 from "../tooltip-message/tooltip-message.component";
|
|
11
|
+
import * as i7 from "@angular/material/tooltip";
|
|
12
|
+
import * as i8 from "ngx-mask";
|
|
13
|
+
export class InputNumberComponent {
|
|
14
|
+
constructor(messageUtilService, inputNumberService, _render) {
|
|
15
|
+
this.messageUtilService = messageUtilService;
|
|
16
|
+
this.inputNumberService = inputNumberService;
|
|
17
|
+
this._render = _render;
|
|
18
|
+
this.showLabel = true;
|
|
19
|
+
this.label = null;
|
|
20
|
+
this.btnEnable = false;
|
|
21
|
+
this.autocomplete = 'no-autocomplete-input-number';
|
|
22
|
+
this.bold = false;
|
|
23
|
+
this.decimals = -1;
|
|
24
|
+
this.formatCero = false;
|
|
25
|
+
this.maxLength = null;
|
|
26
|
+
this.required = false;
|
|
27
|
+
this.disabled = false;
|
|
28
|
+
this.readonly = false;
|
|
29
|
+
this.validatorMessage = false;
|
|
30
|
+
this.tooltipMessage = true;
|
|
31
|
+
this.submitted = true;
|
|
32
|
+
this.labelInfo = false;
|
|
33
|
+
this.textLabelInfo = '';
|
|
34
|
+
this.validatorAlert = false;
|
|
35
|
+
this.setNgClass = '';
|
|
36
|
+
this.placeholder = '';
|
|
37
|
+
this.allowNegativeNumbers = false;
|
|
38
|
+
this.onNext = new EventEmitter();
|
|
39
|
+
this.onBack = new EventEmitter();
|
|
40
|
+
this.change = new EventEmitter();
|
|
41
|
+
this.onchange = new EventEmitter();
|
|
42
|
+
this.blur = new EventEmitter();
|
|
43
|
+
this.onfocus = new EventEmitter();
|
|
44
|
+
this.onfocusout = new EventEmitter();
|
|
45
|
+
this.sharedComponentsUtil = new SharedComponentsUtil();
|
|
46
|
+
this.format = 'separator';
|
|
47
|
+
this.controls = null;
|
|
48
|
+
this._initValue = false;
|
|
49
|
+
this.onChange = (_) => { };
|
|
50
|
+
this.onValidationChange = () => { };
|
|
51
|
+
this.onTouch = () => { };
|
|
52
|
+
this.focus = () => {
|
|
53
|
+
this.inputText.nativeElement.focus();
|
|
54
|
+
this.inputText.nativeElement.select();
|
|
55
|
+
};
|
|
56
|
+
this.decimals = this.inputNumberService.getDecimals();
|
|
57
|
+
this.formatCero = this.inputNumberService.getFormatCero();
|
|
58
|
+
this.btnEnable = this.inputNumberService.getBtnEnable();
|
|
59
|
+
this.bold = this.inputNumberService.getBold();
|
|
60
|
+
this.validatorMessage = this.inputNumberService.getValidatorMessage();
|
|
61
|
+
this.tooltipMessage = this.inputNumberService.getTooltipMessage();
|
|
62
|
+
this.submitted = this.inputNumberService.getSubmitted();
|
|
63
|
+
this.validatorAlert = this.inputNumberService.getValidatorAlert();
|
|
64
|
+
}
|
|
65
|
+
ngOnChanges(changes) {
|
|
66
|
+
if (changes['submitted']) {
|
|
67
|
+
if (this.controls != null && changes['submitted'].currentValue) {
|
|
68
|
+
this.controls.markAsDirty();
|
|
69
|
+
this.controls.markAsTouched();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
ngOnInit() {
|
|
74
|
+
if (this.decimals != -1) {
|
|
75
|
+
this.format = 'separator' + '.' + this.decimals.toString();
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.format = 'separator';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
ngAfterViewInit() { }
|
|
82
|
+
onBlur(value) {
|
|
83
|
+
this.onTouch();
|
|
84
|
+
if ((value == '' || value == null) && this.formatCero) {
|
|
85
|
+
value = 0;
|
|
86
|
+
}
|
|
87
|
+
const newValue = this.formatNumber(value);
|
|
88
|
+
if (this.value !== newValue) {
|
|
89
|
+
this.value = newValue;
|
|
90
|
+
this.onChange(this.emitValue(newValue));
|
|
91
|
+
}
|
|
92
|
+
// if (newValue) {
|
|
93
|
+
this.onValidationChange();
|
|
94
|
+
this.blur.emit(this.emitValue(newValue));
|
|
95
|
+
// }
|
|
96
|
+
}
|
|
97
|
+
onFocus(evt) {
|
|
98
|
+
this.inputText.nativeElement.select();
|
|
99
|
+
this.onfocus.emit(evt);
|
|
100
|
+
}
|
|
101
|
+
onInput(evt) {
|
|
102
|
+
this.onTouch();
|
|
103
|
+
this.onChange(this.emitValue(evt));
|
|
104
|
+
this.onValidationChange();
|
|
105
|
+
this.change.emit(this.emitValue(evt));
|
|
106
|
+
this.onchange.emit(this.emitValue(evt));
|
|
107
|
+
}
|
|
108
|
+
writeValue(value) {
|
|
109
|
+
if (value != null) {
|
|
110
|
+
this.value = this.formatNumber(value);
|
|
111
|
+
if (this.value === 'NaN') {
|
|
112
|
+
if (this.controls) {
|
|
113
|
+
this._render.setProperty(this.controls, 'value', null);
|
|
114
|
+
}
|
|
115
|
+
throw new Error('Not a number');
|
|
116
|
+
}
|
|
117
|
+
if (this.controls) {
|
|
118
|
+
this._render.setProperty(this.controls, 'value', Number(this.value));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
this.value = null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
registerOnChange(fn) {
|
|
126
|
+
this.onChange = fn;
|
|
127
|
+
}
|
|
128
|
+
registerOnTouched(fn) {
|
|
129
|
+
this.onTouch = fn;
|
|
130
|
+
}
|
|
131
|
+
setDisabledState(isDisabled) {
|
|
132
|
+
this.disabled = isDisabled;
|
|
133
|
+
}
|
|
134
|
+
validate(control) {
|
|
135
|
+
this.controls = control;
|
|
136
|
+
if (!this._initValue) {
|
|
137
|
+
if (this.value === 'NaN') {
|
|
138
|
+
this._render.setProperty(this.controls, 'value', null);
|
|
139
|
+
throw new Error('Not a number');
|
|
140
|
+
}
|
|
141
|
+
if (this.value !== null) {
|
|
142
|
+
this._render.setProperty(this.controls, 'value', Number(this.value));
|
|
143
|
+
}
|
|
144
|
+
this._initValue = true;
|
|
145
|
+
}
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
registerOnValidatorChange(fn) {
|
|
149
|
+
this.onValidationChange = fn;
|
|
150
|
+
}
|
|
151
|
+
formatNumber(value) {
|
|
152
|
+
if (value != null) {
|
|
153
|
+
value = value.toString();
|
|
154
|
+
}
|
|
155
|
+
if (this.decimals != null && value != null && value != '') {
|
|
156
|
+
if (this.decimals > 0) {
|
|
157
|
+
return Number(value.replaceAll(',', '')).toFixed(this.decimals);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
return Number(value.replaceAll(',', '')).toFixed();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
if (value != null && value != '') {
|
|
165
|
+
return Number(value.replaceAll(',', ''));
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
emitValue(value) {
|
|
173
|
+
if (value != null && value != '') {
|
|
174
|
+
if (this.decimals != null) {
|
|
175
|
+
if (this.decimals > 0) {
|
|
176
|
+
return Number(Number(value.replaceAll(',', '')).toFixed(this.decimals));
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
return Number(Number(value.replaceAll(',', '')).toFixed());
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
return Number(value.replaceAll(',', ''));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
enterKeyUp() {
|
|
191
|
+
if (!this.disabled) {
|
|
192
|
+
let validator = this.sharedComponentsUtil.stopByValidator(this.controls, this.validatorAlert, this.label);
|
|
193
|
+
if (validator.error) {
|
|
194
|
+
this.messageUtilService.getMessageError('000046', 'Error', validator.message);
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (this.next != undefined) {
|
|
199
|
+
if (this.next.disabled || this.next.readonly) {
|
|
200
|
+
if (this.nextIsDisable != undefined) {
|
|
201
|
+
this.nextIsDisable.focus();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
this.next.focus();
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
if (this.nextIsDisable != undefined) {
|
|
210
|
+
this.nextIsDisable.focus();
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
this.onNext.emit();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
arrowUpKeyUp() {
|
|
218
|
+
if (!this.disabled) {
|
|
219
|
+
let validator = this.sharedComponentsUtil.stopByValidator(this.controls, this.validatorAlert, this.label);
|
|
220
|
+
if (validator.error) {
|
|
221
|
+
this.messageUtilService.getMessageError('000046', 'Error', validator.message);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (this.back != undefined) {
|
|
226
|
+
if (this.back.disabled || this.back.readonly) {
|
|
227
|
+
if (this.backIsDisable != undefined) {
|
|
228
|
+
this.backIsDisable.focus();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
this.back.focus();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
if (this.backIsDisable != undefined) {
|
|
237
|
+
this.backIsDisable.focus();
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
this.onBack.emit();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
onFocusOut(evt) {
|
|
245
|
+
this.onfocusout.emit(evt);
|
|
246
|
+
if (this.btnEnable) {
|
|
247
|
+
this.disabled = true;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
clickEnable() {
|
|
251
|
+
this.disabled = false;
|
|
252
|
+
this.readonly = false;
|
|
253
|
+
setTimeout(() => {
|
|
254
|
+
this.focus();
|
|
255
|
+
}, 150);
|
|
256
|
+
}
|
|
257
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputNumberComponent, deps: [{ token: i1.MessageUtilService }, { token: i2.InputNumberService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
258
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: InputNumberComponent, selector: "input-number", inputs: { showLabel: "showLabel", label: "label", btnEnable: "btnEnable", autocomplete: "autocomplete", bold: "bold", decimals: "decimals", formatCero: "formatCero", maxLength: "maxLength", next: "next", nextIsDisable: "nextIsDisable", back: "back", backIsDisable: "backIsDisable", required: "required", disabled: "disabled", readonly: "readonly", validatorMessage: "validatorMessage", tooltipMessage: "tooltipMessage", submitted: "submitted", labelInfo: "labelInfo", textLabelInfo: "textLabelInfo", validatorAlert: "validatorAlert", setNgClass: "setNgClass", placeholder: "placeholder", allowNegativeNumbers: "allowNegativeNumbers" }, outputs: { onNext: "onNext", onBack: "onBack", change: "change", onchange: "onchange", blur: "blur", onfocus: "onfocus", onfocusout: "onfocusout" }, providers: [
|
|
259
|
+
{
|
|
260
|
+
provide: NG_VALUE_ACCESSOR,
|
|
261
|
+
useExisting: forwardRef(() => InputNumberComponent),
|
|
262
|
+
multi: true
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
provide: NG_VALIDATORS,
|
|
266
|
+
useExisting: forwardRef(() => InputNumberComponent),
|
|
267
|
+
multi: true
|
|
268
|
+
}
|
|
269
|
+
], viewQueries: [{ propertyName: "inputText", first: true, predicate: ["inputText"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\"\r\n\t><span [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">{{ label }}</span>\r\n\t<span *ngIf=\"required\" class=\"ms-1\" [class.text-danger]=\"controls?.errors != null\"> *</span>\r\n\t<span *ngIf=\"labelInfo\">\r\n\t\t<i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\r\n\t</span>\r\n</label>\r\n<div\r\n\t[class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n\t[class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n>\r\n\t<div class=\"d-flex\">\r\n\t\t<div class=\"w-100 position-relative\">\r\n\t\t\t<tooltip-message\r\n\t\t\t\t[label]=\"label\"\r\n\t\t\t\t[controls]=\"controls\"\r\n\t\t\t\t[validatorMessage]=\"validatorMessage\"\r\n\t\t\t\t[tooltipMessage]=\"tooltipMessage\"\r\n\t\t\t\t[submitted]=\"submitted\"\r\n\t\t\t></tooltip-message>\r\n\t\t\t<input\r\n\t\t\t\t#inputText\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control form-control-sm text-end\"\r\n\t\t\t\t[class.is-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n\t\t\t\t[(ngModel)]=\"value\"\r\n\t\t\t\t[disabled]=\"disabled\"\r\n\t\t\t\t[readonly]=\"readonly\"\r\n\t\t\t\t[mask]=\"format\"\r\n\t\t\t\tthousandSeparator=\",\"\r\n\t\t\t\t(blur)=\"onBlur($any($event.target).value)\"\r\n\t\t\t\t(input)=\"onInput($any($event.target).value)\"\r\n\t\t\t\t(focusout)=\"onFocusOut($any($event.target).value)\"\r\n\t\t\t\t[attr.autocomplete]=\"autocomplete\"\r\n\t\t\t\t[placeholder]=\"placeholder\"\r\n\t\t\t\t(focus)=\"onFocus($any($event.target).value)\"\r\n\t\t\t\t[attr.maxLength]=\"maxLength\"\r\n\t\t\t\t(keyup.enter)=\"enterKeyUp()\"\r\n\t\t\t\t(keyup.ArrowUp)=\"arrowUpKeyUp()\"\r\n\t\t\t\t[ngClass]=\"setNgClass\"\r\n\t\t\t\t[class.bold]=\"bold\"\r\n\t\t\t\t[allowNegativeNumbers]=\"allowNegativeNumbers\"\r\n\t\t\t\t[leadZero]=\"!allowNegativeNumbers\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div class=\"bd-highlight\" *ngIf=\"btnEnable\">\r\n\t\t\t<button type=\"button\" class=\"btn btn-info p-0 rounded-0 h-100\" (click)=\"clickEnable()\">\r\n\t\t\t\t<i class=\"fa fa-check text-white px-1\" [matTooltip]=\"'Habilitar'\" matTooltipClass=\"bg-info\"></i>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<ng-content select=\"[more-buttons]\"></ng-content>\r\n\t</div>\r\n</div>\r\n<error-message\r\n\t[label]=\"label\"\r\n\t[controls]=\"controls\"\r\n\t[validatorMessage]=\"validatorMessage\"\r\n\t[tooltipMessage]=\"tooltipMessage\"\r\n\t[submitted]=\"submitted\"\r\n></error-message>\r\n", styles: [".sumax-label{color:#646c9a!important}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;width:16px;font-size:16px;text-align:center;right:10px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.bold{color:#000;font-weight:700}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.was-validated .form-control:invalid,.form-control.is-invalid{background-image:none;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.form-control:focus,.form-control:active{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.errorMessageComponent, selector: "error-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "component", type: i6.tooltipMessageComponent, selector: "tooltip-message", inputs: ["tooltipMessage", "validatorMessage", "controls", "label", "submitted"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i8.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"] }] }); }
|
|
270
|
+
}
|
|
271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputNumberComponent, decorators: [{
|
|
272
|
+
type: Component,
|
|
273
|
+
args: [{ selector: 'input-number', providers: [
|
|
274
|
+
{
|
|
275
|
+
provide: NG_VALUE_ACCESSOR,
|
|
276
|
+
useExisting: forwardRef(() => InputNumberComponent),
|
|
277
|
+
multi: true
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
provide: NG_VALIDATORS,
|
|
281
|
+
useExisting: forwardRef(() => InputNumberComponent),
|
|
282
|
+
multi: true
|
|
283
|
+
}
|
|
284
|
+
], template: "<label *ngIf=\"label != null && label != '' && showLabel\" class=\"d-flex sumax-label mb-0 p-0\"\r\n\t><span [title]=\"label\" style=\"white-space: nowrap; overflow: hidden; text-overflow: ellipsis\">{{ label }}</span>\r\n\t<span *ngIf=\"required\" class=\"ms-1\" [class.text-danger]=\"controls?.errors != null\"> *</span>\r\n\t<span *ngIf=\"labelInfo\">\r\n\t\t<i class=\"fa fa-exclamation-circle text-info ms-2\" [matTooltip]=\"textLabelInfo\" matTooltipClass=\"bg-info\"></i>\r\n\t</span>\r\n</label>\r\n<div\r\n\t[class.input-icon]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n\t[class.right]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n>\r\n\t<div class=\"d-flex\">\r\n\t\t<div class=\"w-100 position-relative\">\r\n\t\t\t<tooltip-message\r\n\t\t\t\t[label]=\"label\"\r\n\t\t\t\t[controls]=\"controls\"\r\n\t\t\t\t[validatorMessage]=\"validatorMessage\"\r\n\t\t\t\t[tooltipMessage]=\"tooltipMessage\"\r\n\t\t\t\t[submitted]=\"submitted\"\r\n\t\t\t></tooltip-message>\r\n\t\t\t<input\r\n\t\t\t\t#inputText\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control form-control-sm text-end\"\r\n\t\t\t\t[class.is-invalid]=\"controls?.errors != null && (controls?.dirty || controls?.touched) && submitted\"\r\n\t\t\t\t[(ngModel)]=\"value\"\r\n\t\t\t\t[disabled]=\"disabled\"\r\n\t\t\t\t[readonly]=\"readonly\"\r\n\t\t\t\t[mask]=\"format\"\r\n\t\t\t\tthousandSeparator=\",\"\r\n\t\t\t\t(blur)=\"onBlur($any($event.target).value)\"\r\n\t\t\t\t(input)=\"onInput($any($event.target).value)\"\r\n\t\t\t\t(focusout)=\"onFocusOut($any($event.target).value)\"\r\n\t\t\t\t[attr.autocomplete]=\"autocomplete\"\r\n\t\t\t\t[placeholder]=\"placeholder\"\r\n\t\t\t\t(focus)=\"onFocus($any($event.target).value)\"\r\n\t\t\t\t[attr.maxLength]=\"maxLength\"\r\n\t\t\t\t(keyup.enter)=\"enterKeyUp()\"\r\n\t\t\t\t(keyup.ArrowUp)=\"arrowUpKeyUp()\"\r\n\t\t\t\t[ngClass]=\"setNgClass\"\r\n\t\t\t\t[class.bold]=\"bold\"\r\n\t\t\t\t[allowNegativeNumbers]=\"allowNegativeNumbers\"\r\n\t\t\t\t[leadZero]=\"!allowNegativeNumbers\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div class=\"bd-highlight\" *ngIf=\"btnEnable\">\r\n\t\t\t<button type=\"button\" class=\"btn btn-info p-0 rounded-0 h-100\" (click)=\"clickEnable()\">\r\n\t\t\t\t<i class=\"fa fa-check text-white px-1\" [matTooltip]=\"'Habilitar'\" matTooltipClass=\"bg-info\"></i>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<ng-content select=\"[more-buttons]\"></ng-content>\r\n\t</div>\r\n</div>\r\n<error-message\r\n\t[label]=\"label\"\r\n\t[controls]=\"controls\"\r\n\t[validatorMessage]=\"validatorMessage\"\r\n\t[tooltipMessage]=\"tooltipMessage\"\r\n\t[submitted]=\"submitted\"\r\n></error-message>\r\n", styles: [".sumax-label{color:#646c9a!important}.input-icon tooltip-message{color:#ccc;position:absolute;z-index:3;width:16px;font-size:16px;text-align:center;right:10px;top:50%;transform:translateY(-50%)}.input-icon.right>.form-control{padding-right:33px;padding-left:12px}.bold{color:#000;font-weight:700}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.was-validated .form-control:invalid,.form-control.is-invalid{background-image:none;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #fde6e8!important}.form-control:focus,.form-control:active{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a!important}\n"] }]
|
|
285
|
+
}], ctorParameters: () => [{ type: i1.MessageUtilService }, { type: i2.InputNumberService }, { type: i0.Renderer2 }], propDecorators: { showLabel: [{
|
|
286
|
+
type: Input
|
|
287
|
+
}], label: [{
|
|
288
|
+
type: Input
|
|
289
|
+
}], btnEnable: [{
|
|
290
|
+
type: Input
|
|
291
|
+
}], autocomplete: [{
|
|
292
|
+
type: Input
|
|
293
|
+
}], bold: [{
|
|
294
|
+
type: Input
|
|
295
|
+
}], decimals: [{
|
|
296
|
+
type: Input
|
|
297
|
+
}], formatCero: [{
|
|
298
|
+
type: Input
|
|
299
|
+
}], maxLength: [{
|
|
300
|
+
type: Input
|
|
301
|
+
}], next: [{
|
|
302
|
+
type: Input
|
|
303
|
+
}], nextIsDisable: [{
|
|
304
|
+
type: Input
|
|
305
|
+
}], back: [{
|
|
306
|
+
type: Input
|
|
307
|
+
}], backIsDisable: [{
|
|
308
|
+
type: Input
|
|
309
|
+
}], required: [{
|
|
310
|
+
type: Input
|
|
311
|
+
}], disabled: [{
|
|
312
|
+
type: Input
|
|
313
|
+
}], readonly: [{
|
|
314
|
+
type: Input
|
|
315
|
+
}], validatorMessage: [{
|
|
316
|
+
type: Input
|
|
317
|
+
}], tooltipMessage: [{
|
|
318
|
+
type: Input
|
|
319
|
+
}], submitted: [{
|
|
320
|
+
type: Input
|
|
321
|
+
}], labelInfo: [{
|
|
322
|
+
type: Input
|
|
323
|
+
}], textLabelInfo: [{
|
|
324
|
+
type: Input
|
|
325
|
+
}], validatorAlert: [{
|
|
326
|
+
type: Input
|
|
327
|
+
}], setNgClass: [{
|
|
328
|
+
type: Input
|
|
329
|
+
}], placeholder: [{
|
|
330
|
+
type: Input
|
|
331
|
+
}], allowNegativeNumbers: [{
|
|
332
|
+
type: Input
|
|
333
|
+
}], onNext: [{
|
|
334
|
+
type: Output
|
|
335
|
+
}], onBack: [{
|
|
336
|
+
type: Output
|
|
337
|
+
}], change: [{
|
|
338
|
+
type: Output
|
|
339
|
+
}], onchange: [{
|
|
340
|
+
type: Output
|
|
341
|
+
}], blur: [{
|
|
342
|
+
type: Output
|
|
343
|
+
}], onfocus: [{
|
|
344
|
+
type: Output
|
|
345
|
+
}], onfocusout: [{
|
|
346
|
+
type: Output
|
|
347
|
+
}], inputText: [{
|
|
348
|
+
type: ViewChild,
|
|
349
|
+
args: ['inputText']
|
|
350
|
+
}] } });
|
|
351
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVOLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTixhQUFhLEVBQ2IsaUJBQWlCLEVBRWpCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7QUFvQnJFLE1BQU0sT0FBTyxvQkFBb0I7SUEyQ2hDLFlBQ1Msa0JBQXNDLEVBQ3RDLGtCQUFzQyxFQUN0QyxPQUFrQjtRQUZsQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQTdDbEIsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixVQUFLLEdBQVEsSUFBSSxDQUFDO1FBQ2xCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsaUJBQVksR0FBVyw4QkFBOEIsQ0FBQztRQUN0RCxTQUFJLEdBQVksS0FBSyxDQUFDO1FBQ3RCLGFBQVEsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUN0QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGNBQVMsR0FBUSxJQUFJLENBQUM7UUFLdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMx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O3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ2lCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0QWZ0ZXJWaWV3SW5pdCxcclxuXHRDb21wb25lbnQsXHJcblx0RWxlbWVudFJlZixcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0Zm9yd2FyZFJlZixcclxuXHRJbnB1dCxcclxuXHRPbkNoYW5nZXMsXHJcblx0T25Jbml0LFxyXG5cdE91dHB1dCxcclxuXHRSZW5kZXJlcjIsXHJcblx0U2ltcGxlQ2hhbmdlcyxcclxuXHRWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuXHRBYnN0cmFjdENvbnRyb2wsXHJcblx0Q29udHJvbFZhbHVlQWNjZXNzb3IsXHJcblx0TkdfVkFMSURBVE9SUyxcclxuXHROR19WQUxVRV9BQ0NFU1NPUixcclxuXHRWYWxpZGF0aW9uRXJyb3JzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJbnB1dE51bWJlclNlcnZpY2UgfSBmcm9tICcuL2lucHV0LW51bWJlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2hhcmVkQ29tcG9uZW50c1V0aWwgfSBmcm9tICcuLi91dGlscy9TaGFyZWRDb21wb25lbnRzVXRpbCc7XHJcbmltcG9ydCB7IE1lc3NhZ2VVdGlsU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL21lc3NhZ2UtdXRpbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnaW5wdXQtbnVtYmVyJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9pbnB1dC1udW1iZXIuY29tcG9uZW50LnNjc3MnXSxcclxuXHRwcm92aWRlcnM6IFtcclxuXHRcdHtcclxuXHRcdFx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0TnVtYmVyQ29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0TnVtYmVyQ29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH1cclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dE51bWJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblx0QElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuXHRASW5wdXQoKSBsYWJlbDogYW55ID0gbnVsbDtcclxuXHRASW5wdXQoKSBidG5FbmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBhdXRvY29tcGxldGU6IHN0cmluZyA9ICduby1hdXRvY29tcGxldGUtaW5wdXQtbnVtYmVyJztcclxuXHRASW5wdXQoKSBib2xkOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgZGVjaW1hbHM6IG51bWJlciA9IC0xO1xyXG5cdEBJbnB1dCgpIGZvcm1hdENlcm86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBtYXhMZW5ndGg6IGFueSA9IG51bGw7XHJcblx0QElucHV0KCkgbmV4dDogYW55O1xyXG5cdEBJbnB1dCgpIG5leHRJc0Rpc2FibGU6IGFueTtcclxuXHRASW5wdXQoKSBiYWNrOiBhbnk7XHJcblx0QElucHV0KCkgYmFja0lzRGlzYWJsZTogYW55O1xyXG5cdEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHZhbGlkYXRvck1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSB0b29sdGlwTWVzc2FnZTogYm9vbGVhbiA9IHRydWU7XHJcblx0QElucHV0KCkgc3VibWl0dGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHRASW5wdXQoKSBsYWJlbEluZm86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSB0ZXh0TGFiZWxJbmZvOiBzdHJpbmcgPSAnJztcclxuXHRASW5wdXQoKSB2YWxpZGF0b3JBbGVydDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNldE5nQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cdEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuXHRASW5wdXQoKSBhbGxvd05lZ2F0aXZlTnVtYmVyczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBPdXRwdXQoKSBvbk5leHQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoKSBvbkJhY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoKSBvbmNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoKSBvbmZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KCkgb25mb2N1c291dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QFZpZXdDaGlsZCgnaW5wdXRUZXh0JykgaW5wdXRUZXh0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcblx0c2hhcmVkQ29tcG9uZW50c1V0aWwgPSBuZXcgU2hhcmVkQ29tcG9uZW50c1V0aWwoKTtcclxuXHJcblx0Zm9ybWF0ID0gJ3NlcGFyYXRvcic7XHJcblxyXG5cdGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gbnVsbDtcclxuXHR2YWx1ZTogYW55O1xyXG5cdHZhbHVlRW1pdDogYW55O1xyXG5cdF9pbml0VmFsdWUgPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIG1lc3NhZ2VVdGlsU2VydmljZTogTWVzc2FnZVV0aWxTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBpbnB1dE51bWJlclNlcnZpY2U6IElucHV0TnVtYmVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgX3JlbmRlcjogUmVuZGVyZXIyXHJcblx0KSB7XHJcblx0XHR0aGlzLmRlY2ltYWxzID0gdGhpcy5pbnB1dE51bWJlclNlcnZpY2UuZ2V0RGVjaW1hbHMoKTtcclxuXHRcdHRoaXMuZm9ybWF0Q2VybyA9IHRoaXMuaW5wdXROdW1iZXJTZXJ2aWNlLmdldEZvcm1hdENlcm8oKTtcclxuXHRcdHRoaXMuYnRuRW5hYmxlID0gdGhpcy5pbnB1dE51bWJlclNlcnZpY2UuZ2V0QnRuRW5hYmxlKCk7XHJcblx0XHR0aGlzLmJvbGQgPSB0aGlzLmlucHV0TnVtYmVyU2VydmljZS5nZXRCb2xkKCk7XHJcblx0XHR0aGlzLnZhbGlkYXRvck1lc3NhZ2UgPSB0aGlzLmlucHV0TnVtYmVyU2VydmljZS5nZXRWYWxpZGF0b3JNZXNzYWdlKCk7XHJcblx0XHR0aGlzLnRvb2x0aXBNZXNzYWdlID0gdGhpcy5pbnB1dE51bWJlclNlcnZpY2UuZ2V0VG9vbHRpcE1lc3NhZ2UoKTtcclxuXHRcdHRoaXMuc3VibWl0dGVkID0gdGhpcy5pbnB1dE51bWJlclNlcnZpY2UuZ2V0U3VibWl0dGVkKCk7XHJcblx0XHR0aGlzLnZhbGlkYXRvckFsZXJ0ID0gdGhpcy5pbnB1dE51bWJlclNlcnZpY2UuZ2V0VmFsaWRhdG9yQWxlcnQoKTtcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdGlmIChjaGFuZ2VzWydzdWJtaXR0ZWQnXSkge1xyXG5cdFx0XHRpZiAodGhpcy5jb250cm9scyAhPSBudWxsICYmIGNoYW5nZXNbJ3N1Ym1pdHRlZCddLmN1cnJlbnRWYWx1ZSkge1xyXG5cdFx0XHRcdHRoaXMuY29udHJvbHMubWFya0FzRGlydHkoKTtcclxuXHRcdFx0XHR0aGlzLmNvbnRyb2xzLm1hcmtBc1RvdWNoZWQoKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHRpZiAodGhpcy5kZWNpbWFscyAhPSAtMSkge1xyXG5cdFx0XHR0aGlzLmZvcm1hdCA9ICdzZXBhcmF0b3InICsgJy4nICsgdGhpcy5kZWNpbWFscy50b1N0cmluZygpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5mb3JtYXQgPSAnc2VwYXJhdG9yJztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHt9XHJcblxyXG5cdG9uQ2hhbmdlID0gKF86IGFueSkgPT4ge307XHJcblx0b25WYWxpZGF0aW9uQ2hhbmdlID0gKCkgPT4ge307XHJcblx0b25Ub3VjaCA9ICgpID0+IHt9O1xyXG5cdGZvY3VzID0gKCkgPT4ge1xyXG5cdFx0dGhpcy5pbnB1dFRleHQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG5cdFx0dGhpcy5pbnB1dFRleHQubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcclxuXHR9O1xyXG5cclxuXHRvbkJsdXIodmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy5vblRvdWNoKCk7XHJcblx0XHRpZiAoKHZhbHVlID09ICcnIHx8IHZhbHVlID09IG51bGwpICYmIHRoaXMuZm9ybWF0Q2Vybykge1xyXG5cdFx0XHR2YWx1ZSA9IDA7XHJcblx0XHR9XHJcblx0XHRjb25zdCBuZXdWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKTtcclxuXHJcblx0XHRpZiAodGhpcy52YWx1ZSAhPT0gbmV3VmFsdWUpIHtcclxuXHRcdFx0dGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xyXG5cdFx0XHR0aGlzLm9uQ2hhbmdlKHRoaXMuZW1pdFZhbHVlKG5ld1ZhbHVlKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gaWYgKG5ld1ZhbHVlKSB7XHJcblx0XHR0aGlzLm9uVmFsaWRhdGlvbkNoYW5nZSgpO1xyXG5cdFx0dGhpcy5ibHVyLmVtaXQodGhpcy5lbWl0VmFsdWUobmV3VmFsdWUpKTtcclxuXHRcdC8vIH1cclxuXHR9XHJcblxyXG5cdG9uRm9jdXMoZXZ0OiBhbnkpIHtcclxuXHRcdHRoaXMuaW5wdXRUZXh0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XHJcblx0XHR0aGlzLm9uZm9jdXMuZW1pdChldnQpO1xyXG5cdH1cclxuXHJcblx0b25JbnB1dChldnQ6IGFueSkge1xyXG5cdFx0dGhpcy5vblRvdWNoKCk7XHJcblx0XHR0aGlzLm9uQ2hhbmdlKHRoaXMuZW1pdFZhbHVlKGV2dCkpO1xyXG5cdFx0dGhpcy5vblZhbGlkYXRpb25DaGFuZ2UoKTtcclxuXHRcdHRoaXMuY2hhbmdlLmVtaXQodGhpcy5lbWl0VmFsdWUoZXZ0KSk7XHJcblx0XHR0aGlzLm9uY2hhbmdlLmVtaXQodGhpcy5lbWl0VmFsdWUoZXZ0KSk7XHJcblx0fVxyXG5cclxuXHR3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuXHRcdGlmICh2YWx1ZSAhPSBudWxsKSB7XHJcblx0XHRcdHRoaXMudmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSk7XHJcblxyXG5cdFx0XHRpZiAodGhpcy52YWx1ZSA9PT0gJ05hTicpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5jb250cm9scykge1xyXG5cdFx0XHRcdFx0dGhpcy5fcmVuZGVyLnNldFByb3BlcnR5KHRoaXMuY29udHJvbHMsICd2YWx1ZScsIG51bGwpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ05vdCBhIG51bWJlcicpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAodGhpcy5jb250cm9scykge1xyXG5cdFx0XHRcdHRoaXMuX3JlbmRlci5zZXRQcm9wZXJ0eSh0aGlzLmNvbnRyb2xzLCAndmFsdWUnLCBOdW1iZXIodGhpcy52YWx1ZSkpO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnZhbHVlID0gbnVsbDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG5cdFx0dGhpcy5vbkNoYW5nZSA9IGZuO1xyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG5cdFx0dGhpcy5vblRvdWNoID0gZm47XHJcblx0fVxyXG5cclxuXHRzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG5cdH1cclxuXHJcblx0dmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IGFueSB7XHJcblx0XHR0aGlzLmNvbnRyb2xzID0gY29udHJvbDtcclxuXHJcblx0XHRpZiAoIXRoaXMuX2luaXRWYWx1ZSkge1xyXG5cdFx0XHRpZiAodGhpcy52YWx1ZSA9PT0gJ05hTicpIHtcclxuXHRcdFx0XHR0aGlzLl9yZW5kZXIuc2V0UHJvcGVydHkodGhpcy5jb250cm9scywgJ3ZhbHVlJywgbnVsbCk7XHJcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKCdOb3QgYSBudW1iZXInKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKHRoaXMudmFsdWUgIT09IG51bGwpIHtcclxuXHRcdFx0XHR0aGlzLl9yZW5kZXIuc2V0UHJvcGVydHkodGhpcy5jb250cm9scywgJ3ZhbHVlJywgTnVtYmVyKHRoaXMudmFsdWUpKTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLl9pbml0VmFsdWUgPSB0cnVlO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBudWxsO1xyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZT8oZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuXHRcdHRoaXMub25WYWxpZGF0aW9uQ2hhbmdlID0gZm47XHJcblx0fVxyXG5cclxuXHRmb3JtYXROdW1iZXIodmFsdWU6IGFueSkge1xyXG5cdFx0aWYgKHZhbHVlICE9IG51bGwpIHtcclxuXHRcdFx0dmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHRoaXMuZGVjaW1hbHMgIT0gbnVsbCAmJiB2YWx1ZSAhPSBudWxsICYmIHZhbHVlICE9ICcnKSB7XHJcblx0XHRcdGlmICh0aGlzLmRlY2ltYWxzID4gMCkge1xyXG5cdFx0XHRcdHJldHVybiBOdW1iZXIodmFsdWUucmVwbGFjZUFsbCgnLCcsICcnKSkudG9GaXhlZCh0aGlzLmRlY2ltYWxzKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRyZXR1cm4gTnVtYmVyKHZhbHVlLnJlcGxhY2VBbGwoJywnLCAnJykpLnRvRml4ZWQoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKHZhbHVlICE9IG51bGwgJiYgdmFsdWUgIT0gJycpIHtcclxuXHRcdFx0XHRyZXR1cm4gTnVtYmVyKHZhbHVlLnJlcGxhY2VBbGwoJywnLCAnJykpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRlbWl0VmFsdWUodmFsdWU6IGFueSkge1xyXG5cdFx0aWYgKHZhbHVlICE9IG51bGwgJiYgdmFsdWUgIT0gJycpIHtcclxuXHRcdFx0aWYgKHRoaXMuZGVjaW1hbHMgIT0gbnVsbCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLmRlY2ltYWxzID4gMCkge1xyXG5cdFx0XHRcdFx0cmV0dXJuIE51bWJlcihOdW1iZXIodmFsdWUucmVwbGFjZUFsbCgnLCcsICcnKSkudG9GaXhlZCh0aGlzLmRlY2ltYWxzKSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHJldHVybiBOdW1iZXIoTnVtYmVyKHZhbHVlLnJlcGxhY2VBbGwoJywnLCAnJykpLnRvRml4ZWQoKSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHJldHVybiBOdW1iZXIodmFsdWUucmVwbGFjZUFsbCgnLCcsICcnKSk7XHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZW50ZXJLZXlVcCgpIHtcclxuXHRcdGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG5cdFx0XHRsZXQgdmFsaWRhdG9yID0gdGhpcy5zaGFyZWRDb21wb25lbnRzVXRpbC5zdG9wQnlWYWxpZGF0b3IodGhpcy5jb250cm9scywgdGhpcy52YWxpZGF0b3JBbGVydCwgdGhpcy5sYWJlbCk7XHJcblx0XHRcdGlmICh2YWxpZGF0b3IuZXJyb3IpIHtcclxuXHRcdFx0XHR0aGlzLm1lc3NhZ2VVdGlsU2VydmljZS5nZXRNZXNzYWdlRXJyb3IoJzAwMDA0NicsICdFcnJvcicsIHZhbGlkYXRvci5tZXNzYWdlKTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLm5leHQgIT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdGlmICh0aGlzLm5leHQuZGlzYWJsZWQgfHwgdGhpcy5uZXh0LnJlYWRvbmx5KSB7XHJcblx0XHRcdFx0aWYgKHRoaXMubmV4dElzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMubmV4dElzRGlzYWJsZS5mb2N1cygpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLm5leHQuZm9jdXMoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKHRoaXMubmV4dElzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHR0aGlzLm5leHRJc0Rpc2FibGUuZm9jdXMoKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLm9uTmV4dC5lbWl0KCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGFycm93VXBLZXlVcCgpIHtcclxuXHRcdGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG5cdFx0XHRsZXQgdmFsaWRhdG9yID0gdGhpcy5zaGFyZWRDb21wb25lbnRzVXRpbC5zdG9wQnlWYWxpZGF0b3IodGhpcy5jb250cm9scywgdGhpcy52YWxpZGF0b3JBbGVydCwgdGhpcy5sYWJlbCk7XHJcblx0XHRcdGlmICh2YWxpZGF0b3IuZXJyb3IpIHtcclxuXHRcdFx0XHR0aGlzLm1lc3NhZ2VVdGlsU2VydmljZS5nZXRNZXNzYWdlRXJyb3IoJzAwMDA0NicsICdFcnJvcicsIHZhbGlkYXRvci5tZXNzYWdlKTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLmJhY2sgIT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdGlmICh0aGlzLmJhY2suZGlzYWJsZWQgfHwgdGhpcy5iYWNrLnJlYWRvbmx5KSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuYmFja0lzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuYmFja0lzRGlzYWJsZS5mb2N1cygpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLmJhY2suZm9jdXMoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0aWYgKHRoaXMuYmFja0lzRGlzYWJsZSAhPSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHR0aGlzLmJhY2tJc0Rpc2FibGUuZm9jdXMoKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLm9uQmFjay5lbWl0KCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uRm9jdXNPdXQoZXZ0OiBhbnkpIHtcclxuXHRcdHRoaXMub25mb2N1c291dC5lbWl0KGV2dCk7XHJcblx0XHRpZiAodGhpcy5idG5FbmFibGUpIHtcclxuXHRcdFx0dGhpcy5kaXNhYmxlZCA9IHRydWU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRjbGlja0VuYWJsZSgpIHtcclxuXHRcdHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcclxuXHRcdHRoaXMucmVhZG9ubHkgPSBmYWxzZTtcclxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHR0aGlzLmZvY3VzKCk7XHJcblx0XHR9LCAxNTApO1xyXG5cdH1cclxufVxyXG4iLCI8bGFiZWwgKm5nSWY9XCJsYWJlbCAhPSBudWxsICYmIGxhYmVsICE9ICcnICYmIHNob3dMYWJlbFwiIGNsYXNzPVwiZC1mbGV4IHN1bWF4LWxhYmVsIG1iLTAgcC0wXCJcclxuXHQ+PHNwYW4gW3RpdGxlXT1cImxhYmVsXCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpc1wiPnt7IGxhYmVsIH19PC9zcGFuPlxyXG5cdDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cIm1zLTFcIiBbY2xhc3MudGV4dC1kYW5nZXJdPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsXCI+ICo8L3NwYW4+XHJcblx0PHNwYW4gKm5nSWY9XCJsYWJlbEluZm9cIj5cclxuXHRcdDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlIHRleHQtaW5mbyBtcy0yXCIgW21hdFRvb2x0aXBdPVwidGV4dExhYmVsSW5mb1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XHJcblx0PC9zcGFuPlxyXG48L2xhYmVsPlxyXG48ZGl2XHJcblx0W2NsYXNzLmlucHV0LWljb25dPVwiY29udHJvbHM/LmVycm9ycyAhPSBudWxsICYmIChjb250cm9scz8uZGlydHkgfHwgY29udHJvbHM/LnRvdWNoZWQpICYmIHN1Ym1pdHRlZFwiXHJcblx0W2NsYXNzLnJpZ2h0XT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIlxyXG4+XHJcblx0PGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInctMTAwIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcblx0XHRcdDx0b29sdGlwLW1lc3NhZ2VcclxuXHRcdFx0XHRbbGFiZWxdPVwibGFiZWxcIlxyXG5cdFx0XHRcdFtjb250cm9sc109XCJjb250cm9sc1wiXHJcblx0XHRcdFx0W3ZhbGlkYXRvck1lc3NhZ2VdPVwidmFsaWRhdG9yTWVzc2FnZVwiXHJcblx0XHRcdFx0W3Rvb2x0aXBNZXNzYWdlXT1cInRvb2x0aXBNZXNzYWdlXCJcclxuXHRcdFx0XHRbc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiXHJcblx0XHRcdD48L3Rvb2x0aXAtbWVzc2FnZT5cclxuXHRcdFx0PGlucHV0XHJcblx0XHRcdFx0I2lucHV0VGV4dFxyXG5cdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcclxuXHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc20gdGV4dC1lbmRcIlxyXG5cdFx0XHRcdFtjbGFzcy5pcy1pbnZhbGlkXT1cImNvbnRyb2xzPy5lcnJvcnMgIT0gbnVsbCAmJiAoY29udHJvbHM/LmRpcnR5IHx8IGNvbnRyb2xzPy50b3VjaGVkKSAmJiBzdWJtaXR0ZWRcIlxyXG5cdFx0XHRcdFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG5cdFx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcblx0XHRcdFx0W3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuXHRcdFx0XHRbbWFza109XCJmb3JtYXRcIlxyXG5cdFx0XHRcdHRob3VzYW5kU2VwYXJhdG9yPVwiLFwiXHJcblx0XHRcdFx0KGJsdXIpPVwib25CbHVyKCRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWUpXCJcclxuXHRcdFx0XHQoaW5wdXQpPVwib25JbnB1dCgkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXHJcblx0XHRcdFx0KGZvY3Vzb3V0KT1cIm9uRm9jdXNPdXQoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxyXG5cdFx0XHRcdFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxyXG5cdFx0XHRcdFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcblx0XHRcdFx0KGZvY3VzKT1cIm9uRm9jdXMoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxyXG5cdFx0XHRcdFthdHRyLm1heExlbmd0aF09XCJtYXhMZW5ndGhcIlxyXG5cdFx0XHRcdChrZXl1cC5lbnRlcik9XCJlbnRlcktleVVwKClcIlxyXG5cdFx0XHRcdChrZXl1cC5BcnJvd1VwKT1cImFycm93VXBLZXlVcCgpXCJcclxuXHRcdFx0XHRbbmdDbGFzc109XCJzZXROZ0NsYXNzXCJcclxuXHRcdFx0XHRbY2xhc3MuYm9sZF09XCJib2xkXCJcclxuXHRcdFx0XHRbYWxsb3dOZWdhdGl2ZU51bWJlcnNdPVwiYWxsb3dOZWdhdGl2ZU51bWJlcnNcIlxyXG5cdFx0XHRcdFtsZWFkWmVyb109XCIhYWxsb3dOZWdhdGl2ZU51bWJlcnNcIlxyXG5cdFx0XHQvPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiYmQtaGlnaGxpZ2h0XCIgKm5nSWY9XCJidG5FbmFibGVcIj5cclxuXHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWluZm8gcC0wIHJvdW5kZWQtMCBoLTEwMFwiIChjbGljayk9XCJjbGlja0VuYWJsZSgpXCI+XHJcblx0XHRcdFx0PGkgY2xhc3M9XCJmYSBmYS1jaGVjayB0ZXh0LXdoaXRlIHB4LTFcIiBbbWF0VG9vbHRpcF09XCInSGFiaWxpdGFyJ1wiIG1hdFRvb2x0aXBDbGFzcz1cImJnLWluZm9cIj48L2k+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbbW9yZS1idXR0b25zXVwiPjwvbmctY29udGVudD5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbjxlcnJvci1tZXNzYWdlXHJcblx0W2xhYmVsXT1cImxhYmVsXCJcclxuXHRbY29udHJvbHNdPVwiY29udHJvbHNcIlxyXG5cdFt2YWxpZGF0b3JNZXNzYWdlXT1cInZhbGlkYXRvck1lc3NhZ2VcIlxyXG5cdFt0b29sdGlwTWVzc2FnZV09XCJ0b29sdGlwTWVzc2FnZVwiXHJcblx0W3N1Ym1pdHRlZF09XCJzdWJtaXR0ZWRcIlxyXG4+PC9lcnJvci1tZXNzYWdlPlxyXG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class InputNumber {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0NBU3ZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIElucHV0TnVtYmVyIHtcclxuICBkZWNpbWFscz86IG51bWJlcjtcclxuICBmb3JtYXRDZXJvPzogYm9vbGVhbjtcclxuICBidG5FbmFibGU/OiBib29sZWFuO1xyXG4gIGJvbGQ/OiBib29sZWFuO1xyXG4gIHZhbGlkYXRvck1lc3NhZ2U/OiBib29sZWFuO1xyXG4gIHRvb2x0aXBNZXNzYWdlPzogYm9vbGVhbjtcclxuICBzdWJtaXR0ZWQ/OiBib29sZWFuO1xyXG4gIHZhbGlkYXRvckFsZXJ0PzogYm9vbGVhbjtcclxufSJdfQ==
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { CommonModule } from "@angular/common";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
4
|
+
import { MatTooltipModule } from "@angular/material/tooltip";
|
|
5
|
+
import { RouterModule } from "@angular/router";
|
|
6
|
+
import { NgxMaskDirective, provideNgxMask } from "ngx-mask";
|
|
7
|
+
import { ErrorMessageModule } from "../error-message/error-message.module";
|
|
8
|
+
import { TooltipMessageModule } from "../tooltip-message/tooltip-message.module";
|
|
9
|
+
import { InputNumber } from "./input-number";
|
|
10
|
+
import { InputNumberComponent } from "./input-number.component";
|
|
11
|
+
import { InputNumberService } from "./input-number.service";
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
export class InputNumberModule {
|
|
14
|
+
static forRoot(inputNumber = new InputNumber()) {
|
|
15
|
+
return {
|
|
16
|
+
ngModule: InputNumberModule,
|
|
17
|
+
providers: [
|
|
18
|
+
{ provide: "INPUT_NUMBER_DECIMALS", useValue: inputNumber.decimals },
|
|
19
|
+
{ provide: "INPUT_NUMBER_FORMAT_CERO", useValue: inputNumber.formatCero },
|
|
20
|
+
{ provide: "INPUT_NUMBER_BTN_ENABLE", useValue: inputNumber.btnEnable },
|
|
21
|
+
{ provide: "INPUT_NUMBER_BOLD", useValue: inputNumber.bold },
|
|
22
|
+
{ provide: "INPUT_NUMBER_VALIDATOR_MESSAGE", useValue: inputNumber.validatorMessage },
|
|
23
|
+
{ provide: "INPUT_NUMBER_TOOLTIP_MESSAGE", useValue: inputNumber.tooltipMessage },
|
|
24
|
+
{ provide: "INPUT_NUMBER_SUBMITTED", useValue: inputNumber.submitted },
|
|
25
|
+
{ provide: "INPUT_NUMBER_VALIDATOR_ALERT", useValue: inputNumber.validatorAlert },
|
|
26
|
+
InputNumberService,
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
31
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: InputNumberModule, declarations: [InputNumberComponent], imports: [CommonModule,
|
|
32
|
+
RouterModule,
|
|
33
|
+
FormsModule,
|
|
34
|
+
ReactiveFormsModule,
|
|
35
|
+
ErrorMessageModule,
|
|
36
|
+
TooltipMessageModule,
|
|
37
|
+
MatTooltipModule,
|
|
38
|
+
NgxMaskDirective], exports: [InputNumberComponent] }); }
|
|
39
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputNumberModule, providers: [provideNgxMask({ validation: false })], imports: [CommonModule,
|
|
40
|
+
RouterModule,
|
|
41
|
+
FormsModule,
|
|
42
|
+
ReactiveFormsModule,
|
|
43
|
+
ErrorMessageModule,
|
|
44
|
+
TooltipMessageModule,
|
|
45
|
+
MatTooltipModule] }); }
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InputNumberModule, decorators: [{
|
|
48
|
+
type: NgModule,
|
|
49
|
+
args: [{
|
|
50
|
+
declarations: [InputNumberComponent],
|
|
51
|
+
imports: [
|
|
52
|
+
CommonModule,
|
|
53
|
+
RouterModule,
|
|
54
|
+
FormsModule,
|
|
55
|
+
ReactiveFormsModule,
|
|
56
|
+
ErrorMessageModule,
|
|
57
|
+
TooltipMessageModule,
|
|
58
|
+
MatTooltipModule,
|
|
59
|
+
NgxMaskDirective,
|
|
60
|
+
],
|
|
61
|
+
exports: [InputNumberComponent],
|
|
62
|
+
providers: [provideNgxMask({ validation: false })],
|
|
63
|
+
}]
|
|
64
|
+
}] });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBaUI1RCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBMkIsSUFBSSxXQUFXLEVBQUU7UUFDekQsT0FBTztZQUNMLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFO2dCQUNwRSxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLFVBQVUsRUFBRTtnQkFDekUsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3ZFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFO2dCQUM1RCxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixFQUFFO2dCQUNyRixFQUFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLGNBQWMsRUFBRTtnQkFDakYsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3RFLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFO2dCQUNqRixrQkFBa0I7YUFDbkI7U0FDRixDQUFDO0lBQ0osQ0FBQzsrR0FoQlUsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBZGIsb0JBQW9CLGFBRWpDLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixnQkFBZ0IsYUFFUixvQkFBb0I7Z0hBR25CLGlCQUFpQixhQUZqQixDQUFDLGNBQWMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFlBVmhELFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLGdCQUFnQjs7NEZBTVAsaUJBQWlCO2tCQWY3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztpQkFDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTmd4TWFza0RpcmVjdGl2ZSwgcHJvdmlkZU5neE1hc2sgfSBmcm9tIFwibmd4LW1hc2tcIjtcclxuaW1wb3J0IHsgRXJyb3JNZXNzYWdlTW9kdWxlIH0gZnJvbSBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgVG9vbHRpcE1lc3NhZ2VNb2R1bGUgfSBmcm9tIFwiLi4vdG9vbHRpcC1tZXNzYWdlL3Rvb2x0aXAtbWVzc2FnZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgSW5wdXROdW1iZXIgfSBmcm9tIFwiLi9pbnB1dC1udW1iZXJcIjtcclxuaW1wb3J0IHsgSW5wdXROdW1iZXJDb21wb25lbnQgfSBmcm9tIFwiLi9pbnB1dC1udW1iZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IElucHV0TnVtYmVyU2VydmljZSB9IGZyb20gXCIuL2lucHV0LW51bWJlci5zZXJ2aWNlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0lucHV0TnVtYmVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBFcnJvck1lc3NhZ2VNb2R1bGUsXHJcbiAgICBUb29sdGlwTWVzc2FnZU1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBOZ3hNYXNrRGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0lucHV0TnVtYmVyQ29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFtwcm92aWRlTmd4TWFzayh7IHZhbGlkYXRpb246IGZhbHNlIH0pXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0TnVtYmVyTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChpbnB1dE51bWJlcjogSW5wdXROdW1iZXIgPSBuZXcgSW5wdXROdW1iZXIoKSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SW5wdXROdW1iZXJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJbnB1dE51bWJlck1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIklOUFVUX05VTUJFUl9ERUNJTUFMU1wiLCB1c2VWYWx1ZTogaW5wdXROdW1iZXIuZGVjaW1hbHMgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiSU5QVVRfTlVNQkVSX0ZPUk1BVF9DRVJPXCIsIHVzZVZhbHVlOiBpbnB1dE51bWJlci5mb3JtYXRDZXJvIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIklOUFVUX05VTUJFUl9CVE5fRU5BQkxFXCIsIHVzZVZhbHVlOiBpbnB1dE51bWJlci5idG5FbmFibGUgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiSU5QVVRfTlVNQkVSX0JPTERcIiwgdXNlVmFsdWU6IGlucHV0TnVtYmVyLmJvbGQgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IFwiSU5QVVRfTlVNQkVSX1ZBTElEQVRPUl9NRVNTQUdFXCIsIHVzZVZhbHVlOiBpbnB1dE51bWJlci52YWxpZGF0b3JNZXNzYWdlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIklOUFVUX05VTUJFUl9UT09MVElQX01FU1NBR0VcIiwgdXNlVmFsdWU6IGlucHV0TnVtYmVyLnRvb2x0aXBNZXNzYWdlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBcIklOUFVUX05VTUJFUl9TVUJNSVRURURcIiwgdXNlVmFsdWU6IGlucHV0TnVtYmVyLnN1Ym1pdHRlZCB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogXCJJTlBVVF9OVU1CRVJfVkFMSURBVE9SX0FMRVJUXCIsIHVzZVZhbHVlOiBpbnB1dE51bWJlci52YWxpZGF0b3JBbGVydCB9LFxyXG4gICAgICAgIElucHV0TnVtYmVyU2VydmljZSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|