@softheon/armature 17.14.0 → 17.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ag-grid-components/src/column-options-modal/column-options.component.d.ts +11 -4
- package/ag-grid-components/src/sof-table/sof-table.component.d.ts +14 -4
- package/assets/styles/sof-styles.scss +3 -4
- package/esm2022/ag-grid-components/src/column-options-modal/column-options.component.mjs +3 -3
- package/esm2022/ag-grid-components/src/sof-table/sof-table.component.mjs +36 -25
- package/esm2022/lib/base-components/sof-badge/sof-badge.component.mjs +17 -12
- package/esm2022/lib/base-components/sof-links/sof-link.component.mjs +8 -8
- package/esm2022/lib/base-components/sof-utility-button/sof-utility-button.component.mjs +14 -9
- package/fesm2022/softheon-armature-ag-grid-components.mjs +37 -26
- package/fesm2022/softheon-armature-ag-grid-components.mjs.map +1 -1
- package/fesm2022/softheon-armature.mjs +36 -26
- package/fesm2022/softheon-armature.mjs.map +1 -1
- package/lib/base-components/sof-badge/sof-badge.component.d.ts +7 -7
- package/lib/base-components/sof-links/sof-link.component.d.ts +4 -4
- package/lib/base-components/sof-utility-button/sof-utility-button.component.d.ts +6 -3
- package/package.json +1 -1
|
@@ -25,19 +25,26 @@ export interface ColumnOptionsData {
|
|
|
25
25
|
tableName?: string;
|
|
26
26
|
/** column data returned from the agGrid api */
|
|
27
27
|
columnData?: Array<ColumnData>;
|
|
28
|
+
/** column data from saved user preference or initial `columnData` */
|
|
28
29
|
initialColumnData?: Array<ColumnData>;
|
|
30
|
+
/**
|
|
31
|
+
* To display the text on the column options modal, which states -
|
|
32
|
+
* `"Options will be saved for the next time you log in."`
|
|
33
|
+
*/
|
|
34
|
+
showSaveColumnOptionsText?: boolean;
|
|
29
35
|
}
|
|
30
36
|
/**
|
|
31
37
|
* Column data
|
|
32
38
|
* @description column data derived from the agGrid api, adds id property to type `HandleInput`
|
|
33
39
|
* @property `id: string` columns unique id
|
|
34
|
-
* @
|
|
40
|
+
* @property `text: string` columns header text
|
|
41
|
+
* @property `isChecked: boolean` column not hidden
|
|
35
42
|
*/
|
|
36
43
|
export interface ColumnData {
|
|
37
|
-
/**
|
|
44
|
+
/** columns unique id */
|
|
38
45
|
id?: string;
|
|
39
|
-
/**
|
|
46
|
+
/** columns header text */
|
|
40
47
|
text?: string;
|
|
41
|
-
/**
|
|
48
|
+
/** column not hidden */
|
|
42
49
|
isChecked?: boolean;
|
|
43
50
|
}
|
|
@@ -17,11 +17,21 @@ export declare class SofTableComponent implements OnInit, OnChanges {
|
|
|
17
17
|
enableFilter: boolean;
|
|
18
18
|
/** Enable Column options modal selection */
|
|
19
19
|
enableColumnOptions: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* To display the text on the column options modal, which states -
|
|
22
|
+
* `"Options will be saved for the next time you log in."`
|
|
23
|
+
* @default false
|
|
24
|
+
* @description set to true if set-up for saving preferences to User data.
|
|
25
|
+
* @note You can still save preferences to _local_ or _session_ storage
|
|
26
|
+
* using the `savedColumnState` input, and `updatedColumnState` output event.
|
|
27
|
+
* @see The Demo site is saving to local storage.
|
|
28
|
+
*/
|
|
29
|
+
showSaveColumnOptionsText: boolean;
|
|
20
30
|
/** Name/label of the table */
|
|
21
31
|
tableName: string;
|
|
22
32
|
/** Users saved column options state */
|
|
23
33
|
private savedColumnState;
|
|
24
|
-
/** Output updated column options event to save to user */
|
|
34
|
+
/** Output updated column options event to save to user or browser storage */
|
|
25
35
|
updatedColumnState: EventEmitter<ApplyColumnStateParams>;
|
|
26
36
|
/** the search input */
|
|
27
37
|
gridSearchTextInput: ElementRef<HTMLInputElement>;
|
|
@@ -75,6 +85,8 @@ export declare class SofTableComponent implements OnInit, OnChanges {
|
|
|
75
85
|
onGridReady(params: GridReadyEvent): void;
|
|
76
86
|
/** Fired the first time data is rendered into the grid. */
|
|
77
87
|
onFirstDataRendered(): void;
|
|
88
|
+
/** Resize grid from size mode */
|
|
89
|
+
private resizeGrid;
|
|
78
90
|
/**
|
|
79
91
|
* On page selection change
|
|
80
92
|
* @param value The selected page number
|
|
@@ -84,8 +96,6 @@ export declare class SofTableComponent implements OnInit, OnChanges {
|
|
|
84
96
|
nextPage(): void;
|
|
85
97
|
/** On Previous Page Event */
|
|
86
98
|
previousPage(): void;
|
|
87
|
-
/** Resize grid from size mode */
|
|
88
|
-
private resizeGrid;
|
|
89
99
|
/**
|
|
90
100
|
* On Change Page Size Event
|
|
91
101
|
* @param event The pagination event
|
|
@@ -125,7 +135,7 @@ export declare class SofTableComponent implements OnInit, OnChanges {
|
|
|
125
135
|
*/
|
|
126
136
|
private columnStateToData;
|
|
127
137
|
static ɵfac: i0.ɵɵFactoryDeclaration<SofTableComponent, never>;
|
|
128
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SofTableComponent, "sof-table", never, { "rowData": { "alias": "rowData"; "required": false; }; "colDefs": { "alias": "colDefs"; "required": false; }; "sizeMode": { "alias": "sizeMode"; "required": false; }; "paginationPageSizeSelector": { "alias": "paginationPageSizeSelector"; "required": false; }; "enableSearch": { "alias": "enableSearch"; "required": false; }; "enableFilter": { "alias": "enableFilter"; "required": false; }; "enableColumnOptions": { "alias": "enableColumnOptions"; "required": false; }; "tableName": { "alias": "tableName"; "required": false; }; "savedColumnState": { "alias": "savedColumnState"; "required": false; }; }, { "updatedColumnState": "updatedColumnState"; }, never, ["[sof-table-right-buttons]"], false, never>;
|
|
138
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SofTableComponent, "sof-table", never, { "rowData": { "alias": "rowData"; "required": false; }; "colDefs": { "alias": "colDefs"; "required": false; }; "sizeMode": { "alias": "sizeMode"; "required": false; }; "paginationPageSizeSelector": { "alias": "paginationPageSizeSelector"; "required": false; }; "enableSearch": { "alias": "enableSearch"; "required": false; }; "enableFilter": { "alias": "enableFilter"; "required": false; }; "enableColumnOptions": { "alias": "enableColumnOptions"; "required": false; }; "showSaveColumnOptionsText": { "alias": "showSaveColumnOptionsText"; "required": false; }; "tableName": { "alias": "tableName"; "required": false; }; "savedColumnState": { "alias": "savedColumnState"; "required": false; }; }, { "updatedColumnState": "updatedColumnState"; }, never, ["[sof-table-right-buttons]"], false, never>;
|
|
129
139
|
}
|
|
130
140
|
/** Used for setting filter values */
|
|
131
141
|
declare class SofTableFilter {
|
|
@@ -1681,11 +1681,10 @@ button.soft-button-icon-v2{
|
|
|
1681
1681
|
margin-top: 10px !important;
|
|
1682
1682
|
margin-bottom: 10px !important;
|
|
1683
1683
|
}
|
|
1684
|
-
.mat-mdc-menu-panel{
|
|
1685
|
-
background-color: #FAFAFA !important;
|
|
1686
|
-
width: 240px !important;
|
|
1687
1684
|
|
|
1688
|
-
|
|
1685
|
+
.mat-mdc-menu-panel {
|
|
1686
|
+
background-color: $surface-color-level-one-light !important;
|
|
1687
|
+
box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.10) !important;
|
|
1689
1688
|
}
|
|
1690
1689
|
|
|
1691
1690
|
.mat-mdc-menu-item-text{
|
|
@@ -32,10 +32,10 @@ export class SofColumnOptionsComponent {
|
|
|
32
32
|
this.data.columnData = structuredClone(this.data.initialColumnData);
|
|
33
33
|
}
|
|
34
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SofColumnOptionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: SofColumnOptionsComponent, selector: "sof-column-options", ngImport: i0, template: "<div class=\"column-options-header\">\r\n <i class=\"ph-bold ph-square-split-horizontal\" aria-hidden=\"true\"></i>\r\n <h2 id=\"column-options-heading\">{{'armature.sof-table.column-options' | translate}}</h2>\r\n <button \r\n mat-dialog-close m-l-auto \r\n disableRipple=\"true\" id=\"column-options-close\" aria-label=\"close\">\r\n <i class=\"ph-bold ph-x close\" aria-hidden=\"true\"></i>\r\n </button>\r\n</div>\r\n<div class=\"column-options-container\">\r\n <div class=\"column-options-description\">\r\n <p
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: SofColumnOptionsComponent, selector: "sof-column-options", ngImport: i0, template: "<div class=\"column-options-header\">\r\n <i class=\"ph-bold ph-square-split-horizontal\" aria-hidden=\"true\"></i>\r\n <h2 id=\"column-options-heading\">{{'armature.sof-table.column-options' | translate}}</h2>\r\n <button \r\n mat-dialog-close m-l-auto \r\n disableRipple=\"true\" id=\"column-options-close\" aria-label=\"close\">\r\n <i class=\"ph-bold ph-x close\" aria-hidden=\"true\"></i>\r\n </button>\r\n</div>\r\n<div class=\"column-options-container\">\r\n <div class=\"column-options-description\">\r\n <p>\r\n {{'armature.sof-table.column-options-description' | translate}} \r\n {{ data.showSaveColumnOptionsText ? ('armature.sof-table.column-options-description-saving' | translate) : ''}}\r\n </p>\r\n <p class=\"table-label\">{{data.tableName | translate}} {{'armature.sof-table.columns' | translate}}</p>\r\n </div>\r\n <div \r\n class=\"column-options-selections\"\r\n [class.no-saving-text]=\"!data.showSaveColumnOptionsText\">\r\n <sof-handle [handleList]=\"data.columnData\"/>\r\n </div>\r\n <div class=\"column-options-bottom\">\r\n <button\r\n (click)=\"resetColumnData()\"\r\n mat-flat-button color=\"tertiary\" \r\n size=\"small\" class=\"sof-button-v2\" m-r-auto\r\n id=\"column-options-reset\">\r\n {{'armature.sof-table.reset' | translate}}\r\n </button>\r\n <button \r\n mat-flat-button mat-dialog-close \r\n color=\"secondary\" size=\"small\" class=\"sof-button-v2\"\r\n id=\"column-options-cancel\">\r\n {{'armature.sof-table.cancel' | translate}}\r\n </button>\r\n <button \r\n (click)=\"applyUpdatedColumnState()\"\r\n mat-flat-button color=\"primary\" \r\n size=\"small\" class=\"sof-button-v2\"\r\n id=\"column-options-update\">\r\n {{'armature.sof-table.update' | translate}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["*{box-sizing:border-box}.column-options-header{display:flex;align-items:center;height:56px;padding:0 24px;border-bottom:1px solid #FAFAFA}.column-options-header i{font-size:20px}.column-options-header i:not(.close){margin-right:16px}.column-options-header h2{font-size:18px!important}.column-options-header button{height:20px;width:20px;padding:0;background:none;border:none;cursor:pointer}.column-options-container{padding:24px}.column-options-container .column-options-description p{margin:0 0 16px;font-size:16px;line-height:24px}.column-options-container .column-options-description p.table-label{font-size:14px;color:#0009;margin-bottom:0;line-height:21px}.column-options-container .column-options-selections{max-height:calc(100vh - 300px);overflow-y:scroll;scrollbar-width:none}.column-options-container .column-options-selections.no-saving-text{max-height:calc(100vh - 276px)}.column-options-container .column-options-bottom{display:flex;gap:16px;margin-top:24px}\n"], dependencies: [{ kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.SofHandleComponent, selector: "sof-handle", inputs: ["checkmarkColor", "handleList", "labelText"], outputs: ["orderChanged", "checkboxToggled"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
36
36
|
}
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SofColumnOptionsComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
|
-
args: [{ selector: 'sof-column-options', template: "<div class=\"column-options-header\">\r\n <i class=\"ph-bold ph-square-split-horizontal\" aria-hidden=\"true\"></i>\r\n <h2 id=\"column-options-heading\">{{'armature.sof-table.column-options' | translate}}</h2>\r\n <button \r\n mat-dialog-close m-l-auto \r\n disableRipple=\"true\" id=\"column-options-close\" aria-label=\"close\">\r\n <i class=\"ph-bold ph-x close\" aria-hidden=\"true\"></i>\r\n </button>\r\n</div>\r\n<div class=\"column-options-container\">\r\n <div class=\"column-options-description\">\r\n <p
|
|
39
|
+
args: [{ selector: 'sof-column-options', template: "<div class=\"column-options-header\">\r\n <i class=\"ph-bold ph-square-split-horizontal\" aria-hidden=\"true\"></i>\r\n <h2 id=\"column-options-heading\">{{'armature.sof-table.column-options' | translate}}</h2>\r\n <button \r\n mat-dialog-close m-l-auto \r\n disableRipple=\"true\" id=\"column-options-close\" aria-label=\"close\">\r\n <i class=\"ph-bold ph-x close\" aria-hidden=\"true\"></i>\r\n </button>\r\n</div>\r\n<div class=\"column-options-container\">\r\n <div class=\"column-options-description\">\r\n <p>\r\n {{'armature.sof-table.column-options-description' | translate}} \r\n {{ data.showSaveColumnOptionsText ? ('armature.sof-table.column-options-description-saving' | translate) : ''}}\r\n </p>\r\n <p class=\"table-label\">{{data.tableName | translate}} {{'armature.sof-table.columns' | translate}}</p>\r\n </div>\r\n <div \r\n class=\"column-options-selections\"\r\n [class.no-saving-text]=\"!data.showSaveColumnOptionsText\">\r\n <sof-handle [handleList]=\"data.columnData\"/>\r\n </div>\r\n <div class=\"column-options-bottom\">\r\n <button\r\n (click)=\"resetColumnData()\"\r\n mat-flat-button color=\"tertiary\" \r\n size=\"small\" class=\"sof-button-v2\" m-r-auto\r\n id=\"column-options-reset\">\r\n {{'armature.sof-table.reset' | translate}}\r\n </button>\r\n <button \r\n mat-flat-button mat-dialog-close \r\n color=\"secondary\" size=\"small\" class=\"sof-button-v2\"\r\n id=\"column-options-cancel\">\r\n {{'armature.sof-table.cancel' | translate}}\r\n </button>\r\n <button \r\n (click)=\"applyUpdatedColumnState()\"\r\n mat-flat-button color=\"primary\" \r\n size=\"small\" class=\"sof-button-v2\"\r\n id=\"column-options-update\">\r\n {{'armature.sof-table.update' | translate}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["*{box-sizing:border-box}.column-options-header{display:flex;align-items:center;height:56px;padding:0 24px;border-bottom:1px solid #FAFAFA}.column-options-header i{font-size:20px}.column-options-header i:not(.close){margin-right:16px}.column-options-header h2{font-size:18px!important}.column-options-header button{height:20px;width:20px;padding:0;background:none;border:none;cursor:pointer}.column-options-container{padding:24px}.column-options-container .column-options-description p{margin:0 0 16px;font-size:16px;line-height:24px}.column-options-container .column-options-description p.table-label{font-size:14px;color:#0009;margin-bottom:0;line-height:21px}.column-options-container .column-options-selections{max-height:calc(100vh - 300px);overflow-y:scroll;scrollbar-width:none}.column-options-container .column-options-selections.no-saving-text{max-height:calc(100vh - 276px)}.column-options-container .column-options-bottom{display:flex;gap:16px;margin-top:24px}\n"] }]
|
|
40
40
|
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW9wdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvYWctZ3JpZC1jb21wb25lbnRzL3NyYy9jb2x1bW4tb3B0aW9ucy1tb2RhbC9jb2x1bW4tb3B0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9hZy1ncmlkLWNvbXBvbmVudHMvc3JjL2NvbHVtbi1vcHRpb25zLW1vZGFsL2NvbHVtbi1vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQUd6RSxrQ0FBa0M7QUFNbEMsTUFBTSxPQUFPLHlCQUF5QjtJQUx0QztRQU9FLHVCQUF1QjtRQUNmLGNBQVMsR0FBNEMsTUFBTSxDQUFDLENBQUEsWUFBdUMsQ0FBQSxDQUFDLENBQUM7UUFFN0csa0JBQWtCO1FBQ1gsU0FBSSxHQUFzQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0FxQjFEO0lBbkJDLG9DQUFvQztJQUM3Qix1QkFBdUI7UUFDNUIsTUFBTSxXQUFXLEdBQXVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzFFLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNoQixJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUzthQUN4QixDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLGtCQUFrQixHQUEyQjtZQUNqRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUN2QixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQscURBQXFEO0lBQzlDLGVBQWU7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN0RSxDQUFDOzhHQTFCVSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwwRENWdEMsNjFEQTZDQTs7MkZEbkNhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBBcHBseUNvbHVtblN0YXRlUGFyYW1zLCBDb2x1bW5TdGF0ZSB9IGZyb20gXCJhZy1ncmlkLWNvbW11bml0eVwiO1xyXG5cclxuLyoqIFRhYmxlIENvbHVtbiBvcHRpb25zIGRpYWxvZyAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NvZi1jb2x1bW4tb3B0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1vcHRpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY29sdW1uLW9wdGlvbnMuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTb2ZDb2x1bW5PcHRpb25zQ29tcG9uZW50IHtcclxuXHJcbiAgLyoqIGRpYWxvZyByZWZlcmVuY2UgKi9cclxuICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNvZkNvbHVtbk9wdGlvbnNDb21wb25lbnQ+ID0gaW5qZWN0KE1hdERpYWxvZ1JlZjxTb2ZDb2x1bW5PcHRpb25zQ29tcG9uZW50Pik7XHJcblxyXG4gIC8qKiBkaWFsb2cgZGF0YSAqL1xyXG4gIHB1YmxpYyBkYXRhOiBDb2x1bW5PcHRpb25zRGF0YSA9IGluamVjdChNQVRfRElBTE9HX0RBVEEpO1xyXG5cclxuICAvKiogZW1pdCB0aGUgdXBkYXRlZCBjb2x1bW4gc3RhdGUgKi9cclxuICBwdWJsaWMgYXBwbHlVcGRhdGVkQ29sdW1uU3RhdGUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb2x1bW5TdGF0ZTogQXJyYXk8Q29sdW1uU3RhdGU+ID0gdGhpcy5kYXRhLmNvbHVtbkRhdGEubWFwKChjb2x1bW4pID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBjb2xJZDogY29sdW1uLmlkLFxyXG4gICAgICAgIGhpZGU6ICFjb2x1bW4uaXNDaGVja2VkXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgY29uc3QgdXBkYXRlZENvbHVtblN0YXRlOiBBcHBseUNvbHVtblN0YXRlUGFyYW1zID0ge1xyXG4gICAgICBzdGF0ZTogWy4uLmNvbHVtblN0YXRlXSxcclxuICAgICAgYXBwbHlPcmRlcjogdHJ1ZVxyXG4gICAgfTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHVwZGF0ZWRDb2x1bW5TdGF0ZSk7XHJcbiAgfVxyXG5cclxuICAvKiogcmVzZXQgdGhlIGNvbHVtbiBkYXRhIHRvIGl0cyBmaXJzdCBzYXZlZCB2YWx1ZSAqL1xyXG4gIHB1YmxpYyByZXNldENvbHVtbkRhdGEoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGEuY29sdW1uRGF0YSA9IHN0cnVjdHVyZWRDbG9uZSh0aGlzLmRhdGEuaW5pdGlhbENvbHVtbkRhdGEpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqIFxyXG4gKiBDb2x1bW4gb3B0aW9ucyBtb2RhbCBkYXRhXHJcbiAqIEBkZXNjcmlwdGlvbiBkYXRhIHBhc3NlZCBmcm9tIHRoZSAnU29mVGFibGVDb21wb25lbnQnXHJcbiAqIEBwcm9wZXJ0eSBgdGFibGVOYW1lOiBzdHJpbmdgIG5hbWUgb2YgdGhlIHRhYmxlIHVzaW5nIHRoZSBjb2x1bW4gb3B0aW9uc1xyXG4gKiBAcHJvcGVydHkgYGNvbHVtbkRhdGE6IEFycmF5PENvbHVtbkRhdGE+YCBjb2x1bW4gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSBhZ0dyaWQgYXBpXHJcbiAqIEBwcm9wZXJ0eSBgaW5pdGlhbENvbHVtbkRhdGE6IEFycmF5PENvbHVtbkRhdGE+YCBjb2x1bW4gZGF0YSBmcm9tIHNhdmVkIHVzZXIgcHJlZmVyZW5jZSBvciBpbml0aWFsIGBjb2x1bW5EYXRhYCBcclxuICogQHNlZSB7QGxpbmsgQ29sdW1uRGF0YX1cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uT3B0aW9uc0RhdGEge1xyXG4gIC8qKiBuYW1lIG9mIHRoZSB0YWJsZSB1c2luZyB0aGUgY29sdW1uIG9wdGlvbnMgKi9cclxuICB0YWJsZU5hbWU/OiBzdHJpbmc7XHJcbiAgLyoqIGNvbHVtbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIGFnR3JpZCBhcGkgKi9cclxuICBjb2x1bW5EYXRhPzogQXJyYXk8Q29sdW1uRGF0YT47XHJcbiAgLyoqIGNvbHVtbiBkYXRhIGZyb20gc2F2ZWQgdXNlciBwcmVmZXJlbmNlIG9yIGluaXRpYWwgYGNvbHVtbkRhdGFgICovXHJcbiAgaW5pdGlhbENvbHVtbkRhdGE/OiBBcnJheTxDb2x1bW5EYXRhPjtcclxuICAvKiogXHJcbiAgICogVG8gZGlzcGxheSB0aGUgdGV4dCBvbiB0aGUgY29sdW1uIG9wdGlvbnMgbW9kYWwsIHdoaWNoIHN0YXRlcyAtXHJcbiAgICogYFwiT3B0aW9ucyB3aWxsIGJlIHNhdmVkIGZvciB0aGUgbmV4dCB0aW1lIHlvdSBsb2cgaW4uXCJgXHJcbiAgKi9cclxuICBzaG93U2F2ZUNvbHVtbk9wdGlvbnNUZXh0PzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqIFxyXG4gKiBDb2x1bW4gZGF0YSBcclxuICogQGRlc2NyaXB0aW9uIGNvbHVtbiBkYXRhIGRlcml2ZWQgZnJvbSB0aGUgYWdHcmlkIGFwaSwgYWRkcyBpZCBwcm9wZXJ0eSB0byB0eXBlIGBIYW5kbGVJbnB1dGBcclxuICogQHByb3BlcnR5IGBpZDogc3RyaW5nYCBjb2x1bW5zIHVuaXF1ZSBpZFxyXG4gKiBAcHJvcGVydHkgYHRleHQ6IHN0cmluZ2AgY29sdW1ucyBoZWFkZXIgdGV4dFxyXG4gKiBAcHJvcGVydHkgYGlzQ2hlY2tlZDogYm9vbGVhbmAgY29sdW1uIG5vdCBoaWRkZW5cclxuKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5EYXRhIHtcclxuICAvKiogY29sdW1ucyB1bmlxdWUgaWQgKi9cclxuICBpZD86IHN0cmluZztcclxuICAvKiogY29sdW1ucyBoZWFkZXIgdGV4dCAqL1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgLyoqIGNvbHVtbiBub3QgaGlkZGVuICovXHJcbiAgaXNDaGVja2VkPzogYm9vbGVhbjtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29sdW1uLW9wdGlvbnMtaGVhZGVyXCI+XHJcbiAgPGkgY2xhc3M9XCJwaC1ib2xkIHBoLXNxdWFyZS1zcGxpdC1ob3Jpem9udGFsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gIDxoMiBpZD1cImNvbHVtbi1vcHRpb25zLWhlYWRpbmdcIj57eydhcm1hdHVyZS5zb2YtdGFibGUuY29sdW1uLW9wdGlvbnMnIHwgdHJhbnNsYXRlfX08L2gyPlxyXG4gIDxidXR0b24gXHJcbiAgICBtYXQtZGlhbG9nLWNsb3NlIG0tbC1hdXRvIFxyXG4gICAgZGlzYWJsZVJpcHBsZT1cInRydWVcIiBpZD1cImNvbHVtbi1vcHRpb25zLWNsb3NlXCIgYXJpYS1sYWJlbD1cImNsb3NlXCI+XHJcbiAgICA8aSBjbGFzcz1cInBoLWJvbGQgcGgteCBjbG9zZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJjb2x1bW4tb3B0aW9ucy1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29sdW1uLW9wdGlvbnMtZGVzY3JpcHRpb25cIj5cclxuICAgIDxwPlxyXG4gICAgICB7eydhcm1hdHVyZS5zb2YtdGFibGUuY29sdW1uLW9wdGlvbnMtZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlfX0gXHJcbiAgICAgIHt7IGRhdGEuc2hvd1NhdmVDb2x1bW5PcHRpb25zVGV4dCA/ICgnYXJtYXR1cmUuc29mLXRhYmxlLmNvbHVtbi1vcHRpb25zLWRlc2NyaXB0aW9uLXNhdmluZycgfCB0cmFuc2xhdGUpIDogJyd9fVxyXG4gICAgPC9wPlxyXG4gICAgPHAgY2xhc3M9XCJ0YWJsZS1sYWJlbFwiPnt7ZGF0YS50YWJsZU5hbWUgfCB0cmFuc2xhdGV9fSB7eydhcm1hdHVyZS5zb2YtdGFibGUuY29sdW1ucycgfCB0cmFuc2xhdGV9fTwvcD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IFxyXG4gICAgY2xhc3M9XCJjb2x1bW4tb3B0aW9ucy1zZWxlY3Rpb25zXCJcclxuICAgIFtjbGFzcy5uby1zYXZpbmctdGV4dF09XCIhZGF0YS5zaG93U2F2ZUNvbHVtbk9wdGlvbnNUZXh0XCI+XHJcbiAgICA8c29mLWhhbmRsZSBbaGFuZGxlTGlzdF09XCJkYXRhLmNvbHVtbkRhdGFcIi8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbHVtbi1vcHRpb25zLWJvdHRvbVwiPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAoY2xpY2spPVwicmVzZXRDb2x1bW5EYXRhKClcIlxyXG4gICAgICBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJ0ZXJ0aWFyeVwiIFxyXG4gICAgICBzaXplPVwic21hbGxcIiBjbGFzcz1cInNvZi1idXR0b24tdjJcIiBtLXItYXV0b1xyXG4gICAgICBpZD1cImNvbHVtbi1vcHRpb25zLXJlc2V0XCI+XHJcbiAgICAgIHt7J2FybWF0dXJlLnNvZi10YWJsZS5yZXNldCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIFxyXG4gICAgICBtYXQtZmxhdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZSBcclxuICAgICAgY29sb3I9XCJzZWNvbmRhcnlcIiBzaXplPVwic21hbGxcIiBjbGFzcz1cInNvZi1idXR0b24tdjJcIlxyXG4gICAgICBpZD1cImNvbHVtbi1vcHRpb25zLWNhbmNlbFwiPlxyXG4gICAgICB7eydhcm1hdHVyZS5zb2YtdGFibGUuY2FuY2VsJyB8IHRyYW5zbGF0ZX19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gXHJcbiAgICAgIChjbGljayk9XCJhcHBseVVwZGF0ZWRDb2x1bW5TdGF0ZSgpXCJcclxuICAgICAgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFxyXG4gICAgICBzaXplPVwic21hbGxcIiBjbGFzcz1cInNvZi1idXR0b24tdjJcIlxyXG4gICAgICBpZD1cImNvbHVtbi1vcHRpb25zLXVwZGF0ZVwiPlxyXG4gICAgICB7eydhcm1hdHVyZS5zb2YtdGFibGUudXBkYXRlJyB8IHRyYW5zbGF0ZX19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|