@smartbit4all/ng-client 4.2.53 → 4.2.55
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/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +24 -10
- package/fesm2022/smartbit4all-ng-client.mjs +23 -9
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.d.ts +6 -4
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.2.55.tgz +0 -0
- package/smartbit4all-ng-client-4.2.53.tgz +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { UiActionButtonType } from '../../../api';
|
|
2
|
+
import { IconPosition, UiActionButtonType, } from '../../../api';
|
|
3
3
|
import { COMPONENT_LIBRARY, ComponentLibrary } from '../../../projects';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../../ui-action.descriptor.service";
|
|
6
6
|
import * as i2 from "@angular/material/button";
|
|
7
7
|
import * as i3 from "primeng/button";
|
|
8
8
|
import * as i4 from "../../../../smart-icon/smart-icon/smart-icon.component";
|
|
9
|
-
import * as i5 from "
|
|
9
|
+
import * as i5 from "../../ui-action-button/ui-action-button.component";
|
|
10
10
|
import * as i6 from "./ui-action-confirm-dialog.service";
|
|
11
11
|
import * as i7 from "../../../projects";
|
|
12
12
|
export class UiActionConfirmDialogComponent {
|
|
@@ -33,10 +33,27 @@ export class UiActionConfirmDialogComponent {
|
|
|
33
33
|
return this.descriptor[this.dialogType].text ?? '';
|
|
34
34
|
}
|
|
35
35
|
getActionButton() {
|
|
36
|
-
return this.descriptor[this.dialogType].actionButton;
|
|
36
|
+
return this.getUiActionDescriptor(this.descriptor[this.dialogType].actionButton);
|
|
37
37
|
}
|
|
38
38
|
getCancelButton() {
|
|
39
|
-
return this.descriptor[this.dialogType].cancelButton;
|
|
39
|
+
return this.getUiActionDescriptor(this.descriptor[this.dialogType].cancelButton);
|
|
40
|
+
}
|
|
41
|
+
getUiActionDescriptor(button) {
|
|
42
|
+
return {
|
|
43
|
+
title: button.caption,
|
|
44
|
+
color: button.color ?? 'primary',
|
|
45
|
+
type: UiActionButtonType.RAISED,
|
|
46
|
+
icon: button.icon,
|
|
47
|
+
iconColor: button.iconColor,
|
|
48
|
+
iconPosition: button.iconPosition ?? IconPosition.PRE,
|
|
49
|
+
tooltip: button.tooltip,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
getCancelCssClass() {
|
|
53
|
+
return this.descriptor[this.dialogType].cancelButton.cssClass ?? '';
|
|
54
|
+
}
|
|
55
|
+
getActionCssClass() {
|
|
56
|
+
return this.descriptor[this.dialogType].actionButton.cssClass ?? '';
|
|
40
57
|
}
|
|
41
58
|
doAction() {
|
|
42
59
|
this.service.doAction();
|
|
@@ -44,15 +61,12 @@ export class UiActionConfirmDialogComponent {
|
|
|
44
61
|
cancel() {
|
|
45
62
|
this.service.cancel();
|
|
46
63
|
}
|
|
47
|
-
UiActionButtonType() {
|
|
48
|
-
return UiActionButtonType;
|
|
49
|
-
}
|
|
50
64
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionConfirmDialogComponent, deps: [{ token: 'confirmDialogService' }, { token: COMPONENT_LIBRARY }, { token: i1.UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionConfirmDialogComponent, selector: "app-ui-action-confirm-dialog", ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <ui-action-
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionConfirmDialogComponent, selector: "app-ui-action-confirm-dialog", ngImport: i0, template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <ui-action-button\r\n [descriptor]=\"getCancelButton()\"\r\n [addedCssClass]=\"getCancelCssClass()\"\r\n (actionClick)=\"cancel()\"\r\n ></ui-action-button>\r\n <ui-action-button\r\n [descriptor]=\"getActionButton()\"\r\n [addedCssClass]=\"getActionCssClass()\"\r\n (actionClick)=\"doAction()\"\r\n >\r\n </ui-action-button>\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"], dependencies: [{ kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }, { kind: "component", type: i5.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass"], outputs: ["actionClick", "actionDoubleClick"] }] }); }
|
|
52
66
|
}
|
|
53
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionConfirmDialogComponent, decorators: [{
|
|
54
68
|
type: Component,
|
|
55
|
-
args: [{ selector: 'app-ui-action-confirm-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <ui-action-
|
|
69
|
+
args: [{ selector: 'app-ui-action-confirm-dialog', template: "<div class=\"folderNameDialogContainer\">\r\n <div class=\"headerContainer\">\r\n <h3 class=\"color-accent-700\">\r\n {{ getTitle() }}\r\n </h3>\r\n @if(compLib === componentLibrary.MATERIAL) {\r\n <button mat-icon-button (click)=\"cancel()\">\r\n <smart-icon [color]=\"'primary'\" [icon]=\"'X'\"></smart-icon>\r\n </button>\r\n }@else {\r\n <p-button icon=\"pi pi-times\" [rounded]=\"true\" [text]=\"true\" (click)=\"cancel()\" />\r\n }\r\n </div>\r\n <p>\r\n {{ getText() }}\r\n </p>\r\n <div class=\"folderNameDialogButtonsContainer\">\r\n <ui-action-button\r\n [descriptor]=\"getCancelButton()\"\r\n [addedCssClass]=\"getCancelCssClass()\"\r\n (actionClick)=\"cancel()\"\r\n ></ui-action-button>\r\n <ui-action-button\r\n [descriptor]=\"getActionButton()\"\r\n [addedCssClass]=\"getActionCssClass()\"\r\n (actionClick)=\"doAction()\"\r\n >\r\n </ui-action-button>\r\n </div>\r\n</div>\r\n", styles: [".folderNameDialogContainer{width:25rem;display:flex;flex-direction:column;gap:1rem}.headerContainer{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:1rem}.headerContainer h3{margin:0}.folderNameDialogButtonsContainer{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}\n"] }]
|
|
56
70
|
}], ctorParameters: () => [{ type: i6.UiActionConfirmDialogService, decorators: [{
|
|
57
71
|
type: Inject,
|
|
58
72
|
args: ['confirmDialogService']
|
|
@@ -60,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
60
74
|
type: Inject,
|
|
61
75
|
args: [COMPONENT_LIBRARY]
|
|
62
76
|
}] }, { type: i1.UiActionDescriptorService }] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFDTCxZQUFZLEVBRVosa0JBQWtCLEdBRW5CLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7QUFPeEUsTUFBTSxPQUFPLDhCQUE4QjtJQU16QyxZQUMwQyxPQUFxQyxFQUMzQyxPQUF5QixFQUNuRCxPQUFrQztRQUZGLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBQzNDLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ25ELFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBTjVDLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBUWxDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDL0UsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBRSxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBQ0QsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxVQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFDRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQWdDO1FBQzVELE9BQU87WUFDTCxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLElBQUksU0FBUztZQUNoQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsTUFBTTtZQUMvQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxHQUFHO1lBQ3JELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDeEUsQ0FBQztJQUNELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDeEUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQWhFVSw4QkFBOEIsa0JBTy9CLHNCQUFzQixhQUN0QixpQkFBaUI7bUdBUmhCLDhCQUE4QixvRUNoQjNDLHM5QkE4QkE7OzRGRGRhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw4QkFBOEI7OzBCQVdyQyxNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQzdCLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEljb25Qb3NpdGlvbixcclxuICBVaUFjdGlvbkJ1dHRvbkRlc2NyaXB0b3IsXHJcbiAgVWlBY3Rpb25CdXR0b25UeXBlLFxyXG4gIFVpQWN0aW9uRGVzY3JpcHRvcixcclxufSBmcm9tICcuLi8uLi8uLi9hcGknO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi8uLi8uLi9wcm9qZWN0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11aS1hY3Rpb24tY29uZmlybS1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUFjdGlvbkNvbmZpcm1EaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGNvZGUhOiBzdHJpbmc7XHJcbiAgZGlhbG9nVHlwZSE6ICdkaWFsb2cnIHwgJ2NvbmZpcm1EaWFsb2cnIHwgJ2lucHV0RGlhbG9nJztcclxuICBjb21wb25lbnRMaWJyYXJ5ID0gQ29tcG9uZW50TGlicmFyeTtcclxuICBkZXNjcmlwdG9yPzogVWlBY3Rpb25EZXNjcmlwdG9yO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ2NvbmZpcm1EaWFsb2dTZXJ2aWNlJykgcHJpdmF0ZSBzZXJ2aWNlOiBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlLFxyXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgcHVibGljIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnksXHJcbiAgICBwcml2YXRlIG1hbmFnZXI6IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuY29kZSA9IHRoaXMuc2VydmljZS5hY3Rpb24uY29kZSE7XHJcbiAgICB0aGlzLnNldFVwKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZXRVcCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZGVzY3JpcHRvciA9IGF3YWl0IHRoaXMubWFuYWdlci5nZXRBY3Rpb25EZXNjcmlwdG9yKHRoaXMuc2VydmljZS5hY3Rpb24pO1xyXG5cclxuICAgIHRoaXMuZGlhbG9nVHlwZSA9IHRoaXMuZGVzY3JpcHRvci5jb25maXJtRGlhbG9nID8gJ2NvbmZpcm1EaWFsb2cnIDogJ2RpYWxvZyc7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5jYW5jZWwoKTtcclxuICB9XHJcblxyXG4gIGdldFRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9yIVt0aGlzLmRpYWxvZ1R5cGVdIS50aXRsZTtcclxuICB9XHJcbiAgZ2V0VGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvciFbdGhpcy5kaWFsb2dUeXBlXSEudGV4dCA/PyAnJztcclxuICB9XHJcbiAgZ2V0QWN0aW9uQnV0dG9uKCk6IFVpQWN0aW9uRGVzY3JpcHRvciB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRVaUFjdGlvbkRlc2NyaXB0b3IodGhpcy5kZXNjcmlwdG9yIVt0aGlzLmRpYWxvZ1R5cGVdIS5hY3Rpb25CdXR0b24pO1xyXG4gIH1cclxuICBnZXRDYW5jZWxCdXR0b24oKTogVWlBY3Rpb25EZXNjcmlwdG9yIHtcclxuICAgIHJldHVybiB0aGlzLmdldFVpQWN0aW9uRGVzY3JpcHRvcih0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0hLmNhbmNlbEJ1dHRvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFVpQWN0aW9uRGVzY3JpcHRvcihidXR0b246IFVpQWN0aW9uQnV0dG9uRGVzY3JpcHRvcik6IFVpQWN0aW9uRGVzY3JpcHRvciB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0aXRsZTogYnV0dG9uLmNhcHRpb24sXHJcbiAgICAgIGNvbG9yOiBidXR0b24uY29sb3IgPz8gJ3ByaW1hcnknLFxyXG4gICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuUkFJU0VELFxyXG4gICAgICBpY29uOiBidXR0b24uaWNvbixcclxuICAgICAgaWNvbkNvbG9yOiBidXR0b24uaWNvbkNvbG9yLFxyXG4gICAgICBpY29uUG9zaXRpb246IGJ1dHRvbi5pY29uUG9zaXRpb24gPz8gSWNvblBvc2l0aW9uLlBSRSxcclxuICAgICAgdG9vbHRpcDogYnV0dG9uLnRvb2x0aXAsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2FuY2VsQ3NzQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0hLmNhbmNlbEJ1dHRvbi5jc3NDbGFzcyA/PyAnJztcclxuICB9XHJcbiAgZ2V0QWN0aW9uQ3NzQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3IhW3RoaXMuZGlhbG9nVHlwZV0hLmFjdGlvbkJ1dHRvbi5jc3NDbGFzcyA/PyAnJztcclxuICB9XHJcblxyXG4gIGRvQWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmRvQWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UuY2FuY2VsKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmb2xkZXJOYW1lRGlhbG9nQ29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlckNvbnRhaW5lclwiPlxyXG4gICAgPGgzIGNsYXNzPVwiY29sb3ItYWNjZW50LTcwMFwiPlxyXG4gICAgICB7eyBnZXRUaXRsZSgpIH19XHJcbiAgICA8L2gzPlxyXG4gICAgQGlmKGNvbXBMaWIgPT09IGNvbXBvbmVudExpYnJhcnkuTUFURVJJQUwpIHtcclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICA8c21hcnQtaWNvbiBbY29sb3JdPVwiJ3ByaW1hcnknXCIgW2ljb25dPVwiJ1gnXCI+PC9zbWFydC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICB9QGVsc2Uge1xyXG4gICAgPHAtYnV0dG9uIGljb249XCJwaSBwaS10aW1lc1wiIFtyb3VuZGVkXT1cInRydWVcIiBbdGV4dF09XCJ0cnVlXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgLz5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICA8cD5cclxuICAgIHt7IGdldFRleHQoKSB9fVxyXG4gIDwvcD5cclxuICA8ZGl2IGNsYXNzPVwiZm9sZGVyTmFtZURpYWxvZ0J1dHRvbnNDb250YWluZXJcIj5cclxuICAgIDx1aS1hY3Rpb24tYnV0dG9uXHJcbiAgICAgIFtkZXNjcmlwdG9yXT1cImdldENhbmNlbEJ1dHRvbigpXCJcclxuICAgICAgW2FkZGVkQ3NzQ2xhc3NdPVwiZ2V0Q2FuY2VsQ3NzQ2xhc3MoKVwiXHJcbiAgICAgIChhY3Rpb25DbGljayk9XCJjYW5jZWwoKVwiXHJcbiAgICA+PC91aS1hY3Rpb24tYnV0dG9uPlxyXG4gICAgPHVpLWFjdGlvbi1idXR0b25cclxuICAgICAgW2Rlc2NyaXB0b3JdPVwiZ2V0QWN0aW9uQnV0dG9uKClcIlxyXG4gICAgICBbYWRkZWRDc3NDbGFzc109XCJnZXRBY3Rpb25Dc3NDbGFzcygpXCJcclxuICAgICAgKGFjdGlvbkNsaWNrKT1cImRvQWN0aW9uKClcIlxyXG4gICAgPlxyXG4gICAgPC91aS1hY3Rpb24tYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|