ngx-vector-components 2.14.0 → 3.0.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 +27 -0
- package/assets/styles/_mixins.scss +7 -0
- package/assets/styles/_primeng-custom-theme.scss +110 -9
- package/assets/styles/_spinner.scss +0 -2
- package/assets/styles/_styles.scss +5 -0
- package/assets/styles/_variables.scss +1 -11
- package/esm2020/lib/components/badge/badge.component.mjs +34 -0
- package/esm2020/lib/components/badge/badge.module.mjs +18 -0
- package/esm2020/lib/components/badge/index.mjs +3 -0
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +8 -5
- package/esm2020/lib/components/crud-base/crud-base.component.mjs +7 -1
- package/esm2020/lib/components/crud-footer/crud-footer.component.mjs +1 -1
- package/esm2020/lib/components/crud-header/crud-header.component.mjs +30 -0
- package/esm2020/lib/components/crud-header/crud-header.module.mjs +19 -0
- package/esm2020/lib/components/crud-header/index.mjs +3 -0
- package/esm2020/lib/components/crud-history/crud-history.component.mjs +51 -0
- package/esm2020/lib/components/crud-history/crud-history.module.mjs +20 -0
- package/esm2020/lib/components/crud-history/index.mjs +3 -0
- package/esm2020/lib/components/fields/button/button.component.mjs +9 -3
- package/esm2020/lib/components/fields/calendar-field/calendar-field.component.mjs +2 -2
- package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +2 -2
- package/esm2020/lib/components/fields/data-table/data-table.component.mjs +12 -3
- package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +11 -7
- package/esm2020/lib/components/fields/field-error-message/field-error-message.component.mjs +2 -2
- package/esm2020/lib/components/fields/fields.module.mjs +13 -4
- package/esm2020/lib/components/fields/filters/filters.component.mjs +18 -6
- package/esm2020/lib/components/fields/index.mjs +2 -1
- package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +2 -2
- package/esm2020/lib/components/fields/percentage-field/percentage-field.component.mjs +2 -2
- package/esm2020/lib/components/fields/range-value/range-value.component.mjs +2 -2
- package/esm2020/lib/components/fields/select-button-field/index.mjs +2 -0
- package/esm2020/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -0
- package/esm2020/lib/components/fields/text-field/text-field.component.mjs +2 -2
- package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +2 -2
- package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +2 -2
- package/esm2020/lib/components/generic-modal/generic-modal.component.mjs +3 -3
- package/esm2020/lib/components/index.mjs +4 -1
- package/esm2020/lib/components/menu/menu.component.mjs +27 -31
- package/esm2020/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +3 -3
- package/esm2020/lib/components/top-bar/top-bar.component.mjs +2 -2
- package/esm2020/lib/guards/crud-list-has-items.guard.mjs +22 -0
- package/esm2020/lib/guards/index.mjs +2 -1
- package/esm2020/lib/models/crud-history.model.mjs +9 -0
- package/esm2020/lib/models/index.mjs +2 -1
- package/esm2020/lib/models/ip-info.enum.mjs +2 -0
- package/esm2020/lib/models/view.enum.mjs +2 -1
- package/esm2020/lib/pipes/format-document.pipe.mjs +17 -0
- package/esm2020/lib/pipes/index.mjs +2 -1
- package/esm2020/lib/pipes/pipes.module.mjs +5 -4
- package/esm2020/lib/resolvers/get-entity-history.resolver.mjs +22 -0
- package/esm2020/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -0
- package/esm2020/lib/resolvers/index.mjs +3 -0
- package/esm2020/lib/services/crud-base.service.mjs +2 -1
- package/esm2020/lib/services/geolocation.service.mjs +3 -3
- package/esm2020/lib/services/menu.service.mjs +4 -2
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/ngx-vector-components.mjs +1525 -1226
- package/fesm2015/ngx-vector-components.mjs.map +1 -1
- package/fesm2020/ngx-vector-components.mjs +1501 -1205
- package/fesm2020/ngx-vector-components.mjs.map +1 -1
- package/lib/components/badge/badge.component.d.ts +14 -0
- package/lib/components/badge/badge.module.d.ts +8 -0
- package/lib/components/badge/index.d.ts +2 -0
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +2 -1
- package/lib/components/crud-base/crud-base.component.d.ts +2 -0
- package/lib/components/crud-header/crud-header.component.d.ts +11 -0
- package/lib/components/crud-header/crud-header.module.d.ts +9 -0
- package/lib/components/crud-header/index.d.ts +2 -0
- package/lib/components/crud-history/crud-history.component.d.ts +10 -0
- package/lib/components/crud-history/crud-history.module.d.ts +10 -0
- package/lib/components/crud-history/index.d.ts +2 -0
- package/lib/components/fields/button/button.component.d.ts +3 -1
- package/lib/components/fields/data-table/data-table.component.d.ts +4 -1
- package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +3 -1
- package/lib/components/fields/fields.module.d.ts +24 -22
- package/lib/components/fields/filters/filters.component.d.ts +7 -3
- package/lib/components/fields/index.d.ts +1 -0
- package/lib/components/fields/select-button-field/index.d.ts +1 -0
- package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -0
- package/lib/components/index.d.ts +3 -0
- package/lib/guards/crud-list-has-items.guard.d.ts +10 -0
- package/lib/guards/index.d.ts +1 -0
- package/lib/models/crud-history.model.d.ts +11 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/{ipInfo.d.ts → ip-info.enum.d.ts} +1 -1
- package/lib/models/view.enum.d.ts +2 -1
- package/lib/pipes/format-document.pipe.d.ts +7 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/pipes.module.d.ts +2 -1
- package/lib/resolvers/get-entity-history.resolver.d.ts +11 -0
- package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -0
- package/lib/resolvers/index.d.ts +2 -0
- package/lib/services/crud-base.service.d.ts +1 -0
- package/lib/services/geolocation.service.d.ts +2 -2
- package/package.json +2 -2
- package/public-api.d.ts +1 -0
- package/esm2020/lib/models/ipInfo.mjs +0 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { AccordionModule } from 'primeng/accordion';
|
|
3
|
+
import { SharedModule } from '../../shared/shared.module';
|
|
4
|
+
import { BadgeModule } from '../badge';
|
|
5
|
+
import { CrudHistoryComponent } from './crud-history.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class CrudHistoryModule {
|
|
8
|
+
}
|
|
9
|
+
CrudHistoryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
CrudHistoryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, declarations: [CrudHistoryComponent], imports: [SharedModule, BadgeModule, AccordionModule], exports: [CrudHistoryComponent] });
|
|
11
|
+
CrudHistoryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, imports: [[SharedModule, BadgeModule, AccordionModule]] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CrudHistoryModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [CrudHistoryComponent],
|
|
16
|
+
imports: [SharedModule, BadgeModule, AccordionModule],
|
|
17
|
+
exports: [CrudHistoryComponent],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1oaXN0b3J5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY3J1ZC1oaXN0b3J5L2NydWQtaGlzdG9yeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBT2hFLE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFKYixvQkFBb0IsYUFDekIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLGFBQzFDLG9CQUFvQjsrR0FFbkIsaUJBQWlCLFlBSG5CLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7MkZBRzFDLGlCQUFpQjtrQkFMN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7b0JBQ3JELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2FjY29yZGlvbic7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBCYWRnZU1vZHVsZSB9IGZyb20gJy4uL2JhZGdlJztcbmltcG9ydCB7IENydWRIaXN0b3J5Q29tcG9uZW50IH0gZnJvbSAnLi9jcnVkLWhpc3RvcnkuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQ3J1ZEhpc3RvcnlDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBCYWRnZU1vZHVsZSwgQWNjb3JkaW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW0NydWRIaXN0b3J5Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ3J1ZEhpc3RvcnlNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './crud-history.component';
|
|
2
|
+
export * from './crud-history.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NydWQtaGlzdG9yeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NydWQtaGlzdG9yeS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NydWQtaGlzdG9yeS5tb2R1bGUnO1xyXG4iXX0=
|
|
@@ -8,7 +8,9 @@ export class ButtonComponent {
|
|
|
8
8
|
this.label = '';
|
|
9
9
|
this.type = 'default';
|
|
10
10
|
this.leftIcon = '';
|
|
11
|
+
this.rightIcon = '';
|
|
11
12
|
this.noShadow = false;
|
|
13
|
+
this.style = '';
|
|
12
14
|
this.onClick = new EventEmitter();
|
|
13
15
|
}
|
|
14
16
|
get styleClass() {
|
|
@@ -16,10 +18,10 @@ export class ButtonComponent {
|
|
|
16
18
|
}
|
|
17
19
|
}
|
|
18
20
|
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
-
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: ButtonComponent, selector: "vector-button", inputs: { disabled: "disabled", label: "label", type: "type", leftIcon: "leftIcon", noShadow: "noShadow" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<button\r\n pButton\r\n class=\"button shadow-3\"\r\n type=\"button\"\r\n [ngClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon\"\r\n (click)=\"onClick?.emit($event)\"\r\n></button>\r\n", styles: ["
|
|
21
|
+
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: ButtonComponent, selector: "vector-button", inputs: { disabled: "disabled", label: "label", type: "type", leftIcon: "leftIcon", rightIcon: "rightIcon", noShadow: "noShadow", style: "style" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<button\r\n pButton\r\n class=\"button shadow-3\"\r\n type=\"button\"\r\n [ngClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon || rightIcon\"\r\n [iconPos]=\"rightIcon ? 'right' : 'left'\"\r\n [style]=\"style\"\r\n (click)=\"onClick?.emit($event)\"\r\n></button>\r\n", styles: [".button{width:100%;border-width:2px;border-radius:var(--border-radius);background-color:var(--theme-dark);border-color:var(--theme-dark);color:#fff;box-shadow:0 5px 5px #0046e880}.button:hover:not(:disabled){background-color:#003049;border-color:#003049}.button:focus{box-shadow:none}.button:disabled{cursor:not-allowed}.no-shadow{box-shadow:none}.default{background-color:#fff;border-color:var(--theme-dark);color:var(--theme-dark)}.default:hover:not(:disabled){background-color:var(--theme-dark);border-color:var(--theme-dark);color:#fff}.default-filled{background-color:var(--theme-primary);border-color:var(--theme-primary);color:#fff}.default-filled:hover:not(:disabled){background-color:var(--theme-dark);border-color:var(--theme-dark)}.cancel{background-color:#fff;border-color:var(--error-color);color:var(--error-color)}.cancel:hover:not(:disabled){background-color:var(--error-color-dark);border-color:var(--error-color-dark);color:#fff}.cancel-filled{background-color:var(--error-color);border-color:var(--error-color);color:#fff}.cancel-filled:hover:not(:disabled){background-color:var(--error-color-dark);border-color:var(--error-color-dark)}.success{background-color:var(--success-color);border-color:var(--success-color)}.success:hover:not(:disabled){background-color:var(--success-color-dark);border-color:var(--success-color-dark)}.success-outlined{background-color:#fff;border-color:var(--success-color);color:var(--success-color)}.success-outlined:hover:not(:disabled){background-color:var(--success-color-dark);border-color:var(--success-color-dark)}\n"], directives: [{ type: i1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
20
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
21
23
|
type: Component,
|
|
22
|
-
args: [{ selector: 'vector-button', template: "<button\r\n pButton\r\n class=\"button shadow-3\"\r\n type=\"button\"\r\n [ngClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon\"\r\n (click)=\"onClick?.emit($event)\"\r\n></button>\r\n", styles: ["
|
|
24
|
+
args: [{ selector: 'vector-button', template: "<button\r\n pButton\r\n class=\"button shadow-3\"\r\n type=\"button\"\r\n [ngClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon || rightIcon\"\r\n [iconPos]=\"rightIcon ? 'right' : 'left'\"\r\n [style]=\"style\"\r\n (click)=\"onClick?.emit($event)\"\r\n></button>\r\n", styles: [".button{width:100%;border-width:2px;border-radius:var(--border-radius);background-color:var(--theme-dark);border-color:var(--theme-dark);color:#fff;box-shadow:0 5px 5px #0046e880}.button:hover:not(:disabled){background-color:#003049;border-color:#003049}.button:focus{box-shadow:none}.button:disabled{cursor:not-allowed}.no-shadow{box-shadow:none}.default{background-color:#fff;border-color:var(--theme-dark);color:var(--theme-dark)}.default:hover:not(:disabled){background-color:var(--theme-dark);border-color:var(--theme-dark);color:#fff}.default-filled{background-color:var(--theme-primary);border-color:var(--theme-primary);color:#fff}.default-filled:hover:not(:disabled){background-color:var(--theme-dark);border-color:var(--theme-dark)}.cancel{background-color:#fff;border-color:var(--error-color);color:var(--error-color)}.cancel:hover:not(:disabled){background-color:var(--error-color-dark);border-color:var(--error-color-dark);color:#fff}.cancel-filled{background-color:var(--error-color);border-color:var(--error-color);color:#fff}.cancel-filled:hover:not(:disabled){background-color:var(--error-color-dark);border-color:var(--error-color-dark)}.success{background-color:var(--success-color);border-color:var(--success-color)}.success:hover:not(:disabled){background-color:var(--success-color-dark);border-color:var(--success-color-dark)}.success-outlined{background-color:#fff;border-color:var(--success-color);color:var(--success-color)}.success-outlined:hover:not(:disabled){background-color:var(--success-color-dark);border-color:var(--success-color-dark)}\n"] }]
|
|
23
25
|
}], propDecorators: { disabled: [{
|
|
24
26
|
type: Input
|
|
25
27
|
}], label: [{
|
|
@@ -28,9 +30,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
28
30
|
type: Input
|
|
29
31
|
}], leftIcon: [{
|
|
30
32
|
type: Input
|
|
33
|
+
}], rightIcon: [{
|
|
34
|
+
type: Input
|
|
31
35
|
}], noShadow: [{
|
|
32
36
|
type: Input
|
|
37
|
+
}], style: [{
|
|
38
|
+
type: Input
|
|
33
39
|
}], onClick: [{
|
|
34
40
|
type: Output
|
|
35
41
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3ZFLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBT1MsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVgsU0FBSSxHQUFlLFNBQVMsQ0FBQztRQUU3QixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWQsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBSzFDO0lBSEMsSUFBSSxVQUFVO1FBQ1osT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNELENBQUM7OzRHQXBCVSxlQUFlO2dHQUFmLGVBQWUsME9DVDVCLGtVQVlBOzJGREhhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsZUFBZTs4QkFNbEIsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLFNBQVM7c0JBRGYsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsS0FBSztzQkFEWCxLQUFLO2dCQUdDLE9BQU87c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG50eXBlIEJ1dHRvblR5cGUgPSAnc3VjY2VzcycgfCAnc3VjY2Vzcy1vdXRsaW5lZCcgfCAnZGVmYXVsdCcgfCAnZGVmYXVsdC1maWxsZWQnIHwgJ2NhbmNlbCcgfCAnY2FuY2VsLWZpbGxlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHlwZTogQnV0dG9uVHlwZSA9ICdkZWZhdWx0JztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbiA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJpZ2h0SWNvbiA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5vU2hhZG93ID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3R5bGUgPSAnJztcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBnZXQgc3R5bGVDbGFzcygpIHtcclxuICAgIHJldHVybiB7IFt0aGlzLnR5cGVdOiB0cnVlLCAnbm8tc2hhZG93JzogdGhpcy5ub1NoYWRvdyB9O1xyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uXHJcbiAgcEJ1dHRvblxyXG4gIGNsYXNzPVwiYnV0dG9uIHNoYWRvdy0zXCJcclxuICB0eXBlPVwiYnV0dG9uXCJcclxuICBbbmdDbGFzc109XCJzdHlsZUNsYXNzXCJcclxuICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgW2ljb25dPVwibGVmdEljb24gfHwgcmlnaHRJY29uXCJcclxuICBbaWNvblBvc109XCJyaWdodEljb24gPyAncmlnaHQnIDogJ2xlZnQnXCJcclxuICBbc3R5bGVdPVwic3R5bGVcIlxyXG4gIChjbGljayk9XCJvbkNsaWNrPy5lbWl0KCRldmVudClcIlxyXG4+PC9idXR0b24+XHJcbiJdfQ==
|
|
@@ -46,10 +46,10 @@ export class CalendarComponent {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CalendarComponent, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CalendarComponent, selector: "vector-calendar-field", inputs: { isRequired: "isRequired", control: "control", label: "label", showCalendarOnFocus: "showCalendarOnFocus", min: "min", max: "max", disabledDates: "disabledDates", disabled: "disabled", defaultDate: "defaultDate", hiddenErrorMessage: "hiddenErrorMessage" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n [formControl]=\"control\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [minDate]=\"min\"\r\n [maxDate]=\"max\"\r\n icon=\"fas fa-calendar-day\"\r\n [showIcon]=\"true\"\r\n [disabledDates]=\"disabledDates\"\r\n [readonlyInput]=\"false\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onClose)=\"onHideCalendar()\"\r\n [disabled]=\"disabled\"\r\n [defaultDate]=\"defaultDate\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: ["
|
|
49
|
+
CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CalendarComponent, selector: "vector-calendar-field", inputs: { isRequired: "isRequired", control: "control", label: "label", showCalendarOnFocus: "showCalendarOnFocus", min: "min", max: "max", disabledDates: "disabledDates", disabled: "disabled", defaultDate: "defaultDate", hiddenErrorMessage: "hiddenErrorMessage" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n [formControl]=\"control\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [minDate]=\"min\"\r\n [maxDate]=\"max\"\r\n icon=\"fas fa-calendar-day\"\r\n [showIcon]=\"true\"\r\n [disabledDates]=\"disabledDates\"\r\n [readonlyInput]=\"false\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onClose)=\"onHideCalendar()\"\r\n [disabled]=\"disabled\"\r\n [defaultDate]=\"defaultDate\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container input{transition:border-width ease-in-out .08s;border:1px solid rgba(0,0,0,.6);width:100%;padding:6px 30px 6px 12px;font-size:14px;line-height:1.5em;border-radius:var(--border-radius);height:40px}.input-container input:disabled{cursor:not-allowed;background-color:var(--disabled-background);opacity:1}.input-container input:focus{outline:0;box-shadow:none;border-width:2px}.input-container input::placeholder{color:var(--placeholder-color);font-size:12px}.input-container input.ng-touched.ng-invalid{border-color:var(--error-color)!important}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"], components: [{ type: i2.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { type: i3.FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
|
-
args: [{ selector: 'vector-calendar-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n [formControl]=\"control\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [minDate]=\"min\"\r\n [maxDate]=\"max\"\r\n icon=\"fas fa-calendar-day\"\r\n [showIcon]=\"true\"\r\n [disabledDates]=\"disabledDates\"\r\n [readonlyInput]=\"false\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onClose)=\"onHideCalendar()\"\r\n [disabled]=\"disabled\"\r\n [defaultDate]=\"defaultDate\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: ["
|
|
52
|
+
args: [{ selector: 'vector-calendar-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n [formControl]=\"control\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [minDate]=\"min\"\r\n [maxDate]=\"max\"\r\n icon=\"fas fa-calendar-day\"\r\n [showIcon]=\"true\"\r\n [disabledDates]=\"disabledDates\"\r\n [readonlyInput]=\"false\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onClose)=\"onHideCalendar()\"\r\n [disabled]=\"disabled\"\r\n [defaultDate]=\"defaultDate\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container input{transition:border-width ease-in-out .08s;border:1px solid rgba(0,0,0,.6);width:100%;padding:6px 30px 6px 12px;font-size:14px;line-height:1.5em;border-radius:var(--border-radius);height:40px}.input-container input:disabled{cursor:not-allowed;background-color:var(--disabled-background);opacity:1}.input-container input:focus{outline:0;box-shadow:none;border-width:2px}.input-container input::placeholder{color:var(--placeholder-color);font-size:12px}.input-container input.ng-touched.ng-invalid{border-color:var(--error-color)!important}.input-container .input-error{font-size:.7em;color:var(--error-color)}\n"] }]
|
|
53
53
|
}], ctorParameters: function () { return [{ type: i1.ModalService }]; }, propDecorators: { isRequired: [{
|
|
54
54
|
type: Input
|
|
55
55
|
}], control: [{
|
|
@@ -92,10 +92,10 @@ export class CurrencyFieldComponent {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
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: ["
|
|
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
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
|
|
97
97
|
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: ["
|
|
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
99
|
}], propDecorators: { minValue: [{
|
|
100
100
|
type: Input
|
|
101
101
|
}], maxValue: [{
|
|
@@ -23,9 +23,12 @@ export class DataTableComponent {
|
|
|
23
23
|
this.addItemLabel = '';
|
|
24
24
|
this.pagination = true;
|
|
25
25
|
this.virtualPagination = false;
|
|
26
|
+
this.addItemButtonPlusSign = false;
|
|
26
27
|
this.onLazyLoad = new EventEmitter();
|
|
27
28
|
this.onFilter = new EventEmitter();
|
|
28
29
|
this.onAdd = new EventEmitter();
|
|
30
|
+
this.onExportExcel = new EventEmitter();
|
|
31
|
+
this.onExportPDF = new EventEmitter();
|
|
29
32
|
this._tabs = [];
|
|
30
33
|
this.draw = 1;
|
|
31
34
|
this.firstLazyLoadedDone = false;
|
|
@@ -143,10 +146,10 @@ export class DataTableComponent {
|
|
|
143
146
|
}
|
|
144
147
|
}
|
|
145
148
|
DataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
146
|
-
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" }, outputs: { onLazyLoad: "onLazyLoad", onFilter: "onFilter", onAdd: "onAdd" }, viewQueries: [{ propertyName: "filtersComponent", first: true, predicate: FiltersComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"grid\">\r\n <div class=\"col-12
|
|
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"] }] });
|
|
147
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
148
151
|
type: Component,
|
|
149
|
-
args: [{ selector: 'vector-data-table', template: "<div class=\"grid\">\r\n <div class=\"col-12
|
|
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"] }]
|
|
150
153
|
}], ctorParameters: function () { return []; }, propDecorators: { columns: [{
|
|
151
154
|
type: Input
|
|
152
155
|
}], data: [{
|
|
@@ -167,14 +170,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
167
170
|
type: Input
|
|
168
171
|
}], tabs: [{
|
|
169
172
|
type: Input
|
|
173
|
+
}], addItemButtonPlusSign: [{
|
|
174
|
+
type: Input
|
|
170
175
|
}], onLazyLoad: [{
|
|
171
176
|
type: Output
|
|
172
177
|
}], onFilter: [{
|
|
173
178
|
type: Output
|
|
174
179
|
}], onAdd: [{
|
|
175
180
|
type: Output
|
|
181
|
+
}], onExportExcel: [{
|
|
182
|
+
type: Output
|
|
183
|
+
}], onExportPDF: [{
|
|
184
|
+
type: Output
|
|
176
185
|
}], filtersComponent: [{
|
|
177
186
|
type: ViewChild,
|
|
178
187
|
args: [FiltersComponent, { static: true }]
|
|
179
188
|
}] } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFZLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBdUMsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEcsT0FBTyxFQUFlLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFPN0UsTUFBTSxPQUFPLGtCQUFrQjtJQTBDN0I7UUF4Q08sWUFBTyxHQUFrQixFQUFFLENBQUM7UUFFNUIsU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUVqQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBRTVCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFbEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTzFCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztR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TTtnQkFHQSxRQUFRO3NCQURkLE1BQU07Z0JBR0EsS0FBSztzQkFEWCxNQUFNO2dCQUdBLGdCQUFnQjtzQkFEdEIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XHJcbmltcG9ydCB7IExpc3RJdGVtLCBTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVMYXp5TG9hZEV2ZW50LCBUYWJsZUNvbHVtbiwgVGFibGVDb2x1bW5UeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RhdGEtdGFibGUubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWx0ZXJGaWVsZCwgRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItZGF0YS10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sdW1uczogVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRhdGE6IGFueVtdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXhwb3J0RXhjZWwgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleHBvcnRQREYgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0b3RhbFJlY29yZHMgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpbHRlcnM6IEZpbHRlckZpZWxkW10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRJdGVtTGFiZWwgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYWdpbmF0aW9uID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aXJ0dWFsUGFnaW5hdGlvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB0YWJzKF90YWJzOiBMaXN0SXRlbVtdKSB7XHJcbiAgICB0aGlzLl90YWJzID0gX3RhYnM7XHJcbiAgICB0aGlzLnRhYlNlbGVjdGVkID0gX3RhYnNbMF07XHJcbiAgfVxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkxhenlMb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhVGFibGVMYXp5TG9hZEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkFkZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAVmlld0NoaWxkKEZpbHRlcnNDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHVibGljIGZpbHRlcnNDb21wb25lbnQ6IEZpbHRlcnNDb21wb25lbnQgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGdldCB0YWJzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RhYnM7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3RhYnM6IExpc3RJdGVtW10gPSBbXTtcclxuICBwcml2YXRlIGRyYXcgPSAxO1xyXG4gIHByaXZhdGUgZmlyc3RMYXp5TG9hZGVkRG9uZSA9IGZhbHNlO1xyXG4gIHByaXZhdGUgbGFzdExhenlMb2FkRXZlbnQ6IERhdGFUYWJsZUxhenlMb2FkRXZlbnQgfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSB0YWJTZWxlY3RlZDogTGlzdEl0ZW0gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucGFnaW5hdGlvbiB8fCB0aGlzLnZpcnR1YWxQYWdpbmF0aW9uKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyc0NvbXBvbmVudD8uc2VhcmNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDb2xTdHlsZShjb2w6IFRhYmxlQ29sdW1uKSB7XHJcbiAgICByZXR1cm4geyAnbWluLXdpZHRoJzogY29sLndpZHRoIH07XHJcbiAgfVxyXG5cclxuICBsYXp5TG9hZGVkKHBhcmFtczogeyBmaWx0ZXI6IGJvb2xlYW47IGRhdGE6IGFueSB9ID0geyBmaWx0ZXI6IGZhbHNlLCBkYXRhOiB7IHN0YXJ0OiAwLCByb3dzOiAxMCB9IH0pIHtcclxuICAgIGlmICghcGFyYW1zLmZpbHRlcikge1xyXG4gICAgICB0aGlzLmxhc3RMYXp5TG9hZEV2ZW50ID0ge1xyXG4gICAgICAgIC4uLih0aGlzLmxhc3RMYXp5TG9hZEV2ZW50IHx8ICh7fSBhcyBhbnkpKSxcclxuICAgICAgICBzdGFydDogcGFyYW1zLmRhdGEuZmlyc3QsXHJcbiAgICAgICAgbGVuZ3RoOiBwYXJhbXMuZGF0YS5yb3dzLFxyXG4gICAgICAgIGRyYXc6IHRoaXMuZHJhdysrLFxyXG4gICAgICAgIG9yZGVyOiBwYXJhbXMuZGF0YS5zb3J0RmllbGRcclxuICAgICAgICAgID8gW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGNvbHVtbjogdGhpcy5jb2x1bW5zLmZpbmRJbmRleCgoY29sKSA9PiBjb2wuZmllbGQgPT09IHBhcmFtcy5kYXRhLnNvcnRGaWVsZCkgKyAxLFxyXG4gICAgICAgICAgICAgICAgZGlyOiBwYXJhbXMuZGF0YS5zb3J0T3JkZXIgPiAwID8gJ2FzYycgOiAnZGVzYycsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXVxyXG4gICAgICAgICAgOiBbeyBjb2x1bW46IDAsIGRpcjogJ2Rlc2MnIH1dLFxyXG4gICAgICAgIGNvbHVtbnM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZGF0YTogJ2FjdGl2ZScsXHJcbiAgICAgICAgICAgIG5hbWU6ICdBY3RpdmUnLFxyXG4gICAgICAgICAgICBvcmRlcmFibGU6IHRydWUsXHJcbiAgICAgICAgICAgIHNlYXJjaDogeyB2YWx1ZTogJycsIHJlZ2V4OiBmYWxzZSB9LFxyXG4gICAgICAgICAgICBzZWFyY2hhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnRoaXMuY29sdW1ucy5tYXAoKGNvbCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGRhdGE6IGNvbC5maWVsZCxcclxuICAgICAgICAgICAgICBuYW1lOiBgJHtjb2wuZmllbGQuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCl9JHtjb2wuZmllbGQuc3Vic3RyaW5nKDEsIGNvbC5maWVsZC5sZW5ndGgpfWAsXHJcbiAgICAgICAgICAgICAgb3JkZXJhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgIHNlYXJjaDogeyB2YWx1ZTogJycsIHJlZ2V4OiBmYWxzZSB9LFxyXG4gICAgICAgICAgICAgIHNlYXJjaGFibGU6IHRydWUsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICBdLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sYXN0TGF6eUxvYWRFdmVudCA9IHtcclxuICAgICAgICAuLi50aGlzLmxhc3RMYXp5TG9hZEV2ZW50LFxyXG4gICAgICAgIC4uLnBhcmFtcy5kYXRhLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAodGhpcy50YWJTZWxlY3RlZCkge1xyXG4gICAgICAgIHRoaXMubGFzdExhenlMb2FkRXZlbnQgPSB7XHJcbiAgICAgICAgICAuLi4odGhpcy5sYXN0TGF6eUxvYWRFdmVudCB8fCAoe30gYXMgYW55KSksXHJcbiAgICAgICAgICAuLi57IFN0YXR1czogdGhpcy50YWJTZWxlY3RlZC5jb2RlIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmZpcnN0TGF6eUxvYWRlZERvbmUpIHtcclxuICAgICAgdGhpcy5vbkxhenlMb2FkLmVtaXQodGhpcy5sYXN0TGF6eUxvYWRFdmVudCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZpcnN0TGF6eUxvYWRlZERvbmUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2VsbENvbnRlbnQoaXRlbTogYW55LCBjb2w6IFRhYmxlQ29sdW1uKSB7XHJcbiAgICBsZXQgY29udGVudCA9IGA8c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+JHtjb2wuaGVhZGVyfTwvc3Bhbj48c3BhbiBjbGFzcz1cInctMTAwXCI+YDtcclxuICAgIGlmICghY29sLnR5cGUgfHwgY29sLnR5cGUgPT09IFRhYmxlQ29sdW1uVHlwZS5URVhUKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gaXRlbVtjb2wuZmllbGRdIHx8ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLkJPT0xFQU4pIHtcclxuICAgICAgY29udGVudCArPSBgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyZWRcIj48aSBjbGFzcz1cIiBzdGF0dXMtdGFibGUtZmllbGQgZmFzIGZhLSR7XHJcbiAgICAgICAgaXRlbVtjb2wuZmllbGRdID8gJ2NoZWNrIGJvb2xlYW4tdmFsdWUtcG9zaXRpdmUnIDogJ3RpbWVzIGJvb2xlYW4tdmFsdWUtbmVnYXRpdmUnXHJcbiAgICAgIH1cIj48L2k+PC9kaXY+YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sdW1uVHlwZS5FTlVNICYmIGNvbC5nZXRFbnVtVHJhbnNsYXRlZCkge1xyXG4gICAgICBjb250ZW50ICs9IGNvbC5nZXRFbnVtVHJhbnNsYXRlZChpdGVtW2NvbC5maWVsZF0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLkRBVEVUSU1FICYmIGl0ZW1bY29sLmZpZWxkXSkge1xyXG4gICAgICBjb25zdCBkYXRlVGltZSA9XHJcbiAgICAgICAgaXRlbVtjb2wuZmllbGRdIGluc3RhbmNlb2YgRGF0ZSA/IERhdGVUaW1lLmZyb21KU0RhdGUoaXRlbVtjb2wuZmllbGRdKSA6IERhdGVUaW1lLmZyb21JU08oaXRlbVtjb2wuZmllbGRdKTtcclxuICAgICAgY29udGVudCArPSBkYXRlVGltZS50b0Zvcm1hdCgnZGQvTU0veXl5eSBISDptbScpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLlNUQVRVU19CQURHRSkge1xyXG4gICAgICBjb250ZW50ICs9IGA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJlZFwiPjxpIGNsYXNzPVwiZmFzIGZhLWNpcmNsZSBzdGF0dXMtdGFibGUtZmllbGQgJHt0aGlzLmdldFN0YXR1c0NvbG9yKFxyXG4gICAgICAgIGl0ZW1bY29sLmZpZWxkXVxyXG4gICAgICApfVwiPjwvaT48L2Rpdj5gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLkFDVElWRV9CT09MRUFOX0JBREdFKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gYDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlcmVkXCI+PGkgY2xhc3M9XCJmYXMgZmEtY2lyY2xlIHN0YXR1cy10YWJsZS1maWVsZCAke3RoaXMuZ2V0QWN0aXZlU3RhdHVzQ29sb3IoXHJcbiAgICAgICAgaXRlbVtjb2wuZmllbGRdXHJcbiAgICAgICl9XCI+PC9pPjwvZGl2PmA7XHJcbiAgICB9XHJcblxyXG4gICAgY29udGVudCArPSBgPC9zcGFuPmA7XHJcbiAgICByZXR1cm4gY29udGVudDtcclxuICB9XHJcblxyXG4gIG9uVGFiQ2hhbmdlKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnRhYlNlbGVjdGVkID0gdGhpcy50YWJzWyRldmVudC5pbmRleF07XHJcbiAgICB0aGlzLmxhenlMb2FkZWQoeyBmaWx0ZXI6IHRydWUsIGRhdGE6IHt9IH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxpc3RIYXNBY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS5zb21lKChpdGVtKSA9PiBpdGVtLmFjdGlvbnM/Lmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFN0YXR1c0NvbG9yKHN0YXR1czogU3RhdHVzKSB7XHJcbiAgICBzd2l0Y2ggKHN0YXR1cykge1xyXG4gICAgICBjYXNlIFN0YXR1cy5QRU5ESU5HOlxyXG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgIGNhc2UgU3RhdHVzLkFQUFJPVkVEOlxyXG4gICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgIGNhc2UgU3RhdHVzLlJFSkVDVEVEOlxyXG4gICAgICAgIHJldHVybiAnZXJyb3InO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBY3RpdmVTdGF0dXNDb2xvcihhY3RpdmU6IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiBhY3RpdmUgPyAnc3VjY2VzcycgOiAnZXJyb3InO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWQ6Y29sLTggbGc6Y29sLTlcIj5cclxuICAgIDx2ZWN0b3ItZmlsdGVycyBbZmllbGRzXT1cImZpbHRlcnNcIiAob25TZWFyY2gpPVwibGF6eUxvYWRlZCh7IGZpbHRlcjogdHJ1ZSwgZGF0YTogJGV2ZW50IH0pXCI+PC92ZWN0b3ItZmlsdGVycz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1kOmNvbC00IGxnOmNvbC0zIGFkZC1idXR0b24tY29udGFpbmVyXCIgKm5nSWY9XCJhZGRJdGVtTGFiZWxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgYWRkLWJ1dHRvbi1jb250YWluZXIgZmllbGRcIj5cclxuICAgICAgICA8dmVjdG9yLWJ1dHRvbiBbbGFiZWxdPVwiYWRkSXRlbUxhYmVsXCIgKGNsaWNrKT1cIm9uQWRkLmVtaXQoKVwiPjwvdmVjdG9yLWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICA8dmVjdG9yLXBhbmVsPlxyXG4gICAgICA8cC10YWJWaWV3IChvbkNoYW5nZSk9XCJvblRhYkNoYW5nZSgkZXZlbnQpXCIgKm5nSWY9XCJ0YWJzPy5sZW5ndGhcIj5cclxuICAgICAgICA8cC10YWJQYW5lbCAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIiBbaGVhZGVyXT1cInRhYi5uYW1lXCI+PC9wLXRhYlBhbmVsPlxyXG4gICAgICA8L3AtdGFiVmlldz5cclxuICAgICAgPHAtdGFibGVcclxuICAgICAgICBjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlPVwiTW9zdHJhbmRvIHtmaXJzdH0gYXTDqSB7bGFzdH0gZGUge3RvdGFsUmVjb3Jkc30gcmVnaXN0cm9zXCJcclxuICAgICAgICBzb3J0TW9kZT1cInNpbmdsZVwiXHJcbiAgICAgICAgW3Jvd3NdPVwiMTBcIlxyXG4gICAgICAgIFtsYXp5XT1cInBhZ2luYXRpb24gJiYgIXZpcnR1YWxQYWdpbmF0aW9uXCJcclxuICAgICAgICBbdmFsdWVdPVwiZGF0YVwiXHJcbiAgICAgICAgW3BhZ2luYXRvcl09XCJwYWdpbmF0aW9uXCJcclxuICAgICAgICBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXHJcbiAgICAgICAgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJ0cnVlXCJcclxuICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cIlsxMCwgMjUsIDUwLCAxMDBdXCJcclxuICAgICAgICBbcmVzcG9uc2l2ZV09XCJ0cnVlXCJcclxuICAgICAgICBbcmVzaXphYmxlQ29sdW1uc109XCJ0cnVlXCJcclxuICAgICAgICBbc2Nyb2xsYWJsZV09XCJ0cnVlXCJcclxuICAgICAgICBzY3JvbGxEaXJlY3Rpb249XCJ2ZXJ0aWNhbFwiXHJcbiAgICAgICAgcmVzcG9uc2l2ZUxheW91dD1cInNjcm9sbFwiXHJcbiAgICAgICAgKG9uTGF6eUxvYWQpPVwibGF6eUxvYWRlZCh7IGZpbHRlcjogZmFsc2UsIGRhdGE6ICRldmVudCB9KVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICA8dHIgY2xhc3M9XCJoZWFkZXJcIj5cclxuICAgICAgICAgICAgPHRoIHN0eWxlPVwibWF4LXdpZHRoOiAxMDBweFwiIGNsYXNzPVwiY2VudGVyZWRcIj5Bw6fDtWVzPC90aD5cclxuICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiIFtuZ1N0eWxlXT1cImdldENvbFN0eWxlKGNvbClcIiBbcFNvcnRhYmxlQ29sdW1uXT1cImNvbC5maWVsZFwiPlxyXG4gICAgICAgICAgICAgIHt7IGNvbC5oZWFkZXIgfX0gPHAtc29ydEljb24gW2ZpZWxkXT1cImNvbC5maWVsZFwiPjwvcC1zb3J0SWNvbj5cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1pdGVtPlxyXG4gICAgICAgICAgPHRyIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDx0ZCBzdHlsZT1cIm1heC13aWR0aDogMTAwcHhcIiBjbGFzcz1cImNlbnRlcmVkXCI+XHJcbiAgICAgICAgICAgICAgPHAtbWVudSAjbWVudSBbbW9kZWxdPVwiaXRlbS5hY3Rpb25zXCIgW3BvcHVwXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIj48L3AtbWVudT5cclxuICAgICAgICAgICAgICA8dmVjdG9yLWJ1dHRvbiAob25DbGljayk9XCJtZW51LnRvZ2dsZSgkZXZlbnQpXCIgbGVmdEljb249XCJmYXMgZmEtY29nXCIgc3R5bGU9XCJ3aWR0aDogNTBweFwiPjwvdmVjdG9yLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZ2V0Q2VsbENvbnRlbnQoaXRlbSwgY29sKVwiXHJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0Q29sU3R5bGUoY29sKVwiXHJcbiAgICAgICAgICAgID48L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cclxuICAgICAgICAgIDx0ciBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1yZXN1bHRzXCIgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLmxlbmd0aCArIDFcIj5OZW5odW0gcmVzdWx0YWRvIGVuY29udHJhZG88L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJwYWdpbmF0b3JyaWdodFwiPiA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJwYWdpbmF0b3Jkcm9wZG93bml0ZW1cIj4ge3sgaXRlbS52YWx1ZSB9fSA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L3AtdGFibGU+XHJcbiAgICA8L3ZlY3Rvci1wYW5lbD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFZLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBdUMsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEcsT0FBTyxFQUFlLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFPN0UsTUFBTSxPQUFPLGtCQUFrQjtJQWdEN0I7UUE5Q08sWUFBTyxHQUFrQixFQUFFLENBQUM7UUFFNUIsU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUVqQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBRTVCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFbEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBTzFCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUU5QixlQUFV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O3NCQURsQixLQUFLO2dCQUdDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUdLLElBQUk7c0JBRGQsS0FBSztnQkFNQyxxQkFBcUI7c0JBRDNCLEtBQUs7Z0JBR0MsVUFBVTtzQkFEaEIsTUFBTTtnQkFHQSxRQUFRO3NCQURkLE1BQU07Z0JBR0EsS0FBSztzQkFEWCxNQUFNO2dCQUdBLGFBQWE7c0JBRG5CLE1BQU07Z0JBR0EsV0FBVztzQkFEakIsTUFBTTtnQkFHQSxnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xyXG5pbXBvcnQgeyBMaXN0SXRlbSwgU3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgRGF0YVRhYmxlTGF6eUxvYWRFdmVudCwgVGFibGVDb2x1bW4sIFRhYmxlQ29sdW1uVHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9kYXRhLXRhYmxlLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsdGVyRmllbGQsIEZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuLi9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLWRhdGEtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkYXRhOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV4cG9ydEV4Y2VsID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXhwb3J0UERGID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdG90YWxSZWNvcmRzID0gMDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaWx0ZXJzOiBGaWx0ZXJGaWVsZFtdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkSXRlbUxhYmVsID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnaW5hdGlvbiA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmlydHVhbFBhZ2luYXRpb24gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdGFicyhfdGFiczogTGlzdEl0ZW1bXSkge1xyXG4gICAgdGhpcy5fdGFicyA9IF90YWJzO1xyXG4gICAgdGhpcy50YWJTZWxlY3RlZCA9IF90YWJzWzBdO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRJdGVtQnV0dG9uUGx1c1NpZ24gPSBmYWxzZTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25MYXp5TG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVRhYmxlTGF6eUxvYWRFdmVudD4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25GaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25BZGQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+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==
|
|
@@ -2,11 +2,12 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
|
2
2
|
import { Subscription } from 'rxjs';
|
|
3
3
|
import { ObjectUtil } from '../../../utils';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "primeng/
|
|
6
|
-
import * as i2 from "
|
|
7
|
-
import * as i3 from "../
|
|
8
|
-
import * as i4 from "
|
|
5
|
+
import * as i1 from "primeng/dropdown";
|
|
6
|
+
import * as i2 from "primeng/autocomplete";
|
|
7
|
+
import * as i3 from "../button/button.component";
|
|
8
|
+
import * as i4 from "../field-error-message/field-error-message.component";
|
|
9
9
|
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "@angular/forms";
|
|
10
11
|
export class DropdownFieldComponent {
|
|
11
12
|
constructor(renderer) {
|
|
12
13
|
this.renderer = renderer;
|
|
@@ -18,6 +19,7 @@ export class DropdownFieldComponent {
|
|
|
18
19
|
this.isLoading = false;
|
|
19
20
|
this.pagedSuggestions = [];
|
|
20
21
|
this.unlistenAutocompleteVirtualScroll = () => { };
|
|
22
|
+
this.selectedDynamicFilter = this.dynamicFilters ? this.dynamicFilters[0].code : undefined;
|
|
21
23
|
this._options = [];
|
|
22
24
|
this.currentScrollPage = -1;
|
|
23
25
|
this.currentScrollIndex = 0;
|
|
@@ -136,10 +138,10 @@ export class DropdownFieldComponent {
|
|
|
136
138
|
}
|
|
137
139
|
}
|
|
138
140
|
DropdownFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
139
|
-
DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage" }, outputs: { onFocus: "onFocus" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-autoComplete\r\n
|
|
141
|
+
DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage", dynamicFilters: "dynamicFilters" }, outputs: { onFocus: "onFocus" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n ppendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"], components: [{ type: i1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: i3.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i4.FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
140
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, decorators: [{
|
|
141
143
|
type: Component,
|
|
142
|
-
args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-autoComplete\r\n
|
|
144
|
+
args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n ppendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"] }]
|
|
143
145
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { options: [{
|
|
144
146
|
type: Input
|
|
145
147
|
}], isRequired: [{
|
|
@@ -158,7 +160,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
158
160
|
type: Input
|
|
159
161
|
}], hiddenErrorMessage: [{
|
|
160
162
|
type: Input
|
|
163
|
+
}], dynamicFilters: [{
|
|
164
|
+
type: Input
|
|
161
165
|
}], onFocus: [{
|
|
162
166
|
type: Output
|
|
163
167
|
}] } });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFZNUMsTUFBTSxPQUFPLHNCQUFzQjtJQTREakMsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXJEaEMsZUFBVSxHQUF3QixLQUFLLENBQUM7UUFheEMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUluQixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBTWIsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRXBDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBaUI3QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQztRQUNsQyxzQ0FBaUMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFHNUMsYUFBUSxHQUEyQixFQUFFLENBQUM7UUFDdEMsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsdUJBQWtCLEdBQUcsQ0FB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cG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQmFzZURyb3Bkb3duIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgRHJvcGRvd25CdXR0b25BY3Rpb24gPSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvbkNsaWNrOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLWRyb3Bkb3duLWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG9wdGlvbnMoX29wdGlvbnM6IExpc3RJdGVtW10gfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuX29wdGlvbnMgPSBfb3B0aW9ucztcclxuICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IHRoaXMub3B0aW9ucyB8fCBbXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNvbnRyb2woX2NvbnRyb2w6IGFueSkge1xyXG4gICAgdGhpcy5fY29udHJvbCA9IF9jb250cm9sO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VydmljZTogQmFzZURyb3Bkb3duIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhZ2VkID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBidXR0b25BY3Rpb246IERyb3Bkb3duQnV0dG9uQWN0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRlcGVuZGVuY2llczogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhpZGRlbkVycm9yTWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBnZXQgY29udHJvbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9wdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcclxuICB9XHJcblxyXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcclxuICAgIGlmICghdGhpcy5sYWJlbCkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhpcy5sYWJlbH0ke3RoaXMuaXNSZXF1aXJlZCA/ICcqJyA6ICcnfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgcHVibGljIHBhZ2VkU3VnZ2VzdGlvbnM6IExpc3RJdGVtW10gPSBbXTtcclxuICBwdWJsaWMgdW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsID0gKCkgPT4ge307XHJcblxyXG4gIHByaXZhdGUgX2NvbnRyb2w6IGFueTtcclxuICBwcml2YXRlIF9vcHRpb25zOiBMaXN0SXRlbVtdIHwgdW5kZWZpbmVkID0gW107XHJcbiAgcHJpdmF0ZSBjdXJyZW50U2Nyb2xsUGFnZSA9IC0xO1xyXG4gIHByaXZhdGUgY3VycmVudFNjcm9sbEluZGV4ID0gMDtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBwcml2YXRlIGN1cnJlbnRTZWFyY2hRdWVyeSA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2goKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIGlmICh0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpZWxkRXJyb3JMYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbD8uaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xyXG4gICAgICBpZiAodGhpcy5jb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XHJcbiAgICAgICAgcmV0dXJuICdDYW1wbyBvYnJpZ2F0w7NyaW8nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5jb250cm9sPy5lcnJvcnMgJiYgdHlwZW9mIHRoaXMuY29udHJvbC5lcnJvcnNbJ2ludmFsaWQnXSA9PT0gJ3N0cmluZydcclxuICAgICAgICA/IHRoaXMuY29udHJvbD8uZXJyb3JzWydpbnZhbGlkJ11cclxuICAgICAgICA6ICdDYW1wbyBpbnbDoWxpZG8nO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWFyY2goJGV2ZW50PzogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSA9ICRldmVudD8ucXVlcnkudG9VcHBlckNhc2UoKSB8fCAnJztcclxuICAgIHRoaXMuY3VycmVudFNjcm9sbFBhZ2UgPSAtMTtcclxuICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gMDtcclxuICAgIHRoaXMucGFnZVJlc3VsdHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk9wZW5BdXRvY29tcGxldGVQYW5lbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGF1dG9jb21wbGV0ZVBhbmVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnAtYXV0b2NvbXBsZXRlLXBhbmVsJyk7XHJcbiAgICBpZiAoYXV0b2NvbXBsZXRlUGFuZWwgJiYgdGhpcy5wYWdlZCkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGF1dG9jb21wbGV0ZVBhbmVsLCAnc2Nyb2xsJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5zY3JvbGxIZWlnaHQgLSBldmVudC50YXJnZXQuY2xpZW50SGVpZ2h0ID09PSBNYXRoLnJvdW5kKGV2ZW50LnRhcmdldC5zY3JvbGxUb3ApKSB7XHJcbiAgICAgICAgICB0aGlzLnBhZ2VSZXN1bHRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkhpZGVBdXRvY29tcGxldGVQYW5lbCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhZ2VkKSB7XHJcbiAgICAgIHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnMgPSBbXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFnZVJlc3VsdHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFNjcm9sbFBhZ2UrKztcclxuICAgICAgdGhpcy5zZXJ2aWNlLmdldFBhZ2VkKHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5LCB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlLCAyMCwgdGhpcy5kZXBlbmRlbmNpZXMpLnN1YnNjcmliZShcclxuICAgICAgICAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IHRoaXMuY3VycmVudFNjcm9sbFBhZ2UgPT09IDAgPyByZXNwb25zZSA6IHRoaXMucGFnZWRTdWdnZXN0aW9ucz8uY29uY2F0KHJlc3BvbnNlKTtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpO1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVTZWFyY2hFcnJvcnMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5maWx0ZXJMaXN0QnlRdWVyeSh0aGlzLm9wdGlvbnMsIHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5LnRvVXBwZXJDYXNlKCkpO1xyXG4gICAgICB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnMgPSBmaWx0ZXJlZE9wdGlvbnMuc2xpY2UoMCwgdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggKyAyMCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5vcHRpb25zPy5sZW5ndGggJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDIwKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggPSB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCArIDIwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpO1xyXG4gICAgICB0aGlzLmhhbmRsZVNlYXJjaEVycm9ycygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKSB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLnZhbHVlICYmIHRoaXMucGFnZWRTdWdnZXN0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBpdGVtc0FycmF5ID0gdGhpcy5wYWdlZFN1Z2dlc3Rpb25zO1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zPy5sZW5ndGgpIHtcclxuICAgICAgICBpdGVtc0FycmF5ID0gdGhpcy5vcHRpb25zO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShcclxuICAgICAgICBpdGVtc0FycmF5LmZpbmQoXHJcbiAgICAgICAgICAob3B0KSA9PlxyXG4gICAgICAgICAgICBgJHtvcHQuY29kZX1gID09PVxyXG4gICAgICAgICAgICAoKE9iamVjdFV0aWwuaXNWYWxpZCh0aGlzLmNvbnRyb2wudmFsdWU/LmNvZGUpICYmIGAke3RoaXMuY29udHJvbC52YWx1ZT8uY29kZX1gKSB8fCBgJHt0aGlzLmNvbnRyb2wudmFsdWV9YClcclxuICAgICAgICApLFxyXG4gICAgICAgIHsgZW1pdEV2ZW50OiBmYWxzZSB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVNlYXJjaEVycm9ycygpIHtcclxuICAgIGlmICh0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICBkZWxldGUgdGhpcy5jb250cm9sLmVycm9ycz8uaXRlbU5vdEZvdW5kO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0RXJyb3JzKHsgaXRlbU5vdEZvdW5kOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWx0ZXJMaXN0QnlRdWVyeShsaXN0OiBMaXN0SXRlbVtdID0gW10sIHF1ZXJ5OiBzdHJpbmcpOiBMaXN0SXRlbVtdIHtcclxuICAgIHJldHVybiBsaXN0LmZpbHRlcihcclxuICAgICAgKG9wdCkgPT4gU3RyaW5nKG9wdC5jb2RlKS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KSB8fCBvcHQubmFtZS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgPHAtYXV0b0NvbXBsZXRlXHJcbiAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgIGZpZWxkPVwibmFtZVwiXHJcbiAgICAgIGRhdGFLZXk9XCJjb2RlXCJcclxuICAgICAgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIlxyXG4gICAgICBbZHJvcGRvd25dPVwidHJ1ZVwiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW3N1Z2dlc3Rpb25zXT1cInBhZ2VkU3VnZ2VzdGlvbnNcIlxyXG4gICAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxyXG4gICAgICAob25TaG93KT1cIm9uT3BlbkF1dG9jb21wbGV0ZVBhbmVsKClcIlxyXG4gICAgICAob25IaWRlKT1cIm9uSGlkZUF1dG9jb21wbGV0ZVBhbmVsKClcIlxyXG4gICAgICAob25Gb2N1cyk9XCJvbkZvY3VzLmVtaXQoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L3AtYXV0b0NvbXBsZXRlPlxyXG4gICAgPHZlY3Rvci1idXR0b25cclxuICAgICAgKm5nSWY9XCJidXR0b25BY3Rpb25cIlxyXG4gICAgICBbbGFiZWxdPVwiYnV0dG9uQWN0aW9uLmxhYmVsXCJcclxuICAgICAgW2Rpc2FibGVkXT1cIiFjb250cm9sLnZhbHVlXCJcclxuICAgICAgKG9uQ2xpY2spPVwiYnV0dG9uQWN0aW9uLm9uQ2xpY2soY29udHJvbC52YWx1ZSlcIlxyXG4gICAgPjwvdmVjdG9yLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8dmVjdG9yLWZpZWxkLWVycm9yLW1lc3NhZ2UgKm5nSWY9XCIhaGlkZGVuRXJyb3JNZXNzYWdlXCIgW2NvbnRyb2xdPVwiY29udHJvbFwiPjwvdmVjdG9yLWZpZWxkLWVycm9yLW1lc3NhZ2U+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBWTVDLE1BQU0sT0FBTyxzQkFBc0I7SUErRGpDLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUF4RGhDLGVBQVUsR0FBd0IsS0FBSyxDQUFDO1FBYXhDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFJbkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQU1iLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUlwQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWlCN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBZSxFQUFFLENBQUM7UUFDbEMsc0NBQWlDLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzdDLDBCQUFxQixHQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENB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WTtzQkFEbEIsS0FBSztnQkFHQyxZQUFZO3NCQURsQixLQUFLO2dCQUdDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLO2dCQUdDLE9BQU87c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEJhc2VEcm9wZG93biB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuXHJcbmV4cG9ydCB0eXBlIERyb3Bkb3duQnV0dG9uQWN0aW9uID0ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgb25DbGljazogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1kcm9wZG93bi1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKVxyXG4gIHNldCBvcHRpb25zKF9vcHRpb25zOiBMaXN0SXRlbVtdIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLl9vcHRpb25zID0gX29wdGlvbnM7XHJcbiAgICB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnMgPSB0aGlzLm9wdGlvbnMgfHwgW107XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzUmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHNldCBjb250cm9sKF9jb250cm9sOiBhbnkpIHtcclxuICAgIHRoaXMuX2NvbnRyb2wgPSBfY29udHJvbDtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlcnZpY2U6IEJhc2VEcm9wZG93biB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYWdlZCA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnV0dG9uQWN0aW9uOiBEcm9wZG93bkJ1dHRvbkFjdGlvbiB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZXBlbmRlbmNpZXM6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBoaWRkZW5FcnJvck1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkeW5hbWljRmlsdGVycz86IExpc3RJdGVtW107XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGdldCBjb250cm9sKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgb3B0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBsYWNlaG9sZGVyKCkge1xyXG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGlzLmxhYmVsfSR7dGhpcy5pc1JlcXVpcmVkID8gJyonIDogJyd9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBwdWJsaWMgcGFnZWRTdWdnZXN0aW9uczogTGlzdEl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyB1bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwgPSAoKSA9PiB7fTtcclxuICBwdWJsaWMgc2VsZWN0ZWREeW5hbWljRmlsdGVyOiBhbnkgPSB0aGlzLmR5bmFtaWNGaWx0ZXJzID8gdGhpcy5keW5hbWljRmlsdGVyc1swXS5jb2RlIDogdW5kZWZpbmVkO1xyXG5cclxuICBwcml2YXRlIF9jb250cm9sOiBhbnk7XHJcbiAgcHJpdmF0ZSBfb3B0aW9uczogTGlzdEl0ZW1bXSB8IHVuZGVmaW5lZCA9IFtdO1xyXG4gIHByaXZhdGUgY3VycmVudFNjcm9sbFBhZ2UgPSAtMTtcclxuICBwcml2YXRlIGN1cnJlbnRTY3JvbGxJbmRleCA9IDA7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgcHJpdmF0ZSBjdXJyZW50U2VhcmNoUXVlcnkgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICBpZiAodGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwpIHtcclxuICAgICAgdGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaWVsZEVycm9yTGFiZWwoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2w/LmludmFsaWQgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQpIHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xyXG4gICAgICAgIHJldHVybiAnQ2FtcG8gb2JyaWdhdMOzcmlvJztcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuY29udHJvbD8uZXJyb3JzICYmIHR5cGVvZiB0aGlzLmNvbnRyb2wuZXJyb3JzWydpbnZhbGlkJ10gPT09ICdzdHJpbmcnXHJcbiAgICAgICAgPyB0aGlzLmNvbnRyb2w/LmVycm9yc1snaW52YWxpZCddXHJcbiAgICAgICAgOiAnQ2FtcG8gaW52w6FsaWRvJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoKCRldmVudD86IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkgPSAkZXZlbnQ/LnF1ZXJ5LnRvVXBwZXJDYXNlKCkgfHwgJyc7XHJcbiAgICB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlID0gLTE7XHJcbiAgICB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCA9IDA7XHJcbiAgICB0aGlzLnBhZ2VSZXN1bHRzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25PcGVuQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhdXRvY29tcGxldGVQYW5lbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLWF1dG9jb21wbGV0ZS1wYW5lbCcpO1xyXG4gICAgaWYgKGF1dG9jb21wbGV0ZVBhbmVsICYmIHRoaXMucGFnZWQpIHtcclxuICAgICAgdGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihhdXRvY29tcGxldGVQYW5lbCwgJ3Njcm9sbCcsIChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC50YXJnZXQuc2Nyb2xsSGVpZ2h0IC0gZXZlbnQudGFyZ2V0LmNsaWVudEhlaWdodCA9PT0gTWF0aC5yb3VuZChldmVudC50YXJnZXQuc2Nyb2xsVG9wKSkge1xyXG4gICAgICAgICAgdGhpcy5wYWdlUmVzdWx0cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYWdlZCkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gW107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhZ2VSZXN1bHRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuc2VydmljZSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlKys7XHJcbiAgICAgIHRoaXMuc2VydmljZS5nZXRQYWdlZCh0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSwgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSwgMjAsIHRoaXMuZGVwZW5kZW5jaWVzKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnMgPSB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlID09PSAwID8gcmVzcG9uc2UgOiB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM/LmNvbmNhdChyZXNwb25zZSk7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcclxuICAgICAgICAgIHRoaXMuaGFuZGxlU2VhcmNoRXJyb3JzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZmlsdGVyTGlzdEJ5UXVlcnkodGhpcy5vcHRpb25zLCB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS50b1VwcGVyQ2FzZSgpKTtcclxuICAgICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gZmlsdGVyZWRPcHRpb25zLnNsaWNlKDAsIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ICsgMjApO1xyXG5cclxuICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubGVuZ3RoICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAyMCkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggKyAyMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcclxuICAgICAgdGhpcy5oYW5kbGVTZWFyY2hFcnJvcnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCkge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSAmJiB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICBsZXQgaXRlbXNBcnJheSA9IHRoaXMucGFnZWRTdWdnZXN0aW9ucztcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgaXRlbXNBcnJheSA9IHRoaXMub3B0aW9ucztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoXHJcbiAgICAgICAgaXRlbXNBcnJheS5maW5kKFxyXG4gICAgICAgICAgKG9wdCkgPT5cclxuICAgICAgICAgICAgYCR7b3B0LmNvZGV9YCA9PT1cclxuICAgICAgICAgICAgKChPYmplY3RVdGlsLmlzVmFsaWQodGhpcy5jb250cm9sLnZhbHVlPy5jb2RlKSAmJiBgJHt0aGlzLmNvbnRyb2wudmFsdWU/LmNvZGV9YCkgfHwgYCR7dGhpcy5jb250cm9sLnZhbHVlfWApXHJcbiAgICAgICAgKSxcclxuICAgICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVTZWFyY2hFcnJvcnMoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlZFN1Z2dlc3Rpb25zPy5sZW5ndGgpIHtcclxuICAgICAgZGVsZXRlIHRoaXMuY29udHJvbC5lcnJvcnM/Lml0ZW1Ob3RGb3VuZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50U2VhcmNoUXVlcnkpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldEVycm9ycyh7IGl0ZW1Ob3RGb3VuZDogdHJ1ZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsdGVyTGlzdEJ5UXVlcnkobGlzdDogTGlzdEl0ZW1bXSA9IFtdLCBxdWVyeTogc3RyaW5nKTogTGlzdEl0ZW1bXSB7XHJcbiAgICByZXR1cm4gbGlzdC5maWx0ZXIoXHJcbiAgICAgIChvcHQpID0+IFN0cmluZyhvcHQuY29kZSkudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhxdWVyeSkgfHwgb3B0Lm5hbWUudG9VcHBlckNhc2UoKS5pbmNsdWRlcyhxdWVyeSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1pbm5lci1jb250YWluZXJcIj5cclxuICAgICAgPHAtZHJvcGRvd25cclxuICAgICAgICAqbmdJZj1cImR5bmFtaWNGaWx0ZXJzXCJcclxuICAgICAgICBwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgb3B0aW9uTGFiZWw9XCJuYW1lXCJcclxuICAgICAgICBvcHRpb25WYWx1ZT1cImNvZGVcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWREeW5hbWljRmlsdGVyXCJcclxuICAgICAgICBbb3B0aW9uc109XCJkeW5hbWljRmlsdGVyc1wiXHJcbiAgICAgID5cclxuICAgICAgPC9wLWRyb3Bkb3duPlxyXG4gICAgICA8cC1hdXRvQ29tcGxldGVcclxuICAgICAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgIGZpZWxkPVwibmFtZVwiXHJcbiAgICAgICAgZGF0YUtleT1cImNvZGVcIlxyXG4gICAgICAgIFtmb3JjZVNlbGVjdGlvbl09XCJ0cnVlXCJcclxuICAgICAgICBbZHJvcGRvd25dPVwidHJ1ZVwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW3N1Z2dlc3Rpb25zXT1cInBhZ2VkU3VnZ2VzdGlvbnNcIlxyXG4gICAgICAgIFtkcm9wZG93bkljb25dPVwiZHluYW1pY0ZpbHRlcnMgPyAncGkgcGktc2VhcmNoJyA6ICdwaSBwaS1jaGV2cm9uLWRvd24nXCJcclxuICAgICAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxyXG4gICAgICAgIChvblNob3cpPVwib25PcGVuQXV0b2NvbXBsZXRlUGFuZWwoKVwiXHJcbiAgICAgICAgKG9uSGlkZSk9XCJvbkhpZGVBdXRvY29tcGxldGVQYW5lbCgpXCJcclxuICAgICAgICAob25Gb2N1cyk9XCJvbkZvY3VzLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cclxuICAgIDwvZGl2PlxyXG4gICAgPHZlY3Rvci1idXR0b25cclxuICAgICAgKm5nSWY9XCJidXR0b25BY3Rpb25cIlxyXG4gICAgICBbbGFiZWxdPVwiYnV0dG9uQWN0aW9uLmxhYmVsXCJcclxuICAgICAgW2Rpc2FibGVkXT1cIiFjb250cm9sLnZhbHVlXCJcclxuICAgICAgKG9uQ2xpY2spPVwiYnV0dG9uQWN0aW9uLm9uQ2xpY2soY29udHJvbC52YWx1ZSlcIlxyXG4gICAgPjwvdmVjdG9yLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8dmVjdG9yLWZpZWxkLWVycm9yLW1lc3NhZ2UgKm5nSWY9XCIhaGlkZGVuRXJyb3JNZXNzYWdlXCIgW2NvbnRyb2xdPVwiY29udHJvbFwiPjwvdmVjdG9yLWZpZWxkLWVycm9yLW1lc3NhZ2U+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -20,10 +20,10 @@ export class FieldErrorMessageComponent {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
FieldErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldErrorMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
FieldErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: { control: "control" }, ngImport: i0, template: "<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n", styles: ["
|
|
23
|
+
FieldErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: { control: "control" }, ngImport: i0, template: "<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n", styles: [".input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}\n"] });
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FieldErrorMessageComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
|
-
args: [{ selector: 'vector-field-error-message', template: "<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n", styles: ["
|
|
26
|
+
args: [{ selector: 'vector-field-error-message', template: "<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n", styles: [".input-error{font-size:.7em;color:var(--error-color);position:absolute;width:max-content}\n"] }]
|
|
27
27
|
}], ctorParameters: function () { return []; }, propDecorators: { control: [{
|
|
28
28
|
type: Input
|
|
29
29
|
}] } });
|