ngx-techlify-core 18.79.0 → 18.80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/audit-log/audit-log-view/audit-log-view.component.mjs +12 -10
- package/esm2022/lib/base-model/techlify-list/techlify-list.component.mjs +3 -3
- package/esm2022/lib/core/form-validator.service.mjs +2 -2
- package/esm2022/lib/core/index.mjs +1 -2
- package/esm2022/lib/request-helper/request-helper.service.mjs +14 -4
- package/esm2022/lib/user/app-admin-user-list/app-admin-user-list.component.mjs +32 -56
- package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.component.mjs +17 -31
- package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.module.mjs +5 -16
- package/esm2022/lib/user/index.mjs +3 -3
- package/esm2022/lib/user/user-form/user-form.component.mjs +204 -0
- package/esm2022/lib/user/user-list/user-list.component.mjs +156 -0
- package/esm2022/lib/user/user-view.component.mjs +17 -31
- package/esm2022/lib/user/user.module.mjs +12 -64
- package/esm2022/lib/user/user.routes.mjs +3 -3
- package/fesm2022/ngx-techlify-core.mjs +268 -494
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +3 -3
- package/lib/core/index.d.ts +0 -1
- package/lib/request-helper/request-helper.service.d.ts +9 -0
- package/lib/user/app-admin-user-list/app-admin-user-list.component.d.ts +3 -4
- package/lib/user/app-admin-user-view/app-admin-user-view.component.d.ts +3 -4
- package/lib/user/app-admin-user-view/app-admin-user-view.module.d.ts +8 -10
- package/lib/user/index.d.ts +2 -2
- package/lib/user/user-form/user-form.component.d.ts +43 -0
- package/lib/user/user-list/user-list.component.d.ts +38 -0
- package/lib/user/user-view.component.d.ts +3 -4
- package/lib/user/user.module.d.ts +13 -26
- package/package.json +1 -1
- package/esm2022/lib/core/dataManager.service.mjs +0 -119
- package/esm2022/lib/user/user-form.component.mjs +0 -225
- package/esm2022/lib/user/users-view-all.component.mjs +0 -153
- package/lib/core/dataManager.service.d.ts +0 -73
- package/lib/user/user-form.component.d.ts +0 -53
- package/lib/user/users-view-all.component.d.ts +0 -39
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import * as jsondiffpatch from "jsondiffpatch";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
4
|
+
import * as i1 from "../audit-log.service";
|
|
5
5
|
import * as i2 from "@angular/router";
|
|
6
6
|
import * as i3 from "@angular/common";
|
|
7
7
|
import * as i4 from "@angular/material/button";
|
|
8
8
|
import * as i5 from "@angular/material/card";
|
|
9
9
|
export class AuditLogViewComponent {
|
|
10
|
-
constructor(
|
|
11
|
-
this.
|
|
10
|
+
constructor(auditLogService, route, location) {
|
|
11
|
+
this.auditLogService = auditLogService;
|
|
12
12
|
this.route = route;
|
|
13
13
|
this.location = location;
|
|
14
14
|
this.showDeltaChanges = false;
|
|
@@ -32,20 +32,22 @@ export class AuditLogViewComponent {
|
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
async fetchLogDetail(logId) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
this.auditLogService.show(logId)
|
|
36
|
+
.subscribe((res) => {
|
|
37
|
+
this.logInfo = res.item;
|
|
38
|
+
this.getTransformedChanges();
|
|
39
|
+
this.patchDelta();
|
|
40
|
+
});
|
|
39
41
|
}
|
|
40
42
|
patchDelta() {
|
|
41
43
|
const delta = jsondiffpatch.diff(this.logInfo?.pre_object, this.logInfo?.object);
|
|
42
44
|
document.getElementById('jsondiff').innerHTML = jsondiffpatch.formatters.html.format(delta, this.logInfo?.pre_object);
|
|
43
45
|
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuditLogViewComponent, deps: [{ token: i1.
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuditLogViewComponent, deps: [{ token: i1.AuditLogService }, { token: i2.ActivatedRoute }, { token: i3.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
47
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AuditLogViewComponent, selector: "app-audit-log-view", ngImport: i0, template: "<div class=\"d-flex flex-column gap-2\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-center align-items-center\">\n <h5>Audit Log</h5>\n </mat-card-content>\n </mat-card>\n\n <mat-card>\n <mat-card-content class=\"d-flex flex-column gap-2\" *ngIf=\"logInfo\">\n <div>Object Type: {{logInfo?.object_type}}</div>\n <div>Object Id: {{logInfo?.object_id}}</div>\n <div>Action: {{logInfo?.action}}</div>\n <div>Created At: {{logInfo?.created_at | date:'medium'}}</div>\n <div>Created By: {{logInfo?.user?.email}}</div>\n </mat-card-content>\n </mat-card>\n\n\n <div class=\"d-flex flex-column\" *ngIf=\"logInfo?.action !== 'deleted'\">\n <div>\n <button mat-raised-button color=\"primary\" (click)=\"showDeltaChanges = !showDeltaChanges\">\n {{showDeltaChanges?'Hide JSON Changes': 'Show JSON Changes'}}\n </button>\n </div>\n <div [hidden]=\"!showDeltaChanges\">\n <h4 class=\"font-weight-bold\" *ngIf=\"logInfo\">Changes in JSON</h4>\n <div id=\"jsondiff\"></div>\n </div>\n </div>\n\n <div class=\"container\" *ngIf=\"changeList.length > 0\">\n <h4 class=\"font-weight-bold\"> Changes in Attributes</h4>\n <table class=\"table table-striped table-sm border\">\n <thead>\n <tr>\n <th scope=\"col\">#</th>\n <th scope=\"col\">Attribute</th>\n <th scope=\"col\">Old Value</th>\n <th scope=\"col\">New Value</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let change of changeList; let i= index;\">\n <th scope=\"row\">{{i+1}}</th>\n <td>{{change?.displayAttribute}}</td>\n <td>{{change?.oldValue}}</td>\n <td>{{change?.newValue}}</td>\n </tr>\n </tbody>\n </table>\n\n </div>\n</div>", styles: ["", ".jsondiffpatch-delta{font-family:Bitstream Vera Sans Mono,DejaVu Sans Mono,Monaco,Courier,monospace;font-size:12px;margin:0;padding:0 0 0 12px;display:inline-block}.jsondiffpatch-delta pre{font-family:Bitstream Vera Sans Mono,DejaVu Sans Mono,Monaco,Courier,monospace;font-size:12px;margin:0;padding:0;display:inline-block}ul.jsondiffpatch-delta,.jsondiffpatch-delta ul{list-style-type:none;padding:0 0 0 20px;margin:0}.jsondiffpatch-added .jsondiffpatch-property-name,.jsondiffpatch-added .jsondiffpatch-value pre,.jsondiffpatch-modified .jsondiffpatch-right-value pre,.jsondiffpatch-textdiff-added{background:#bfb}.jsondiffpatch-deleted .jsondiffpatch-property-name,.jsondiffpatch-deleted pre,.jsondiffpatch-modified .jsondiffpatch-left-value pre,.jsondiffpatch-textdiff-deleted{background:#fbb;text-decoration:line-through}.jsondiffpatch-unchanged,.jsondiffpatch-movedestination{color:gray}.jsondiffpatch-unchanged,.jsondiffpatch-movedestination>.jsondiffpatch-value{transition:all .5s;-webkit-transition:all .5s;overflow-y:hidden}.jsondiffpatch-unchanged-showing .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-showing .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:100px}.jsondiffpatch-unchanged-hidden .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-hidden .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:0}.jsondiffpatch-unchanged-hiding .jsondiffpatch-movedestination>.jsondiffpatch-value,.jsondiffpatch-unchanged-hidden .jsondiffpatch-movedestination>.jsondiffpatch-value{display:block}.jsondiffpatch-unchanged-visible .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-visible .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:100px}.jsondiffpatch-unchanged-hiding .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-hiding .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:0}.jsondiffpatch-unchanged-showing .jsondiffpatch-arrow,.jsondiffpatch-unchanged-hiding .jsondiffpatch-arrow{display:none}.jsondiffpatch-value{display:inline-block}.jsondiffpatch-property-name{display:inline-block;padding-right:5px;vertical-align:top}.jsondiffpatch-property-name:after{content:\": \"}.jsondiffpatch-child-node-type-array>.jsondiffpatch-property-name:after{content:\": [\"}.jsondiffpatch-child-node-type-array:after{content:\"],\"}div.jsondiffpatch-child-node-type-array:before{content:\"[\"}div.jsondiffpatch-child-node-type-array:after{content:\"]\"}.jsondiffpatch-child-node-type-object>.jsondiffpatch-property-name:after{content:\": {\"}.jsondiffpatch-child-node-type-object:after{content:\"},\"}div.jsondiffpatch-child-node-type-object:before{content:\"{\"}div.jsondiffpatch-child-node-type-object:after{content:\"}\"}.jsondiffpatch-value pre:after{content:\",\"}li:last-child>.jsondiffpatch-value pre:after,.jsondiffpatch-modified>.jsondiffpatch-left-value pre:after{content:\"\"}.jsondiffpatch-modified .jsondiffpatch-value{display:inline-block}.jsondiffpatch-modified .jsondiffpatch-right-value{margin-left:5px}.jsondiffpatch-moved .jsondiffpatch-value{display:none}.jsondiffpatch-moved .jsondiffpatch-moved-destination{display:inline-block;background:#ffb;color:#888}.jsondiffpatch-moved .jsondiffpatch-moved-destination:before{content:\" => \"}ul.jsondiffpatch-textdiff{padding:0}.jsondiffpatch-textdiff-location{color:#bbb;display:inline-block;min-width:60px}.jsondiffpatch-textdiff-line{display:inline-block}.jsondiffpatch-textdiff-line-number:after{content:\",\"}.jsondiffpatch-error{background:red;color:#fff;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.MatCardContent, selector: "mat-card-content" }, { kind: "pipe", type: i3.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
46
48
|
}
|
|
47
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuditLogViewComponent, decorators: [{
|
|
48
50
|
type: Component,
|
|
49
51
|
args: [{ selector: 'app-audit-log-view', encapsulation: ViewEncapsulation.None, template: "<div class=\"d-flex flex-column gap-2\">\n <mat-card>\n <mat-card-content class=\"d-flex justify-content-center align-items-center\">\n <h5>Audit Log</h5>\n </mat-card-content>\n </mat-card>\n\n <mat-card>\n <mat-card-content class=\"d-flex flex-column gap-2\" *ngIf=\"logInfo\">\n <div>Object Type: {{logInfo?.object_type}}</div>\n <div>Object Id: {{logInfo?.object_id}}</div>\n <div>Action: {{logInfo?.action}}</div>\n <div>Created At: {{logInfo?.created_at | date:'medium'}}</div>\n <div>Created By: {{logInfo?.user?.email}}</div>\n </mat-card-content>\n </mat-card>\n\n\n <div class=\"d-flex flex-column\" *ngIf=\"logInfo?.action !== 'deleted'\">\n <div>\n <button mat-raised-button color=\"primary\" (click)=\"showDeltaChanges = !showDeltaChanges\">\n {{showDeltaChanges?'Hide JSON Changes': 'Show JSON Changes'}}\n </button>\n </div>\n <div [hidden]=\"!showDeltaChanges\">\n <h4 class=\"font-weight-bold\" *ngIf=\"logInfo\">Changes in JSON</h4>\n <div id=\"jsondiff\"></div>\n </div>\n </div>\n\n <div class=\"container\" *ngIf=\"changeList.length > 0\">\n <h4 class=\"font-weight-bold\"> Changes in Attributes</h4>\n <table class=\"table table-striped table-sm border\">\n <thead>\n <tr>\n <th scope=\"col\">#</th>\n <th scope=\"col\">Attribute</th>\n <th scope=\"col\">Old Value</th>\n <th scope=\"col\">New Value</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let change of changeList; let i= index;\">\n <th scope=\"row\">{{i+1}}</th>\n <td>{{change?.displayAttribute}}</td>\n <td>{{change?.oldValue}}</td>\n <td>{{change?.newValue}}</td>\n </tr>\n </tbody>\n </table>\n\n </div>\n</div>", styles: [".jsondiffpatch-delta{font-family:Bitstream Vera Sans Mono,DejaVu Sans Mono,Monaco,Courier,monospace;font-size:12px;margin:0;padding:0 0 0 12px;display:inline-block}.jsondiffpatch-delta pre{font-family:Bitstream Vera Sans Mono,DejaVu Sans Mono,Monaco,Courier,monospace;font-size:12px;margin:0;padding:0;display:inline-block}ul.jsondiffpatch-delta,.jsondiffpatch-delta ul{list-style-type:none;padding:0 0 0 20px;margin:0}.jsondiffpatch-added .jsondiffpatch-property-name,.jsondiffpatch-added .jsondiffpatch-value pre,.jsondiffpatch-modified .jsondiffpatch-right-value pre,.jsondiffpatch-textdiff-added{background:#bfb}.jsondiffpatch-deleted .jsondiffpatch-property-name,.jsondiffpatch-deleted pre,.jsondiffpatch-modified .jsondiffpatch-left-value pre,.jsondiffpatch-textdiff-deleted{background:#fbb;text-decoration:line-through}.jsondiffpatch-unchanged,.jsondiffpatch-movedestination{color:gray}.jsondiffpatch-unchanged,.jsondiffpatch-movedestination>.jsondiffpatch-value{transition:all .5s;-webkit-transition:all .5s;overflow-y:hidden}.jsondiffpatch-unchanged-showing .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-showing .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:100px}.jsondiffpatch-unchanged-hidden .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-hidden .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:0}.jsondiffpatch-unchanged-hiding .jsondiffpatch-movedestination>.jsondiffpatch-value,.jsondiffpatch-unchanged-hidden .jsondiffpatch-movedestination>.jsondiffpatch-value{display:block}.jsondiffpatch-unchanged-visible .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-visible .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:100px}.jsondiffpatch-unchanged-hiding .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-hiding .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:0}.jsondiffpatch-unchanged-showing .jsondiffpatch-arrow,.jsondiffpatch-unchanged-hiding .jsondiffpatch-arrow{display:none}.jsondiffpatch-value{display:inline-block}.jsondiffpatch-property-name{display:inline-block;padding-right:5px;vertical-align:top}.jsondiffpatch-property-name:after{content:\": \"}.jsondiffpatch-child-node-type-array>.jsondiffpatch-property-name:after{content:\": [\"}.jsondiffpatch-child-node-type-array:after{content:\"],\"}div.jsondiffpatch-child-node-type-array:before{content:\"[\"}div.jsondiffpatch-child-node-type-array:after{content:\"]\"}.jsondiffpatch-child-node-type-object>.jsondiffpatch-property-name:after{content:\": {\"}.jsondiffpatch-child-node-type-object:after{content:\"},\"}div.jsondiffpatch-child-node-type-object:before{content:\"{\"}div.jsondiffpatch-child-node-type-object:after{content:\"}\"}.jsondiffpatch-value pre:after{content:\",\"}li:last-child>.jsondiffpatch-value pre:after,.jsondiffpatch-modified>.jsondiffpatch-left-value pre:after{content:\"\"}.jsondiffpatch-modified .jsondiffpatch-value{display:inline-block}.jsondiffpatch-modified .jsondiffpatch-right-value{margin-left:5px}.jsondiffpatch-moved .jsondiffpatch-value{display:none}.jsondiffpatch-moved .jsondiffpatch-moved-destination{display:inline-block;background:#ffb;color:#888}.jsondiffpatch-moved .jsondiffpatch-moved-destination:before{content:\" => \"}ul.jsondiffpatch-textdiff{padding:0}.jsondiffpatch-textdiff-location{color:#bbb;display:inline-block;min-width:60px}.jsondiffpatch-textdiff-line{display:inline-block}.jsondiffpatch-textdiff-line-number:after{content:\",\"}.jsondiffpatch-error{background:red;color:#fff;font-weight:700}\n"] }]
|
|
50
|
-
}], ctorParameters: () => [{ type: i1.
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
}], ctorParameters: () => [{ type: i1.AuditLogService }, { type: i2.ActivatedRoute }, { type: i3.Location }] });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXZpZXcvYXVkaXQtbG9nLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXZpZXcvYXVkaXQtbG9nLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRSxPQUFPLEtBQUssYUFBYSxNQUFNLGVBQWUsQ0FBQTs7Ozs7OztBQWU5QyxNQUFNLE9BQU8scUJBQXFCO0lBTWhDLFlBQ1UsZUFBZ0MsRUFDaEMsS0FBcUIsRUFDckIsUUFBa0I7UUFGbEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFONUIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGVBQVUsR0FBVSxFQUFFLENBQUM7SUFNbkIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQzNCLE1BQU0sZ0JBQWdCLEdBQUksR0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0csSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdk4sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUM3QixTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakYsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hILENBQUM7K0dBMUNVLHFCQUFxQjttR0FBckIscUJBQXFCLDBEQ2xCbEMsbWlFQW9ETTs7NEZEbENPLHFCQUFxQjtrQkFaakMsU0FBUzsrQkFDRSxvQkFBb0IsaUJBU2YsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICogYXMganNvbmRpZmZwYXRjaCBmcm9tIFwianNvbmRpZmZwYXRjaFwiXG5pbXBvcnQgeyBBdWRpdExvZ1NlcnZpY2UgfSBmcm9tICcuLi9hdWRpdC1sb2cuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hdWRpdC1sb2ctdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1sb2ctdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuL2F1ZGl0LWxvZy12aWV3LmNvbXBvbmVudC5zY3NzJyxcbiAgICAvLyBSZWZlcmVuY2VkIGRpcmVjdGx5IChub3QgdmlhIFNhc3MgQGltcG9ydCwgd2hpY2ggd291bGRuJ3QgaW5saW5lIGFcbiAgICAvLyAuY3NzIGZpbGUpIHNvIG5nLXBhY2thZ3IgYmFrZXMgaXQgaW50byB0aGlzIGNvbXBvbmVudCdzIGNvbXBpbGVkXG4gICAgLy8gc3R5bGVzIOKAlCBjb25zdW1pbmcgYXBwcyBkb24ndCBuZWVkIHRvIGFkZCBpdCB0byB0aGVpciBvd24gc3R5bGVzLlxuICAgICcuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvanNvbmRpZmZwYXRjaC9kaXN0L2Zvcm1hdHRlcnMtc3R5bGVzL2h0bWwuY3NzJ1xuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEF1ZGl0TG9nVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgbG9nSW5mbzogYW55O1xuICBzaG93RGVsdGFDaGFuZ2VzOiBib29sZWFuID0gZmFsc2U7XG4gIGNoYW5nZUxpc3Q6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdWRpdExvZ1NlcnZpY2U6IEF1ZGl0TG9nU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvblxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGUucGFyYW1NYXAuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICBpZiAocGFyYW1zLmdldCgnaWQnKSkge1xuICAgICAgICB0aGlzLmZldGNoTG9nRGV0YWlsKHBhcmFtcy5nZXQoJ2lkJykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRUcmFuc2Zvcm1lZENoYW5nZXMoKSB7XG4gICAgY29uc3QgY2hhbmdlcyA9ICgodGhpcy5sb2dJbmZvPy5hY3Rpb24gPT09ICdkZWxldGVkJykgPyBPYmplY3Qua2V5cyh0aGlzLmxvZ0luZm8/Lm9iamVjdCkgOiBPYmplY3Qua2V5cyh0aGlzLmxvZ0luZm8/LmRhdGE/LmNoYW5nZXMpKSB8fCBbXTtcbiAgICBjaGFuZ2VzLmZvckVhY2goKGtleTogYW55KSA9PiB7XG4gICAgICBjb25zdCBkaXNwbGF5QXR0cmlidXRlID0gKGtleSBhcyBzdHJpbmcpLnNwbGl0KCdfJykubWFwKHggPT4geC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHguc2xpY2UoMSkpLmpvaW4oJyAnKTtcbiAgICAgIHRoaXMuY2hhbmdlTGlzdC5wdXNoKHsgZGlzcGxheUF0dHJpYnV0ZTogZGlzcGxheUF0dHJpYnV0ZSwgYXR0cmlidXRlOiBrZXksIG5ld1ZhbHVlOiAodGhpcy5sb2dJbmZvPy5hY3Rpb24gPT09ICdkZWxldGVkJykgPyAnJyA6ICh0aGlzLmxvZ0luZm8/Lm9iamVjdFtrZXldID8/ICcnKSwgb2xkVmFsdWU6IHRoaXMubG9nSW5mbz8ucHJlX29iamVjdFtrZXldID8/ICcnIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hMb2dEZXRhaWwobG9nSWQ6IGFueSkge1xuICAgIHRoaXMuYXVkaXRMb2dTZXJ2aWNlLnNob3cobG9nSWQpXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxvZ0luZm8gPSByZXMuaXRlbTtcbiAgICAgICAgdGhpcy5nZXRUcmFuc2Zvcm1lZENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5wYXRjaERlbHRhKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHBhdGNoRGVsdGEoKSB7XG4gICAgY29uc3QgZGVsdGEgPSBqc29uZGlmZnBhdGNoLmRpZmYodGhpcy5sb2dJbmZvPy5wcmVfb2JqZWN0LCB0aGlzLmxvZ0luZm8/Lm9iamVjdCk7XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pzb25kaWZmJykuaW5uZXJIVE1MID0ganNvbmRpZmZwYXRjaC5mb3JtYXR0ZXJzLmh0bWwuZm9ybWF0KGRlbHRhLCB0aGlzLmxvZ0luZm8/LnByZV9vYmplY3QpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTJcIj5cbiAgICA8bWF0LWNhcmQ+XG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8aDU+QXVkaXQgTG9nPC9oNT5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgIDwvbWF0LWNhcmQ+XG5cbiAgICA8bWF0LWNhcmQ+XG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yXCIgKm5nSWY9XCJsb2dJbmZvXCI+XG4gICAgICAgICAgICA8ZGl2Pk9iamVjdCBUeXBlOiB7e2xvZ0luZm8/Lm9iamVjdF90eXBlfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+T2JqZWN0IElkOiB7e2xvZ0luZm8/Lm9iamVjdF9pZH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2PkFjdGlvbjoge3tsb2dJbmZvPy5hY3Rpb259fTwvZGl2PlxuICAgICAgICAgICAgPGRpdj5DcmVhdGVkIEF0OiB7e2xvZ0luZm8/LmNyZWF0ZWRfYXQgfCBkYXRlOidtZWRpdW0nfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+Q3JlYXRlZCBCeToge3tsb2dJbmZvPy51c2VyPy5lbWFpbH19PC9kaXY+XG4gICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICA8L21hdC1jYXJkPlxuXG5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCIgKm5nSWY9XCJsb2dJbmZvPy5hY3Rpb24gIT09ICdkZWxldGVkJ1wiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2hvd0RlbHRhQ2hhbmdlcyA9ICFzaG93RGVsdGFDaGFuZ2VzXCI+XG4gICAgICAgICAgICAgICAge3tzaG93RGVsdGFDaGFuZ2VzPydIaWRlIEpTT04gQ2hhbmdlcyc6ICdTaG93IEpTT04gQ2hhbmdlcyd9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtoaWRkZW5dPVwiIXNob3dEZWx0YUNoYW5nZXNcIj5cbiAgICAgICAgICAgIDxoNCBjbGFzcz1cImZvbnQtd2VpZ2h0LWJvbGRcIiAqbmdJZj1cImxvZ0luZm9cIj5DaGFuZ2VzIGluIEpTT048L2g0PlxuICAgICAgICAgICAgPGRpdiBpZD1cImpzb25kaWZmXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiICpuZ0lmPVwiY2hhbmdlTGlzdC5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxoNCBjbGFzcz1cImZvbnQtd2VpZ2h0LWJvbGRcIj4gQ2hhbmdlcyBpbiBBdHRyaWJ1dGVzPC9oND5cbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1zbSBib3JkZXJcIj5cbiAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPiM8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5BdHRyaWJ1dGU8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5PbGQgVmFsdWU8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5OZXcgVmFsdWU8L3RoPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgY2hhbmdlIG9mIGNoYW5nZUxpc3Q7IGxldCBpPSBpbmRleDtcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCI+e3tpKzF9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD57e2NoYW5nZT8uZGlzcGxheUF0dHJpYnV0ZX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkPnt7Y2hhbmdlPy5vbGRWYWx1ZX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkPnt7Y2hhbmdlPy5uZXdWYWx1ZX19PC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cblxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -265,8 +265,8 @@ export class TechlifyListComponent {
|
|
|
265
265
|
setTimeout(() => {
|
|
266
266
|
if (view) {
|
|
267
267
|
//If there is a view, then set it.
|
|
268
|
-
//Setup view filters
|
|
269
|
-
this.
|
|
268
|
+
//Setup view filters, use the new form configuration to map the multi fields
|
|
269
|
+
this.requestHelperService?.updateFormWithParams(this.filterForm, view?.filters, this.filterFormConfiguration);
|
|
270
270
|
//Setup view columns
|
|
271
271
|
this.columnConfigs.forEach(column => {
|
|
272
272
|
column.isSelected = (view?.columns).some(col => col === column.def);
|
|
@@ -283,4 +283,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
283
283
|
}], ctorParameters: () => [{ type: i1.TechlifyService, decorators: [{
|
|
284
284
|
type: Optional
|
|
285
285
|
}] }] });
|
|
286
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2Jhc2UtbW9kZWwvdGVjaGxpZnktbGlzdC90ZWNobGlmeS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQUluRjs7Ozs7Ozs7OztHQVVHO0FBRUgsTUFBTSxPQUFnQixxQkFBcUI7SUFjekMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixrREFBa0Q7WUFDbEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDO2FBQU0sQ0FBQztZQUNOLHVEQUF1RDtZQUN2RCxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBVUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUM7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QUNILE9BQU8sQ0FBQyxJQUFVO1FBQ2hCLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULGtDQUFrQztnQkFDbEMsb0JBQW9CO2dCQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3hGLG9CQUFvQjtnQkFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ2xDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBb0IsQ0FBQSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xGLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7K0dBaFRtQixxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEMUMsU0FBUzs7MEJBOEVLLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVxdWVzdC1oZWxwZXIvcmVxdWVzdC1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZWNobGlmeVNlcnZpY2UgfSBmcm9tICcuLi90ZWNobGlmeS1zZXJ2aWNlJztcbmltcG9ydCB7IENvbHVtbkNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbHVtbi1zZWxlY3Rvcic7XG5cbi8qKlxuICogSW50ZXJmYWNlIHVzZWQgdG8gZW5zdXJlIHdlIGhhdmUgYSBjb25zaXN0ZW50IHN0cnVjdHVyZSBhY3Jvc3Mgb3VyIGxpc3RpbmcgcGFnZXNcbiAqXG4gKiBAdG9kbyBUaGlzIHNob3VsZCBiZSBtb3ZlZCB0byBuZ3gtdGVjaGxpZnktY29yZVxuICpcbiAqIEFkdmFudGFnZXMgb2YgdGhpcyBhYnN0cmFjdCBjbGFzc1xuICogLSBMZXNzIGNvZGUsIGxlc3MgbWFpbnRlbmFuY2UsIGxlc3MgYnVnc1xuICogLSBtb3JlIGNvbnNpc3RlbnQgY29kZVxuICogLSBjb21tZW50cyBvbiBtb3JlIGNvZGVcbiAqIC0gc2F2ZSB0aW1lLCBzYXZlIGVuZXJneVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZWNobGlmeUxpc3RDb21wb25lbnQge1xuXG4gIG1vZGVsczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRNb2RlbElkczogYW55W10gPSBbXTtcbiAgaXNBbGxTZWxlY3RlZCA9IGZhbHNlO1xuICBwYWdlID0gMTtcbiAgcGVyUGFnZSA9IDUwO1xuICBsYXN0UGFnZSA9IDA7XG4gIGZpbHRlckZvcm06IGFueTtcbiAgaXNWaWV3TG9hZGVkID0gZmFsc2U7XG4gIGNvbHVtbkNvbmZpZ3M6IENvbHVtbkNvbmZpZ1tdID0gW107XG5cbiAgLy9Cb29sZWFuIHRvIGRlbm90ZSB0aGUgZm9ybSBpcyBpbiBBUEkgcHJvZ3Jlc3NcbiAgX2lzV29ya2luZzogYm9vbGVhbiA9IGZhbHNlO1xuICBnZXQgaXNXb3JraW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9pc1dvcmtpbmc7XG4gIH1cbiAgc2V0IGlzV29ya2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzV29ya2luZyA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgLy9JZiBpdCBpcyB3b3JraW5nLCBzZXQgdGhlIGZpbHRlckZvcm0gdG8gZGlzYWJsZWRcbiAgICAgIHRoaXMuZmlsdGVyRm9ybT8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vV2hlbiB3b3JraW5nIGNvbXBsZXRlcywgc2V0IHRoZSBmaWx0ZXJGb3JtIHRvIGVuYWJsZWRcbiAgICAgIHRoaXMuZmlsdGVyRm9ybT8uZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gIH1cblxuICAvL0ZpbHRlcnMgdG8gYmUgZXhwb3J0ZWQgZm9yIHZpZXcgaW50ZWdyYXRpb25cbiAgZmlsdGVyczogYW55O1xuXG4gIC8qKlxuICAgKiBCb29sZWFuIHRvIHR1cm4gb2ZmLCBpZiB3ZSBkb24ndCB3YW50IHRvIHBhdGNoIGZpbHRlcnMgZnJvbSByb3V0ZS5cbiAgICogVGhpcyBjYW4gYmUgb3ZlcnJpZGVuIGluIGNoaWxkIGNsYXNzZXMgaWYgbmVlZCBcbiAgICovXG4gIHByb3RlY3RlZCBfaXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSA9IHRydWU7XG4gIGdldCBpc0ZpbHRlclBhdGNoRnJvbVJvdXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9pc0ZpbHRlclBhdGNoRnJvbVJvdXRlO1xuICB9XG4gIHNldCBpc0ZpbHRlclBhdGNoRnJvbVJvdXRlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBmb3JtIGNvbmZpZ3VyYXRpb24gdXNlZCB0byBkZWNvZGUgdGhlIHJvdXRlIHBhcmFtcy5cbiAgICogRWc6IE92ZXJyaWRlIGluIGNoaWxkIGNsYXNzXG4gICAqICBgYGAgXG4gICAqIGZpbHRlckZvcm1Db25maWd1cmF0aW9uOiBhbnkgPSB7XG4gICAgc3RhdHVzX2lkOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgYnJhbmNoX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIGRlcGFydG1lbnRfaWRzOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgZW1wbG95ZWVfaWRzOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgY291cnNlX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIGRhdGVfZnJvbTogeyBkYXRlOiB0cnVlIH0sXG4gICAgZGF0ZV90bzogeyBkYXRlOiB0cnVlIH0sXG4gICAgZHVlX2RhdGVfZnJvbTogeyBkYXRlOiB0cnVlIH0sXG4gICAgZHVlX2RhdGVfdG86IHsgZGF0ZTogdHJ1ZSB9LFxuICAgfSBcbiAgICpgYGBcbiAgICovXG4gIGZpbHRlckZvcm1Db25maWd1cmF0aW9uOiBhbnk7XG5cbiAgLyoqXG4gICAgKiBDaGlsZCBjbGFzc2VzIGNhbiBvdmVycmlkZSB0aGlzLlxuICAgICogSWYgbGVmdCB1bmRlZmluZWQvZW1wdHksIGZhbGxzIGJhY2sgdG8gZW52aXJvbm1lbnQuYXBwVGl0bGVcbiAgICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHBhZ2VUaXRsZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7IC8vIGRlZmF1bHRcbiAgfVxuXG5cbiAgcHJpdmF0ZSB0aXRsZVNlcnZpY2UgPSBpbmplY3QoVGl0bGUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgZW52aXJvbm1lbnRTZXJ2aWNlID0gaW5qZWN0KEVudmlyb25tZW50U2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAvL1JlcXVlc3QgaGVscGVyIHNlcnZpY2UgdG8gaW5oZXJpdGVkIGFuZCBvdmVycmlkZW4gaWYgbmVlZGVkXG4gIHByb3RlY3RlZCByZXF1ZXN0SGVscGVyU2VydmljZSA9IGluamVjdChSZXF1ZXN0SGVscGVyU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgc2VydmljZT86IFRlY2hsaWZ5U2VydmljZSkge1xuICAgIGNvbnN0IHJlc29sdmVkVGl0bGUgPVxuICAgICAgdGhpcy5wYWdlVGl0bGUgJiYgdGhpcy5wYWdlVGl0bGUudHJpbSgpLmxlbmd0aCA+IDBcbiAgICAgICAgPyB0aGlzLnBhZ2VUaXRsZVxuICAgICAgICA6IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlPy5nZXQoKS5hcHBUaXRsZTtcbiAgICB0aGlzLnRpdGxlU2VydmljZT8uc2V0VGl0bGUocmVzb2x2ZWRUaXRsZSk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdGhhdCBsaXN0ZW5zIGZvciBhbnkgY2hhbmdlcyBpbiB0aGUgZmlsdGVyIGZvcm0gZ3JvdXBcbiAgICogSXQgdXBkYXRlcyB0aGUgcm91dGUgYXV0b21hdGljYWxseVxuICAgKiBBbHNvIHJlbG9hZCB0aGUgcGFnZSBvbiBjaGFuZ2VcbiAgICovXG4gIGxpc3RlbkZpbHRlckNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJGb3JtLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg1MDApKVxuICAgICAgLnN1YnNjcmliZSgoXzogYW55KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRmlsdGVyUGF0Y2hGcm9tUm91dGUpIHtcbiAgICAgICAgICBjb25zdCB1bmZvcm1hdGVkRmlsdGVycyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXJGb3JtLnZhbHVlKSk7XG4gICAgICAgICAgdGhpcy5maWx0ZXJzID0gdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZT8uY29udmVydFRvRm9ybURhdGEodW5mb3JtYXRlZEZpbHRlcnMpO1xuICAgICAgICAgIHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2U/LnVwZGF0ZVF1ZXJ5UGFyYW1zKHRoaXMuZmlsdGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIGRlY29kZXMgdGhlIHJvdXRlIHBhcmFtcyBhbmQgcGF0Y2hlcyB0aGUgZmlsdGVyXG4gICAqIFNldHVwIHRoZSBmaWx0ZXJGb3JtQ29uZmlndXJ0aW9uIHRvIG92ZXJyaWRlIGZvciBtdWx0aXBsZSBhbmQgZGF0ZSBhdHRyaWJ1dGVzLlxuICAgKi9cbiAgcGF0Y2hGaWx0ZXJzRnJvbVJvdXRlKCkge1xuICAgIHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2U/LnVwZGF0ZUZvcm1XaXRoUXVlcnlQYXJhbXModGhpcy5maWx0ZXJGb3JtLCB0aGlzLmZpbHRlckZvcm1Db25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0aGF0IGxvYWRzIHRoZSBtYWluIG1vZGVscyBvZiB0aGUgYXBwbGljYXRpb25cbiAgICovXG4gIGxvYWREYXRhKGZpbHRlcnM/OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2VydmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9OiBTZXJ2aWNlIGlzIHJlcXVpcmVkIHRvIGxvYWQgdGhlIGRhdGFgXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgaWYgKCFmaWx0ZXJzKSB7XG4gICAgICAvKipcbiAgICAgICAqIENvbnZlcnQgdG8gZm9ybSBkYXRhIGdpdmVzIGZsZXhpYmlsaXR5IHRvIGNvbnZlcnQgdGhlIGZvcm0gYXJyYXkgdmFsdWVzIHRvIHN0cmluZ1xuICAgICAgICogTm8gbmVlZCB0byBvdmVycmlkZSB0aGUgbG9hZERhdGEgbWV0aG9kIGluIGNoaWxkIGNsYXNzIHRvIGNvbnZlcnQgYXJyYXkgdmFsdWVzIHRvIHN0cmluZy5cbiAgICAgICAqICovXG4gICAgICBmaWx0ZXJzID0gdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZT8uY29udmVydFRvRm9ybURhdGEoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlckZvcm0udmFsdWUpKSk7XG4gICAgICBmaWx0ZXJzLnBhZ2UgPSB0aGlzLnBhZ2U7XG4gICAgICBmaWx0ZXJzLnBlcl9wYWdlID0gdGhpcy5wZXJQYWdlO1xuICAgIH1cbiAgICB0aGlzLnNlcnZpY2UuaW5kZXgoZmlsdGVycylcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuaXNXb3JraW5nID0gZmFsc2UpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5sYXN0UGFnZSA9IHJlc3VsdD8ubGFzdF9wYWdlIHx8IHRoaXMucGFnZTtcbiAgICAgICAgaWYgKHJlc3VsdD8uZGF0YT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMubW9kZWxzID0gdGhpcy5tb2RlbHMuY29uY2F0KHJlc3VsdC5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJlbG9hZCBhbGwgZGF0YSBmcm9tIHBhZ2UgMVxuICAgKi9cbiAgcmVsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWxzID0gW107XG4gICAgdGhpcy5zZWxlY3RlZE1vZGVsSWRzID0gW107XG4gICAgdGhpcy5wYWdlID0gMTtcbiAgICBpZiAoIXRoaXMuaXNXb3JraW5nKSB7XG4gICAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbiBiZSBjYWxsZWQgd2hlbiB0aGUgdXNlciBpcyBzY3JvbGxpbmcsXG4gICAqIHRvIHRyaWdnZXIgbG9hZGluZyBhIG5ldyBwYWdlIG9mIGRhdGFcbiAgICovXG4gIG9uU2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1dvcmtpbmcgJiYgdGhpcy5wYWdlIDwgdGhpcy5sYXN0UGFnZSkge1xuICAgICAgdGhpcy5wYWdlICs9IDE7XG4gICAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSBGaWx0ZXIuXG4gICAqXG4gICAqIEBwYXJhbSBmaWVsZCBGaWVsZCBuYW1lLlxuICAgKi9cbiAgcmVzZXRGaWx0ZXIoZmllbGQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyRm9ybS5nZXQoZmllbGQpLnJlc2V0KCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIG9uZSBvciBtb3JlIG1vZGVscyBpbiB0aGUgbGlzdCBieSBtYXRjaGluZyBvbiB0aGVpciBgaWRgLlxuICAgKiBBY2NlcHRzIGEgc2luZ2xlIG1vZGVsIG9yIGFuIGFycmF5IG9mIG1vZGVscy5cbiAgICogQHBhcmFtIG1vZGVscyBUaGUgdXBkYXRlZCBtb2RlbCBvciBhcnJheSBvZiBtb2RlbHMuXG4gICAqL1xuICBtb2RlbHNVcGRhdGVkQnlJZChtb2RlbHM6IGFueSB8IGFueVtdKTogdm9pZCB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG1vZGVscykpIHtcbiAgICAgIG1vZGVscyA9IFttb2RlbHNdO1xuICAgIH1cbiAgICBtb2RlbHMuZm9yRWFjaCgodXBkYXRlZE1vZGVsOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb2RlbHMuZmluZEluZGV4KChtOiBhbnkpID0+IG0uaWQgPT09IHVwZGF0ZWRNb2RlbC5pZCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIHRoaXMubW9kZWxzW2luZGV4XSA9IHVwZGF0ZWRNb2RlbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLm1vZGVscyA9IFsuLi50aGlzLm1vZGVsc107XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBvbmUgb3IgbW9yZSBtb2RlbHMgaW4gdGhlIGxpc3QgYnkgbWF0Y2hpbmcgb24gdGhlaXIgYGlkYC5cbiAgICogQWNjZXB0cyBhIHNpbmdsZSBtb2RlbCBvciBhbiBhcnJheSBvZiBtb2RlbHMuXG4gICAqIEBwYXJhbSBtb2RlbHMgVGhlIHVwZGF0ZWQgbW9kZWwgb3IgYXJyYXkgb2YgbW9kZWxzLlxuICAgKi9cbiAgbW9kZWxzRGVsZXRlZEJ5SWQobW9kZWxzOiBhbnkgfCBhbnlbXSk6IHZvaWQge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShtb2RlbHMpKSB7XG4gICAgICBtb2RlbHMgPSBbbW9kZWxzXTtcbiAgICB9XG4gICAgdGhpcy5tb2RlbHMgPSB0aGlzLm1vZGVscy5maWx0ZXIoKG06IGFueSkgPT4gIShtb2RlbHMuc29tZSgoaXRlbTogYW55KSA9PiBpdGVtLmlkID09PSBtLmlkKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgbGlzdCBvZiBzZWxlY3RlZCBtb2RlbHMsIHRoaXMgd2lsbCBhbHNvXG4gICAqIGNsb3NlIHRoZSBidWxrIHVwZGF0ZSBmb3JtIHRoYXQgY2hlY2tzIFxuICAgKiBmb3Igc2VsZWN0ZWQgbW9kZWxzIGxlbmd0aFxuICAgKi9cbiAgY2xlYXJTZWxlY3RlZE1vZGVscygpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kZWxJZHMgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IG1vZGVsIGF0IHRoZSBmaXJzdCBwb3NpdGlvbiBpbiB0aGUgdGFibGUuXG4gICAqIEBwYXJhbSBtb2RlbCBUaGUgbmV3IG1vZGVsIHRvIGJlIGFkZGVkLlxuICAgKi9cbiAgbW9kZWxDcmVhdGVkKG1vZGVsOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShtb2RlbCkpIHtcbiAgICAgIC8vV2hlbiBjcmVhdGUgYW5vdGhlciBmZWF0dXJlIGlzIHVzZWQsIHdlIGdldCBhcnJheSBvZiBtb2RlbHNcbiAgICAgIHRoaXMubW9kZWxzLnVuc2hpZnQoLi4ubW9kZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVscy51bnNoaWZ0KG1vZGVsKTtcbiAgICB9XG4gICAgdGhpcy5tb2RlbHMgPSBbLi4udGhpcy5tb2RlbHNdO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIG11bHRpIHNlbGVjdFxuICAgKiBUcmlnZXJyZWQgd2hlbiBzZWxlY3QgYWxsIGlzIHRvZ2dsZWRcbiAgICovXG4gIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kZWxJZHMgPSBbXTtcbiAgICB0aGlzLm1vZGVscy5tYXAoKG1vZGVsOiBhbnkpID0+IHtcbiAgICAgIG1vZGVsLmlzX3NlbGVjdGVkID0gdGhpcy5pc0FsbFNlbGVjdGVkO1xuICAgICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxJZHMucHVzaChtb2RlbC5pZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5tb2RlbHMgPSBbLi4udGhpcy5tb2RlbHNdO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIG11bHRpIHNlbGVjdFxuICAgKiBUcmlnZXJyZWQgaWYgYW55IGVudHJ5IHNlY3Rpb24gaXMgbW9kaWZpZWRcbiAgICovXG4gIGlzU2VsZWN0aW9uTW9kaWZpZWQoZXZlbnQ6IGFueSwgbW9kZWw6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuaXNBbGxTZWxlY3RlZCA9IGZhbHNlO1xuICAgIGlmIChldmVudC5jaGVja2VkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9kZWxJZHMucHVzaChtb2RlbD8uaWQpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbElkcyA9IHRoaXMuc2VsZWN0ZWRNb2RlbElkcy5maWx0ZXIoKG1vZGVsSWQ6IGFueSkgPT4gbW9kZWxJZCAhPSBtb2RlbD8uaWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZ1YWx0IG1ldGhvZCB0byBsaXN0ZW4gdG8gc29ydCBjb2x1bW4gdXBkYXRlc1xuICAgKiBAcGFyYW0gZXZlbnQgXG4gICAqL1xuICBzb3J0Q29sdW1uKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBldmVudC5kaXJlY3Rpb24udG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpO1xuICAgIHRoaXMubW9kZWxzID0gW107XG4gICAgdGhpcy5maWx0ZXJGb3JtLmdldCgnc29ydF9ieScpLnNldFZhbHVlKGAke2V2ZW50Py5hY3RpdmV9fCR7ZGlyZWN0aW9ufWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBvdmVycmlkZWQgaW4gY2hpbGQgY2xhc3MgdG8gcmVzZXQgYSBmaWx0ZXIgZm9ybSBpbnN0YW5jZS5cbiAgICogVXNlZCBieSBzZXRWaWV3IG1ldGhvZC5cbiAgICovXG4gIHByb3RlY3RlZCByZXNldEZpbHRlckZvcm0oKTogdm9pZCB7XG4gICAgLy9JZiBmaWx0ZXJGb3JtIGV4aXN0cywgdGhlbiByZXNldFxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0pIHtcbiAgICAgIHRoaXMuZmlsdGVyRm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBzaG91bGQgYmUgb3ZlcnJpZGVkIGluIGNoaWxkIGNsYXNzIHRvIHJlc2V0IGNvbHVtbiBjb25maWdzLlxuICAgKiBVc2VkIGJ5IHNldFZpZXcgbWV0aG9kLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlc2V0Q29sdW1uQ29uZmlncygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbkNvbmZpZ3MgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb29rIG1ldGhvZCB1c2VkIHRvIHNldCB0aGUgc2VsZWN0ZWQgdmlld1xuICAgKiBAcGFyYW0gdmlldyBvcHRpb25hbCB1c2VkIGJ5IG15LXZpZXctbGlzdFxuICAgKi9cbiAgc2V0Vmlldyh2aWV3PzogYW55KSB7XG4gICAgLy9SZXNldCB0aGUgcXVlcnkgcGFyYW1zXG4gICAgdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZT8udXBkYXRlUXVlcnlQYXJhbXMoe30pO1xuICAgIHRoaXMuaXNWaWV3TG9hZGVkID0gZmFsc2U7XG4gICAgdGhpcy5yZXNldENvbHVtbkNvbmZpZ3MoKTtcbiAgICB0aGlzLnJlc2V0RmlsdGVyRm9ybSgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgLy9JZiB0aGVyZSBpcyBhIHZpZXcsIHRoZW4gc2V0IGl0LlxuICAgICAgICAvL1NldHVwIHZpZXcgZmlsdGVyc1xuICAgICAgICB0aGlzLmZpbHRlckZvcm0ucGF0Y2hWYWx1ZSh0aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlPy5jb252ZXJ0VG9Gb3JtRGF0YSh2aWV3Py5maWx0ZXJzKSk7XG4gICAgICAgIC8vU2V0dXAgdmlldyBjb2x1bW5zXG4gICAgICAgIHRoaXMuY29sdW1uQ29uZmlncy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgICAgY29sdW1uLmlzU2VsZWN0ZWQgPSAodmlldz8uY29sdW1ucyBhcyBzdHJpbmdbXSkuc29tZShjb2wgPT4gY29sID09PSBjb2x1bW4uZGVmKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmlzVmlld0xvYWRlZCA9IHRydWU7XG4gICAgfSwgNTAwKTtcbiAgfVxufSJdfQ==
|
|
286
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2Jhc2UtbW9kZWwvdGVjaGxpZnktbGlzdC90ZWNobGlmeS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQUluRjs7Ozs7Ozs7OztHQVVHO0FBRUgsTUFBTSxPQUFnQixxQkFBcUI7SUFjekMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixrREFBa0Q7WUFDbEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDO2FBQU0sQ0FBQztZQUNOLHVEQUF1RDtZQUN2RCxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBVUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUM7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QUNILE9BQU8sQ0FBQyxJQUFVO1FBQ2hCLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULGtDQUFrQztnQkFDbEMsNEVBQTRFO2dCQUM1RSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUM5RyxvQkFBb0I7Z0JBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNsQyxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQW9CLENBQUEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsRixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMzQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOytHQWhUbUIscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRDFDLFNBQVM7OzBCQThFSyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZW52aXJvbm1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXF1ZXN0SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3JlcXVlc3QtaGVscGVyL3JlcXVlc3QtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGVjaGxpZnlTZXJ2aWNlIH0gZnJvbSAnLi4vdGVjaGxpZnktc2VydmljZSc7XG5pbXBvcnQgeyBDb2x1bW5Db25maWcgfSBmcm9tICcuLi8uLi9jb2x1bW4tc2VsZWN0b3InO1xuXG4vKipcbiAqIEludGVyZmFjZSB1c2VkIHRvIGVuc3VyZSB3ZSBoYXZlIGEgY29uc2lzdGVudCBzdHJ1Y3R1cmUgYWNyb3NzIG91ciBsaXN0aW5nIHBhZ2VzXG4gKlxuICogQHRvZG8gVGhpcyBzaG91bGQgYmUgbW92ZWQgdG8gbmd4LXRlY2hsaWZ5LWNvcmVcbiAqXG4gKiBBZHZhbnRhZ2VzIG9mIHRoaXMgYWJzdHJhY3QgY2xhc3NcbiAqIC0gTGVzcyBjb2RlLCBsZXNzIG1haW50ZW5hbmNlLCBsZXNzIGJ1Z3NcbiAqIC0gbW9yZSBjb25zaXN0ZW50IGNvZGVcbiAqIC0gY29tbWVudHMgb24gbW9yZSBjb2RlXG4gKiAtIHNhdmUgdGltZSwgc2F2ZSBlbmVyZ3lcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVjaGxpZnlMaXN0Q29tcG9uZW50IHtcblxuICBtb2RlbHM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkTW9kZWxJZHM6IGFueVtdID0gW107XG4gIGlzQWxsU2VsZWN0ZWQgPSBmYWxzZTtcbiAgcGFnZSA9IDE7XG4gIHBlclBhZ2UgPSA1MDtcbiAgbGFzdFBhZ2UgPSAwO1xuICBmaWx0ZXJGb3JtOiBhbnk7XG4gIGlzVmlld0xvYWRlZCA9IGZhbHNlO1xuICBjb2x1bW5Db25maWdzOiBDb2x1bW5Db25maWdbXSA9IFtdO1xuXG4gIC8vQm9vbGVhbiB0byBkZW5vdGUgdGhlIGZvcm0gaXMgaW4gQVBJIHByb2dyZXNzXG4gIF9pc1dvcmtpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZ2V0IGlzV29ya2luZygpIHtcbiAgICByZXR1cm4gdGhpcy5faXNXb3JraW5nO1xuICB9XG4gIHNldCBpc1dvcmtpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc1dvcmtpbmcgPSB2YWx1ZTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIC8vSWYgaXQgaXMgd29ya2luZywgc2V0IHRoZSBmaWx0ZXJGb3JtIHRvIGRpc2FibGVkXG4gICAgICB0aGlzLmZpbHRlckZvcm0/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvL1doZW4gd29ya2luZyBjb21wbGV0ZXMsIHNldCB0aGUgZmlsdGVyRm9ybSB0byBlbmFibGVkXG4gICAgICB0aGlzLmZpbHRlckZvcm0/LmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICB9XG5cbiAgLy9GaWx0ZXJzIHRvIGJlIGV4cG9ydGVkIGZvciB2aWV3IGludGVncmF0aW9uXG4gIGZpbHRlcnM6IGFueTtcblxuICAvKipcbiAgICogQm9vbGVhbiB0byB0dXJuIG9mZiwgaWYgd2UgZG9uJ3Qgd2FudCB0byBwYXRjaCBmaWx0ZXJzIGZyb20gcm91dGUuXG4gICAqIFRoaXMgY2FuIGJlIG92ZXJyaWRlbiBpbiBjaGlsZCBjbGFzc2VzIGlmIG5lZWQgXG4gICAqL1xuICBwcm90ZWN0ZWQgX2lzRmlsdGVyUGF0Y2hGcm9tUm91dGUgPSB0cnVlO1xuICBnZXQgaXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZTtcbiAgfVxuICBzZXQgaXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzRmlsdGVyUGF0Y2hGcm9tUm91dGUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgZm9ybSBjb25maWd1cmF0aW9uIHVzZWQgdG8gZGVjb2RlIHRoZSByb3V0ZSBwYXJhbXMuXG4gICAqIEVnOiBPdmVycmlkZSBpbiBjaGlsZCBjbGFzc1xuICAgKiAgYGBgIFxuICAgKiBmaWx0ZXJGb3JtQ29uZmlndXJhdGlvbjogYW55ID0ge1xuICAgIHN0YXR1c19pZDogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIGJyYW5jaF9pZHM6IHsgbXVsdGlwbGU6IHRydWUgfSxcbiAgICBkZXBhcnRtZW50X2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIGVtcGxveWVlX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIGNvdXJzZV9pZHM6IHsgbXVsdGlwbGU6IHRydWUgfSxcbiAgICBkYXRlX2Zyb206IHsgZGF0ZTogdHJ1ZSB9LFxuICAgIGRhdGVfdG86IHsgZGF0ZTogdHJ1ZSB9LFxuICAgIGR1ZV9kYXRlX2Zyb206IHsgZGF0ZTogdHJ1ZSB9LFxuICAgIGR1ZV9kYXRlX3RvOiB7IGRhdGU6IHRydWUgfSxcbiAgIH0gXG4gICAqYGBgXG4gICAqL1xuICBmaWx0ZXJGb3JtQ29uZmlndXJhdGlvbjogYW55O1xuXG4gIC8qKlxuICAgICogQ2hpbGQgY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhpcy5cbiAgICAqIElmIGxlZnQgdW5kZWZpbmVkL2VtcHR5LCBmYWxscyBiYWNrIHRvIGVudmlyb25tZW50LmFwcFRpdGxlXG4gICAgKi9cbiAgcHJvdGVjdGVkIGdldCBwYWdlVGl0bGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkOyAvLyBkZWZhdWx0XG4gIH1cblxuXG4gIHByaXZhdGUgdGl0bGVTZXJ2aWNlID0gaW5qZWN0KFRpdGxlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIGVudmlyb25tZW50U2VydmljZSA9IGluamVjdChFbnZpcm9ubWVudFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLy9SZXF1ZXN0IGhlbHBlciBzZXJ2aWNlIHRvIGluaGVyaXRlZCBhbmQgb3ZlcnJpZGVuIGlmIG5lZWRlZFxuICBwcm90ZWN0ZWQgcmVxdWVzdEhlbHBlclNlcnZpY2UgPSBpbmplY3QoUmVxdWVzdEhlbHBlclNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHNlcnZpY2U/OiBUZWNobGlmeVNlcnZpY2UpIHtcbiAgICBjb25zdCByZXNvbHZlZFRpdGxlID1cbiAgICAgIHRoaXMucGFnZVRpdGxlICYmIHRoaXMucGFnZVRpdGxlLnRyaW0oKS5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5wYWdlVGl0bGVcbiAgICAgICAgOiB0aGlzLmVudmlyb25tZW50U2VydmljZT8uZ2V0KCkuYXBwVGl0bGU7XG4gICAgdGhpcy50aXRsZVNlcnZpY2U/LnNldFRpdGxlKHJlc29sdmVkVGl0bGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRoYXQgbGlzdGVucyBmb3IgYW55IGNoYW5nZXMgaW4gdGhlIGZpbHRlciBmb3JtIGdyb3VwXG4gICAqIEl0IHVwZGF0ZXMgdGhlIHJvdXRlIGF1dG9tYXRpY2FsbHlcbiAgICogQWxzbyByZWxvYWQgdGhlIHBhZ2Ugb24gY2hhbmdlXG4gICAqL1xuICBsaXN0ZW5GaWx0ZXJDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoKF86IGFueSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc0ZpbHRlclBhdGNoRnJvbVJvdXRlKSB7XG4gICAgICAgICAgY29uc3QgdW5mb3JtYXRlZEZpbHRlcnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyRm9ybS52YWx1ZSkpO1xuICAgICAgICAgIHRoaXMuZmlsdGVycyA9IHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2U/LmNvbnZlcnRUb0Zvcm1EYXRhKHVuZm9ybWF0ZWRGaWx0ZXJzKTtcbiAgICAgICAgICB0aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlPy51cGRhdGVRdWVyeVBhcmFtcyh0aGlzLmZpbHRlcnMpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiBkZWNvZGVzIHRoZSByb3V0ZSBwYXJhbXMgYW5kIHBhdGNoZXMgdGhlIGZpbHRlclxuICAgKiBTZXR1cCB0aGUgZmlsdGVyRm9ybUNvbmZpZ3VydGlvbiB0byBvdmVycmlkZSBmb3IgbXVsdGlwbGUgYW5kIGRhdGUgYXR0cmlidXRlcy5cbiAgICovXG4gIHBhdGNoRmlsdGVyc0Zyb21Sb3V0ZSgpIHtcbiAgICB0aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlPy51cGRhdGVGb3JtV2l0aFF1ZXJ5UGFyYW1zKHRoaXMuZmlsdGVyRm9ybSwgdGhpcy5maWx0ZXJGb3JtQ29uZmlndXJhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdGhhdCBsb2FkcyB0aGUgbWFpbiBtb2RlbHMgb2YgdGhlIGFwcGxpY2F0aW9uXG4gICAqL1xuICBsb2FkRGF0YShmaWx0ZXJzPzogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlcnZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYCR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfTogU2VydmljZSBpcyByZXF1aXJlZCB0byBsb2FkIHRoZSBkYXRhYFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIGlmICghZmlsdGVycykge1xuICAgICAgLyoqXG4gICAgICAgKiBDb252ZXJ0IHRvIGZvcm0gZGF0YSBnaXZlcyBmbGV4aWJpbGl0eSB0byBjb252ZXJ0IHRoZSBmb3JtIGFycmF5IHZhbHVlcyB0byBzdHJpbmdcbiAgICAgICAqIE5vIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIGxvYWREYXRhIG1ldGhvZCBpbiBjaGlsZCBjbGFzcyB0byBjb252ZXJ0IGFycmF5IHZhbHVlcyB0byBzdHJpbmcuXG4gICAgICAgKiAqL1xuICAgICAgZmlsdGVycyA9IHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2U/LmNvbnZlcnRUb0Zvcm1EYXRhKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXJGb3JtLnZhbHVlKSkpO1xuICAgICAgZmlsdGVycy5wYWdlID0gdGhpcy5wYWdlO1xuICAgICAgZmlsdGVycy5wZXJfcGFnZSA9IHRoaXMucGVyUGFnZTtcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlLmluZGV4KGZpbHRlcnMpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzV29ya2luZyA9IGZhbHNlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubGFzdFBhZ2UgPSByZXN1bHQ/Lmxhc3RfcGFnZSB8fCB0aGlzLnBhZ2U7XG4gICAgICAgIGlmIChyZXN1bHQ/LmRhdGE/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLm1vZGVscyA9IHRoaXMubW9kZWxzLmNvbmNhdChyZXN1bHQuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZWxvYWQgYWxsIGRhdGEgZnJvbSBwYWdlIDFcbiAgICovXG4gIHJlbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVscyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbElkcyA9IFtdO1xuICAgIHRoaXMucGFnZSA9IDE7XG4gICAgaWYgKCF0aGlzLmlzV29ya2luZykge1xuICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDYW4gYmUgY2FsbGVkIHdoZW4gdGhlIHVzZXIgaXMgc2Nyb2xsaW5nLFxuICAgKiB0byB0cmlnZ2VyIGxvYWRpbmcgYSBuZXcgcGFnZSBvZiBkYXRhXG4gICAqL1xuICBvblNjcm9sbCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNXb3JraW5nICYmIHRoaXMucGFnZSA8IHRoaXMubGFzdFBhZ2UpIHtcbiAgICAgIHRoaXMucGFnZSArPSAxO1xuICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgRmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gZmllbGQgRmllbGQgbmFtZS5cbiAgICovXG4gIHJlc2V0RmlsdGVyKGZpZWxkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpZWxkKS5yZXNldCgnJyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyBvbmUgb3IgbW9yZSBtb2RlbHMgaW4gdGhlIGxpc3QgYnkgbWF0Y2hpbmcgb24gdGhlaXIgYGlkYC5cbiAgICogQWNjZXB0cyBhIHNpbmdsZSBtb2RlbCBvciBhbiBhcnJheSBvZiBtb2RlbHMuXG4gICAqIEBwYXJhbSBtb2RlbHMgVGhlIHVwZGF0ZWQgbW9kZWwgb3IgYXJyYXkgb2YgbW9kZWxzLlxuICAgKi9cbiAgbW9kZWxzVXBkYXRlZEJ5SWQobW9kZWxzOiBhbnkgfCBhbnlbXSk6IHZvaWQge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShtb2RlbHMpKSB7XG4gICAgICBtb2RlbHMgPSBbbW9kZWxzXTtcbiAgICB9XG4gICAgbW9kZWxzLmZvckVhY2goKHVwZGF0ZWRNb2RlbDogYW55KSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMubW9kZWxzLmZpbmRJbmRleCgobTogYW55KSA9PiBtLmlkID09PSB1cGRhdGVkTW9kZWwuaWQpO1xuICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICB0aGlzLm1vZGVsc1tpbmRleF0gPSB1cGRhdGVkTW9kZWw7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5tb2RlbHMgPSBbLi4udGhpcy5tb2RlbHNdO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgb25lIG9yIG1vcmUgbW9kZWxzIGluIHRoZSBsaXN0IGJ5IG1hdGNoaW5nIG9uIHRoZWlyIGBpZGAuXG4gICAqIEFjY2VwdHMgYSBzaW5nbGUgbW9kZWwgb3IgYW4gYXJyYXkgb2YgbW9kZWxzLlxuICAgKiBAcGFyYW0gbW9kZWxzIFRoZSB1cGRhdGVkIG1vZGVsIG9yIGFycmF5IG9mIG1vZGVscy5cbiAgICovXG4gIG1vZGVsc0RlbGV0ZWRCeUlkKG1vZGVsczogYW55IHwgYW55W10pOiB2b2lkIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobW9kZWxzKSkge1xuICAgICAgbW9kZWxzID0gW21vZGVsc107XG4gICAgfVxuICAgIHRoaXMubW9kZWxzID0gdGhpcy5tb2RlbHMuZmlsdGVyKChtOiBhbnkpID0+ICEobW9kZWxzLnNvbWUoKGl0ZW06IGFueSkgPT4gaXRlbS5pZCA9PT0gbS5pZCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGxpc3Qgb2Ygc2VsZWN0ZWQgbW9kZWxzLCB0aGlzIHdpbGwgYWxzb1xuICAgKiBjbG9zZSB0aGUgYnVsayB1cGRhdGUgZm9ybSB0aGF0IGNoZWNrcyBcbiAgICogZm9yIHNlbGVjdGVkIG1vZGVscyBsZW5ndGhcbiAgICovXG4gIGNsZWFyU2VsZWN0ZWRNb2RlbHMoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vZGVsSWRzID0gW107XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBtb2RlbCBhdCB0aGUgZmlyc3QgcG9zaXRpb24gaW4gdGhlIHRhYmxlLlxuICAgKiBAcGFyYW0gbW9kZWwgVGhlIG5ldyBtb2RlbCB0byBiZSBhZGRlZC5cbiAgICovXG4gIG1vZGVsQ3JlYXRlZChtb2RlbDogYW55KTogdm9pZCB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkobW9kZWwpKSB7XG4gICAgICAvL1doZW4gY3JlYXRlIGFub3RoZXIgZmVhdHVyZSBpcyB1c2VkLCB3ZSBnZXQgYXJyYXkgb2YgbW9kZWxzXG4gICAgICB0aGlzLm1vZGVscy51bnNoaWZ0KC4uLm1vZGVsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlbHMudW5zaGlmdChtb2RlbCk7XG4gICAgfVxuICAgIHRoaXMubW9kZWxzID0gWy4uLnRoaXMubW9kZWxzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGZvciBtdWx0aSBzZWxlY3RcbiAgICogVHJpZ2VycmVkIHdoZW4gc2VsZWN0IGFsbCBpcyB0b2dnbGVkXG4gICAqL1xuICBzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZE1vZGVsSWRzID0gW107XG4gICAgdGhpcy5tb2RlbHMubWFwKChtb2RlbDogYW55KSA9PiB7XG4gICAgICBtb2RlbC5pc19zZWxlY3RlZCA9IHRoaXMuaXNBbGxTZWxlY3RlZDtcbiAgICAgIGlmICh0aGlzLmlzQWxsU2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsSWRzLnB1c2gobW9kZWwuaWQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubW9kZWxzID0gWy4uLnRoaXMubW9kZWxzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGZvciBtdWx0aSBzZWxlY3RcbiAgICogVHJpZ2VycmVkIGlmIGFueSBlbnRyeSBzZWN0aW9uIGlzIG1vZGlmaWVkXG4gICAqL1xuICBpc1NlbGVjdGlvbk1vZGlmaWVkKGV2ZW50OiBhbnksIG1vZGVsOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmlzQWxsU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsSWRzLnB1c2gobW9kZWw/LmlkKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9kZWxJZHMgPSB0aGlzLnNlbGVjdGVkTW9kZWxJZHMuZmlsdGVyKChtb2RlbElkOiBhbnkpID0+IG1vZGVsSWQgIT0gbW9kZWw/LmlkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVmdWFsdCBtZXRob2QgdG8gbGlzdGVuIHRvIHNvcnQgY29sdW1uIHVwZGF0ZXNcbiAgICogQHBhcmFtIGV2ZW50IFxuICAgKi9cbiAgc29ydENvbHVtbihldmVudDogYW55KSB7XG4gICAgY29uc3QgZGlyZWN0aW9uID0gZXZlbnQuZGlyZWN0aW9uLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKTtcbiAgICB0aGlzLm1vZGVscyA9IFtdO1xuICAgIHRoaXMuZmlsdGVyRm9ybS5nZXQoJ3NvcnRfYnknKS5zZXRWYWx1ZShgJHtldmVudD8uYWN0aXZlfXwke2RpcmVjdGlvbn1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBzaG91bGQgYmUgb3ZlcnJpZGVkIGluIGNoaWxkIGNsYXNzIHRvIHJlc2V0IGEgZmlsdGVyIGZvcm0gaW5zdGFuY2UuXG4gICAqIFVzZWQgYnkgc2V0VmlldyBtZXRob2QuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzZXRGaWx0ZXJGb3JtKCk6IHZvaWQge1xuICAgIC8vSWYgZmlsdGVyRm9ybSBleGlzdHMsIHRoZW4gcmVzZXRcbiAgICBpZiAodGhpcy5maWx0ZXJGb3JtKSB7XG4gICAgICB0aGlzLmZpbHRlckZvcm0ucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSXQgc2hvdWxkIGJlIG92ZXJyaWRlZCBpbiBjaGlsZCBjbGFzcyB0byByZXNldCBjb2x1bW4gY29uZmlncy5cbiAgICogVXNlZCBieSBzZXRWaWV3IG1ldGhvZC5cbiAgICovXG4gIHByb3RlY3RlZCByZXNldENvbHVtbkNvbmZpZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5Db25maWdzID0gW107XG4gIH1cblxuICAvKipcbiAgICogSG9vayBtZXRob2QgdXNlZCB0byBzZXQgdGhlIHNlbGVjdGVkIHZpZXdcbiAgICogQHBhcmFtIHZpZXcgb3B0aW9uYWwgdXNlZCBieSBteS12aWV3LWxpc3RcbiAgICovXG4gIHNldFZpZXcodmlldz86IGFueSkge1xuICAgIC8vUmVzZXQgdGhlIHF1ZXJ5IHBhcmFtc1xuICAgIHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2U/LnVwZGF0ZVF1ZXJ5UGFyYW1zKHt9KTtcbiAgICB0aGlzLmlzVmlld0xvYWRlZCA9IGZhbHNlO1xuICAgIHRoaXMucmVzZXRDb2x1bW5Db25maWdzKCk7XG4gICAgdGhpcy5yZXNldEZpbHRlckZvcm0oKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh2aWV3KSB7XG4gICAgICAgIC8vSWYgdGhlcmUgaXMgYSB2aWV3LCB0aGVuIHNldCBpdC5cbiAgICAgICAgLy9TZXR1cCB2aWV3IGZpbHRlcnMsIHVzZSB0aGUgbmV3IGZvcm0gY29uZmlndXJhdGlvbiB0byBtYXAgdGhlIG11bHRpIGZpZWxkc1xuICAgICAgICB0aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlPy51cGRhdGVGb3JtV2l0aFBhcmFtcyh0aGlzLmZpbHRlckZvcm0sIHZpZXc/LmZpbHRlcnMsIHRoaXMuZmlsdGVyRm9ybUNvbmZpZ3VyYXRpb24pO1xuICAgICAgICAvL1NldHVwIHZpZXcgY29sdW1uc1xuICAgICAgICB0aGlzLmNvbHVtbkNvbmZpZ3MuZm9yRWFjaChjb2x1bW4gPT4ge1xuICAgICAgICAgIGNvbHVtbi5pc1NlbGVjdGVkID0gKHZpZXc/LmNvbHVtbnMgYXMgc3RyaW5nW10pLnNvbWUoY29sID0+IGNvbCA9PT0gY29sdW1uLmRlZik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5pc1ZpZXdMb2FkZWQgPSB0cnVlO1xuICAgIH0sIDUwMCk7XG4gIH1cbn0iXX0=
|
|
@@ -9,7 +9,7 @@ export class FormValidatorService {
|
|
|
9
9
|
}
|
|
10
10
|
/**Method to find error in form fields*/
|
|
11
11
|
getErrorMessage(field, formGroup, errorMessages, errorField) {
|
|
12
|
-
const error = Object.keys(formGroup.get(field)
|
|
12
|
+
const error = Object.keys(formGroup.get(field)?.errors ?? {});
|
|
13
13
|
return (error.length > 0) ? (errorMessages[errorField || field][error[0]] ? errorMessages[errorField || field][error[0]] : '') : '';
|
|
14
14
|
}
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormValidatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
21
21
|
providedIn: 'root'
|
|
22
22
|
}]
|
|
23
23
|
}], ctorParameters: () => [] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9mb3JtLXZhbGlkYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsZ0JBQWdCLENBQUM7SUFFakIsbUNBQW1DO0lBQ25DLFlBQVksQ0FBQyxLQUFhLEVBQUUsU0FBaUMsRUFBRSxZQUFzQjtRQUNuRixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNsRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELHdDQUF3QztJQUN4QyxlQUFlLENBQUMsS0FBYSxFQUFFLFNBQWlDLEVBQUUsYUFBa0IsRUFBRSxVQUFtQjtRQUN2RyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdEksQ0FBQzsrR0FkVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVZhbGlkYXRvclNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgLyoqTWV0aG9kIHRvIGV2YWx1YXRlIGZvcm0gZmllbGRzKi9cbiAgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcsIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCB8IGFueSwgZmlyc3RBdHRlbXB0PzogYm9vbGVhbikge1xuICAgIHJldHVybiAoIWZvcm1Hcm91cC5nZXQoZmllbGQpLnZhbGlkICYmIGZvcm1Hcm91cC5nZXQoZmllbGQpLnRvdWNoZWQpIHx8XG4gICAgICAoIWZvcm1Hcm91cC5nZXQoZmllbGQpLnZhbGlkICYmIGZvcm1Hcm91cC5nZXQoZmllbGQpLnVudG91Y2hlZCAmJiBmaXJzdEF0dGVtcHQpO1xuICB9XG5cbiAgLyoqTWV0aG9kIHRvIGZpbmQgZXJyb3IgaW4gZm9ybSBmaWVsZHMqL1xuICBnZXRFcnJvck1lc3NhZ2UoZmllbGQ6IHN0cmluZywgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwIHwgYW55LCBlcnJvck1lc3NhZ2VzOiBhbnksIGVycm9yRmllbGQ/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBlcnJvciA9IE9iamVjdC5rZXlzKGZvcm1Hcm91cC5nZXQoZmllbGQpPy5lcnJvcnMgPz8ge30pO1xuICAgIHJldHVybiAoZXJyb3IubGVuZ3RoID4gMCkgPyAoZXJyb3JNZXNzYWdlc1tlcnJvckZpZWxkIHx8IGZpZWxkXVtlcnJvclswXV0gPyBlcnJvck1lc3NhZ2VzW2Vycm9yRmllbGQgfHwgZmllbGRdW2Vycm9yWzBdXSA6ICcnKSA6ICcnO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -17,7 +17,6 @@ export * from './route-reusable-strategy';
|
|
|
17
17
|
export * from './storage.service';
|
|
18
18
|
export * from './techlify-config.model';
|
|
19
19
|
export * from './token.interceptor';
|
|
20
|
-
export * from './dataManager.service';
|
|
21
20
|
export * from './filter.service';
|
|
22
21
|
export * from './environment.service';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NuYWNrL3NuYWNrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NuYWNrL3NuYWNrLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYWxlcnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS1wcmVmaXguaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoZW50aWNhdGlvbi5ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWNoZS5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlZGVudGlhbHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLWhhbmRsZXIuaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXZhbGlkYXRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1jYWNoZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS1yZXVzYWJsZS1zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3RlY2hsaWZ5LWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2VuLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -16,11 +16,21 @@ export class RequestHelperService {
|
|
|
16
16
|
* @param formConfig FormConfig
|
|
17
17
|
*/
|
|
18
18
|
updateFormWithQueryParams(formGroup, formConfig) {
|
|
19
|
-
|
|
19
|
+
this.updateFormWithParams(formGroup, this.activatedRoute.snapshot.queryParams, formConfig);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Update the form values from a plain, request-shaped filters object
|
|
23
|
+
* (i.e. the same comma-separated/formatted shape produced by `convertToFormData`,
|
|
24
|
+
* such as route query params or a saved view's persisted filters).
|
|
25
|
+
* @param formGroup FormGroup
|
|
26
|
+
* @param params Request-shaped filters object
|
|
27
|
+
* @param formConfig FormConfig
|
|
28
|
+
*/
|
|
29
|
+
updateFormWithParams(formGroup, params, formConfig) {
|
|
20
30
|
for (const key in formGroup.controls) {
|
|
21
31
|
if (Object.prototype.hasOwnProperty.call(formGroup.controls, key) &&
|
|
22
|
-
Object.prototype.hasOwnProperty.call(
|
|
23
|
-
formGroup.get(key).patchValue(this.formatValue(
|
|
32
|
+
params && Object.prototype.hasOwnProperty.call(params, key)) {
|
|
33
|
+
formGroup.get(key).patchValue(this.formatValue(params[key], formConfig?.[key]), { emitEvent: false });
|
|
24
34
|
}
|
|
25
35
|
}
|
|
26
36
|
}
|
|
@@ -118,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
118
128
|
providedIn: 'root'
|
|
119
129
|
}]
|
|
120
130
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.DatePipe }] });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVxdWVzdC1oZWxwZXIvcmVxdWVzdC1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFLdEQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUNVLE1BQWMsRUFDZCxjQUE4QixFQUM5QixRQUFrQjtRQUZsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDeEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCx5QkFBeUIsQ0FBQyxTQUEyQixFQUFFLFVBQWU7UUFDcEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQzdELEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDO2dCQUMvRCxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pELFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFF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QUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTywrREFBK0QsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckYsQ0FBQzsrR0EvR1Usb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOnJhZGl4ICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBwYXJzZUxvY2FsRGF0ZSB9IGZyb20gJy4uL2xvY2FsLWRhdGUtcGFyc2VyJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RIZWxwZXJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgZm9ybSB2YWx1ZXMgZnJvbSB0aGUgVVJMIHF1ZXJ5IHBhcmFtcy5cbiAgICogQHBhcmFtIGZvcm1Hcm91cCBGb3JtR3JvdXBcbiAgICogQHBhcmFtIGZvcm1Db25maWcgRm9ybUNvbmZpZ1xuICAgKi9cbiAgdXBkYXRlRm9ybVdpdGhRdWVyeVBhcmFtcyhmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsIGZvcm1Db25maWc6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBmb3JtR3JvdXAuY29udHJvbHMpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZm9ybUdyb3VwLmNvbnRyb2xzLCBrZXkpICYmXG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChxdWVyeVBhcmFtcywga2V5KSkge1xuICAgICAgICBmb3JtR3JvdXAuZ2V0KGtleSkucGF0Y2hWYWx1ZSh0aGlzLmZvcm1hdFZhbHVlKHF1ZXJ5UGFyYW1zW2tleV0sIGZvcm1Db25maWdba2V5XSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGUgb2JqZWN0IHRvIGZvcm0gZGF0YSBmb3IgdGhlIHJlcXVlc3QuXG4gICAqIEBwYXJhbSBkYXRhIERhdGEgT2JqZWN0XG4gICAqIEByZXR1cm4gT2JqZWN0XG4gICAqL1xuICBjb252ZXJ0VG9Gb3JtRGF0YShkYXRhOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZGF0YSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBwcm9wKSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhW3Byb3BdKSkge1xuICAgICAgICAgIC8vIGNvbnZlcnQgYXJyYXkgdG8gY29tbWEgc2VwYXJhdGVkIHN0cmluZ1xuICAgICAgICAgIG5ld0RhdGFbcHJvcF0gPSAoZGF0YVtwcm9wXSBhcyBbXSkuam9pbignLCcpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNEYXRlU3RyaW5nKGRhdGFbcHJvcF0pKSB7XG4gICAgICAgICAgbmV3RGF0YVtwcm9wXSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGFbcHJvcF0sICd5eXl5LU1NLWRkJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3RGF0YVtwcm9wXSA9IGRhdGFbcHJvcF0gPz8gJyc7ICAvL0Rvbid0IHBhc3MgbnVsbCBpbnRvIHJlcXVlc3QsIGl0IHdpbGwgYnJlYWsgdGhlIGZpbHRlcnNcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3RGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgVVJMIHdpdGggdGhlIGZpbHRlcnMuXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtcyBRdWVyeSBQYXJhbXNcbiAgICogQHJldHVybiBQcm9taXNlXG4gICAqL1xuICB1cGRhdGVRdWVyeVBhcmFtcyhxdWVyeVBhcmFtczogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgW10sXG4gICAgICB7XG4gICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQgdmFsdWUuXG4gICAqIEBkZXNjcmlwdGlvbiBDb252ZXJ0IHRoZSBjb21tYSBzZXBhcmF0ZWQgdmFsdWVzIHRvIGFycmF5IGlmIGl0IGlzIG11bHRpcGxlIHNlbGVjdGFibGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBiZSBjb252ZXJ0ZWRcbiAgICogQHBhcmFtIGZvcm1Hcm91cEVsZW1lbnQgRm9ybSBncm91cCBlbGVtZW50XG4gICAqL1xuICBmb3JtYXRWYWx1ZSh2YWx1ZTogc3RyaW5nLCBmb3JtR3JvdXBFbGVtZW50OiBhbnkpOiBzdHJpbmcgfCBudW1iZXJbXSB8IG51bWJlciB8IGJvb2xlYW4gfCBEYXRlIHtcbiAgICBpZiAodmFsdWUgJiYgZm9ybUdyb3VwRWxlbWVudD8ubXVsdGlwbGUgJiYgZm9ybUdyb3VwRWxlbWVudD8ubXVsdGlwbGUgPT09IHRydWUpIHtcbiAgICAgIGNvbnN0IGFycmF5ID0gdmFsdWU/LnNwbGl0KCcsJyk7XG4gICAgICByZXR1cm4gYXJyYXkubWFwKCh2YWw6IGFueSkgPT4gdGhpcy5pc051bWVyaWModmFsKSA/IE51bWJlci5wYXJzZUludCh2YWwpIDogdmFsKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmIGZvcm1Hcm91cEVsZW1lbnQ/LmRhdGUgJiYgZm9ybUdyb3VwRWxlbWVudD8uZGF0ZSA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIHBhcnNlTG9jYWxEYXRlKHZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmIGZvcm1Hcm91cEVsZW1lbnQ/Lm51bWJlciAmJiBmb3JtR3JvdXBFbGVtZW50Py5udW1iZXIgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiBOdW1iZXIucGFyc2VJbnQodmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgZm9ybUdyb3VwRWxlbWVudD8uYm9vbGVhbikge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENoZWNrcyB2YWx1ZSB0byBkZXJ0bWluZSBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSBudW1iZXJcbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGJlIENoZWNrZWRcbiAgICovXG4gIGlzTnVtZXJpYyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChzdHIudHJpbSgpID09PSAnJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiAhTnVtYmVyLmlzTmFOKE51bWJlcihzdHIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgd2hldGhlciB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSBkYXRlIHN0cmluZy5cbiAgICogTWF0Y2hlcyBhIFlZWVktTU0tREQgb3IgWVlZWS9NTS9ERCBwYXR0ZXJuIChlLmcuIDIwMjYtMDYtMTggb3IgMjAyNi8wNi8xOClcbiAgICogb3B0aW9uYWwgdGltZSBmb3IgaW5zdGFuY2VzIHdoZXJlIHdlIGFsc28gZmlsdGVyIGJ5IHRpbWVcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGJlIGNoZWNrZWRcbiAgICovXG4gIGlzRGF0ZVN0cmluZyh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gL15cXGR7NH1bLS9dKDBbMS05XXwxWzAtMl0pWy0vXSgwWzEtOV18WzEyXVxcZHwzWzAxXSkoW1RcXHNdLiopPyQvLnRlc3QodmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVxdWVzdC1oZWxwZXIvcmVxdWVzdC1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFLdEQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUNVLE1BQWMsRUFDZCxjQUE4QixFQUM5QixRQUFrQjtRQUZsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDeEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCx5QkFBeUIsQ0FBQyxTQUEyQixFQUFFLFVBQWU7UUFDcEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxvQkFBb0IsQ0FBQyxTQUEyQixFQUFFLE1BQVcsRUFBRSxVQUFlO1FBQzVFLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDO2dCQUMvRCxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5RCxTQUFTLENBQUMsR0FBRyxDQUFDLEdB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Ozs7T0FHRztJQUNILFNBQVMsQ0FBQyxHQUFXO1FBQ25CLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTywrREFBK0QsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckYsQ0FBQzsrR0ExSFUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOnJhZGl4ICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBwYXJzZUxvY2FsRGF0ZSB9IGZyb20gJy4uL2xvY2FsLWRhdGUtcGFyc2VyJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RIZWxwZXJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgZm9ybSB2YWx1ZXMgZnJvbSB0aGUgVVJMIHF1ZXJ5IHBhcmFtcy5cbiAgICogQHBhcmFtIGZvcm1Hcm91cCBGb3JtR3JvdXBcbiAgICogQHBhcmFtIGZvcm1Db25maWcgRm9ybUNvbmZpZ1xuICAgKi9cbiAgdXBkYXRlRm9ybVdpdGhRdWVyeVBhcmFtcyhmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAsIGZvcm1Db25maWc6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRm9ybVdpdGhQYXJhbXMoZm9ybUdyb3VwLCB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLCBmb3JtQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGZvcm0gdmFsdWVzIGZyb20gYSBwbGFpbiwgcmVxdWVzdC1zaGFwZWQgZmlsdGVycyBvYmplY3RcbiAgICogKGkuZS4gdGhlIHNhbWUgY29tbWEtc2VwYXJhdGVkL2Zvcm1hdHRlZCBzaGFwZSBwcm9kdWNlZCBieSBgY29udmVydFRvRm9ybURhdGFgLFxuICAgKiBzdWNoIGFzIHJvdXRlIHF1ZXJ5IHBhcmFtcyBvciBhIHNhdmVkIHZpZXcncyBwZXJzaXN0ZWQgZmlsdGVycykuXG4gICAqIEBwYXJhbSBmb3JtR3JvdXAgRm9ybUdyb3VwXG4gICAqIEBwYXJhbSBwYXJhbXMgUmVxdWVzdC1zaGFwZWQgZmlsdGVycyBvYmplY3RcbiAgICogQHBhcmFtIGZvcm1Db25maWcgRm9ybUNvbmZpZ1xuICAgKi9cbiAgdXBkYXRlRm9ybVdpdGhQYXJhbXMoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBwYXJhbXM6IGFueSwgZm9ybUNvbmZpZzogYW55KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gZm9ybUdyb3VwLmNvbnRyb2xzKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGZvcm1Hcm91cC5jb250cm9scywga2V5KSAmJlxuICAgICAgICBwYXJhbXMgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBhcmFtcywga2V5KSkge1xuICAgICAgICBmb3JtR3JvdXAuZ2V0KGtleSkucGF0Y2hWYWx1ZSh0aGlzLmZvcm1hdFZhbHVlKHBhcmFtc1trZXldLCBmb3JtQ29uZmlnPy5ba2V5XSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGUgb2JqZWN0IHRvIGZvcm0gZGF0YSBmb3IgdGhlIHJlcXVlc3QuXG4gICAqIEBwYXJhbSBkYXRhIERhdGEgT2JqZWN0XG4gICAqIEByZXR1cm4gT2JqZWN0XG4gICAqL1xuICBjb252ZXJ0VG9Gb3JtRGF0YShkYXRhOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IG5ld0RhdGEgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZGF0YSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBwcm9wKSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhW3Byb3BdKSkge1xuICAgICAgICAgIC8vIGNvbnZlcnQgYXJyYXkgdG8gY29tbWEgc2VwYXJhdGVkIHN0cmluZ1xuICAgICAgICAgIG5ld0RhdGFbcHJvcF0gPSAoZGF0YVtwcm9wXSBhcyBbXSkuam9pbignLCcpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNEYXRlU3RyaW5nKGRhdGFbcHJvcF0pKSB7XG4gICAgICAgICAgbmV3RGF0YVtwcm9wXSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGFbcHJvcF0sICd5eXl5LU1NLWRkJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3RGF0YVtwcm9wXSA9IGRhdGFbcHJvcF0gPz8gJyc7ICAvL0Rvbid0IHBhc3MgbnVsbCBpbnRvIHJlcXVlc3QsIGl0IHdpbGwgYnJlYWsgdGhlIGZpbHRlcnNcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3RGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgVVJMIHdpdGggdGhlIGZpbHRlcnMuXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtcyBRdWVyeSBQYXJhbXNcbiAgICogQHJldHVybiBQcm9taXNlXG4gICAqL1xuICB1cGRhdGVRdWVyeVBhcmFtcyhxdWVyeVBhcmFtczogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgW10sXG4gICAgICB7XG4gICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHF1ZXJ5UGFyYW1zLFxuICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQgdmFsdWUuXG4gICAqIEBkZXNjcmlwdGlvbiBDb252ZXJ0IHRoZSBjb21tYSBzZXBhcmF0ZWQgdmFsdWVzIHRvIGFycmF5IGlmIGl0IGlzIG11bHRpcGxlIHNlbGVjdGFibGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBiZSBjb252ZXJ0ZWRcbiAgICogQHBhcmFtIGZvcm1Hcm91cEVsZW1lbnQgRm9ybSBncm91cCBlbGVtZW50XG4gICAqL1xuICBmb3JtYXRWYWx1ZSh2YWx1ZTogc3RyaW5nLCBmb3JtR3JvdXBFbGVtZW50OiBhbnkpOiBzdHJpbmcgfCBudW1iZXJbXSB8IG51bWJlciB8IGJvb2xlYW4gfCBEYXRlIHtcbiAgICBpZiAodmFsdWUgJiYgZm9ybUdyb3VwRWxlbWVudD8ubXVsdGlwbGUgJiYgZm9ybUdyb3VwRWxlbWVudD8ubXVsdGlwbGUgPT09IHRydWUpIHtcbiAgICAgIGNvbnN0IGFycmF5ID0gdmFsdWU/LnNwbGl0KCcsJyk7XG4gICAgICByZXR1cm4gYXJyYXkubWFwKCh2YWw6IGFueSkgPT4gdGhpcy5pc051bWVyaWModmFsKSA/IE51bWJlci5wYXJzZUludCh2YWwpIDogdmFsKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmIGZvcm1Hcm91cEVsZW1lbnQ/LmRhdGUgJiYgZm9ybUdyb3VwRWxlbWVudD8uZGF0ZSA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIHBhcnNlTG9jYWxEYXRlKHZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmIGZvcm1Hcm91cEVsZW1lbnQ/Lm51bWJlciAmJiBmb3JtR3JvdXBFbGVtZW50Py5udW1iZXIgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiBOdW1iZXIucGFyc2VJbnQodmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgZm9ybUdyb3VwRWxlbWVudD8uYm9vbGVhbikge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSAndHJ1ZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENoZWNrcyB2YWx1ZSB0byBkZXJ0bWluZSBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSBudW1iZXJcbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGJlIENoZWNrZWRcbiAgICovXG4gIGlzTnVtZXJpYyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChzdHIudHJpbSgpID09PSAnJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiAhTnVtYmVyLmlzTmFOKE51bWJlcihzdHIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgd2hldGhlciB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSBkYXRlIHN0cmluZy5cbiAgICogTWF0Y2hlcyBhIFlZWVktTU0tREQgb3IgWVlZWS9NTS9ERCBwYXR0ZXJuIChlLmcuIDIwMjYtMDYtMTggb3IgMjAyNi8wNi8xOClcbiAgICogb3B0aW9uYWwgdGltZSBmb3IgaW5zdGFuY2VzIHdoZXJlIHdlIGFsc28gZmlsdGVyIGJ5IHRpbWVcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGJlIGNoZWNrZWRcbiAgICovXG4gIGlzRGF0ZVN0cmluZyh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gL15cXGR7NH1bLS9dKDBbMS05XXwxWzAtMl0pWy0vXSgwWzEtOV18WzEyXVxcZHwzWzAxXSkoW1RcXHNdLiopPyQvLnRlc3QodmFsdWUpO1xuICB9XG59XG4iXX0=
|