ngx-techlify-core 18.17.1 → 18.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.mjs +14 -8
- package/esm2022/lib/company-information/company-info-display/company-info-display.component.mjs +12 -5
- package/esm2022/lib/core/filter.service.mjs +4 -1
- package/esm2022/lib/document-viewer/document-viewer.component.mjs +3 -3
- package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +3 -4
- package/esm2022/lib/request-helper/request-helper.service.mjs +4 -1
- package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +30 -11
- package/esm2022/lib/timeline-filter/timeline-filter.module.mjs +1 -1
- package/esm2022/lib/user/user-enable-button-component/user-enable-button.module.mjs +28 -0
- package/esm2022/lib/user/user.module.mjs +11 -10
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/ngx-techlify-core.mjs +89 -29
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/lib/company-information/company-info-display/company-info-display.component.d.ts +5 -2
- package/lib/core/filter.service.d.ts +3 -0
- package/lib/request-helper/request-helper.service.d.ts +1 -1
- package/lib/timeline-filter/timeline-filter.component.d.ts +7 -2
- package/lib/user/user-enable-button-component/user-enable-button.module.d.ts +10 -0
- package/lib/user/user.module.d.ts +21 -21
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -2,11 +2,13 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { NgIf } from '@angular/common';
|
|
3
3
|
import { MaterialModule } from '../../../material.module';
|
|
4
4
|
import { TechlifyListingControllerInterface } from '../../../base-model';
|
|
5
|
+
import { RouterLink } from '@angular/router';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "../../../company-information/client.service";
|
|
7
|
-
import * as i2 from "@angular/material/
|
|
8
|
-
import * as i3 from "@angular/material/
|
|
9
|
-
import * as i4 from "@angular/material/
|
|
8
|
+
import * as i2 from "@angular/material/icon";
|
|
9
|
+
import * as i3 from "@angular/material/table";
|
|
10
|
+
import * as i4 from "@angular/material/card";
|
|
11
|
+
import * as i5 from "@angular/material/progress-bar";
|
|
10
12
|
export class TenantListWidgetComponent extends TechlifyListingControllerInterface {
|
|
11
13
|
constructor(service) {
|
|
12
14
|
super();
|
|
@@ -15,6 +17,7 @@ export class TenantListWidgetComponent extends TechlifyListingControllerInterfac
|
|
|
15
17
|
'#',
|
|
16
18
|
'Name',
|
|
17
19
|
'Users',
|
|
20
|
+
'Actions'
|
|
18
21
|
];
|
|
19
22
|
}
|
|
20
23
|
ngOnInit() {
|
|
@@ -34,17 +37,20 @@ export class TenantListWidgetComponent extends TechlifyListingControllerInterfac
|
|
|
34
37
|
this.lastPage = response?.last_page;
|
|
35
38
|
this.isWorking = false;
|
|
36
39
|
},
|
|
37
|
-
error: () => {
|
|
40
|
+
error: () => {
|
|
41
|
+
this.isWorking = false;
|
|
42
|
+
}
|
|
38
43
|
});
|
|
39
44
|
}
|
|
40
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TenantListWidgetComponent, deps: [{ token: i1.ClientService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TenantListWidgetComponent, isStandalone: true, selector: "app-tenant-list-widget", usesInheritance: true, ngImport: i0, template: "<mat-card>\n <mat-card-content>\n <mat-card-title>Tenants</mat-card-title>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index;\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Name Column -->\n <ng-container matColumnDef=\"Name\">\n <th mat-header-cell *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\"> {{ element?.name }}</td>\n </ng-container>\n\n <!-- Users Column -->\n <ng-container matColumnDef=\"Users\">\n <th mat-header-cell *matHeaderCellDef> Users </th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.users_count }}</td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type:
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TenantListWidgetComponent, isStandalone: true, selector: "app-tenant-list-widget", usesInheritance: true, ngImport: i0, template: "<mat-card>\n <mat-card-content>\n <mat-card-title>Tenants</mat-card-title>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index;\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Name Column -->\n <ng-container matColumnDef=\"Name\">\n <th mat-header-cell *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\"> {{ element?.name }}</td>\n </ng-container>\n\n <!-- Users Column -->\n <ng-container matColumnDef=\"Users\">\n <th mat-header-cell *matHeaderCellDef> Users </th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.users_count }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\">\n <mat-icon class=\"cursor-pointer\" [routerLink]=\"['/app-admin/tenants', element?.id, 'view']\">\n visibility\n </mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
42
47
|
}
|
|
43
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TenantListWidgetComponent, decorators: [{
|
|
44
49
|
type: Component,
|
|
45
50
|
args: [{ selector: 'app-tenant-list-widget', standalone: true, imports: [
|
|
46
51
|
MaterialModule,
|
|
47
|
-
NgIf
|
|
48
|
-
|
|
52
|
+
NgIf,
|
|
53
|
+
RouterLink
|
|
54
|
+
], template: "<mat-card>\n <mat-card-content>\n <mat-card-title>Tenants</mat-card-title>\n </mat-card-content>\n <mat-card-content class=\"p-0\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index;\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Name Column -->\n <ng-container matColumnDef=\"Name\">\n <th mat-header-cell *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\"> {{ element?.name }}</td>\n </ng-container>\n\n <!-- Users Column -->\n <ng-container matColumnDef=\"Users\">\n <th mat-header-cell *matHeaderCellDef> Users </th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.users_count }}</td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"Actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\">\n <mat-icon class=\"cursor-pointer\" [routerLink]=\"['/app-admin/tenants', element?.id, 'view']\">\n visibility\n </mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>\n" }]
|
|
49
55
|
}], ctorParameters: () => [{ type: i1.ClientService }] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWxpc3Qtd2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYXBwLWFkbWluL3RlbmFudC90ZW5hbnQtbGlzdC13aWRnZXQvdGVuYW50LWxpc3Qtd2lkZ2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYXBwLWFkbWluL3RlbmFudC90ZW5hbnQtbGlzdC13aWRnZXQvdGVuYW50LWxpc3Qtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFhM0MsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGtDQUFrQztJQVEvRSxZQUFvQixPQUFzQjtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFQMUMscUJBQWdCLEdBQWE7WUFDM0IsR0FBRztZQUNILE1BQU07WUFDTixPQUFPO1lBQ1AsU0FBUztTQUNWLENBQUM7SUFJRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sTUFBTSxHQUFRO1lBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUk7WUFDekMsU0FBUyxFQUFFLE9BQU87U0FDbkIsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsQ0FBQyxRQUFhLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxFQUFFLFNBQVMsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBbENVLHlCQUF5QjttR0FBekIseUJBQXlCLHlHQ2xCdEMseWlEQXdDQSx5REQ3QkksY0FBYyw4bkRBQ2QsSUFBSSw2RkFDSixVQUFVOzs0RkFLRCx5QkFBeUI7a0JBWHJDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDUCxjQUFjO3dCQUNkLElBQUk7d0JBQ0osVUFBVTtxQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtNYXRlcmlhbE1vZHVsZX0gZnJvbSAnLi4vLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7VGVjaGxpZnlMaXN0aW5nQ29udHJvbGxlckludGVyZmFjZX0gZnJvbSAnLi4vLi4vLi4vYmFzZS1tb2RlbCc7XG5pbXBvcnQge0NsaWVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2NvbXBhbnktaW5mb3JtYXRpb24vY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtSb3V0ZXJMaW5rfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGVuYW50LWxpc3Qtd2lkZ2V0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgUm91dGVyTGlua1xuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50LWxpc3Qtd2lkZ2V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RlbmFudC1saXN0LXdpZGdldC5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgVGVuYW50TGlzdFdpZGdldENvbXBvbmVudCBleHRlbmRzIFRlY2hsaWZ5TGlzdGluZ0NvbnRyb2xsZXJJbnRlcmZhY2UgaW1wbGVtZW50cyBPbkluaXQge1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtcbiAgICAnIycsXG4gICAgJ05hbWUnLFxuICAgICdVc2VycycsXG4gICAgJ0FjdGlvbnMnXG4gIF07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBDbGllbnRTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIGxvYWREYXRhKCk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1xuICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgcGVyUGFnZTogdGhpcy5wZXJQYWdlLFxuICAgICAgbnVtX2l0ZW1zOiB0aGlzLnBlclBhZ2UgKyAnfCcgKyB0aGlzLnBhZ2UsXG4gICAgICB3aXRoQ291bnQ6ICd1c2VycycsXG4gICAgfTtcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgdGhpcy5zZXJ2aWNlLmluZGV4KHBhcmFtcykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubW9kZWxzID0gdGhpcy5tb2RlbHM/LmNvbmNhdChyZXNwb25zZT8uZGF0YSk7XG4gICAgICAgIHRoaXMubGFzdFBhZ2UgPSByZXNwb25zZT8ubGFzdF9wYWdlO1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZD5cbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPG1hdC1jYXJkLXRpdGxlPlRlbmFudHM8L21hdC1jYXJkLXRpdGxlPlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwicC0wXCI+XG4gICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJtb2RlbHNcIiBjbGFzcz1cInctMTAwXCI+XG4gICAgICA8IS0tICMgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCIjXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+ICMgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gaW5kZXg7XCI+IHt7IGkgKyAxIH19IDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBOYW1lIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiTmFtZVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBOYW1lIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7IGVsZW1lbnQ/Lm5hbWUgfX08L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gVXNlcnMgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJVc2Vyc1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBVc2VycyA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQ/LnVzZXJzX2NvdW50IH19PC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIEFjdGlvbnMgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJBY3Rpb25zXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbnMgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIFtyb3V0ZXJMaW5rXT1cIlsnL2FwcC1hZG1pbi90ZW5hbnRzJywgZWxlbWVudD8uaWQsICd2aWV3J11cIj5cbiAgICAgICAgICAgIHZpc2liaWxpdHlcbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgIDwvdGFibGU+XG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzV29ya2luZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cbiJdfQ==
|
package/esm2022/lib/company-information/company-info-display/company-info-display.component.mjs
CHANGED
|
@@ -5,12 +5,17 @@ import * as i1 from "../../user";
|
|
|
5
5
|
export class CompanyInfoDisplayComponent {
|
|
6
6
|
constructor(currentUserService) {
|
|
7
7
|
this.currentUserService = currentUserService;
|
|
8
|
-
this.
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
this.forceReload = true;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
if (this.forceReload) {
|
|
12
|
+
this.currentUserService.getUserObservable(true).subscribe((user) => {
|
|
13
|
+
this.client = user?.client;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
11
16
|
}
|
|
12
17
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, deps: [{ token: i1.CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CompanyInfoDisplayComponent, isStandalone: true, selector: "app-company-info-display", inputs: { client: "client" }, ngImport: i0, template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CompanyInfoDisplayComponent, isStandalone: true, selector: "app-company-info-display", inputs: { client: "client", forceReload: "forceReload" }, ngImport: i0, template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
14
19
|
}
|
|
15
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, decorators: [{
|
|
16
21
|
type: Component,
|
|
@@ -19,5 +24,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
19
24
|
], template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n" }]
|
|
20
25
|
}], ctorParameters: () => [{ type: i1.CurrentUserService }], propDecorators: { client: [{
|
|
21
26
|
type: Input
|
|
27
|
+
}], forceReload: [{
|
|
28
|
+
type: Input
|
|
22
29
|
}] } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS1pbmZvLWRpc3BsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb21wYW55LWluZm9ybWF0aW9uL2NvbXBhbnktaW5mby1kaXNwbGF5L2NvbXBhbnktaW5mby1kaXNwbGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29tcGFueS1pbmZvcm1hdGlvbi9jb21wYW55LWluZm8tZGlzcGxheS9jb21wYW55LWluZm8tZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQVlyQyxNQUFNLE9BQU8sMkJBQTJCO0lBSXRDLFlBQ1Usa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFIdkMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7SUFJekIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ3RFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFLE1BQU0sQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOytHQWRVLDJCQUEyQjttR0FBM0IsMkJBQTJCLDhJQ2J4QyxxbEJBZUEsMEREUEksSUFBSTs7NEZBS0ssMkJBQTJCO2tCQVR2QyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBQ1A7d0JBQ1AsSUFBSTtxQkFDTDt1RkFLUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q3VycmVudFVzZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi91c2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvbXBhbnktaW5mby1kaXNwbGF5JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWZcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBhbnktaW5mby1kaXNwbGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NvbXBhbnktaW5mby1kaXNwbGF5LmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBDb21wYW55SW5mb0Rpc3BsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjbGllbnQhOiBhbnk7XG4gIEBJbnB1dCgpIGZvcmNlUmVsb2FkID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGN1cnJlbnRVc2VyU2VydmljZTogQ3VycmVudFVzZXJTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JjZVJlbG9hZCkge1xuICAgICAgdGhpcy5jdXJyZW50VXNlclNlcnZpY2UuZ2V0VXNlck9ic2VydmFibGUodHJ1ZSkuc3Vic2NyaWJlKCh1c2VyOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jbGllbnQgPSB1c2VyPy5jbGllbnQ7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJjbGllbnRcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTJcIj5cbiAgPGltZyAqbmdJZj1cImNsaWVudD8ubG9nb1wiIFtzcmNdPVwiY2xpZW50Py5sb2dvXCIgY2xhc3M9XCJpbWcgaW1nLXRodW1ibmFpbFwiIHN0eWxlPVwibWF4LWhlaWdodDogNzVweFwiIGFsdD1cIlwiPlxuICA8ZGl2PlxuICAgIDxoMyBjbGFzcz1cInRleHQtZGFyayBtYi0xXCI+e3sgY2xpZW50Py5uYW1lIH19PC9oMz5cbiAgICA8cCBjbGFzcz1cIm1iLTEgdGV4dC1zZWNvbmRhcnlcIiAqbmdJZj1cImNsaWVudD8uYWRkcmVzc1wiPlxuICAgICAge3sgY2xpZW50Py5hZGRyZXNzIH19XG4gICAgPC9wPlxuICAgIDxwIGNsYXNzPVwibWItMSB0ZXh0LXNlY29uZGFyeVwiICpuZ0lmPVwiY2xpZW50Py5waG9uZVwiPlxuICAgICAge3sgY2xpZW50Py5waG9uZSB9fVxuICAgIDwvcD5cbiAgICA8cCBjbGFzcz1cIm1iLTEgdGV4dC1zZWNvbmRhcnlcIiAqbmdJZj1cImNsaWVudD8uZW1haWxcIj5cbiAgICAgIHt7IGNsaWVudD8uZW1haWwgfX1cbiAgICA8L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/router";
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated by release 18.20
|
|
6
|
+
*/
|
|
4
7
|
export class FilterService {
|
|
5
8
|
constructor(router) {
|
|
6
9
|
this.router = router;
|
|
@@ -34,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
34
37
|
providedIn: 'root'
|
|
35
38
|
}]
|
|
36
39
|
}], ctorParameters: () => [{ type: i1.Router }] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvZmlsdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRzNDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBSSxDQUFDO0lBRXZDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxNQUFNO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQzNCO1lBQ0UsVUFBVSxFQUFFLEdBQUc7WUFDZixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsR0FBRyxFQUFFLGVBQWU7UUFDdEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQ2xCLE1BQU0sQ0FBQyxFQUFFO1lBQ1AsS0FBSyxJQUFJLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztvQkFFbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQzt3QkFDekQsSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7NEJBQ25CLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3hDLENBQUM7b0JBQ0gsQ0FBQztnQkFFSCxDQUFDO1lBRUgsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQzsrR0FqQ1UsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIGJ5IHJlbGVhc2UgMTguMjBcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyU2VydmljZSB7XG5cbiAgZmlsdGVyczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgfVxuXG4gIGFwcGx5RmlsdGVyVG9Sb3V0ZSh1cmwsIGZpbHRlcikge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtmaWx0ZXJdLFxuICAgICAge1xuICAgICAgICByZWxhdGl2ZVRvOiB1cmwsXG4gICAgICAgIHJlcGxhY2VVcmw6IHRydWVcbiAgICAgIH1cbiAgICApXG4gIH1cblxuICBnZXRGaWx0ZXJzRnJvbVJvdXRlKHVybCwgZmlsdGVyRm9ybUdyb3VwKSB7XG4gICAgdXJsLnBhcmFtcy5zdWJzY3JpYmUoXG4gICAgICBwYXJhbXMgPT4ge1xuICAgICAgICBmb3IgKHZhciBmaWx0ZXIgaW4gcGFyYW1zKSB7XG4gICAgICAgICAgaWYgKHBhcmFtc1tmaWx0ZXJdKSB7XG5cbiAgICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmaWx0ZXJGb3JtR3JvdXApKSB7XG4gICAgICAgICAgICAgIGlmIChrZXkgPT09IGZpbHRlcikge1xuICAgICAgICAgICAgICAgIGZpbHRlckZvcm1Hcm91cFtrZXldID0gcGFyYW1zW2ZpbHRlcl07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gZmlsdGVyRm9ybUdyb3VwO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -46,11 +46,11 @@ export class DocumentViewerComponent {
|
|
|
46
46
|
return file.split('.').pop();
|
|
47
47
|
}
|
|
48
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DocumentViewerComponent, selector: "app-document-viewer", inputs: { config: "config", file: "file", fileUrl: "fileUrl", disableEdit: "disableEdit" }, outputs: { remove: "remove" }, ngImport: i0, template: "<mat-card *ngIf=\"viewerType === 'image'\">\n <img [ngStyle]=\"config.imageStyle\" mat-card-image [src]=\"fileUrl\" />\n <mat-card-actions>\n <button type=\"button\" mat-raised-button (click)=\"removeFile()\" *ngIf=\"!disableEdit && !config.hideRemove\">\n Remove\n </button>\n </mat-card-actions>\n</mat-card>\n\n<div class=\"mat-elevation-z1 p-4\" *ngIf=\"viewerType !== 'image'\">\n <a [href]=\"fileUrl\" target=\"_blank\">{{fileName}}</a>\n <ngx-doc-viewer [ngStyle]=\"config.viewerStyle\" *ngIf=\"viewerType !== null\" [url]=\"fileUrl\" [viewer]=\"viewerType\">\n </ngx-doc-viewer>\n <div class=\"mt-2\" *ngIf=\"!config.hideRemove\">\n <button type=\"button\" mat-raised-button (click)=\"removeFile()\" *ngIf=\"!disableEdit\">\n Remove\n </button>\n </div>\n</div>", styles: [".image-fit{height:100%;width:100%;object-fit:cover}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i3.NgxDocViewerComponent, selector: "ngx-doc-viewer", inputs: ["url", "queryParams", "viewerUrl", "googleCheckInterval", "googleMaxChecks", "disableContent", "googleCheckContentLoaded", "viewer", "overrideLocalhost"], outputs: ["loaded"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i5.MatCardImage, selector: "[mat-card-image], [matCardImage]" }] }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DocumentViewerComponent, selector: "app-document-viewer", inputs: { config: "config", file: "file", fileUrl: "fileUrl", disableEdit: "disableEdit" }, outputs: { remove: "remove" }, ngImport: i0, template: "<mat-card *ngIf=\"viewerType === 'image'\">\n <img [ngStyle]=\"config.imageStyle\" mat-card-image [src]=\"fileUrl\" style=\"object-fit: contain;\" />\n <mat-card-actions>\n <button type=\"button\" mat-raised-button (click)=\"removeFile()\" *ngIf=\"!disableEdit && !config.hideRemove\">\n Remove\n </button>\n </mat-card-actions>\n</mat-card>\n\n<div class=\"mat-elevation-z1 p-4\" *ngIf=\"viewerType !== 'image'\">\n <a [href]=\"fileUrl\" target=\"_blank\">{{fileName}}</a>\n <ngx-doc-viewer [ngStyle]=\"config.viewerStyle\" *ngIf=\"viewerType !== null\" [url]=\"fileUrl\" [viewer]=\"viewerType\">\n </ngx-doc-viewer>\n <div class=\"mt-2\" *ngIf=\"!config.hideRemove\">\n <button type=\"button\" mat-raised-button (click)=\"removeFile()\" *ngIf=\"!disableEdit\">\n Remove\n </button>\n </div>\n</div>", styles: [".image-fit{height:100%;width:100%;object-fit:cover}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { kind: "component", type: i3.NgxDocViewerComponent, selector: "ngx-doc-viewer", inputs: ["url", "queryParams", "viewerUrl", "googleCheckInterval", "googleMaxChecks", "disableContent", "googleCheckContentLoaded", "viewer", "overrideLocalhost"], outputs: ["loaded"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i5.MatCardImage, selector: "[mat-card-image], [matCardImage]" }] }); }
|
|
50
50
|
}
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentViewerComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
|
-
args: [{ selector: 'app-document-viewer', template: "<mat-card *ngIf=\"viewerType === 'image'\">\n <img [ngStyle]=\"config.imageStyle\" mat-card-image [src]=\"fileUrl\" />\n <mat-card-actions>\n <button type=\"button\" mat-raised-button (click)=\"removeFile()\" *ngIf=\"!disableEdit && !config.hideRemove\">\n Remove\n </button>\n </mat-card-actions>\n</mat-card>\n\n<div class=\"mat-elevation-z1 p-4\" *ngIf=\"viewerType !== 'image'\">\n <a [href]=\"fileUrl\" target=\"_blank\">{{fileName}}</a>\n <ngx-doc-viewer [ngStyle]=\"config.viewerStyle\" *ngIf=\"viewerType !== null\" [url]=\"fileUrl\" [viewer]=\"viewerType\">\n </ngx-doc-viewer>\n <div class=\"mt-2\" *ngIf=\"!config.hideRemove\">\n <button type=\"button\" mat-raised-button (click)=\"removeFile()\" *ngIf=\"!disableEdit\">\n Remove\n </button>\n </div>\n</div>", styles: [".image-fit{height:100%;width:100%;object-fit:cover}\n"] }]
|
|
53
|
+
args: [{ selector: 'app-document-viewer', template: "<mat-card *ngIf=\"viewerType === 'image'\">\n <img [ngStyle]=\"config.imageStyle\" mat-card-image [src]=\"fileUrl\" style=\"object-fit: contain;\" />\n <mat-card-actions>\n <button type=\"button\" mat-raised-button (click)=\"removeFile()\" *ngIf=\"!disableEdit && !config.hideRemove\">\n Remove\n </button>\n </mat-card-actions>\n</mat-card>\n\n<div class=\"mat-elevation-z1 p-4\" *ngIf=\"viewerType !== 'image'\">\n <a [href]=\"fileUrl\" target=\"_blank\">{{fileName}}</a>\n <ngx-doc-viewer [ngStyle]=\"config.viewerStyle\" *ngIf=\"viewerType !== null\" [url]=\"fileUrl\" [viewer]=\"viewerType\">\n </ngx-doc-viewer>\n <div class=\"mt-2\" *ngIf=\"!config.hideRemove\">\n <button type=\"button\" mat-raised-button (click)=\"removeFile()\" *ngIf=\"!disableEdit\">\n Remove\n </button>\n </div>\n</div>", styles: [".image-fit{height:100%;width:100%;object-fit:cover}\n"] }]
|
|
54
54
|
}], ctorParameters: () => [], propDecorators: { config: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}], file: [{
|
|
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
62
62
|
}], remove: [{
|
|
63
63
|
type: Output
|
|
64
64
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvZG9jdW1lbnQtdmlld2VyL2RvY3VtZW50LXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2RvY3VtZW50LXZpZXdlci9kb2N1bWVudC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVEvRSxNQUFNLE9BQU8sdUJBQXVCO0lBY2xDO1FBSFUsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFHdEIsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxJQUFJLEdBQUcsS0FBSyxLQUFLLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLEtBQUssSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQzFHLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1lBQzdCLENBQUM7aUJBQ0ksSUFBSSxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLEtBQUssSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzNFLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO1lBQzVCLENBQUM7aUJBQ0ksSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQzFCLENBQUM7aUJBQ0ksQ0FBQztnQkFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFTO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXZEVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixzTENScEMsNDJCQWtCTTs7NEZEVk8sdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjt3REFPdEIsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWaWV3ZXJDb25maWcgfSBmcm9tICcuL3ZpZXdlci1jb25maWcubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZG9jdW1lbnQtdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50LXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RvY3VtZW50LXZpZXdlci5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cbiAgQElucHV0KCkgY29uZmlnITogVmlld2VyQ29uZmlnO1xuXG4gIEBJbnB1dCgpIGZpbGUhOiBhbnk7XG5cbiAgQElucHV0KCkgZmlsZVVybCE6IGFueTtcblxuICBASW5wdXQoKSBkaXNhYmxlRWRpdDogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICB2aWV3ZXJUeXBlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXREYXRhKCk7XG4gIH1cblxuICByZW1vdmVGaWxlKCkge1xuICAgIHRoaXMucmVtb3ZlLmVtaXQoKTtcbiAgfVxuXG4gIGluaXREYXRhKCkge1xuICAgIGlmICh0aGlzLmZpbGUpIHtcbiAgICAgIHZhciBleHQgPSB0aGlzLmdldEZpbGVFeHRlbnNpb24odGhpcy5maWxlKTtcbiAgICAgIGlmIChleHQgPT09ICdwcHQnIHx8IGV4dCA9PT0gJ3BwdHgnIHx8IGV4dCA9PT0gJ2RvYycgfHwgZXh0ID09PSAnZG9jeCcgfHwgZXh0ID09PSAneGxzJyB8fCBleHQgPT09ICd4bHN4Jykge1xuICAgICAgICB0aGlzLnZpZXdlclR5cGUgPSBcIm9mZmljZVwiO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZXh0ID09PSAnanBnJyB8fCBleHQgPT09ICdqcGVnJyB8fCBleHQgPT09ICdwbmcnIHx8IGV4dCA9PT0gJ2dpZicpIHtcbiAgICAgICAgdGhpcy52aWV3ZXJUeXBlID0gXCJpbWFnZVwiO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZXh0ID09PSAncGRmJykge1xuICAgICAgICB0aGlzLnZpZXdlclR5cGUgPSBcInBkZlwiO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMudmlld2VyVHlwZSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZpbGVOYW1lKCkge1xuICAgIGlmICh0aGlzLmZpbGUpIHtcbiAgICAgIGxldCBuYW1lQXJyYXkgPSB0aGlzLmZpbGUuc3BsaXQoJy8nKTtcbiAgICAgIGlmIChuYW1lQXJyYXkubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIHJldHVybiBuYW1lQXJyYXlbMV07XG4gICAgICB9XG4gICAgICByZXR1cm4gbmFtZUFycmF5WzBdO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRGaWxlRXh0ZW5zaW9uKGZpbGU6IGFueSkge1xuICAgIHJldHVybiBmaWxlLnNwbGl0KCcuJykucG9wKCk7XG4gIH1cblxufVxuIiwiPG1hdC1jYXJkICpuZ0lmPVwidmlld2VyVHlwZSA9PT0gJ2ltYWdlJ1wiPlxuICAgIDxpbWcgW25nU3R5bGVdPVwiY29uZmlnLmltYWdlU3R5bGVcIiBtYXQtY2FyZC1pbWFnZSBbc3JjXT1cImZpbGVVcmxcIiBzdHlsZT1cIm9iamVjdC1maXQ6IGNvbnRhaW47XCIgLz5cbiAgICA8bWF0LWNhcmQtYWN0aW9ucz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cInJlbW92ZUZpbGUoKVwiICpuZ0lmPVwiIWRpc2FibGVFZGl0ICYmICFjb25maWcuaGlkZVJlbW92ZVwiPlxuICAgICAgICAgICAgUmVtb3ZlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbjwvbWF0LWNhcmQ+XG5cbjxkaXYgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXoxIHAtNFwiICpuZ0lmPVwidmlld2VyVHlwZSAhPT0gJ2ltYWdlJ1wiPlxuICAgIDxhIFtocmVmXT1cImZpbGVVcmxcIiB0YXJnZXQ9XCJfYmxhbmtcIj57e2ZpbGVOYW1lfX08L2E+XG4gICAgPG5neC1kb2Mtdmlld2VyIFtuZ1N0eWxlXT1cImNvbmZpZy52aWV3ZXJTdHlsZVwiICpuZ0lmPVwidmlld2VyVHlwZSAhPT0gbnVsbFwiIFt1cmxdPVwiZmlsZVVybFwiIFt2aWV3ZXJdPVwidmlld2VyVHlwZVwiPlxuICAgIDwvbmd4LWRvYy12aWV3ZXI+XG4gICAgPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cIiFjb25maWcuaGlkZVJlbW92ZVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlRmlsZSgpXCIgKm5nSWY9XCIhZGlzYWJsZUVkaXRcIj5cbiAgICAgICAgICAgIFJlbW92ZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import * as XLSX from 'xlsx';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/icon";
|
|
5
4
|
export class ExportExcelButtonComponent {
|
|
6
5
|
constructor() {
|
|
7
6
|
this.name = 'Export_Data';
|
|
@@ -19,14 +18,14 @@ export class ExportExcelButtonComponent {
|
|
|
19
18
|
XLSX.writeFile(wb, fileName);
|
|
20
19
|
}
|
|
21
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExportExcelButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { name: "name", data: "data" }, ngImport: i0, template: "<
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { name: "name", data: "data" }, ngImport: i0, template: "<i (click)=\"exportExcel()\" class=\"cursor-pointer fas fa-file-excel\"></i>\n", styles: [""] }); }
|
|
23
22
|
}
|
|
24
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExportExcelButtonComponent, decorators: [{
|
|
25
24
|
type: Component,
|
|
26
|
-
args: [{ selector: 'app-export-excel-button', template: "<
|
|
25
|
+
args: [{ selector: 'app-export-excel-button', template: "<i (click)=\"exportExcel()\" class=\"cursor-pointer fas fa-file-excel\"></i>\n" }]
|
|
27
26
|
}], ctorParameters: () => [], propDecorators: { name: [{
|
|
28
27
|
type: Input
|
|
29
28
|
}], data: [{
|
|
30
29
|
type: Input
|
|
31
30
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWV4Y2VsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2V4cG9ydC1leGNlbC9leHBvcnQtZXhjZWwtYnV0dG9uL2V4cG9ydC1leGNlbC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9leHBvcnQtZXhjZWwvZXhwb3J0LWV4Y2VsLWJ1dHRvbi9leHBvcnQtZXhjZWwtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDOztBQU83QixNQUFNLE9BQU8sMEJBQTBCO0lBS3JDO1FBSFMsU0FBSSxHQUFXLGFBQWEsQ0FBQztRQUM3QixTQUFJLEdBQVUsRUFBRSxDQUFDO0lBRVYsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQzdELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyw2Q0FBNkM7UUFDN0MsTUFBTSxFQUFFLEdBQWtCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRS9DLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQixDQUFDOytHQW5CVSwwQkFBMEI7bUdBQTFCLDBCQUEwQix1R0NSdkMsZ0ZBQ0E7OzRGRE9hLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7d0RBTTFCLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1leHBvcnQtZXhjZWwtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cG9ydC1leGNlbC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9leHBvcnQtZXhjZWwtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRXhwb3J0RXhjZWxCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9ICdFeHBvcnRfRGF0YSc7XG4gIEBJbnB1dCgpIGRhdGE6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIGV4cG9ydEV4Y2VsKCkge1xuICAgIGNvbnN0IGZpbGVOYW1lID0gYCR7dGhpcy5uYW1lfV8ke25ldyBEYXRlKCkuZ2V0VGltZSgpfS54bHN4YDtcbiAgICBjb25zdCB3cyA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldCh0aGlzLmRhdGEpO1xuICAgIC8qIGdlbmVyYXRlIHdvcmtib29rIGFuZCBhZGQgdGhlIHdvcmtzaGVldCAqL1xuICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC51dGlscy5ib29rX25ldygpO1xuICAgIFhMU1gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod2IsIHdzLCAnU2hlZXQxJyk7XG5cbiAgICAvKiBzYXZlIHRvIGZpbGUgKi9cbiAgICBYTFNYLndyaXRlRmlsZSh3YiwgZmlsZU5hbWUpO1xuICB9XG5cblxufVxuIiwiPGkgKGNsaWNrKT1cImV4cG9ydEV4Y2VsKClcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIGZhcyBmYS1maWxlLWV4Y2VsXCI+PC9pPlxuIl19
|
|
@@ -70,6 +70,9 @@ export class RequestHelperService {
|
|
|
70
70
|
const array = value?.split(',');
|
|
71
71
|
return array.map((val) => this.isNumeric(val) ? Number.parseInt(val) : val);
|
|
72
72
|
}
|
|
73
|
+
else if (value && formGroupElement?.date && formGroupElement?.date === true) {
|
|
74
|
+
return new Date(value);
|
|
75
|
+
}
|
|
73
76
|
else if (value && formGroupElement?.number && formGroupElement?.number === true) {
|
|
74
77
|
return Number.parseInt(value);
|
|
75
78
|
}
|
|
@@ -102,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
102
105
|
providedIn: 'root'
|
|
103
106
|
}]
|
|
104
107
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }] });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVxdWVzdC1oZWxwZXIvcmVxdWVzdC1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7OztBQU81QixNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsTUFBYyxFQUNkLGNBQThCO1FBRDlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDcEMsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCx5QkFBeUIsQ0FBQyxTQUEyQixFQUFFLFVBQWU7UUFDcEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQzdELEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDO2dCQUMvRCxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pELFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDM0csQ0FBQztRQUNILENBQUM7SUFDSCxDQUFD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QUFTLENBQUMsR0FBVztRQUNuQixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7K0dBakdVLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTpyYWRpeCAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RIZWxwZXJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgZm9ybSB2YWx1ZXMgZnJvbSB0aGUgVVJMIHF1ZXJ5IHBhcmFtcy5cbiAgICogQHBhcmFtIGZvcm1Hcm91cCBGb3JtR3JvdXBcbiAgICogQHBhcmFtIGZvcm1Db25maWcgRm9ybUNvbmZpZ1xuICAgKi9cbiAgdXBkYXRlRm9ybVdpdGhRdWVyeVBhcmFtcyhmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsIGZvcm1Db25maWc6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBmb3JtR3JvdXAuY29udHJvbHMpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZm9ybUdyb3VwLmNvbnRyb2xzLCBrZXkpICYmXG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChxdWVyeVBhcmFtcywga2V5KSkge1xuICAgICAgICBmb3JtR3JvdXAuZ2V0KGtleSkucGF0Y2hWYWx1ZSh0aGlzLmZvcm1hdFZhbHVlKHF1ZXJ5UGFyYW1zW2tleV0sIGZvcm1Db25maWdba2V5XSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGUgb2JqZWN0IHRvIGZvcm0gZGF0YSBmb3IgdGhlIHJlcXVlc3QuXG4gICAqIEBwYXJhbSBkYXRhIERhdGEgT2JqZWN0XG4gICAqIEByZXR1cm4gT2JqZWN0XG4gICAqL1xuICBjb252ZXJ0VG9Gb3JtRGF0YShkYXRhOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZGF0YSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBwcm9wKSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhW3Byb3BdKSkge1xuICAgICAgICAgIC8vIGNvbnZlcnQgYXJyYXkgdG8gY29tbWEgc2VwYXJhdGVkIHN0cmluZ1xuICAgICAgICAgIG5ld0RhdGFbcHJvcF0gPSAoZGF0YVtwcm9wXSBhcyBbXSkuam9pbignLCcpO1xuICAgICAgICB9IGVsc2UgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKE51bWJlci5wYXJzZUludChkYXRhW3Byb3BdKSkgJiYgIWlzTmFOKERhdGUucGFyc2UoZGF0YVtwcm9wXSkpKSB7XG4gICAgICAgICAgLy8gY2hlY2sgaWYgdmFsdWUgaXMgZGF0ZSBhbmQgbm90IGEgbnVtYmVyXG4gICAgICAgICAgY29uc3QgZGF0ZSA9IG1vbWVudChkYXRhW3Byb3BdKS50b0lTT1N0cmluZygpO1xuICAgICAgICAgIG5ld0RhdGFbcHJvcF0gPSBtb21lbnQoZGF0ZSkuZm9ybWF0KCdZLU1NLUREJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3RGF0YVtwcm9wXSA9IGRhdGFbcHJvcF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ld0RhdGE7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIFVSTCB3aXRoIHRoZSBmaWx0ZXJzLlxuICAgKiBAcGFyYW0gcXVlcnlQYXJhbXMgUXVlcnkgUGFyYW1zXG4gICAqIEByZXR1cm4gUHJvbWlzZVxuICAgKi9cbiAgdXBkYXRlUXVlcnlQYXJhbXMocXVlcnlQYXJhbXM6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcbiAgICAgIFtdLFxuICAgICAge1xuICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBxdWVyeVBhcmFtcyxcbiAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJ1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IHZhbHVlLlxuICAgKiBAZGVzY3JpcHRpb24gQ29udmVydCB0aGUgY29tbWEgc2VwYXJhdGVkIHZhbHVlcyB0byBhcnJheSBpZiBpdCBpcyBtdWx0aXBsZSBzZWxlY3RhYmxlLlxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gYmUgY29udmVydGVkXG4gICAqIEBwYXJhbSBmb3JtR3JvdXBFbGVtZW50IEZvcm0gZ3JvdXAgZWxlbWVudFxuICAgKi9cbiAgZm9ybWF0VmFsdWUodmFsdWU6IHN0cmluZywgZm9ybUdyb3VwRWxlbWVudDogYW55KTogc3RyaW5nIHwgbnVtYmVyW10gfCBudW1iZXIgfCBib29sZWFuIHwgRGF0ZSB7XG4gICAgaWYgKHZhbHVlICYmIGZvcm1Hcm91cEVsZW1lbnQ/Lm11bHRpcGxlICYmIGZvcm1Hcm91cEVsZW1lbnQ/Lm11bHRpcGxlID09PSB0cnVlKSB7XG4gICAgICBjb25zdCBhcnJheSA9IHZhbHVlPy5zcGxpdCgnLCcpO1xuICAgICAgcmV0dXJuIGFycmF5Lm1hcCgodmFsOiBhbnkpID0+IHRoaXMuaXNOdW1lcmljKHZhbCkgPyBOdW1iZXIucGFyc2VJbnQodmFsKSA6IHZhbCk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSAmJiBmb3JtR3JvdXBFbGVtZW50Py5kYXRlICYmIGZvcm1Hcm91cEVsZW1lbnQ/LmRhdGUgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSAmJiBmb3JtR3JvdXBFbGVtZW50Py5udW1iZXIgJiYgZm9ybUdyb3VwRWxlbWVudD8ubnVtYmVyID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gTnVtYmVyLnBhcnNlSW50KHZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmIGZvcm1Hcm91cEVsZW1lbnQ/LmJvb2xlYW4pIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gJ3RydWUnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDaGVja3MgdmFsdWUgdG8gZGVydG1pbmUgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGEgbnVtYmVyXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBiZSBDaGVja2VkXG4gICAqL1xuICBpc051bWVyaWMoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoc3RyLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gIU51bWJlci5pc05hTihOdW1iZXIoc3RyKSk7XG4gIH1cbn1cblxuIl19
|
|
@@ -19,8 +19,7 @@ import * as i4 from "@angular/material/select";
|
|
|
19
19
|
import * as i5 from "@angular/material/core";
|
|
20
20
|
import * as i6 from "@angular/material/button";
|
|
21
21
|
import * as i7 from "@angular/material/icon";
|
|
22
|
-
import * as i8 from "@angular/material/
|
|
23
|
-
import * as i9 from "@angular/material/datepicker";
|
|
22
|
+
import * as i8 from "@angular/material/datepicker";
|
|
24
23
|
let TimelineFilterComponent = class TimelineFilterComponent {
|
|
25
24
|
static { TimelineFilterComponent_1 = this; }
|
|
26
25
|
set defaultValue(value) {
|
|
@@ -95,11 +94,13 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
95
94
|
this.id = `timeline-filter-${TimelineFilterComponent_1.nextId++}`;
|
|
96
95
|
this.describedBy = '';
|
|
97
96
|
this.focused = false;
|
|
98
|
-
this.
|
|
97
|
+
this.isCustomSelected = false;
|
|
99
98
|
this._required = false;
|
|
100
99
|
this._disabled = false;
|
|
101
100
|
this.onChange = () => { };
|
|
102
101
|
this.onTouched = () => { };
|
|
102
|
+
//Custom range
|
|
103
|
+
this.selectedRangeLabel = '';
|
|
103
104
|
this.selectorForm = formBuilder.group({
|
|
104
105
|
select_value: [''],
|
|
105
106
|
custom_date_from: [''],
|
|
@@ -112,8 +113,8 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
112
113
|
ngOnInit() {
|
|
113
114
|
this.timelineValue.valueChanges.
|
|
114
115
|
pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(value => this.value = value);
|
|
115
|
-
this.customDateFrom.valueChanges.pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(
|
|
116
|
-
this.customDateTo.valueChanges.pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(
|
|
116
|
+
this.customDateFrom.valueChanges.pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(_ => this.applyRange());
|
|
117
|
+
this.customDateTo.valueChanges.pipe(debounceTime(100), distinctUntilChanged(), untilDestroyed(this)).subscribe(_ => this.applyRange());
|
|
117
118
|
}
|
|
118
119
|
resetFieldValue(field) {
|
|
119
120
|
this.form?.get(field)?.setValue('');
|
|
@@ -121,14 +122,19 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
121
122
|
getFieldValue(field) {
|
|
122
123
|
return this.form?.get(field)?.value;
|
|
123
124
|
}
|
|
124
|
-
setFieldValue(field, value) {
|
|
125
|
-
this.form?.get(field)?.setValue(value);
|
|
125
|
+
setFieldValue(field, value, emitEvent = true) {
|
|
126
|
+
this.form?.get(field)?.setValue(value, { emitEvent: emitEvent });
|
|
127
|
+
}
|
|
128
|
+
selectionChanged(selected) {
|
|
129
|
+
if (selected.value == Timeline.CUSTOM) {
|
|
130
|
+
this.openCalendar();
|
|
131
|
+
}
|
|
126
132
|
}
|
|
127
133
|
changeTimeline(value) {
|
|
128
134
|
value = parseInt(value);
|
|
129
135
|
const timeline = calculateTimeline(value, this.dateFrom, this.dateTo);
|
|
130
136
|
if (timeline) {
|
|
131
|
-
this.
|
|
137
|
+
this.isCustomSelected = timeline.show_custom_field;
|
|
132
138
|
//For custom timeline, set the initial from the previous ranges if present
|
|
133
139
|
if (value == Timeline.CUSTOM) {
|
|
134
140
|
timeline.date_from = this.getFieldValue(this.dateFrom) ?? '';
|
|
@@ -137,6 +143,7 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
137
143
|
'custom_date_from': timeline.date_from,
|
|
138
144
|
'custom_date_to': timeline.date_to,
|
|
139
145
|
}, { emitEvent: false });
|
|
146
|
+
this.applyRange();
|
|
140
147
|
}
|
|
141
148
|
this.setFieldValue(this.dateFrom, timeline.date_from);
|
|
142
149
|
this.setFieldValue(this.dateTo, timeline.date_to);
|
|
@@ -144,6 +151,18 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
144
151
|
this.onChange(this.value);
|
|
145
152
|
this.selectionChange.emit(timeline);
|
|
146
153
|
}
|
|
154
|
+
openCalendar() {
|
|
155
|
+
this.picker.open();
|
|
156
|
+
}
|
|
157
|
+
applyRange() {
|
|
158
|
+
const from = this.selectorForm.get('custom_date_from')?.value;
|
|
159
|
+
const to = this.selectorForm.get('custom_date_to')?.value;
|
|
160
|
+
if (from && to) {
|
|
161
|
+
this.selectedRangeLabel = `<b>${this.datePipe.transform(from, 'yyyy-MM-dd')}</b> to <b>${this.datePipe.transform(to, 'yyyy-MM-dd')}</b`;
|
|
162
|
+
this.setFieldValue(this.dateFrom, this.datePipe.transform(from, 'yyyy-MM-dd'));
|
|
163
|
+
this.setFieldValue(this.dateTo, this.datePipe.transform(to, 'yyyy-MM-dd'));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
147
166
|
setDescribedByIds(ids) {
|
|
148
167
|
this.describedBy = ids.join(' ');
|
|
149
168
|
}
|
|
@@ -172,7 +191,7 @@ let TimelineFilterComponent = class TimelineFilterComponent {
|
|
|
172
191
|
provide: MatFormFieldControl,
|
|
173
192
|
useExisting: TimelineFilterComponent
|
|
174
193
|
}
|
|
175
|
-
], viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }], ngImport: i0, template: "<ng-container [formGroup]=\"selectorForm\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>{{labelText}}</mat-label>\n <mat-select formControlName=\"select_value\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline.value\">\n {{timeline.viewValue}}\n </mat-option>\n </mat-select>\n <button *ngIf=\"showClearButton && timelineValue.value\" matSuffix mat-icon-button\n (click)=\"timelineValue.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n
|
|
194
|
+
], viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }], ngImport: i0, template: "<ng-container [formGroup]=\"selectorForm\">\n <mat-form-field [appearance]=\"appearance\" style=\"width:200px\">\n <mat-label>{{labelText}}</mat-label>\n <mat-select formControlName=\"select_value\" (selectionChange)=\"selectionChanged($event)\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline.value\">\n {{timeline.viewValue}}\n </mat-option>\n </mat-select>\n <button *ngIf=\"showClearButton && timelineValue.value\" matSuffix mat-icon-button\n (click)=\"timelineValue.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-hint *ngIf=\"isCustomSelected && selectedRangeLabel\">\n <span class=\"custom-hint\" (click)=\"openCalendar()\">\n <span [innerHTML]=\"selectedRangeLabel\"></span> <mat-icon fontIcon=\"edit\"\n style=\"font-size: 16px; vertical-align: middle;\">edit</mat-icon>\n </span>\n </mat-hint>\n <mat-date-range-input class=\"offscreen-range-input\" [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"custom_date_from\" placeholder=\"From date\" readonly />\n <input matEndDate formControlName=\"custom_date_to\" placeholder=\"To date\" readonly />\n </mat-date-range-input>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n</ng-container>", styles: [".custom-hint{cursor:pointer;display:inline-flex;align-items:center;gap:4px}.custom-hint:hover{text-decoration:underline}.offscreen-range-input{position:absolute;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i8.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i8.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i8.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }] }); }
|
|
176
195
|
};
|
|
177
196
|
TimelineFilterComponent = TimelineFilterComponent_1 = __decorate([
|
|
178
197
|
UntilDestroy()
|
|
@@ -186,7 +205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
186
205
|
provide: MatFormFieldControl,
|
|
187
206
|
useExisting: TimelineFilterComponent
|
|
188
207
|
}
|
|
189
|
-
], template: "<ng-container [formGroup]=\"selectorForm\">\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>{{labelText}}</mat-label>\n <mat-select formControlName=\"select_value\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline.value\">\n {{timeline.viewValue}}\n </mat-option>\n </mat-select>\n <button *ngIf=\"showClearButton && timelineValue.value\" matSuffix mat-icon-button\n (click)=\"timelineValue.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n
|
|
208
|
+
], template: "<ng-container [formGroup]=\"selectorForm\">\n <mat-form-field [appearance]=\"appearance\" style=\"width:200px\">\n <mat-label>{{labelText}}</mat-label>\n <mat-select formControlName=\"select_value\" (selectionChange)=\"selectionChanged($event)\">\n <mat-option *ngFor=\"let timeline of timelines\" [value]=\"timeline.value\">\n {{timeline.viewValue}}\n </mat-option>\n </mat-select>\n <button *ngIf=\"showClearButton && timelineValue.value\" matSuffix mat-icon-button\n (click)=\"timelineValue.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-hint *ngIf=\"isCustomSelected && selectedRangeLabel\">\n <span class=\"custom-hint\" (click)=\"openCalendar()\">\n <span [innerHTML]=\"selectedRangeLabel\"></span> <mat-icon fontIcon=\"edit\"\n style=\"font-size: 16px; vertical-align: middle;\">edit</mat-icon>\n </span>\n </mat-hint>\n <mat-date-range-input class=\"offscreen-range-input\" [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"custom_date_from\" placeholder=\"From date\" readonly />\n <input matEndDate formControlName=\"custom_date_to\" placeholder=\"To date\" readonly />\n </mat-date-range-input>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n</ng-container>", styles: [".custom-hint{cursor:pointer;display:inline-flex;align-items:center;gap:4px}.custom-hint:hover{text-decoration:underline}.offscreen-range-input{position:absolute;opacity:0;pointer-events:none}\n"] }]
|
|
190
209
|
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i1.NgControl, decorators: [{
|
|
191
210
|
type: Optional
|
|
192
211
|
}, {
|
|
@@ -219,4 +238,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
219
238
|
}], selectionChange: [{
|
|
220
239
|
type: Output
|
|
221
240
|
}] } });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGltZWxpbmUtZmlsdGVyL3RpbWVsaW5lLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RpbWVsaW5lLWZpbHRlci90aW1lbGluZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBMEI7QUFDMUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBS0wsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFlcEMsSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7O0lBQ2xDLElBQWEsWUFBWSxDQUFDLEtBQVU7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QkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6cmFkaXggKi9cbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBUaW1lbGluZVZhbHVlLCBjYWxjdWxhdGVUaW1lbGluZSB9IGZyb20gJy4vY2FsY3VsYXRlLXRpbWVsaW5lJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaW1lbGluZSB9IGZyb20gJy4vdGltZWxpbmUubW9kZWwnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10aW1lbGluZS1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZWxpbmUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZWxpbmUtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIERhdGVQaXBlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogVGltZWxpbmVGaWx0ZXJDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGltZWxpbmVGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgc2V0IGRlZmF1bHRWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGVtcHR5KCkge1xuICAgIGNvbnN0IHsgdmFsdWU6IHsgc2VsZWN0X3ZhbHVlIH0gfSA9IHRoaXMuc2VsZWN0b3JGb3JtO1xuICAgIHJldHVybiAhc2VsZWN0X3ZhbHVlO1xuICB9XG5cbiAgZ2V0IHNob3VsZExhYmVsRmxvYXQoKSB7IHJldHVybiB0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZW1wdHk7IH1cblxuICBASW5wdXQoKVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9yZXF1aXJlZDsgfVxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNlbGVjdG9yRm9ybT8uZ2V0KCdzZWxlY3RfdmFsdWUnKT8uc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7IH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuX2Rpc2FibGVkID8gdGhpcy5zZWxlY3RvckZvcm0uZGlzYWJsZSgpIDogdGhpcy5zZWxlY3RvckZvcm0uZW5hYmxlKCk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0b3JGb3JtLnZhbGlkKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RvckZvcm0udmFsdWUuc2VsZWN0X3ZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgc2V0IHZhbHVlKGRhdGE6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0b3JGb3JtLnBhdGNoVmFsdWUoeyBzZWxlY3RfdmFsdWU6IHBhcnNlSW50KGRhdGEpIHx8ICcnIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLmNoYW5nZVRpbWVsaW5lKHBhcnNlSW50KGRhdGEpIHx8ICcnKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cbiAgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgQFZpZXdDaGlsZCgncGlja2VyJykgcGlja2VyOiBNYXREYXRlcGlja2VyPGFueT47XG4gIEBJbnB1dCgpIHRpbWVsaW5lczogYW55W10gPSBbXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuQ1VTVE9NLCB2aWV3VmFsdWU6ICdDdXN0b20nIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuVE9EQVksIHZpZXdWYWx1ZTogJ1RvZGF5JyB9LFxuICAgIHsgdmFsdWU6IFRpbWVsaW5lLllFU1RFUkRBWSwgdmlld1ZhbHVlOiAnWWVzdGVyZGF5JyB9LFxuICAgIHsgdmFsdWU6IFRpbWVsaW5lLlRPTU1PUk9XLCB2aWV3VmFsdWU6ICdUb21vcnJvdycgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5USElTX1dFRUssIHZpZXdWYWx1ZTogJ1RoaXMgV2VlaycgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5MQVNUX1dFRUssIHZpZXdWYWx1ZTogJ0xhc3QgV2VlaycgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5ORVhUX1dFRUssIHZpZXdWYWx1ZTogJ05leHQgV2VlaycgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5USElTX01PTlRILCB2aWV3VmFsdWU6ICdUaGlzIE1vbnRoJyB9LFxuICAgIHsgdmFsdWU6IFRpbWVsaW5lLkxBU1RfTU9OVEgsIHZpZXdWYWx1ZTogJ0xhc3QgTW9udGgnIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuTkVYVF9NT05USCwgdmlld1ZhbHVlOiAnTmV4dCBNb250aCcgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5USElTX1FVQVJURVIsIHZpZXdWYWx1ZTogJ1RoaXMgUXVhcnRlcicgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5MQVNUX1FVQVJURVIsIHZpZXdWYWx1ZTogJ0xhc3QgUXVhcnRlcicgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5USElTX1lFQVIsIHZpZXdWYWx1ZTogJ1RoaXMgWWVhcicgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5MQVNUX1lFQVIsIHZpZXdWYWx1ZTogJ0xhc3QgWWVhcicgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5BTEwsIHZpZXdWYWx1ZTogJ0FsbCBkYXRlcycgfSxcbiAgXTtcbiAgQElucHV0KCkgZGF0ZUZyb20gPSAnZGF0ZV9mcm9tJztcbiAgQElucHV0KCkgZGF0ZVRvID0gJ2RhdGVfdG8nO1xuICBASW5wdXQoKSBhcHBlYXJhbmNlOiBhbnkgPSAnZmlsbCc7XG4gIEBJbnB1dCgpIHNob3dDbGVhckJ1dHRvbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBASW5wdXQoKSBsYWJlbFRleHQgPSAnU2VsZWN0IFRpbWVsaW5lJztcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzZWxlY3RvckZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGNvbnRyb2xUeXBlID0gJ3RpbWVsaW5lLWZpbHRlcic7XG4gIGlkID0gYHRpbWVsaW5lLWZpbHRlci0ke1RpbWVsaW5lRmlsdGVyQ29tcG9uZW50Lm5leHRJZCsrfWA7XG4gIGRlc2NyaWJlZEJ5ID0gJyc7XG4gIGZvY3VzZWQgPSBmYWxzZTtcbiAgc2hvd0N1c3RvbURhdGVGaWVsZHMgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7IH07XG5cbiAgZ2V0IHRpbWVsaW5lVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JGb3JtLmdldCgnc2VsZWN0X3ZhbHVlJyk7XG4gIH1cblxuICBnZXQgY3VzdG9tRGF0ZUZyb20oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JGb3JtLmdldCgnY3VzdG9tX2RhdGVfZnJvbScpO1xuICB9XG5cbiAgZ2V0IGN1c3RvbURhdGVUbygpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvckZvcm0uZ2V0KCdjdXN0b21fZGF0ZV90bycpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZVxuICApIHtcbiAgICB0aGlzLnNlbGVjdG9yRm9ybSA9IGZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHNlbGVjdF92YWx1ZTogWycnXSxcbiAgICAgIGN1c3RvbV9kYXRlX2Zyb206IFsnJ10sXG4gICAgICBjdXN0b21fZGF0ZV90bzogWycnXSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWVsaW5lVmFsdWUudmFsdWVDaGFuZ2VzLlxuICAgICAgcGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLnZhbHVlID0gdmFsdWUpO1xuXG4gICAgdGhpcy5jdXN0b21EYXRlRnJvbS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgKS5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5zZXRGaWVsZFZhbHVlKHRoaXMuZGF0ZUZyb20sIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCAneXl5eS1NTS1kZCcpKSk7XG5cbiAgICB0aGlzLmN1c3RvbURhdGVUby52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgKS5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5zZXRGaWVsZFZhbHVlKHRoaXMuZGF0ZVRvLCB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgJ3l5eXktTU0tZGQnKSkpO1xuXG4gIH1cblxuICByZXNldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZykge1xuICAgIHRoaXMuZm9ybT8uZ2V0KGZpZWxkKT8uc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgZ2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8uZ2V0KGZpZWxkKT8udmFsdWU7XG4gIH1cblxuICBzZXRGaWVsZFZhbHVlKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmZvcm0/LmdldChmaWVsZCk/LnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIGNoYW5nZVRpbWVsaW5lKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB2YWx1ZSA9IHBhcnNlSW50KHZhbHVlKTtcbiAgICBjb25zdCB0aW1lbGluZSA9IGNhbGN1bGF0ZVRpbWVsaW5lKHZhbHVlLCB0aGlzLmRhdGVGcm9tLCB0aGlzLmRhdGVUbyk7XG4gICAgaWYgKHRpbWVsaW5lKSB7XG4gICAgICB0aGlzLnNob3dDdXN0b21EYXRlRmllbGRzID0gdGltZWxpbmUuc2hvd19jdXN0b21fZmllbGQ7XG5cbiAgICAgIC8vRm9yIGN1c3RvbSB0aW1lbGluZSwgc2V0IHRoZSBpbml0aWFsIGZyb20gdGhlIHByZXZpb3VzIHJhbmdlcyBpZiBwcmVzZW50XG4gICAgICBpZiAodmFsdWUgPT0gVGltZWxpbmUuQ1VTVE9NKSB7XG4gICAgICAgIHRpbWVsaW5lLmRhdGVfZnJvbSA9IHRoaXMuZ2V0RmllbGRWYWx1ZSh0aGlzLmRhdGVGcm9tKSA/PyAnJztcbiAgICAgICAgdGltZWxpbmUuZGF0ZV90byA9IHRoaXMuZ2V0RmllbGRWYWx1ZSh0aGlzLmRhdGVUbykgPz8gJyc7XG4gICAgICAgIHRoaXMuc2VsZWN0b3JGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICdjdXN0b21fZGF0ZV9mcm9tJzogdGltZWxpbmUuZGF0ZV9mcm9tLFxuICAgICAgICAgICdjdXN0b21fZGF0ZV90byc6IHRpbWVsaW5lLmRhdGVfdG8sXG4gICAgICAgIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0RmllbGRWYWx1ZSh0aGlzLmRhdGVGcm9tLCB0aW1lbGluZS5kYXRlX2Zyb20pO1xuICAgICAgdGhpcy5zZXRGaWVsZFZhbHVlKHRoaXMuZGF0ZVRvLCB0aW1lbGluZS5kYXRlX3RvKTtcbiAgICB9XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRpbWVsaW5lKTtcbiAgfVxuXG4gIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pIHtcbiAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUoZGF0YTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IGRhdGE7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwic2VsZWN0b3JGb3JtXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57e2xhYmVsVGV4dH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInNlbGVjdF92YWx1ZVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHRpbWVsaW5lIG9mIHRpbWVsaW5lc1wiIFt2YWx1ZV09XCJ0aW1lbGluZS52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIHt7dGltZWxpbmUudmlld1ZhbHVlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0NsZWFyQnV0dG9uICYmIHRpbWVsaW5lVmFsdWUudmFsdWVcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwidGltZWxpbmVWYWx1ZS5zZXRWYWx1ZSgnJylcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0N1c3RvbURhdGVGaWVsZHNcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIiBzdHlsZT1cIndpZHRoOjIwMHB4XCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPkZyb20gRGF0ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImN1c3RvbV9kYXRlX2Zyb21cIiBbbWF0RGF0ZXBpY2tlcl09XCJmcm9tUGlja2VyXCIgKGNsaWNrKT1cImZyb21QaWNrZXIub3BlbigpXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZyb20gRGF0ZVwiIHJlYWRvbmx5IC8+XG4gICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI2Zyb21QaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJnZXRGaWVsZFZhbHVlKGRhdGVGcm9tKVwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZShkYXRlRnJvbSlcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIiBzdHlsZT1cIndpZHRoOjIwMHB4XCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlRvIERhdGU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJjdXN0b21fZGF0ZV90b1wiIFttYXREYXRlcGlja2VyXT1cInRvUGlja2VyXCIgKGNsaWNrKT1cInRvUGlja2VyLm9wZW4oKVwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJUbyBEYXRlXCIgcmVhZG9ubHkgLz5cbiAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjdG9QaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJnZXRGaWVsZFZhbHVlKGRhdGVUbylcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZXNldEZpZWxkVmFsdWUoZGF0ZVRvKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+Il19
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGltZWxpbmUtZmlsdGVyL3RpbWVsaW5lLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RpbWVsaW5lLWZpbHRlci90aW1lbGluZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBMEI7QUFDMUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBS0wsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBZ0JwQyxJQUFNLHVCQUF1QixHQUE3QixNQUFNLHVCQUF1Qjs7SUFDbEMsSUFBYSxZQUFZLENBQUMsS0FBVTtR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LEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXROVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix5V0FSdkI7WUFDVCxRQUFRO1lBQ1I7Z0JBQ0UsT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsV0FBVyxFQUFFLHVCQUF1QjthQUNyQztTQUNGLDRIQy9CSCx3NkNBd0JlOztBRFNGLHVCQUF1QjtJQWJuQyxZQUFZLEVBQUU7R0FhRix1QkFBdUIsQ0F3Tm5DOzs0RkF4TlksdUJBQXVCO2tCQVpuQyxTQUFTOytCQUNFLHFCQUFxQixhQUdwQjt3QkFDVCxRQUFRO3dCQUNSOzRCQUNFLE9BQU8sRUFBRSxtQkFBbUI7NEJBQzVCLFdBQVcseUJBQXlCO3lCQUNyQztxQkFDRjs7MEJBbUdFLFFBQVE7OzBCQUFJLElBQUk7Z0VBaEdOLFlBQVk7c0JBQXhCLEtBQUs7Z0JBWUYsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFTRixLQUFLO3NCQURSLEtBQUs7Z0JBY2UsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNWLFNBQVM7c0JBQWpCLEtBQUs7Z0JBaUJHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6cmFkaXggKi9cbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBjYWxjdWxhdGVUaW1lbGluZSB9IGZyb20gJy4vY2FsY3VsYXRlLXRpbWVsaW5lJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaW1lbGluZSB9IGZyb20gJy4vdGltZWxpbmUubW9kZWwnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGltZWxpbmUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWVsaW5lLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWVsaW5lLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICBEYXRlUGlwZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLFxuICAgICAgdXNlRXhpc3Rpbmc6IFRpbWVsaW5lRmlsdGVyQ29tcG9uZW50XG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIHNldCBkZWZhdWx0VmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBlbXB0eSgpIHtcbiAgICBjb25zdCB7IHZhbHVlOiB7IHNlbGVjdF92YWx1ZSB9IH0gPSB0aGlzLnNlbGVjdG9yRm9ybTtcbiAgICByZXR1cm4gIXNlbGVjdF92YWx1ZTtcbiAgfVxuXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCkgeyByZXR1cm4gdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVtcHR5OyB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7IH1cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RvckZvcm0/LmdldCgnc2VsZWN0X3ZhbHVlJyk/LnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB0aGlzLl9kaXNhYmxlZCA/IHRoaXMuc2VsZWN0b3JGb3JtLmRpc2FibGUoKSA6IHRoaXMuc2VsZWN0b3JGb3JtLmVuYWJsZSgpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLnNlbGVjdG9yRm9ybS52YWxpZCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JGb3JtLnZhbHVlLnNlbGVjdF92YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIHNldCB2YWx1ZShkYXRhOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdG9yRm9ybS5wYXRjaFZhbHVlKHsgc2VsZWN0X3ZhbHVlOiBwYXJzZUludChkYXRhKSB8fCAnJyB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5jaGFuZ2VUaW1lbGluZShwYXJzZUludChkYXRhKSB8fCAnJyk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG4gIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gIEBWaWV3Q2hpbGQoJ3BpY2tlcicpIHBpY2tlcjogTWF0RGF0ZXBpY2tlcjxhbnk+O1xuICBASW5wdXQoKSB0aW1lbGluZXM6IGFueVtdID0gW1xuICAgIHsgdmFsdWU6IFRpbWVsaW5lLkNVU1RPTSwgdmlld1ZhbHVlOiAnQ3VzdG9tJyB9LFxuICAgIHsgdmFsdWU6IFRpbWVsaW5lLlRPREFZLCB2aWV3VmFsdWU6ICdUb2RheScgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5ZRVNURVJEQVksIHZpZXdWYWx1ZTogJ1llc3RlcmRheScgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5UT01NT1JPVywgdmlld1ZhbHVlOiAnVG9tb3Jyb3cnIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuVEhJU19XRUVLLCB2aWV3VmFsdWU6ICdUaGlzIFdlZWsnIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuTEFTVF9XRUVLLCB2aWV3VmFsdWU6ICdMYXN0IFdlZWsnIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuTkVYVF9XRUVLLCB2aWV3VmFsdWU6ICdOZXh0IFdlZWsnIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuVEhJU19NT05USCwgdmlld1ZhbHVlOiAnVGhpcyBNb250aCcgfSxcbiAgICB7IHZhbHVlOiBUaW1lbGluZS5MQVNUX01PTlRILCB2aWV3VmFsdWU6ICdMYXN0IE1vbnRoJyB9LFxuICAgIHsgdmFsdWU6IFRpbWVsaW5lLk5FWFRfTU9OVEgsIHZpZXdWYWx1ZTogJ05leHQgTW9udGgnIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuVEhJU19RVUFSVEVSLCB2aWV3VmFsdWU6ICdUaGlzIFF1YXJ0ZXInIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuTEFTVF9RVUFSVEVSLCB2aWV3VmFsdWU6ICdMYXN0IFF1YXJ0ZXInIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuVEhJU19ZRUFSLCB2aWV3VmFsdWU6ICdUaGlzIFllYXInIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuTEFTVF9ZRUFSLCB2aWV3VmFsdWU6ICdMYXN0IFllYXInIH0sXG4gICAgeyB2YWx1ZTogVGltZWxpbmUuQUxMLCB2aWV3VmFsdWU6ICdBbGwgZGF0ZXMnIH0sXG4gIF07XG4gIEBJbnB1dCgpIGRhdGVGcm9tID0gJ2RhdGVfZnJvbSc7XG4gIEBJbnB1dCgpIGRhdGVUbyA9ICdkYXRlX3RvJztcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogYW55ID0gJ2ZpbGwnO1xuICBASW5wdXQoKSBzaG93Q2xlYXJCdXR0b24gPSBmYWxzZTtcbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgQElucHV0KCkgbGFiZWxUZXh0ID0gJ1NlbGVjdCBUaW1lbGluZSc7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgc2VsZWN0b3JGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBjb250cm9sVHlwZSA9ICd0aW1lbGluZS1maWx0ZXInO1xuICBpZCA9IGB0aW1lbGluZS1maWx0ZXItJHtUaW1lbGluZUZpbHRlckNvbXBvbmVudC5uZXh0SWQrK31gO1xuICBkZXNjcmliZWRCeSA9ICcnO1xuICBmb2N1c2VkID0gZmFsc2U7XG4gIGlzQ3VzdG9tU2VsZWN0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7IH07XG5cbiAgLy9DdXN0b20gcmFuZ2VcbiAgc2VsZWN0ZWRSYW5nZUxhYmVsID0gJyc7XG5cbiAgZ2V0IHRpbWVsaW5lVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JGb3JtLmdldCgnc2VsZWN0X3ZhbHVlJyk7XG4gIH1cblxuICBnZXQgY3VzdG9tRGF0ZUZyb20oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JGb3JtLmdldCgnY3VzdG9tX2RhdGVfZnJvbScpO1xuICB9XG5cbiAgZ2V0IGN1c3RvbURhdGVUbygpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvckZvcm0uZ2V0KCdjdXN0b21fZGF0ZV90bycpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZSxcbiAgKSB7XG4gICAgdGhpcy5zZWxlY3RvckZvcm0gPSBmb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBzZWxlY3RfdmFsdWU6IFsnJ10sXG4gICAgICBjdXN0b21fZGF0ZV9mcm9tOiBbJyddLFxuICAgICAgY3VzdG9tX2RhdGVfdG86IFsnJ10sXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lbGluZVZhbHVlLnZhbHVlQ2hhbmdlcy5cbiAgICAgIHBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKS5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy52YWx1ZSA9IHZhbHVlKTtcblxuICAgIHRoaXMuY3VzdG9tRGF0ZUZyb20udmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICkuc3Vic2NyaWJlKF8gPT4gdGhpcy5hcHBseVJhbmdlKCkpO1xuXG4gICAgdGhpcy5jdXN0b21EYXRlVG8udmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICkuc3Vic2NyaWJlKF8gPT4gdGhpcy5hcHBseVJhbmdlKCkpO1xuICB9XG5cbiAgcmVzZXRGaWVsZFZhbHVlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZvcm0/LmdldChmaWVsZCk/LnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIGdldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmZvcm0/LmdldChmaWVsZCk/LnZhbHVlO1xuICB9XG5cbiAgc2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nLCB2YWx1ZTogYW55LCBlbWl0RXZlbnQ6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgdGhpcy5mb3JtPy5nZXQoZmllbGQpPy5zZXRWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IGVtaXRFdmVudCB9KTtcbiAgfVxuXG4gIHNlbGVjdGlvbkNoYW5nZWQoc2VsZWN0ZWQ6IE1hdFNlbGVjdENoYW5nZSkge1xuICAgIGlmIChzZWxlY3RlZC52YWx1ZSA9PSBUaW1lbGluZS5DVVNUT00pIHtcbiAgICAgIHRoaXMub3BlbkNhbGVuZGFyKCk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVGltZWxpbmUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHZhbHVlID0gcGFyc2VJbnQodmFsdWUpO1xuICAgIGNvbnN0IHRpbWVsaW5lID0gY2FsY3VsYXRlVGltZWxpbmUodmFsdWUsIHRoaXMuZGF0ZUZyb20sIHRoaXMuZGF0ZVRvKTtcbiAgICBpZiAodGltZWxpbmUpIHtcbiAgICAgIHRoaXMuaXNDdXN0b21TZWxlY3RlZCA9IHRpbWVsaW5lLnNob3dfY3VzdG9tX2ZpZWxkO1xuXG4gICAgICAvL0ZvciBjdXN0b20gdGltZWxpbmUsIHNldCB0aGUgaW5pdGlhbCBmcm9tIHRoZSBwcmV2aW91cyByYW5nZXMgaWYgcHJlc2VudFxuICAgICAgaWYgKHZhbHVlID09IFRpbWVsaW5lLkNVU1RPTSkge1xuICAgICAgICB0aW1lbGluZS5kYXRlX2Zyb20gPSB0aGlzLmdldEZpZWxkVmFsdWUodGhpcy5kYXRlRnJvbSkgPz8gJyc7XG4gICAgICAgIHRpbWVsaW5lLmRhdGVfdG8gPSB0aGlzLmdldEZpZWxkVmFsdWUodGhpcy5kYXRlVG8pID8/ICcnO1xuICAgICAgICB0aGlzLnNlbGVjdG9yRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAnY3VzdG9tX2RhdGVfZnJvbSc6IHRpbWVsaW5lLmRhdGVfZnJvbSxcbiAgICAgICAgICAnY3VzdG9tX2RhdGVfdG8nOiB0aW1lbGluZS5kYXRlX3RvLFxuICAgICAgICB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuYXBwbHlSYW5nZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRGaWVsZFZhbHVlKHRoaXMuZGF0ZUZyb20sIHRpbWVsaW5lLmRhdGVfZnJvbSk7XG4gICAgICB0aGlzLnNldEZpZWxkVmFsdWUodGhpcy5kYXRlVG8sIHRpbWVsaW5lLmRhdGVfdG8pO1xuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGltZWxpbmUpO1xuICB9XG5cbiAgb3BlbkNhbGVuZGFyKCkge1xuICAgIHRoaXMucGlja2VyLm9wZW4oKTtcbiAgfVxuXG4gIGFwcGx5UmFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgZnJvbSA9IHRoaXMuc2VsZWN0b3JGb3JtLmdldCgnY3VzdG9tX2RhdGVfZnJvbScpPy52YWx1ZTtcbiAgICBjb25zdCB0byA9IHRoaXMuc2VsZWN0b3JGb3JtLmdldCgnY3VzdG9tX2RhdGVfdG8nKT8udmFsdWU7XG5cbiAgICBpZiAoZnJvbSAmJiB0bykge1xuICAgICAgdGhpcy5zZWxlY3RlZFJhbmdlTGFiZWwgPSBgPGI+JHt0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShmcm9tLCAneXl5eS1NTS1kZCcpfTwvYj4gdG8gPGI+JHt0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0bywgJ3l5eXktTU0tZGQnKX08L2JgO1xuICAgICAgdGhpcy5zZXRGaWVsZFZhbHVlKHRoaXMuZGF0ZUZyb20sIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGZyb20sICd5eXl5LU1NLWRkJykpO1xuICAgICAgdGhpcy5zZXRGaWVsZFZhbHVlKHRoaXMuZGF0ZVRvLCB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0bywgJ3l5eXktTU0tZGQnKSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuZGVzY3JpYmVkQnkgPSBpZHMuam9pbignICcpO1xuICB9XG5cbiAgb25Db250YWluZXJDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gZGF0YTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJzZWxlY3RvckZvcm1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiIHN0eWxlPVwid2lkdGg6MjAwcHhcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57e2xhYmVsVGV4dH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInNlbGVjdF92YWx1ZVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdGltZWxpbmUgb2YgdGltZWxpbmVzXCIgW3ZhbHVlXT1cInRpbWVsaW5lLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAge3t0aW1lbGluZS52aWV3VmFsdWV9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJzaG93Q2xlYXJCdXR0b24gJiYgdGltZWxpbmVWYWx1ZS52YWx1ZVwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJ0aW1lbGluZVZhbHVlLnNldFZhbHVlKCcnKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxtYXQtaGludCAqbmdJZj1cImlzQ3VzdG9tU2VsZWN0ZWQgJiYgc2VsZWN0ZWRSYW5nZUxhYmVsXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1c3RvbS1oaW50XCIgKGNsaWNrKT1cIm9wZW5DYWxlbmRhcigpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJzZWxlY3RlZFJhbmdlTGFiZWxcIj48L3NwYW4+IDxtYXQtaWNvbiBmb250SWNvbj1cImVkaXRcIlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImZvbnQtc2l6ZTogMTZweDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcIj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0IGNsYXNzPVwib2Zmc2NyZWVuLXJhbmdlLWlucHV0XCIgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiPlxuICAgICAgICAgICAgPGlucHV0IG1hdFN0YXJ0RGF0ZSBmb3JtQ29udHJvbE5hbWU9XCJjdXN0b21fZGF0ZV9mcm9tXCIgcGxhY2Vob2xkZXI9XCJGcm9tIGRhdGVcIiByZWFkb25seSAvPlxuICAgICAgICAgICAgPGlucHV0IG1hdEVuZERhdGUgZm9ybUNvbnRyb2xOYW1lPVwiY3VzdG9tX2RhdGVfdG9cIiBwbGFjZWhvbGRlcj1cIlRvIGRhdGVcIiByZWFkb25seSAvPlxuICAgICAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctY29udGFpbmVyPiJdfQ==
|