ngx-vector-components 3.0.2 → 3.2.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.
- package/CHANGELOG.md +22 -0
- package/assets/styles/_primeng-custom-theme.scss +10 -0
- package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +6 -3
- package/esm2020/lib/components/fields/data-table/data-table.component.mjs +28 -21
- package/esm2020/lib/components/fields/filters/filters.component.mjs +1 -1
- package/esm2020/lib/models/data-table.model.mjs +2 -1
- package/esm2020/lib/utils/mask.util.mjs +3 -3
- package/fesm2015/ngx-vector-components.mjs +36 -25
- package/fesm2015/ngx-vector-components.mjs.map +1 -1
- package/fesm2020/ngx-vector-components.mjs +36 -25
- package/fesm2020/ngx-vector-components.mjs.map +1 -1
- package/lib/components/fields/currency-field/currency-field.component.d.ts +2 -1
- package/lib/components/fields/data-table/data-table.component.d.ts +2 -1
- package/lib/models/data-table.model.d.ts +4 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
=======
|
|
4
|
+
|
|
5
|
+
## [3.2.0] (24/05/2022)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- Added the ability to add a button column to the `vector-data-table` component that calls a custom function.
|
|
10
|
+
- Added the possibility to hide the actions column of the component `vector-data-table`.
|
|
11
|
+
|
|
12
|
+
## [3.1.1] (20/05/2022)
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- Fixed `vector-button` to fill 100% of container.
|
|
17
|
+
- Fixed `BOLETO_PATTERN` in `MaskUtils` for accept a digit more.
|
|
18
|
+
|
|
19
|
+
## [3.1.0] (19/05/2022)
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
- added `isBankingField` input to `vector-currency-field`.
|
|
24
|
+
|
|
3
25
|
## [3.0.2] (19/05/2022)
|
|
4
26
|
|
|
5
27
|
### Bug Fixes
|
|
@@ -49,6 +49,11 @@ p-button {
|
|
|
49
49
|
color: #ffffff;
|
|
50
50
|
box-shadow: 0px 5px 5px rgba(0, 70, 232, 0.5);
|
|
51
51
|
|
|
52
|
+
|
|
53
|
+
button{
|
|
54
|
+
width: 100% !important;
|
|
55
|
+
}
|
|
56
|
+
|
|
52
57
|
&:hover:not(:disabled) {
|
|
53
58
|
background-color: #003049;
|
|
54
59
|
border-color: #003049;
|
|
@@ -798,6 +803,11 @@ vector-data-table {
|
|
|
798
803
|
.warning {
|
|
799
804
|
color: var(--warning-color);
|
|
800
805
|
}
|
|
806
|
+
|
|
807
|
+
.table-button {
|
|
808
|
+
cursor: pointer;
|
|
809
|
+
color: var(--theme-primary);
|
|
810
|
+
}
|
|
801
811
|
}
|
|
802
812
|
|
|
803
813
|
.no-results {
|
|
@@ -12,6 +12,7 @@ export class CurrencyFieldComponent {
|
|
|
12
12
|
this.placeholder = '';
|
|
13
13
|
this.outlined = false;
|
|
14
14
|
this.rounded = false;
|
|
15
|
+
this.isBankingField = false;
|
|
15
16
|
this.lastInvertedIndexTyped = 0;
|
|
16
17
|
this.subscription = new Subscription();
|
|
17
18
|
}
|
|
@@ -92,10 +93,10 @@ export class CurrencyFieldComponent {
|
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
95
|
CurrencyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
-
CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", control: "control", outlined: "outlined", rounded: "rounded", label: "label" }, ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined, rounded}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"focusLastIndex($event)\"\r\n (onKeyDown)=\"inputNextChar($event)\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"], components: [{ type: i1.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
96
|
+
CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", control: "control", outlined: "outlined", rounded: "rounded", label: "label", isBankingField: "isBankingField" }, ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined, rounded}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"], components: [{ type: i1.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
96
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
|
|
97
98
|
type: Component,
|
|
98
|
-
args: [{ selector: 'vector-currency-field', template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined, rounded}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"focusLastIndex($event)\"\r\n (onKeyDown)=\"inputNextChar($event)\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"] }]
|
|
99
|
+
args: [{ selector: 'vector-currency-field', template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined, rounded}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"] }]
|
|
99
100
|
}], propDecorators: { minValue: [{
|
|
100
101
|
type: Input
|
|
101
102
|
}], maxValue: [{
|
|
@@ -110,5 +111,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
110
111
|
type: Input
|
|
111
112
|
}], label: [{
|
|
112
113
|
type: Input
|
|
114
|
+
}], isBankingField: [{
|
|
115
|
+
type: Input
|
|
113
116
|
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFPUyxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIsYUFBUSxHQUFHLFNBQVMsQ0FBQztRQUVyQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQWlCekIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBU2YsMkJBQXNCLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQTJFM0M7SUF2R0MsSUFDSSxPQUFPLENBQUMsUUFBYTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDO1NB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S0FBSztnQkFHQyxLQUFLO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN0cmluZ1V0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1jdXJyZW5jeS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWluVmFsdWUgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1heFZhbHVlID0gOTk5OTk5OTk5O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHNldCBjb250cm9sKF9jb250cm9sOiBhbnkpIHtcclxuICAgIHRoaXMuX2NvbnRyb2wgPSBfY29udHJvbDtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgdGhpcy5sYXN0SW52ZXJ0ZWRJbmRleFR5cGVkID0gYCR7dGhpcy5jb250cm9sLnZhbHVlfWAubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZCA9IGAke3ZhbHVlfWAubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG91dGxpbmVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcm91bmRlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsPzogc3RyaW5nO1xyXG5cclxuICBnZXQgY29udHJvbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29udHJvbDogYW55O1xyXG4gIHByaXZhdGUgbGFzdEludmVydGVkSW5kZXhUeXBlZCA9IDA7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb2N1c0xhc3RJbmRleCgkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSAkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBjb25zdCBzZWxlY3Rpb25JbmRleCA9IHRhcmdldD8udmFsdWUubGVuZ3RoIHx8IDA7XHJcbiAgICB0YXJnZXQ/LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvbkluZGV4LCBzZWxlY3Rpb25JbmRleCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5wdXROZXh0Q2hhcigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9jdXNMYXN0SW5kZXgoJGV2ZW50KTtcclxuICAgIGNvbnN0IHRhcmdldCA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IGlzRGVsZXRlT3JCYWNrc3BhY2UgPSBbJ0RlbGV0ZScsICdCYWNrc3BhY2UnXS5pbmNsdWRlcygkZXZlbnQua2V5KTtcclxuICAgIGlmIChpc0RlbGV0ZU9yQmFja3NwYWNlKSB7XHJcbiAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZC0tO1xyXG4gICAgICB0YXJnZXQudmFsdWUgPSB0YXJnZXQudmFsdWUuc3Vic3RyKDAsIHRhcmdldC52YWx1ZS5sZW5ndGggLSAxKTtcclxuICAgICAgaWYgKHRhcmdldC52YWx1ZSA9PT0gJycpIHtcclxuICAgICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQgPSAwO1xyXG4gICAgICAgIHRhcmdldC52YWx1ZSA9ICcwLDAwJztcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCB2YWx1ZVR5cGVkID0gJGV2ZW50LmtleTtcclxuICAgIGlmICghaXNOYU4oK3ZhbHVlVHlwZWQpIHx8IGlzRGVsZXRlT3JCYWNrc3BhY2UpIHtcclxuICAgICAgaWYgKHRhcmdldC52YWx1ZSA9PT0gJzAsMDAnICYmICt2YWx1ZVR5cGVkID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaXNEZWxldGVPckJhY2tzcGFjZSkge1xyXG4gICAgICAgIHZhbHVlVHlwZWQgPSAnJztcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IGkgPSAwO1xyXG4gICAgICBjb25zdCByZXZlcnNlZFByZXZpb3VzVmFsdWUgPSBTdHJpbmdVdGlsLnJldmVydFN0cmluZyh0YXJnZXQudmFsdWUucmVwbGFjZSgvW14wLTldL2csICcnKSk7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gU3RyaW5nVXRpbC5yZXZlcnRTdHJpbmcoXHJcbiAgICAgICAgU3RyaW5nVXRpbC5yZXZlcnRTdHJpbmcoXHJcbiAgICAgICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQgPj0gMyA/IGAke3RhcmdldC52YWx1ZX0ke3ZhbHVlVHlwZWR9YC5yZXBsYWNlKC9bMC05XS9nLCAnIycpIDogJyMsIyMnXHJcbiAgICAgICAgKS5yZXBsYWNlKC8jL2csICgpID0+IHtcclxuICAgICAgICAgIGxldCByZXR1cm5WYWx1ZSA9ICcwJztcclxuICAgICAgICAgIGlmIChpc0RlbGV0ZU9yQmFja3NwYWNlKSB7XHJcbiAgICAgICAgICAgIHJldHVyblZhbHVlID0gcmV2ZXJzZWRQcmV2aW91c1ZhbHVlW2ldO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGkgPT09IDApIHtcclxuICAgICAgICAgICAgICByZXR1cm5WYWx1ZSA9IGAke3ZhbHVlVHlwZWR9YDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXR1cm5WYWx1ZSA9IHJldmVyc2VkUHJldmlvdXNWYWx1ZVtpIC0gMV0gfHwgJzAnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgcmV0dXJuIHJldHVyblZhbHVlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlT25seU51bWJlcnMgPSBuZXdWYWx1ZS5yZXBsYWNlKC9bXjAtOV0vZywgJycpO1xyXG4gICAgICB0YXJnZXQudmFsdWUgPSBOdW1iZXIoXHJcbiAgICAgICAgYCR7bmV3VmFsdWVPbmx5TnVtYmVycy5zdWJzdHJpbmcoMCwgbmV3VmFsdWVPbmx5TnVtYmVycy5sZW5ndGggLSAyKX0uJHtuZXdWYWx1ZU9ubHlOdW1iZXJzLnN1YnN0cihcclxuICAgICAgICAgIG5ld1ZhbHVlT25seU51bWJlcnMubGVuZ3RoIC0gMlxyXG4gICAgICAgICl9YFxyXG4gICAgICApLnRvTG9jYWxlU3RyaW5nKCdwdC1CUicsIHtcclxuICAgICAgICBjdXJyZW5jeTogJ0JSTCcsXHJcbiAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICghaXNOYU4oK3ZhbHVlVHlwZWQpKSB7XHJcbiAgICAgICAgdGhpcy5sYXN0SW52ZXJ0ZWRJbmRleFR5cGVkKys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhclZhbHVlKCkge1xyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKDApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ2lucHV0LWNvbnRhaW5lcic6IG91dGxpbmVkLCAndmFsdWUtaW5wdXQtY29udGFpbmVyJzogIW91dGxpbmVkLCByb3VuZGVkOiByb3VuZGVkIH1cIj5cclxuICA8ZGl2IGNsYXNzPVwiaW5uZXItY29udGFpbmVyXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dFwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIiFvdXRsaW5lZFwiPlIkIDwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cInZhbHVlLWlucHV0XCI+XHJcbiAgICAgICAgPHAtaW5wdXROdW1iZXJcclxuICAgICAgICAgIGNsYXNzPVwiY3VycmVuY3ktaW5wdXRcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwie291dGxpbmVkLCByb3VuZGVkfVwiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgICBtb2RlPVwiZGVjaW1hbFwiXHJcbiAgICAgICAgICBbbWluRnJhY3Rpb25EaWdpdHNdPVwiMlwiXHJcbiAgICAgICAgICBbbWF4RnJhY3Rpb25EaWdpdHNdPVwiMlwiXHJcbiAgICAgICAgICBbbWluXT1cIm1pblZhbHVlXCJcclxuICAgICAgICAgIFttYXhdPVwibWF4VmFsdWVcIlxyXG4gICAgICAgICAgW3ByZWZpeF09XCJvdXRsaW5lZCA/ICdSJCAnIDogJydcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImZvY3VzTGFzdEluZGV4KCRldmVudClcIlxyXG4gICAgICAgICAgKG9uS2V5RG93bik9XCJpbnB1dE5leHRDaGFyKCRldmVudClcIlxyXG4gICAgICAgID48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPHNwYW4gKm5nSWY9XCJyb3VuZGVkXCIgY2xhc3M9XCJjbGVhci12YWx1ZVwiIChjbGljayk9XCJjbGVhclZhbHVlKClcIj48aSBjbGFzcz1cInBpIHBpLXRpbWVzXCI+PC9pPjwvc3Bhbj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFPUyxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIsYUFBUSxHQUFHLFNBQVMsQ0FBQztRQUVyQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQWlCekIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSWhCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBTy9CLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUMzQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0EyRTNDO0lBekdDLElBQ0ksT0FBTyxDQUFDLFFBQWE7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUN0QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFD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c0JBRGQsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsS0FBSztzQkFEWCxLQUFLO2dCQUdDLGNBQWM7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN0cmluZ1V0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1jdXJyZW5jeS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWluVmFsdWUgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1heFZhbHVlID0gOTk5OTk5OTk5O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHNldCBjb250cm9sKF9jb250cm9sOiBhbnkpIHtcclxuICAgIHRoaXMuX2NvbnRyb2wgPSBfY29udHJvbDtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgdGhpcy5sYXN0SW52ZXJ0ZWRJbmRleFR5cGVkID0gYCR7dGhpcy5jb250cm9sLnZhbHVlfWAubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZCA9IGAke3ZhbHVlfWAubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG91dGxpbmVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcm91bmRlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQmFua2luZ0ZpZWxkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBjb250cm9sKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb250cm9sOiBhbnk7XHJcbiAgcHJpdmF0ZSBsYXN0SW52ZXJ0ZWRJbmRleFR5cGVkID0gMDtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZvY3VzTGFzdEluZGV4KCRldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldCA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IHNlbGVjdGlvbkluZGV4ID0gdGFyZ2V0Py52YWx1ZS5sZW5ndGggfHwgMDtcclxuICAgIHRhcmdldD8uc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uSW5kZXgsIHNlbGVjdGlvbkluZGV4KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbnB1dE5leHRDaGFyKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb2N1c0xhc3RJbmRleCgkZXZlbnQpO1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3QgaXNEZWxldGVPckJhY2tzcGFjZSA9IFsnRGVsZXRlJywgJ0JhY2tzcGFjZSddLmluY2x1ZGVzKCRldmVudC5rZXkpO1xyXG4gICAgaWYgKGlzRGVsZXRlT3JCYWNrc3BhY2UpIHtcclxuICAgICAgdGhpcy5sYXN0SW52ZXJ0ZWRJbmRleFR5cGVkLS07XHJcbiAgICAgIHRhcmdldC52YWx1ZSA9IHRhcmdldC52YWx1ZS5zdWJzdHIoMCwgdGFyZ2V0LnZhbHVlLmxlbmd0aCAtIDEpO1xyXG4gICAgICBpZiAodGFyZ2V0LnZhbHVlID09PSAnJykge1xyXG4gICAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZCA9IDA7XHJcbiAgICAgICAgdGFyZ2V0LnZhbHVlID0gJzAsMDAnO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IHZhbHVlVHlwZWQgPSAkZXZlbnQua2V5O1xyXG4gICAgaWYgKCFpc05hTigrdmFsdWVUeXBlZCkgfHwgaXNEZWxldGVPckJhY2tzcGFjZSkge1xyXG4gICAgICBpZiAodGFyZ2V0LnZhbHVlID09PSAnMCwwMCcgJiYgK3ZhbHVlVHlwZWQgPT09IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpc0RlbGV0ZU9yQmFja3NwYWNlKSB7XHJcbiAgICAgICAgdmFsdWVUeXBlZCA9ICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgaSA9IDA7XHJcbiAgICAgIGNvbnN0IHJldmVyc2VkUHJldmlvdXNWYWx1ZSA9IFN0cmluZ1V0aWwucmV2ZXJ0U3RyaW5nKHRhcmdldC52YWx1ZS5yZXBsYWNlKC9bXjAtOV0vZywgJycpKTtcclxuICAgICAgY29uc3QgbmV3VmFsdWUgPSBTdHJpbmdVdGlsLnJldmVydFN0cmluZyhcclxuICAgICAgICBTdHJpbmdVdGlsLnJldmVydFN0cmluZyhcclxuICAgICAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZCA+PSAzID8gYCR7dGFyZ2V0LnZhbHVlfSR7dmFsdWVUeXBlZH1gLnJlcGxhY2UoL1swLTldL2csICcjJykgOiAnIywjIydcclxuICAgICAgICApLnJlcGxhY2UoLyMvZywgKCkgPT4ge1xyXG4gICAgICAgICAgbGV0IHJldHVyblZhbHVlID0gJzAnO1xyXG4gICAgICAgICAgaWYgKGlzRGVsZXRlT3JCYWNrc3BhY2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuVmFsdWUgPSByZXZlcnNlZFByZXZpb3VzVmFsdWVbaV07XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgIHJldHVyblZhbHVlID0gYCR7dmFsdWVUeXBlZH1gO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJldHVyblZhbHVlID0gcmV2ZXJzZWRQcmV2aW91c1ZhbHVlW2kgLSAxXSB8fCAnMCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpKys7XHJcbiAgICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgY29uc3QgbmV3VmFsdWVPbmx5TnVtYmVycyA9IG5ld1ZhbHVlLnJlcGxhY2UoL1teMC05XS9nLCAnJyk7XHJcbiAgICAgIHRhcmdldC52YWx1ZSA9IE51bWJlcihcclxuICAgICAgICBgJHtuZXdWYWx1ZU9ubHlOdW1iZXJzLnN1YnN0cmluZygwLCBuZXdWYWx1ZU9ubHlOdW1iZXJzLmxlbmd0aCAtIDIpfS4ke25ld1ZhbHVlT25seU51bWJlcnMuc3Vic3RyKFxyXG4gICAgICAgICAgbmV3VmFsdWVPbmx5TnVtYmVycy5sZW5ndGggLSAyXHJcbiAgICAgICAgKX1gXHJcbiAgICAgICkudG9Mb2NhbGVTdHJpbmcoJ3B0LUJSJywge1xyXG4gICAgICAgIGN1cnJlbmN5OiAnQlJMJyxcclxuICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKCFpc05hTigrdmFsdWVUeXBlZCkpIHtcclxuICAgICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQrKztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyVmFsdWUoKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwieyAnaW5wdXQtY29udGFpbmVyJzogb3V0bGluZWQsICd2YWx1ZS1pbnB1dC1jb250YWluZXInOiAhb3V0bGluZWQsIHJvdW5kZWQ6IHJvdW5kZWQgfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbm5lci1jb250YWluZXJcIj5cclxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0XCI+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiIW91dGxpbmVkXCI+UiQgPC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidmFsdWUtaW5wdXRcIj5cclxuICAgICAgICA8cC1pbnB1dE51bWJlclxyXG4gICAgICAgICAgY2xhc3M9XCJjdXJyZW5jeS1pbnB1dFwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7b3V0bGluZWQsIHJvdW5kZWR9XCJcclxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgICAgIG1vZGU9XCJkZWNpbWFsXCJcclxuICAgICAgICAgIFttaW5GcmFjdGlvbkRpZ2l0c109XCIyXCJcclxuICAgICAgICAgIFttYXhGcmFjdGlvbkRpZ2l0c109XCIyXCJcclxuICAgICAgICAgIFttaW5dPVwibWluVmFsdWVcIlxyXG4gICAgICAgICAgW21heF09XCJtYXhWYWx1ZVwiXHJcbiAgICAgICAgICBbcHJlZml4XT1cIm91dGxpbmVkID8gJ1IkICcgOiAnJ1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwiaXNCYW5raW5nRmllbGQgPyBmb2N1c0xhc3RJbmRleCgkZXZlbnQpIDogbnVsbFwiXHJcbiAgICAgICAgICAob25LZXlEb3duKT1cImlzQmFua2luZ0ZpZWxkID8gaW5wdXROZXh0Q2hhcigkZXZlbnQpIDogbnVsbFwiXHJcbiAgICAgICAgPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8c3BhbiAqbmdJZj1cInJvdW5kZWRcIiBjbGFzcz1cImNsZWFyLXZhbHVlXCIgKGNsaWNrKT1cImNsZWFyVmFsdWUoKVwiPjxpIGNsYXNzPVwicGkgcGktdGltZXNcIj48L2k+PC9zcGFuPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -24,6 +24,7 @@ export class DataTableComponent {
|
|
|
24
24
|
this.pagination = true;
|
|
25
25
|
this.virtualPagination = false;
|
|
26
26
|
this.addItemButtonPlusSign = false;
|
|
27
|
+
this.hasActions = true;
|
|
27
28
|
this.onLazyLoad = new EventEmitter();
|
|
28
29
|
this.onFilter = new EventEmitter();
|
|
29
30
|
this.onAdd = new EventEmitter();
|
|
@@ -50,6 +51,24 @@ export class DataTableComponent {
|
|
|
50
51
|
}
|
|
51
52
|
lazyLoaded(params = { filter: false, data: { start: 0, rows: 10 } }) {
|
|
52
53
|
if (!params.filter) {
|
|
54
|
+
const columns = this.columns.map((col) => {
|
|
55
|
+
return {
|
|
56
|
+
data: col.field,
|
|
57
|
+
name: `${col.field.substring(0, 1).toUpperCase()}${col.field.substring(1, col.field.length)}`,
|
|
58
|
+
orderable: true,
|
|
59
|
+
search: { value: '', regex: false },
|
|
60
|
+
searchable: true,
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
if (this.hasActions) {
|
|
64
|
+
columns.unshift({
|
|
65
|
+
data: 'active',
|
|
66
|
+
name: 'Active',
|
|
67
|
+
orderable: true,
|
|
68
|
+
search: { value: '', regex: false },
|
|
69
|
+
searchable: true,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
53
72
|
this.lastLazyLoadEvent = {
|
|
54
73
|
...(this.lastLazyLoadEvent || {}),
|
|
55
74
|
start: params.data.first,
|
|
@@ -63,24 +82,7 @@ export class DataTableComponent {
|
|
|
63
82
|
},
|
|
64
83
|
]
|
|
65
84
|
: [{ column: 0, dir: 'desc' }],
|
|
66
|
-
columns:
|
|
67
|
-
{
|
|
68
|
-
data: 'active',
|
|
69
|
-
name: 'Active',
|
|
70
|
-
orderable: true,
|
|
71
|
-
search: { value: '', regex: false },
|
|
72
|
-
searchable: true,
|
|
73
|
-
},
|
|
74
|
-
...this.columns.map((col) => {
|
|
75
|
-
return {
|
|
76
|
-
data: col.field,
|
|
77
|
-
name: `${col.field.substring(0, 1).toUpperCase()}${col.field.substring(1, col.field.length)}`,
|
|
78
|
-
orderable: true,
|
|
79
|
-
search: { value: '', regex: false },
|
|
80
|
-
searchable: true,
|
|
81
|
-
};
|
|
82
|
-
}),
|
|
83
|
-
],
|
|
85
|
+
columns: columns,
|
|
84
86
|
};
|
|
85
87
|
}
|
|
86
88
|
else {
|
|
@@ -121,6 +123,9 @@ export class DataTableComponent {
|
|
|
121
123
|
if (col.type === TableColumnType.ACTIVE_BOOLEAN_BADGE) {
|
|
122
124
|
content += `<div class="text-centered"><i class="fas fa-circle status-table-field ${this.getActiveStatusColor(item[col.field])}"></i></div>`;
|
|
123
125
|
}
|
|
126
|
+
if (col.type === TableColumnType.BUTTON) {
|
|
127
|
+
content += `<div class="text-centered"><i class="fas ${col.icon || 'fa-circle'} status-table-field table-button"></i></div>`;
|
|
128
|
+
}
|
|
124
129
|
content += `</span>`;
|
|
125
130
|
return content;
|
|
126
131
|
}
|
|
@@ -146,10 +151,10 @@ export class DataTableComponent {
|
|
|
146
151
|
}
|
|
147
152
|
}
|
|
148
153
|
DataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
149
|
-
DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DataTableComponent, selector: "vector-data-table", inputs: { columns: "columns", data: "data", exportExcel: "exportExcel", exportPDF: "exportPDF", totalRecords: "totalRecords", filters: "filters", addItemLabel: "addItemLabel", pagination: "pagination", virtualPagination: "virtualPagination", tabs: "tabs", addItemButtonPlusSign: "addItemButtonPlusSign" }, outputs: { onLazyLoad: "onLazyLoad", onFilter: "onFilter", onAdd: "onAdd", onExportExcel: "onExportExcel", onExportPDF: "onExportPDF" }, viewQueries: [{ propertyName: "filtersComponent", first: true, predicate: FiltersComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters [fields]=\"filters\" (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file\"></i><span>PDF</span>\r\n </button>\r\n <vector-button\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\" [header]=\"tab.name\"></p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} at\u00E9 {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th style=\"max-width: 100px\" class=\"centered\">A\u00E7\u00F5es</th>\r\n <th *ngFor=\"let col of columns\" [ngStyle]=\"getColStyle(col)\" [pSortableColumn]=\"col.field\">\r\n {{ col.header }} <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-item>\r\n <tr class=\"row\">\r\n <td style=\"max-width: 100px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <td\r\n *ngFor=\"let col of columns\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n", styles: [".no-results{padding:15px;background-color:#fff;width:100%}.centered{display:flex;justify-content:center}.table-header-actions{display:flex;justify-content:flex-end;align-items:flex-end;width:100%;padding-right:7px;margin-bottom:15px!important}@media (min-width: 768px){.table-header-actions{margin-top:-3px}}.table-header-actions .export-button{padding:7px 10px;color:#fff;display:flex;align-items:center;border:none;border-radius:5px;margin:5px;font-size:.75rem;cursor:pointer}.table-header-actions .export-button.export-excel{background-color:var(--success-color)}.table-header-actions .export-button.export-excel:hover{background-color:var(--success-color-dark)}.table-header-actions .export-button.export-pdf{background-color:var(--error-color)}.table-header-actions .export-button.export-pdf:hover{background-color:var(--error-color-dark)}.table-header-actions .export-button i{color:#fff}.table-header-actions .export-button span{margin-left:5px}.table-header-actions .add-item-button{margin-left:10px}.actions-menu-button{font-size:23px;cursor:pointer;color:var(--theme-medium)}\n"], components: [{ type: i1.FiltersComponent, selector: "vector-filters", inputs: ["fields"], outputs: ["onSearch"] }, { type: i2.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i3.PanelComponent, selector: "vector-panel" }, { type: i4.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { type: i4.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { type: i5.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollDelay", "virtualRowHeight", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "minBufferPx", "maxBufferPx", "responsiveLayout", "breakpoint", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { type: i5.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { type: i6.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }] });
|
|
154
|
+
DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DataTableComponent, selector: "vector-data-table", inputs: { columns: "columns", data: "data", exportExcel: "exportExcel", exportPDF: "exportPDF", totalRecords: "totalRecords", filters: "filters", addItemLabel: "addItemLabel", pagination: "pagination", virtualPagination: "virtualPagination", tabs: "tabs", addItemButtonPlusSign: "addItemButtonPlusSign", hasActions: "hasActions" }, outputs: { onLazyLoad: "onLazyLoad", onFilter: "onFilter", onAdd: "onAdd", onExportExcel: "onExportExcel", onExportPDF: "onExportPDF" }, viewQueries: [{ propertyName: "filtersComponent", first: true, predicate: FiltersComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters [fields]=\"filters\" (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file\"></i><span>PDF</span>\r\n </button>\r\n <vector-button\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\" [header]=\"tab.name\"></p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} at\u00E9 {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th style=\"max-width: 100px\" class=\"centered\" *ngIf=\"hasActions\">A\u00E7\u00F5es</th>\r\n <th *ngFor=\"let col of columns\" [ngStyle]=\"getColStyle(col)\" [pSortableColumn]=\"col.field\">\r\n {{ col.header }} <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-item>\r\n <tr class=\"row\">\r\n <td style=\"max-width: 100px\" class=\"centered\" *ngIf=\"hasActions\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <td\r\n *ngFor=\"let col of columns\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n", styles: [".no-results{padding:15px;background-color:#fff;width:100%}.centered{display:flex;justify-content:center}.table-header-actions{display:flex;justify-content:flex-end;align-items:flex-end;width:100%;padding-right:7px;margin-bottom:15px!important}@media (min-width: 768px){.table-header-actions{margin-top:-3px}}.table-header-actions .export-button{padding:7px 10px;color:#fff;display:flex;align-items:center;border:none;border-radius:5px;margin:5px;font-size:.75rem;cursor:pointer}.table-header-actions .export-button.export-excel{background-color:var(--success-color)}.table-header-actions .export-button.export-excel:hover{background-color:var(--success-color-dark)}.table-header-actions .export-button.export-pdf{background-color:var(--error-color)}.table-header-actions .export-button.export-pdf:hover{background-color:var(--error-color-dark)}.table-header-actions .export-button i{color:#fff}.table-header-actions .export-button span{margin-left:5px}.table-header-actions .add-item-button{margin-left:10px}.actions-menu-button{font-size:23px;cursor:pointer;color:var(--theme-medium)}\n"], components: [{ type: i1.FiltersComponent, selector: "vector-filters", inputs: ["fields"], outputs: ["onSearch"] }, { type: i2.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i3.PanelComponent, selector: "vector-panel" }, { type: i4.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { type: i4.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { type: i5.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollDelay", "virtualRowHeight", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "minBufferPx", "maxBufferPx", "responsiveLayout", "breakpoint", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { type: i5.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { type: i6.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }] });
|
|
150
155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
151
156
|
type: Component,
|
|
152
|
-
args: [{ selector: 'vector-data-table', template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters [fields]=\"filters\" (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file\"></i><span>PDF</span>\r\n </button>\r\n <vector-button\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\" [header]=\"tab.name\"></p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} at\u00E9 {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th style=\"max-width: 100px\" class=\"centered\">A\u00E7\u00F5es</th>\r\n <th *ngFor=\"let col of columns\" [ngStyle]=\"getColStyle(col)\" [pSortableColumn]=\"col.field\">\r\n {{ col.header }} <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-item>\r\n <tr class=\"row\">\r\n <td style=\"max-width: 100px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <td\r\n *ngFor=\"let col of columns\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n", styles: [".no-results{padding:15px;background-color:#fff;width:100%}.centered{display:flex;justify-content:center}.table-header-actions{display:flex;justify-content:flex-end;align-items:flex-end;width:100%;padding-right:7px;margin-bottom:15px!important}@media (min-width: 768px){.table-header-actions{margin-top:-3px}}.table-header-actions .export-button{padding:7px 10px;color:#fff;display:flex;align-items:center;border:none;border-radius:5px;margin:5px;font-size:.75rem;cursor:pointer}.table-header-actions .export-button.export-excel{background-color:var(--success-color)}.table-header-actions .export-button.export-excel:hover{background-color:var(--success-color-dark)}.table-header-actions .export-button.export-pdf{background-color:var(--error-color)}.table-header-actions .export-button.export-pdf:hover{background-color:var(--error-color-dark)}.table-header-actions .export-button i{color:#fff}.table-header-actions .export-button span{margin-left:5px}.table-header-actions .add-item-button{margin-left:10px}.actions-menu-button{font-size:23px;cursor:pointer;color:var(--theme-medium)}\n"] }]
|
|
157
|
+
args: [{ selector: 'vector-data-table', template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters [fields]=\"filters\" (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file\"></i><span>PDF</span>\r\n </button>\r\n <vector-button\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\" [header]=\"tab.name\"></p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} at\u00E9 {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th style=\"max-width: 100px\" class=\"centered\" *ngIf=\"hasActions\">A\u00E7\u00F5es</th>\r\n <th *ngFor=\"let col of columns\" [ngStyle]=\"getColStyle(col)\" [pSortableColumn]=\"col.field\">\r\n {{ col.header }} <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-item>\r\n <tr class=\"row\">\r\n <td style=\"max-width: 100px\" class=\"centered\" *ngIf=\"hasActions\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <td\r\n *ngFor=\"let col of columns\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n", styles: [".no-results{padding:15px;background-color:#fff;width:100%}.centered{display:flex;justify-content:center}.table-header-actions{display:flex;justify-content:flex-end;align-items:flex-end;width:100%;padding-right:7px;margin-bottom:15px!important}@media (min-width: 768px){.table-header-actions{margin-top:-3px}}.table-header-actions .export-button{padding:7px 10px;color:#fff;display:flex;align-items:center;border:none;border-radius:5px;margin:5px;font-size:.75rem;cursor:pointer}.table-header-actions .export-button.export-excel{background-color:var(--success-color)}.table-header-actions .export-button.export-excel:hover{background-color:var(--success-color-dark)}.table-header-actions .export-button.export-pdf{background-color:var(--error-color)}.table-header-actions .export-button.export-pdf:hover{background-color:var(--error-color-dark)}.table-header-actions .export-button i{color:#fff}.table-header-actions .export-button span{margin-left:5px}.table-header-actions .add-item-button{margin-left:10px}.actions-menu-button{font-size:23px;cursor:pointer;color:var(--theme-medium)}\n"] }]
|
|
153
158
|
}], ctorParameters: function () { return []; }, propDecorators: { columns: [{
|
|
154
159
|
type: Input
|
|
155
160
|
}], data: [{
|
|
@@ -172,6 +177,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
172
177
|
type: Input
|
|
173
178
|
}], addItemButtonPlusSign: [{
|
|
174
179
|
type: Input
|
|
180
|
+
}], hasActions: [{
|
|
181
|
+
type: Input
|
|
175
182
|
}], onLazyLoad: [{
|
|
176
183
|
type: Output
|
|
177
184
|
}], onFilter: [{
|
|
@@ -186,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
186
193
|
type: ViewChild,
|
|
187
194
|
args: [FiltersComponent, { static: true }]
|
|
188
195
|
}] } });
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFZLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBdUMsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEcsT0FBTyxFQUFlLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFPN0UsTUFBTSxPQUFPLGtCQUFrQjtJQWdEN0I7UUE5Q08sWUFBTyxHQUFrQixFQUFFLENBQUM7UUFFNUIsU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUVqQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBRTVCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFbEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTzFCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUU5QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFeEQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbkMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFakMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXpDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQU90QyxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBQ3ZCLFNBQUksR0FBRyxDQUFDLENBQUM7UUFDVCx3QkFBbUIsR0FBRyxLQUFLLENBQUM7SUFJckIsQ0FBQztJQTdCaEIsSUFDVyxJQUFJLENBQUMsS0FBaUI7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQWdCRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVNELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFnQjtRQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQXlDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNqRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNsQixJQUFJLENBQUMsaUJBQWlCLEdBQUc7Z0JBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUssRUFBVSxDQUFDO2dCQUMxQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLO2dCQUN4QixNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDakIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUztvQkFDMUIsQ0FBQyxDQUFDO3dCQUNFOzRCQUNFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7NEJBQ2hGLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTTt5QkFDaEQ7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDaEMsT0FBTyxFQUFFO29CQUNQO3dCQUNFLElBQUksRUFBRSxRQUFRO3dCQUNkLElBQUksRUFBRSxRQUFRO3dCQUNkLFNBQVMsRUFBRSxJQUFJO3dCQUNmLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTt3QkFDbkMsVUFBVSxFQUFFLElBQUk7cUJBQ2pCO29CQUNELEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDMUIsT0FBTzs0QkFDTCxJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUs7NEJBQ2YsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFOzRCQUM3RixTQUFTLEVBQUUsSUFBSTs0QkFDZixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7NEJBQ25DLFVBQVUsRUFBRSxJQUFJO3lCQUNqQixDQUFDO29CQUNKLENBQUMsQ0FBQztpQkFDSDthQUNGLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixHQUFHO2dCQUN2QixHQUFHLElBQUksQ0FBQyxpQkFBaUI7Z0JBQ3pCLEdBQUcsTUFBTSxDQUFDLElBQUk7YUFDZixDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUc7b0JBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUssRUFBVSxDQUFDO29CQUMxQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO2lCQUNyQyxDQUFDO2FBQ0g7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVMsRUFBRSxHQUFnQjtRQUN4QyxJQUFJLE9BQU8sR0FBRyxnQ0FBZ0MsR0FBRyxDQUFDLE1BQU0sNkJBQTZCLENBQUM7UUFDdEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsSUFBSSxFQUFFO1lBQ2xELE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNsQztRQUVELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsT0FBTyxFQUFFO1lBQ3hDLE9BQU8sSUFBSSxtRUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsOEJBQ3JELGNBQWMsQ0FBQztTQUNoQjtRQUVELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRTtZQUM5RCxPQUFPLElBQUksR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUQsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM3RyxPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxZQUFZLEVBQUU7WUFDN0MsT0FBTyxJQUFJLHlFQUF5RSxJQUFJLENBQUMsY0FBYyxDQUNyRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUNoQixjQUFjLENBQUM7U0FDakI7UUFFRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLG9CQUFvQixFQUFFO1lBQ3JELE9BQU8sSUFBSSx5RUFBeUUsSUFBSSxDQUFDLG9CQUFvQixDQUMzRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUNoQixjQUFjLENBQUM7U0FDakI7UUFFRCxPQUFPLElBQUksU0FBUyxDQUFDO1FBQ3JCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBVztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sY0FBYyxDQUFDLE1BQWM7UUFDbkMsUUFBUSxNQUFNLEVBQUU7WUFDZCxLQUFLLE1BQU0sQ0FBQyxPQUFPO2dCQUNqQixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLE1BQU0sQ0FBQyxRQUFRO2dCQUNsQixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLE1BQU0sQ0FBQyxRQUFRO2dCQUNsQixPQUFPLE9BQU8sQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxNQUFlO1FBQzFDLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDOzsrR0E3S1Usa0JBQWtCO21HQUFsQixrQkFBa0Isc2lCQW9DbEIsZ0JBQWdCLDhEQy9DN0IsK3hHQXlFQTsyRkQ5RGEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLG1CQUFtQjswRUFNdEIsT0FBTztzQkFEYixLQUFLO2dCQUdDLElBQUk7c0JBRFYsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLFNBQVM7c0JBRGYsS0FBSztnQkFHQyxZQUFZO3NCQURsQixLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxZQUFZO3NCQURsQixLQUFLO2dCQUdDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUdLLElBQUk7c0JBRGQsS0FBSztnQkFNQyxxQkFBcUI7c0JBRDNCLEtBQUs7Z0JBR0MsVUFBVTtzQkFEaEIsTUFBTTtnQkFHQSxRQUFRO3NCQURkLE1BQU07Z0JBR0EsS0FBSztzQkFEWCxNQUFNO2dCQUdBLGFBQWE7c0JBRG5CLE1BQU07Z0JBR0EsV0FBVztzQkFEakIsTUFBTTtnQkFHQSxnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xyXG5pbXBvcnQgeyBMaXN0SXRlbSwgU3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgRGF0YVRhYmxlTGF6eUxvYWRFdmVudCwgVGFibGVDb2x1bW4sIFRhYmxlQ29sdW1uVHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9kYXRhLXRhYmxlLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyRmllbGQsIEZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuLi9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLWRhdGEtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkYXRhOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV4cG9ydEV4Y2VsID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXhwb3J0UERGID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdG90YWxSZWNvcmRzID0gMDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaWx0ZXJzOiBGaWx0ZXJGaWVsZFtdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkSXRlbUxhYmVsID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnaW5hdGlvbiA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmlydHVhbFBhZ2luYXRpb24gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdGFicyhfdGFiczogTGlzdEl0ZW1bXSkge1xyXG4gICAgdGhpcy5fdGFicyA9IF90YWJzO1xyXG4gICAgdGhpcy50YWJTZWxlY3RlZCA9IF90YWJzWzBdO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRJdGVtQnV0dG9uUGx1c1NpZ24gPSBmYWxzZTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25MYXp5TG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVRhYmxlTGF6eUxvYWRFdmVudD4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25GaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25BZGQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRXhwb3J0RXhjZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRXhwb3J0UERGID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBWaWV3Q2hpbGQoRmlsdGVyc0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwdWJsaWMgZmlsdGVyc0NvbXBvbmVudDogRmlsdGVyc0NvbXBvbmVudCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgZ2V0IHRhYnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFicztcclxuICB9XHJcbiAgcHJpdmF0ZSBfdGFiczogTGlzdEl0ZW1bXSA9IFtdO1xyXG4gIHByaXZhdGUgZHJhdyA9IDE7XHJcbiAgcHJpdmF0ZSBmaXJzdExhenlMb2FkZWREb25lID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBsYXN0TGF6eUxvYWRFdmVudDogRGF0YVRhYmxlTGF6eUxvYWRFdmVudCB8IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIHRhYlNlbGVjdGVkOiBMaXN0SXRlbSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5wYWdpbmF0aW9uIHx8IHRoaXMudmlydHVhbFBhZ2luYXRpb24pIHtcclxuICAgICAgdGhpcy5maWx0ZXJzQ29tcG9uZW50Py5zZWFyY2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbFN0eWxlKGNvbDogVGFibGVDb2x1bW4pIHtcclxuICAgIHJldHVybiB7ICdtaW4td2lkdGgnOiBjb2wud2lkdGggfTtcclxuICB9XHJcblxyXG4gIGxhenlMb2FkZWQocGFyYW1zOiB7IGZpbHRlcjogYm9vbGVhbjsgZGF0YTogYW55IH0gPSB7IGZpbHRlcjogZmFsc2UsIGRhdGE6IHsgc3RhcnQ6IDAsIHJvd3M6IDEwIH0gfSkge1xyXG4gICAgaWYgKCFwYXJhbXMuZmlsdGVyKSB7XHJcbiAgICAgIHRoaXMubGFzdExhenlMb2FkRXZlbnQgPSB7XHJcbiAgICAgICAgLi4uKHRoaXMubGFzdExhenlMb2FkRXZlbnQgfHwgKHt9IGFzIGFueSkpLFxyXG4gICAgICAgIHN0YXJ0OiBwYXJhbXMuZGF0YS5maXJzdCxcclxuICAgICAgICBsZW5ndGg6IHBhcmFtcy5kYXRhLnJvd3MsXHJcbiAgICAgICAgZHJhdzogdGhpcy5kcmF3KyssXHJcbiAgICAgICAgb3JkZXI6IHBhcmFtcy5kYXRhLnNvcnRGaWVsZFxyXG4gICAgICAgICAgPyBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLmNvbHVtbnMuZmluZEluZGV4KChjb2wpID0+IGNvbC5maWVsZCA9PT0gcGFyYW1zLmRhdGEuc29ydEZpZWxkKSArIDEsXHJcbiAgICAgICAgICAgICAgICBkaXI6IHBhcmFtcy5kYXRhLnNvcnRPcmRlciA+IDAgPyAnYXNjJyA6ICdkZXNjJyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgICA6IFt7IGNvbHVtbjogMCwgZGlyOiAnZGVzYycgfV0sXHJcbiAgICAgICAgY29sdW1uczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBkYXRhOiAnYWN0aXZlJyxcclxuICAgICAgICAgICAgbmFtZTogJ0FjdGl2ZScsXHJcbiAgICAgICAgICAgIG9yZGVyYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgc2VhcmNoOiB7IHZhbHVlOiAnJywgcmVnZXg6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgIHNlYXJjaGFibGU6IHRydWUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4udGhpcy5jb2x1bW5zLm1hcCgoY29sKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgZGF0YTogY29sLmZpZWxkLFxyXG4gICAgICAgICAgICAgIG5hbWU6IGAke2NvbC5maWVsZC5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKX0ke2NvbC5maWVsZC5zdWJzdHJpbmcoMSwgY29sLmZpZWxkLmxlbmd0aCl9YCxcclxuICAgICAgICAgICAgICBvcmRlcmFibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgc2VhcmNoOiB7IHZhbHVlOiAnJywgcmVnZXg6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgICAgc2VhcmNoYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxhc3RMYXp5TG9hZEV2ZW50ID0ge1xyXG4gICAgICAgIC4uLnRoaXMubGFzdExhenlMb2FkRXZlbnQsXHJcbiAgICAgICAgLi4ucGFyYW1zLmRhdGEsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICh0aGlzLnRhYlNlbGVjdGVkKSB7XHJcbiAgICAgICAgdGhpcy5sYXN0TGF6eUxvYWRFdmVudCA9IHtcclxuICAgICAgICAgIC4uLih0aGlzLmxhc3RMYXp5TG9hZEV2ZW50IHx8ICh7fSBhcyBhbnkpKSxcclxuICAgICAgICAgIC4uLnsgU3RhdHVzOiB0aGlzLnRhYlNlbGVjdGVkLmNvZGUgfSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZmlyc3RMYXp5TG9hZGVkRG9uZSkge1xyXG4gICAgICB0aGlzLm9uTGF6eUxvYWQuZW1pdCh0aGlzLmxhc3RMYXp5TG9hZEV2ZW50KTtcclxuICAgIH1cclxuICAgIHRoaXMuZmlyc3RMYXp5TG9hZGVkRG9uZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBnZXRDZWxsQ29udGVudChpdGVtOiBhbnksIGNvbDogVGFibGVDb2x1bW4pIHtcclxuICAgIGxldCBjb250ZW50ID0gYDxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj4ke2NvbC5oZWFkZXJ9PC9zcGFuPjxzcGFuIGNsYXNzPVwidy0xMDBcIj5gO1xyXG4gICAgaWYgKCFjb2wudHlwZSB8fCBjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLlRFWFQpIHtcclxuICAgICAgY29udGVudCArPSBpdGVtW2NvbC5maWVsZF0gfHwgJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuQk9PTEVBTikge1xyXG4gICAgICBjb250ZW50ICs9IGA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJlZFwiPjxpIGNsYXNzPVwiIHN0YXR1cy10YWJsZS1maWVsZCBmYXMgZmEtJHtcclxuICAgICAgICBpdGVtW2NvbC5maWVsZF0gPyAnY2hlY2sgYm9vbGVhbi12YWx1ZS1wb3NpdGl2ZScgOiAndGltZXMgYm9vbGVhbi12YWx1ZS1uZWdhdGl2ZSdcclxuICAgICAgfVwiPjwvaT48L2Rpdj5gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLkVOVU0gJiYgY29sLmdldEVudW1UcmFuc2xhdGVkKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gY29sLmdldEVudW1UcmFuc2xhdGVkKGl0ZW1bY29sLmZpZWxkXSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuREFURVRJTUUgJiYgaXRlbVtjb2wuZmllbGRdKSB7XHJcbiAgICAgIGNvbnN0IGRhdGVUaW1lID1cclxuICAgICAgICBpdGVtW2NvbC5maWVsZF0gaW5zdGFuY2VvZiBEYXRlID8gRGF0ZVRpbWUuZnJvbUpTRGF0ZShpdGVtW2NvbC5maWVsZF0pIDogRGF0ZVRpbWUuZnJvbUlTTyhpdGVtW2NvbC5maWVsZF0pO1xyXG4gICAgICBjb250ZW50ICs9IGRhdGVUaW1lLnRvRm9ybWF0KCdkZC9NTS95eXl5IEhIOm1tJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuU1RBVFVTX0JBREdFKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gYDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlcmVkXCI+PGkgY2xhc3M9XCJmYXMgZmEtY2lyY2xlIHN0YXR1cy10YWJsZS1maWVsZCAke3RoaXMuZ2V0U3RhdHVzQ29sb3IoXHJcbiAgICAgICAgaXRlbVtjb2wuZmllbGRdXHJcbiAgICAgICl9XCI+PC9pPjwvZGl2PmA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuQUNUSVZFX0JPT0xFQU5fQkFER0UpIHtcclxuICAgICAgY29udGVudCArPSBgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyZWRcIj48aSBjbGFzcz1cImZhcyBmYS1jaXJjbGUgc3RhdHVzLXRhYmxlLWZpZWxkICR7dGhpcy5nZXRBY3RpdmVTdGF0dXNDb2xvcihcclxuICAgICAgICBpdGVtW2NvbC5maWVsZF1cclxuICAgICAgKX1cIj48L2k+PC9kaXY+YDtcclxuICAgIH1cclxuXHJcbiAgICBjb250ZW50ICs9IGA8L3NwYW4+YDtcclxuICAgIHJldHVybiBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgb25UYWJDaGFuZ2UoJGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMudGFiU2VsZWN0ZWQgPSB0aGlzLnRhYnNbJGV2ZW50LmluZGV4XTtcclxuICAgIHRoaXMubGF6eUxvYWRlZCh7IGZpbHRlcjogdHJ1ZSwgZGF0YToge30gfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGlzdEhhc0FjdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhLnNvbWUoKGl0ZW0pID0+IGl0ZW0uYWN0aW9ucz8ubGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U3RhdHVzQ29sb3Ioc3RhdHVzOiBTdGF0dXMpIHtcclxuICAgIHN3aXRjaCAoc3RhdHVzKSB7XHJcbiAgICAgIGNhc2UgU3RhdHVzLlBFTkRJTkc6XHJcbiAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcclxuICAgICAgY2FzZSBTdGF0dXMuQVBQUk9WRUQ6XHJcbiAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgICAgY2FzZSBTdGF0dXMuUkVKRUNURUQ6XHJcbiAgICAgICAgcmV0dXJuICdlcnJvcic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFjdGl2ZVN0YXR1c0NvbG9yKGFjdGl2ZTogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuIGFjdGl2ZSA/ICdzdWNjZXNzJyA6ICdlcnJvcic7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgPHZlY3Rvci1maWx0ZXJzIFtmaWVsZHNdPVwiZmlsdGVyc1wiIChvblNlYXJjaCk9XCJsYXp5TG9hZGVkKHsgZmlsdGVyOiB0cnVlLCBkYXRhOiAkZXZlbnQgfSlcIj48L3ZlY3Rvci1maWx0ZXJzPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXItYWN0aW9ucyBmaWVsZFwiICpuZ0lmPVwiYWRkSXRlbUxhYmVsXCI+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiZXhwb3J0RXhjZWxcIiAoY2xpY2spPVwib25FeHBvcnRFeGNlbC5lbWl0KClcIiBjbGFzcz1cImV4cG9ydC1idXR0b24gZXhwb3J0LWV4Y2VsXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWZpbGVcIj48L2k+PHNwYW4+RXhjZWw8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gKm5nSWY9XCJleHBvcnRQREZcIiAoY2xpY2spPVwib25FeHBvcnRQREYuZW1pdCgpXCIgY2xhc3M9XCJleHBvcnQtYnV0dG9uIGV4cG9ydC1wZGZcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZmlsZVwiPjwvaT48c3Bhbj5QREY8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDx2ZWN0b3ItYnV0dG9uXHJcbiAgICAgIGNsYXNzPVwiYWRkLWl0ZW0tYnV0dG9uXCJcclxuICAgICAgW2xhYmVsXT1cImFkZEl0ZW1MYWJlbFwiXHJcbiAgICAgIChjbGljayk9XCJvbkFkZC5lbWl0KClcIlxyXG4gICAgICBbcmlnaHRJY29uXT1cImFkZEl0ZW1CdXR0b25QbHVzU2lnbiA/ICdwaSBwaS1wbHVzJyA6ICcnXCJcclxuICAgID48L3ZlY3Rvci1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgPHZlY3Rvci1wYW5lbCBjbGFzcz1cImRhdGEtdGFibGUtcGFuZWxcIj5cclxuICAgICAgPHAtdGFiVmlldyAob25DaGFuZ2UpPVwib25UYWJDaGFuZ2UoJGV2ZW50KVwiICpuZ0lmPVwidGFicz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgPHAtdGFiUGFuZWwgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCIgW2hlYWRlcl09XCJ0YWIubmFtZVwiPjwvcC10YWJQYW5lbD5cclxuICAgICAgPC9wLXRhYlZpZXc+XHJcbiAgICAgIDxwLXRhYmxlXHJcbiAgICAgICAgY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZT1cIk1vc3RyYW5kbyB7Zmlyc3R9IGF0w6kge2xhc3R9IGRlIHt0b3RhbFJlY29yZHN9IHJlZ2lzdHJvc1wiXHJcbiAgICAgICAgc29ydE1vZGU9XCJzaW5nbGVcIlxyXG4gICAgICAgIFtyb3dzXT1cIjEwXCJcclxuICAgICAgICBbbGF6eV09XCJwYWdpbmF0aW9uICYmICF2aXJ0dWFsUGFnaW5hdGlvblwiXHJcbiAgICAgICAgW3ZhbHVlXT1cImRhdGFcIlxyXG4gICAgICAgIFtwYWdpbmF0b3JdPVwicGFnaW5hdGlvblwiXHJcbiAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG4gICAgICAgIFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Jvd3NQZXJQYWdlT3B0aW9uc109XCJbMTAsIDI1LCA1MCwgMTAwXVwiXHJcbiAgICAgICAgW3Jlc3BvbnNpdmVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Jlc2l6YWJsZUNvbHVtbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Njcm9sbGFibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgc2Nyb2xsRGlyZWN0aW9uPVwidmVydGljYWxcIlxyXG4gICAgICAgIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIlxyXG4gICAgICAgIChvbkxhenlMb2FkKT1cImxhenlMb2FkZWQoeyBmaWx0ZXI6IGZhbHNlLCBkYXRhOiAkZXZlbnQgfSlcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgPHRyIGNsYXNzPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDx0aCBzdHlsZT1cIm1heC13aWR0aDogMTAwcHhcIiBjbGFzcz1cImNlbnRlcmVkXCI+QcOnw7VlczwvdGg+XHJcbiAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIiBbbmdTdHlsZV09XCJnZXRDb2xTdHlsZShjb2wpXCIgW3BTb3J0YWJsZUNvbHVtbl09XCJjb2wuZmllbGRcIj5cclxuICAgICAgICAgICAgICB7eyBjb2wuaGVhZGVyIH19IDxwLXNvcnRJY29uIFtmaWVsZF09XCJjb2wuZmllbGRcIj48L3Atc29ydEljb24+XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtaXRlbT5cclxuICAgICAgICAgIDx0ciBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8dGQgc3R5bGU9XCJtYXgtd2lkdGg6IDEwMHB4XCIgY2xhc3M9XCJjZW50ZXJlZFwiPlxyXG4gICAgICAgICAgICAgIDxwLW1lbnUgI21lbnUgW21vZGVsXT1cIml0ZW0uYWN0aW9uc1wiIFtwb3B1cF09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCI+PC9wLW1lbnU+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJhY3Rpb25zLW1lbnUtYnV0dG9uIGZhcyBmYS1jb2dcIiAoY2xpY2spPVwibWVudS50b2dnbGUoJGV2ZW50KVwiPjwvaT5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZ2V0Q2VsbENvbnRlbnQoaXRlbSwgY29sKVwiXHJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0Q29sU3R5bGUoY29sKVwiXHJcbiAgICAgICAgICAgID48L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cclxuICAgICAgICAgIDx0ciBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1yZXN1bHRzXCIgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLmxlbmd0aCArIDFcIj5OZW5odW0gcmVzdWx0YWRvIGVuY29udHJhZG88L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJwYWdpbmF0b3JyaWdodFwiPiA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJwYWdpbmF0b3Jkcm9wZG93bml0ZW1cIj4ge3sgaXRlbS52YWx1ZSB9fSA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L3AtdGFibGU+XHJcbiAgICA8L3ZlY3Rvci1wYW5lbD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFZLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBdUMsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEcsT0FBTyxFQUFlLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFPN0UsTUFBTSxPQUFPLGtCQUFrQjtJQWtEN0I7UUFoRE8sWUFBTyxHQUFrQixFQUFFLENBQUM7UUFFNUIsU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUVqQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBRTVCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFbEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTzFCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUU5QixlQUFV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QUFrQixna0JBc0NsQixnQkFBZ0IsOERDakQ3QiwwNUdBMEVBOzJGRC9EYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsbUJBQW1COzBFQU10QixPQUFPO3NCQURiLEtBQUs7Z0JBR0MsSUFBSTtzQkFEVixLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBR0MsVUFBVTtzQkFEaEIsS0FBSztnQkFHQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBR0ssSUFBSTtzQkFEZCxLQUFLO2dCQU1DLHFCQUFxQjtzQkFEM0IsS0FBSztnQkFHQyxVQUFVO3NCQURoQixLQUFLO2dCQUdDLFVBQVU7c0JBRGhCLE1BQU07Z0JBR0EsUUFBUTtzQkFEZCxNQUFNO2dCQUdBLEtBQUs7c0JBRFgsTUFBTTtnQkFHQSxhQUFhO3NCQURuQixNQUFNO2dCQUdBLFdBQVc7c0JBRGpCLE1BQU07Z0JBR0EsZ0JBQWdCO3NCQUR0QixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gJ2x1eG9uJztcclxuaW1wb3J0IHsgTGlzdEl0ZW0sIFN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IERhdGFUYWJsZUxhenlMb2FkRXZlbnQsIFRhYmxlQ29sdW1uLCBUYWJsZUNvbHVtblR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZGF0YS10YWJsZS5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbHRlckZpZWxkLCBGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi4vZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1kYXRhLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGF0YTogYW55W10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleHBvcnRFeGNlbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV4cG9ydFBERiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRvdGFsUmVjb3JkcyA9IDA7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmlsdGVyczogRmlsdGVyRmllbGRbXSA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZEl0ZW1MYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhZ2luYXRpb24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZpcnR1YWxQYWdpbmF0aW9uID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHRhYnMoX3RhYnM6IExpc3RJdGVtW10pIHtcclxuICAgIHRoaXMuX3RhYnMgPSBfdGFicztcclxuICAgIHRoaXMudGFiU2VsZWN0ZWQgPSBfdGFic1swXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkSXRlbUJ1dHRvblBsdXNTaWduID0gZmFsc2U7XHJcbiAgQElucHV0KCkgXHJcbiAgcHVibGljIGhhc0FjdGlvbnMgPSB0cnVlO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkxhenlMb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhVGFibGVMYXp5TG9hZEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkFkZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25FeHBvcnRFeGNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25FeHBvcnRQREYgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQFZpZXdDaGlsZChGaWx0ZXJzQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHB1YmxpYyBmaWx0ZXJzQ29tcG9uZW50OiBGaWx0ZXJzQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xyXG5cclxuICBnZXQgdGFicygpIHtcclxuICAgIHJldHVybiB0aGlzLl90YWJzO1xyXG4gIH1cclxuICBwcml2YXRlIF90YWJzOiBMaXN0SXRlbVtdID0gW107XHJcbiAgcHJpdmF0ZSBkcmF3ID0gMTtcclxuICBwcml2YXRlIGZpcnN0TGF6eUxvYWRlZERvbmUgPSBmYWxzZTtcclxuICBwcml2YXRlIGxhc3RMYXp5TG9hZEV2ZW50OiBEYXRhVGFibGVMYXp5TG9hZEV2ZW50IHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgdGFiU2VsZWN0ZWQ6IExpc3RJdGVtIHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnBhZ2luYXRpb24gfHwgdGhpcy52aXJ0dWFsUGFnaW5hdGlvbikge1xyXG4gICAgICB0aGlzLmZpbHRlcnNDb21wb25lbnQ/LnNlYXJjaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29sU3R5bGUoY29sOiBUYWJsZUNvbHVtbikge1xyXG4gICAgcmV0dXJuIHsgJ21pbi13aWR0aCc6IGNvbC53aWR0aCB9O1xyXG4gIH1cclxuXHJcbiAgbGF6eUxvYWRlZChwYXJhbXM6IHsgZmlsdGVyOiBib29sZWFuOyBkYXRhOiBhbnkgfSA9IHsgZmlsdGVyOiBmYWxzZSwgZGF0YTogeyBzdGFydDogMCwgcm93czogMTAgfSB9KSB7XHJcbiAgICBpZiAoIXBhcmFtcy5maWx0ZXIpIHtcclxuICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuY29sdW1ucy5tYXAoKGNvbCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkYXRhOiBjb2wuZmllbGQsXHJcbiAgICAgICAgICBuYW1lOiBgJHtjb2wuZmllbGQuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCl9JHtjb2wuZmllbGQuc3Vic3RyaW5nKDEsIGNvbC5maWVsZC5sZW5ndGgpfWAsXHJcbiAgICAgICAgICBvcmRlcmFibGU6IHRydWUsXHJcbiAgICAgICAgICBzZWFyY2g6IHsgdmFsdWU6ICcnLCByZWdleDogZmFsc2UgfSxcclxuICAgICAgICAgIHNlYXJjaGFibGU6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICh0aGlzLmhhc0FjdGlvbnMpIHtcclxuICAgICAgICBjb2x1bW5zLnVuc2hpZnQoe1xyXG4gICAgICAgICAgZGF0YTogJ2FjdGl2ZScsXHJcbiAgICAgICAgICBuYW1lOiAnQWN0aXZlJyxcclxuICAgICAgICAgIG9yZGVyYWJsZTogdHJ1ZSxcclxuICAgICAgICAgIHNlYXJjaDogeyB2YWx1ZTogJycsIHJlZ2V4OiBmYWxzZSB9LFxyXG4gICAgICAgICAgc2VhcmNoYWJsZTogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmxhc3RMYXp5TG9hZEV2ZW50ID0ge1xyXG4gICAgICAgIC4uLih0aGlzLmxhc3RMYXp5TG9hZEV2ZW50IHx8ICh7fSBhcyBhbnkpKSxcclxuICAgICAgICBzdGFydDogcGFyYW1zLmRhdGEuZmlyc3QsXHJcbiAgICAgICAgbGVuZ3RoOiBwYXJhbXMuZGF0YS5yb3dzLFxyXG4gICAgICAgIGRyYXc6IHRoaXMuZHJhdysrLFxyXG4gICAgICAgIG9yZGVyOiBwYXJhbXMuZGF0YS5zb3J0RmllbGRcclxuICAgICAgICAgID8gW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGNvbHVtbjogdGhpcy5jb2x1bW5zLmZpbmRJbmRleCgoY29sKSA9PiBjb2wuZmllbGQgPT09IHBhcmFtcy5kYXRhLnNvcnRGaWVsZCkgKyAxLFxyXG4gICAgICAgICAgICAgICAgZGlyOiBwYXJhbXMuZGF0YS5zb3J0T3JkZXIgPiAwID8gJ2FzYycgOiAnZGVzYycsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXVxyXG4gICAgICAgICAgOiBbeyBjb2x1bW46IDAsIGRpcjogJ2Rlc2MnIH1dLFxyXG4gICAgICAgIGNvbHVtbnM6IGNvbHVtbnMsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxhc3RMYXp5TG9hZEV2ZW50ID0ge1xyXG4gICAgICAgIC4uLnRoaXMubGFzdExhenlMb2FkRXZlbnQsXHJcbiAgICAgICAgLi4ucGFyYW1zLmRhdGEsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICh0aGlzLnRhYlNlbGVjdGVkKSB7XHJcbiAgICAgICAgdGhpcy5sYXN0TGF6eUxvYWRFdmVudCA9IHtcclxuICAgICAgICAgIC4uLih0aGlzLmxhc3RMYXp5TG9hZEV2ZW50IHx8ICh7fSBhcyBhbnkpKSxcclxuICAgICAgICAgIC4uLnsgU3RhdHVzOiB0aGlzLnRhYlNlbGVjdGVkLmNvZGUgfSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZmlyc3RMYXp5TG9hZGVkRG9uZSkge1xyXG4gICAgICB0aGlzLm9uTGF6eUxvYWQuZW1pdCh0aGlzLmxhc3RMYXp5TG9hZEV2ZW50KTtcclxuICAgIH1cclxuICAgIHRoaXMuZmlyc3RMYXp5TG9hZGVkRG9uZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBnZXRDZWxsQ29udGVudChpdGVtOiBhbnksIGNvbDogVGFibGVDb2x1bW4pIHtcclxuICAgIGxldCBjb250ZW50ID0gYDxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj4ke2NvbC5oZWFkZXJ9PC9zcGFuPjxzcGFuIGNsYXNzPVwidy0xMDBcIj5gO1xyXG4gICAgaWYgKCFjb2wudHlwZSB8fCBjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLlRFWFQpIHtcclxuICAgICAgY29udGVudCArPSBpdGVtW2NvbC5maWVsZF0gfHwgJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuQk9PTEVBTikge1xyXG4gICAgICBjb250ZW50ICs9IGA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJlZFwiPjxpIGNsYXNzPVwiIHN0YXR1cy10YWJsZS1maWVsZCBmYXMgZmEtJHtcclxuICAgICAgICBpdGVtW2NvbC5maWVsZF0gPyAnY2hlY2sgYm9vbGVhbi12YWx1ZS1wb3NpdGl2ZScgOiAndGltZXMgYm9vbGVhbi12YWx1ZS1uZWdhdGl2ZSdcclxuICAgICAgfVwiPjwvaT48L2Rpdj5gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLkVOVU0gJiYgY29sLmdldEVudW1UcmFuc2xhdGVkKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gY29sLmdldEVudW1UcmFuc2xhdGVkKGl0ZW1bY29sLmZpZWxkXSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuREFURVRJTUUgJiYgaXRlbVtjb2wuZmllbGRdKSB7XHJcbiAgICAgIGNvbnN0IGRhdGVUaW1lID1cclxuICAgICAgICBpdGVtW2NvbC5maWVsZF0gaW5zdGFuY2VvZiBEYXRlID8gRGF0ZVRpbWUuZnJvbUpTRGF0ZShpdGVtW2NvbC5maWVsZF0pIDogRGF0ZVRpbWUuZnJvbUlTTyhpdGVtW2NvbC5maWVsZF0pO1xyXG4gICAgICBjb250ZW50ICs9IGRhdGVUaW1lLnRvRm9ybWF0KCdkZC9NTS95eXl5IEhIOm1tJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuU1RBVFVTX0JBREdFKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gYDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlcmVkXCI+PGkgY2xhc3M9XCJmYXMgZmEtY2lyY2xlIHN0YXR1cy10YWJsZS1maWVsZCAke3RoaXMuZ2V0U3RhdHVzQ29sb3IoXHJcbiAgICAgICAgaXRlbVtjb2wuZmllbGRdXHJcbiAgICAgICl9XCI+PC9pPjwvZGl2PmA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuQUNUSVZFX0JPT0xFQU5fQkFER0UpIHtcclxuICAgICAgY29udGVudCArPSBgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyZWRcIj48aSBjbGFzcz1cImZhcyBmYS1jaXJjbGUgc3RhdHVzLXRhYmxlLWZpZWxkICR7dGhpcy5nZXRBY3RpdmVTdGF0dXNDb2xvcihcclxuICAgICAgICBpdGVtW2NvbC5maWVsZF1cclxuICAgICAgKX1cIj48L2k+PC9kaXY+YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sdW1uVHlwZS5CVVRUT04pIHtcclxuICAgICAgY29udGVudCArPSBgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyZWRcIj48aSBjbGFzcz1cImZhcyAke2NvbC5pY29uIHx8ICdmYS1jaXJjbGUnfSBzdGF0dXMtdGFibGUtZmllbGQgdGFibGUtYnV0dG9uXCI+PC9pPjwvZGl2PmA7XHJcbiAgICB9XHJcblxyXG4gICAgY29udGVudCArPSBgPC9zcGFuPmA7XHJcbiAgICByZXR1cm4gY29udGVudDtcclxuICB9XHJcblxyXG4gIG9uVGFiQ2hhbmdlKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnRhYlNlbGVjdGVkID0gdGhpcy50YWJzWyRldmVudC5pbmRleF07XHJcbiAgICB0aGlzLmxhenlMb2FkZWQoeyBmaWx0ZXI6IHRydWUsIGRhdGE6IHt9IH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxpc3RIYXNBY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS5zb21lKChpdGVtKSA9PiBpdGVtLmFjdGlvbnM/Lmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFN0YXR1c0NvbG9yKHN0YXR1czogU3RhdHVzKSB7XHJcbiAgICBzd2l0Y2ggKHN0YXR1cykge1xyXG4gICAgICBjYXNlIFN0YXR1cy5QRU5ESU5HOlxyXG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgIGNhc2UgU3RhdHVzLkFQUFJPVkVEOlxyXG4gICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgIGNhc2UgU3RhdHVzLlJFSkVDVEVEOlxyXG4gICAgICAgIHJldHVybiAnZXJyb3InO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBY3RpdmVTdGF0dXNDb2xvcihhY3RpdmU6IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiBhY3RpdmUgPyAnc3VjY2VzcycgOiAnZXJyb3InO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgIDx2ZWN0b3ItZmlsdGVycyBbZmllbGRzXT1cImZpbHRlcnNcIiAob25TZWFyY2gpPVwibGF6eUxvYWRlZCh7IGZpbHRlcjogdHJ1ZSwgZGF0YTogJGV2ZW50IH0pXCI+PC92ZWN0b3ItZmlsdGVycz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyLWFjdGlvbnMgZmllbGRcIiAqbmdJZj1cImFkZEl0ZW1MYWJlbFwiPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cImV4cG9ydEV4Y2VsXCIgKGNsaWNrKT1cIm9uRXhwb3J0RXhjZWwuZW1pdCgpXCIgY2xhc3M9XCJleHBvcnQtYnV0dG9uIGV4cG9ydC1leGNlbFwiPlxyXG4gICAgICA8aSBjbGFzcz1cImZhcyBmYS1maWxlXCI+PC9pPjxzcGFuPkV4Y2VsPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiZXhwb3J0UERGXCIgKGNsaWNrKT1cIm9uRXhwb3J0UERGLmVtaXQoKVwiIGNsYXNzPVwiZXhwb3J0LWJ1dHRvbiBleHBvcnQtcGRmXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWZpbGVcIj48L2k+PHNwYW4+UERGPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8dmVjdG9yLWJ1dHRvblxyXG4gICAgICBjbGFzcz1cImFkZC1pdGVtLWJ1dHRvblwiXHJcbiAgICAgIFtsYWJlbF09XCJhZGRJdGVtTGFiZWxcIlxyXG4gICAgICAoY2xpY2spPVwib25BZGQuZW1pdCgpXCJcclxuICAgICAgW3JpZ2h0SWNvbl09XCJhZGRJdGVtQnV0dG9uUGx1c1NpZ24gPyAncGkgcGktcGx1cycgOiAnJ1wiXHJcbiAgICA+PC92ZWN0b3ItYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgIDx2ZWN0b3ItcGFuZWwgY2xhc3M9XCJkYXRhLXRhYmxlLXBhbmVsXCI+XHJcbiAgICAgIDxwLXRhYlZpZXcgKG9uQ2hhbmdlKT1cIm9uVGFiQ2hhbmdlKCRldmVudClcIiAqbmdJZj1cInRhYnM/Lmxlbmd0aFwiPlxyXG4gICAgICAgIDxwLXRhYlBhbmVsICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiIFtoZWFkZXJdPVwidGFiLm5hbWVcIj48L3AtdGFiUGFuZWw+XHJcbiAgICAgIDwvcC10YWJWaWV3PlxyXG4gICAgICA8cC10YWJsZVxyXG4gICAgICAgIGN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGU9XCJNb3N0cmFuZG8ge2ZpcnN0fSBhdMOpIHtsYXN0fSBkZSB7dG90YWxSZWNvcmRzfSByZWdpc3Ryb3NcIlxyXG4gICAgICAgIHNvcnRNb2RlPVwic2luZ2xlXCJcclxuICAgICAgICBbcm93c109XCIxMFwiXHJcbiAgICAgICAgW2xhenldPVwicGFnaW5hdGlvbiAmJiAhdmlydHVhbFBhZ2luYXRpb25cIlxyXG4gICAgICAgIFt2YWx1ZV09XCJkYXRhXCJcclxuICAgICAgICBbcGFnaW5hdG9yXT1cInBhZ2luYXRpb25cIlxyXG4gICAgICAgIFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzXCJcclxuICAgICAgICBbc2hvd0N1cnJlbnRQYWdlUmVwb3J0XT1cInRydWVcIlxyXG4gICAgICAgIFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwiWzEwLCAyNSwgNTAsIDEwMF1cIlxyXG4gICAgICAgIFtyZXNwb25zaXZlXT1cInRydWVcIlxyXG4gICAgICAgIFtyZXNpemFibGVDb2x1bW5zXT1cInRydWVcIlxyXG4gICAgICAgIFtzY3JvbGxhYmxlXT1cInRydWVcIlxyXG4gICAgICAgIHNjcm9sbERpcmVjdGlvbj1cInZlcnRpY2FsXCJcclxuICAgICAgICByZXNwb25zaXZlTGF5b3V0PVwic2Nyb2xsXCJcclxuICAgICAgICAob25MYXp5TG9hZCk9XCJsYXp5TG9hZGVkKHsgZmlsdGVyOiBmYWxzZSwgZGF0YTogJGV2ZW50IH0pXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICAgIDx0ciBjbGFzcz1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICA8dGggc3R5bGU9XCJtYXgtd2lkdGg6IDEwMHB4XCIgY2xhc3M9XCJjZW50ZXJlZFwiICpuZ0lmPVwiaGFzQWN0aW9uc1wiPkHDp8O1ZXM8L3RoPlxyXG4gICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCIgW25nU3R5bGVdPVwiZ2V0Q29sU3R5bGUoY29sKVwiIFtwU29ydGFibGVDb2x1bW5dPVwiY29sLmZpZWxkXCI+XHJcbiAgICAgICAgICAgICAge3sgY29sLmhlYWRlciB9fSA8cC1zb3J0SWNvbiBbZmllbGRdPVwiY29sLmZpZWxkXCI+PC9wLXNvcnRJY29uPlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWl0ZW0+XHJcbiAgICAgICAgICA8dHIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHRkIHN0eWxlPVwibWF4LXdpZHRoOiAxMDBweFwiIGNsYXNzPVwiY2VudGVyZWRcIiAqbmdJZj1cImhhc0FjdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8cC1tZW51ICNtZW51IFttb2RlbF09XCJpdGVtLmFjdGlvbnNcIiBbcG9wdXBdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1tZW51PlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiYWN0aW9ucy1tZW51LWJ1dHRvbiBmYXMgZmEtY29nXCIgKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudClcIj48L2k+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImdldENlbGxDb250ZW50KGl0ZW0sIGNvbClcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJjb2wgJiYgY29sLmNsaWNrRnVuY3Rpb24gJiYgY29sLmNsaWNrRnVuY3Rpb24oaXRlbSlcIlxyXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldENvbFN0eWxlKGNvbClcIlxyXG4gICAgICAgICAgICA+PC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XHJcbiAgICAgICAgICA8dHIgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPHRkIGNsYXNzPVwibm8tcmVzdWx0c1wiIFthdHRyLmNvbHNwYW5dPVwiY29sdW1ucy5sZW5ndGggKyAxXCI+TmVuaHVtIHJlc3VsdGFkbyBlbmNvbnRyYWRvPC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwicGFnaW5hdG9ycmlnaHRcIj4gPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwicGFnaW5hdG9yZHJvcGRvd25pdGVtXCI+IHt7IGl0ZW0udmFsdWUgfX0gPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9wLXRhYmxlPlxyXG4gICAgPC92ZWN0b3ItcGFuZWw+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -128,7 +128,7 @@ export class FiltersComponent {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
FiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
-
FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch" }, ngImport: i0, template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"field.type === fieldTypes.DROPDOWN || field.type === fieldTypes.DYNAMIC_DROPDOWN\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n >\r\n </vector-select-button-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n label=\"Pesquisar\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n style=\"float: right; width: 150px\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.display-none{display:none!important}\n"], components: [{ type: i1.TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "decimal", "onlyText", "alphaNumeric", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "hiddenErrorMessage", "control"], outputs: ["blurEvent", "enterKeyPress", "focusEvent", "onDocumentTypeChange"] }, { type: i2.DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies", "hiddenErrorMessage", "dynamicFilters"], outputs: ["onFocus"] }, { type: i3.CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["minValue", "maxValue", "placeholder", "control", "outlined", "rounded", "label"] }, { type: i4.CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled", "defaultDate", "hiddenErrorMessage"] }, { type: i5.SelectButtonFieldComponent, selector: "vector-select-button-field", inputs: ["options", "control"] }, { type: i6.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "notHidden": i9.NotHiddenPipe } });
|
|
131
|
+
FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch" }, ngImport: i0, template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"field.type === fieldTypes.DROPDOWN || field.type === fieldTypes.DYNAMIC_DROPDOWN\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n >\r\n </vector-select-button-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n label=\"Pesquisar\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n style=\"float: right; width: 150px\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.display-none{display:none!important}\n"], components: [{ type: i1.TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "decimal", "onlyText", "alphaNumeric", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "hiddenErrorMessage", "control"], outputs: ["blurEvent", "enterKeyPress", "focusEvent", "onDocumentTypeChange"] }, { type: i2.DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies", "hiddenErrorMessage", "dynamicFilters"], outputs: ["onFocus"] }, { type: i3.CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["minValue", "maxValue", "placeholder", "control", "outlined", "rounded", "label", "isBankingField"] }, { type: i4.CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled", "defaultDate", "hiddenErrorMessage"] }, { type: i5.SelectButtonFieldComponent, selector: "vector-select-button-field", inputs: ["options", "control"] }, { type: i6.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "notHidden": i9.NotHiddenPipe } });
|
|
132
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, decorators: [{
|
|
133
133
|
type: Component,
|
|
134
134
|
args: [{ selector: 'vector-filters', template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"field.type === fieldTypes.DROPDOWN || field.type === fieldTypes.DYNAMIC_DROPDOWN\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n >\r\n </vector-select-button-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n label=\"Pesquisar\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n style=\"float: right; width: 150px\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.display-none{display:none!important}\n"] }]
|
|
@@ -6,5 +6,6 @@ export var TableColumnType;
|
|
|
6
6
|
TableColumnType["ENUM"] = "ENUM";
|
|
7
7
|
TableColumnType["STATUS_BADGE"] = "STATUS_BADGE";
|
|
8
8
|
TableColumnType["ACTIVE_BOOLEAN_BADGE"] = "ACTIVE_BOOLEAN_BADGE";
|
|
9
|
+
TableColumnType["BUTTON"] = "BUTTON";
|
|
9
10
|
})(TableColumnType || (TableColumnType = {}));
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9kYXRhLXRhYmxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBTixJQUFZLGVBUVg7QUFSRCxXQUFZLGVBQWU7SUFDekIsZ0NBQWEsQ0FBQTtJQUNiLHNDQUFtQixDQUFBO0lBQ25CLHdDQUFxQixDQUFBO0lBQ3JCLGdDQUFhLENBQUE7SUFDYixnREFBNkIsQ0FBQTtJQUM3QixnRUFBNkMsQ0FBQTtJQUM3QyxvQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBUlcsZUFBZSxLQUFmLGVBQWUsUUFRMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFUYWJsZUJhc2VJdGVtID0ge1xyXG4gIGFjdGlvbnM/OiBNZW51SXRlbVtdO1xyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gVGFibGVDb2x1bW5UeXBlIHtcclxuICBURVhUID0gJ1RFWFQnLFxyXG4gIEJPT0xFQU4gPSAnQk9PTEVBTicsXHJcbiAgREFURVRJTUUgPSAnREFURVRJTUUnLFxyXG4gIEVOVU0gPSAnRU5VTScsXHJcbiAgU1RBVFVTX0JBREdFID0gJ1NUQVRVU19CQURHRScsXHJcbiAgQUNUSVZFX0JPT0xFQU5fQkFER0UgPSAnQUNUSVZFX0JPT0xFQU5fQkFER0UnLFxyXG4gIEJVVFRPTiA9ICdCVVRUT04nLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBUYWJsZUNvbHVtbiA9IHtcclxuICBoZWFkZXI6IHN0cmluZztcclxuICBmaWVsZDogc3RyaW5nO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIHR5cGU/OiBUYWJsZUNvbHVtblR5cGU7XHJcbiAgZ2V0RW51bVRyYW5zbGF0ZWQ/OiAoZW51bVZhbDogYW55KSA9PiBzdHJpbmc7XHJcbiAgY2xpY2tGdW5jdGlvbj86IEZ1bmN0aW9uO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhVGFibGVMYXp5TG9hZEV2ZW50ID0ge1xyXG4gIHN0YXJ0OiBudW1iZXI7XHJcbiAgbGVuZ3RoOiBudW1iZXI7XHJcbiAgZHJhdzogbnVtYmVyO1xyXG4gIG9yZGVyOiB7IGNvbHVtbjogbnVtYmVyOyBkaXI6ICdhc2MnIHwgJ2Rlc2MnIH1bXTtcclxuICBjb2x1bW5zOiB7XHJcbiAgICBkYXRhOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvcmRlcmFibGU6IGJvb2xlYW47XHJcbiAgICBzZWFyY2g6IHsgdmFsdWU6IHN0cmluZzsgcmVnZXg6IGJvb2xlYW4gfTtcclxuICAgIHNlYXJjaGFibGU6IGJvb2xlYW47XHJcbiAgfVtdO1xyXG4gIHNlYXJjaDogeyB2YWx1ZTogc3RyaW5nOyByZWdleDogYm9vbGVhbiB9O1xyXG59O1xyXG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const CPF_PATTERN = '###.###.###-##';
|
|
2
2
|
const CNPJ_PATTERN = '##.###.###/####-##';
|
|
3
|
-
const BOLETO_PATTERN = '#####.##### #####.###### #####.###### # ##############';
|
|
3
|
+
const BOLETO_PATTERN = '#####.##### #####.###### #####.###### # ############## #';
|
|
4
4
|
const POSTALCODE_PATTERN = '#####-###';
|
|
5
5
|
const CELLPHONE_PATTERN = '(##) #####-####';
|
|
6
6
|
const PHONE_PATTERN = '(##) ####-####';
|
|
@@ -42,8 +42,8 @@ export class MaskUtil {
|
|
|
42
42
|
}
|
|
43
43
|
MaskUtil.CPF_TEXT_FIELD_PATTERN = '999.999.999-99';
|
|
44
44
|
MaskUtil.CNPJ_TEXT_FIELD_PATTERN = '99.999.999/9999-99';
|
|
45
|
-
MaskUtil.BOLETO_TEXT_FIELD_PATTERN = '99999.99999 99999.999999 99999.999999 9 99999999999999';
|
|
45
|
+
MaskUtil.BOLETO_TEXT_FIELD_PATTERN = '99999.99999 99999.999999 99999.999999 9 99999999999999 9';
|
|
46
46
|
MaskUtil.CELLPHONE_TEXT_FIELD_PATTERN = '(99) 99999-9999';
|
|
47
47
|
MaskUtil.PHONE_TEXT_FIELD_PATTERN = '(99) 9999-9999';
|
|
48
48
|
MaskUtil.POSTALCODE_TEXT_FIELD_PATTERN = '99999-999';
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvdXRpbHMvbWFzay51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDO0FBQ3JDLE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDO0FBQzFDLE1BQU0sY0FBYyxHQUFHLDBEQUEwRCxDQUFDO0FBQ2xGLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDO0FBQ3ZDLE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7QUFDNUMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFFdkMsTUFBTSxPQUFPLFFBQVE7SUFRWixNQUFNLENBQUMsY0FBYyxDQUFDLFdBQW1CO1FBQzlDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUNwRDtRQUVELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNyRDtRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBbUI7UUFDaEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQW1CO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBbUI7UUFDM0MsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLENBQUM7U0FDMUQ7YUFBTSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDdEQ7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFXLEVBQUUsT0FBZTtRQUN0RCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7QUFoRGEsK0JBQXNCLEdBQUcsZ0JBQWdCLENBQUM7QUFDMUMsZ0NBQXVCLEdBQUcsb0JBQW9CLENBQUM7QUFDL0Msa0NBQXlCLEdBQUcsMERBQTBELENBQUM7QUFDdkYscUNBQTRCLEdBQUcsaUJBQWlCLENBQUM7QUFDakQsaUNBQXdCLEdBQUcsZ0JBQWdCLENBQUM7QUFDNUMsc0NBQTZCLEdBQUcsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQ1BGX1BBVFRFUk4gPSAnIyMjLiMjIy4jIyMtIyMnO1xyXG5jb25zdCBDTlBKX1BBVFRFUk4gPSAnIyMuIyMjLiMjIy8jIyMjLSMjJztcclxuY29uc3QgQk9MRVRPX1BBVFRFUk4gPSAnIyMjIyMuIyMjIyMgIyMjIyMuIyMjIyMjICMjIyMjLiMjIyMjIyAjICMjIyMjIyMjIyMjIyMjICMnO1xyXG5jb25zdCBQT1NUQUxDT0RFX1BBVFRFUk4gPSAnIyMjIyMtIyMjJztcclxuY29uc3QgQ0VMTFBIT05FX1BBVFRFUk4gPSAnKCMjKSAjIyMjIy0jIyMjJztcclxuY29uc3QgUEhPTkVfUEFUVEVSTiA9ICcoIyMpICMjIyMtIyMjIyc7XHJcblxyXG5leHBvcnQgY2xhc3MgTWFza1V0aWwge1xyXG4gIHB1YmxpYyBzdGF0aWMgQ1BGX1RFWFRfRklFTERfUEFUVEVSTiA9ICc5OTkuOTk5Ljk5OS05OSc7XHJcbiAgcHVibGljIHN0YXRpYyBDTlBKX1RFWFRfRklFTERfUEFUVEVSTiA9ICc5OS45OTkuOTk5Lzk5OTktOTknO1xyXG4gIHB1YmxpYyBzdGF0aWMgQk9MRVRPX1RFWFRfRklFTERfUEFUVEVSTiA9ICc5OTk5OS45OTk5OSA5OTk5OS45OTk5OTkgOTk5OTkuOTk5OTk5IDkgOTk5OTk5OTk5OTk5OTkgOSc7XHJcbiAgcHVibGljIHN0YXRpYyBDRUxMUEhPTkVfVEVYVF9GSUVMRF9QQVRURVJOID0gJyg5OSkgOTk5OTktOTk5OSc7XHJcbiAgcHVibGljIHN0YXRpYyBQSE9ORV9URVhUX0ZJRUxEX1BBVFRFUk4gPSAnKDk5KSA5OTk5LTk5OTknO1xyXG4gIHB1YmxpYyBzdGF0aWMgUE9TVEFMQ09ERV9URVhUX0ZJRUxEX1BBVFRFUk4gPSAnOTk5OTktOTk5JztcclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JtYXREb2N1bWVudChzdHJpbmdWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXN0cmluZ1ZhbHVlKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3RyaW5nVmFsdWUubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kb01hc2tTdHJpbmcoc3RyaW5nVmFsdWUsIENQRl9QQVRURVJOKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3RyaW5nVmFsdWUubGVuZ3RoID09PSAxNCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kb01hc2tTdHJpbmcoc3RyaW5nVmFsdWUsIENOUEpfUEFUVEVSTik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHN0cmluZ1ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JtYXRQb3N0YWxDb2RlKHN0cmluZ1ZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmRvTWFza1N0cmluZyhzdHJpbmdWYWx1ZSwgUE9TVEFMQ09ERV9QQVRURVJOKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9ybWF0Qm9sZXRvKHN0cmluZ1ZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmRvTWFza1N0cmluZyhzdHJpbmdWYWx1ZSwgQk9MRVRPX1BBVFRFUk4pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JtYXRQaG9uZShzdHJpbmdWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXN0cmluZ1ZhbHVlKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3RyaW5nVmFsdWUubGVuZ3RoID09PSAxMSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kb01hc2tTdHJpbmcoc3RyaW5nVmFsdWUsIENFTExQSE9ORV9QQVRURVJOKTtcclxuICAgIH0gZWxzZSBpZiAoc3RyaW5nVmFsdWUubGVuZ3RoID09PSAxMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kb01hc2tTdHJpbmcoc3RyaW5nVmFsdWUsIFBIT05FX1BBVFRFUk4pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzdHJpbmdWYWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGRvTWFza1N0cmluZyhzdHI6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKSB7XHJcbiAgICBsZXQgaSA9IDA7XHJcbiAgICByZXR1cm4gcGF0dGVybi5yZXBsYWNlKC8jL2csICgpID0+IHN0cltpKytdKTtcclxuICB9XHJcbn1cclxuIl19
|