@smartbit4all/ng-client 6.0.20 → 6.0.22
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-grid/smart-grid-toolbar-util.mjs +27 -20
- package/esm2022/lib/smart-grid/smart-grid.component.mjs +7 -7
- package/esm2022/lib/smart-table/tables/table.mjs +8 -16
- package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/menu/click/menu.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/menu/hover/hover-menu.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +7 -2
- package/fesm2022/smartbit4all-ng-client.mjs +51 -47
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-grid/smart-grid-toolbar-util.d.ts +2 -0
- package/package.json +1 -1
- package/smartbit4all-ng-client-6.0.22.tgz +0 -0
- package/smartbit4all-ng-client-6.0.20.tgz +0 -0
|
@@ -21,35 +21,23 @@ export class SmartGridToolbarActionsUtil {
|
|
|
21
21
|
static showToolbar(row, columnName) {
|
|
22
22
|
return !!row.actions && row.actions.length > 0 && !!row.columnActions?.[columnName];
|
|
23
23
|
}
|
|
24
|
+
// ##### IN ROW ACTIONS
|
|
24
25
|
static calculateCellToActionMap(rows, serviceToUse, gridId) {
|
|
25
|
-
|
|
26
|
+
const cellToActionMap = {};
|
|
26
27
|
rows.forEach((row) => {
|
|
27
28
|
if (row?.columnActions && row?.actions) {
|
|
28
29
|
Object.keys(row.columnActions).forEach((columnName) => {
|
|
29
|
-
|
|
30
|
+
const key = row.id + columnName;
|
|
30
31
|
const actionCodes = row.columnActions[columnName];
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
let _uiAction = { ...uiAction };
|
|
35
|
-
_uiAction.params = {
|
|
36
|
-
...uiAction.params,
|
|
37
|
-
model: row,
|
|
38
|
-
};
|
|
39
|
-
// Add gridId and widgetId to uiActionMod
|
|
40
|
-
return {
|
|
41
|
-
serviceToUse: serviceToUse,
|
|
42
|
-
uiAction: _uiAction,
|
|
43
|
-
nodeId: row.id,
|
|
44
|
-
widgetId: gridId,
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
cellToActionMap[key] = actionModels;
|
|
32
|
+
cellToActionMap[key] = row.actions
|
|
33
|
+
.filter((action) => action.code && actionCodes.includes(action.code))
|
|
34
|
+
.map((uiAction) => this.toActionModel(uiAction, row, serviceToUse, gridId));
|
|
48
35
|
});
|
|
49
36
|
}
|
|
50
37
|
});
|
|
51
38
|
return cellToActionMap;
|
|
52
39
|
}
|
|
40
|
+
// ##### MENU ACTIONS
|
|
53
41
|
static calculateMenuActions(row, orderedColumns) {
|
|
54
42
|
var _columnsToFilter = [
|
|
55
43
|
...orderedColumns.map((col) => col.startsWith('data.') ? col.substring('data.'.length) : col),
|
|
@@ -61,9 +49,28 @@ export class SmartGridToolbarActionsUtil {
|
|
|
61
49
|
.flat();
|
|
62
50
|
return row.actions?.filter((action) => !columnCodes.includes(action.code)) ?? [];
|
|
63
51
|
}
|
|
52
|
+
static calculateMenuActionModels(row, orderedColumns, serviceToUse, gridId) {
|
|
53
|
+
return this.calculateMenuActions(row, orderedColumns).map((uiAction) => this.toActionModel(uiAction, row, serviceToUse, gridId));
|
|
54
|
+
}
|
|
64
55
|
static getActionModelsFromMap(cellToActionMap, row, header) {
|
|
65
56
|
let key = row.id + header;
|
|
66
57
|
return cellToActionMap[key];
|
|
67
58
|
}
|
|
59
|
+
// ##### HELPERS
|
|
60
|
+
static toActionModel(uiAction, row, serviceToUse, gridId) {
|
|
61
|
+
const _uiAction = {
|
|
62
|
+
...uiAction,
|
|
63
|
+
params: {
|
|
64
|
+
...uiAction.params,
|
|
65
|
+
model: row,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
return {
|
|
69
|
+
serviceToUse,
|
|
70
|
+
uiAction: _uiAction,
|
|
71
|
+
nodeId: row.id,
|
|
72
|
+
widgetId: gridId,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
68
75
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC10b29sYmFyLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL3NtYXJ0LWdyaWQtdG9vbGJhci11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywyQkFBMkI7YUFDL0IsMkJBQXNCLEdBQUcsNEJBQTRCLENBQUM7SUFFN0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFZLEVBQUUsY0FBd0I7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLGdCQUFnQixHQUFHO1lBQ3JCLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzVCLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQzlEO1lBQ0QsSUFBSSxDQUFDLHNCQUFzQjtTQUM1QixDQUFDO1FBRUYsSUFBSSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2FBQzdELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQy9DLE1BQU0sQ0FDTCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNYLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsYUFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUNELEVBQXlCLENBQzFCLENBQUM7UUFFSixPQUFPLENBQ0wsR0FBRyxDQUFDLE9BQU87WUFDWCxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQzFFLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFZLEVBQUUsVUFBa0I7UUFDakQsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDN0IsSUFBZSxFQUNmLFlBQWlCLEVBQ2pCLE1BQWM7UUFFZCxNQUFNLGVBQWUsR0FBMEIsRUFBRSxDQUFDO1FBRWxELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuQixJQUFJLEdBQUcsRUFBRSxhQUFhLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtvQkFDcEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7b0JBQ2hDLE1BQU0sV0FBVyxHQUFhLEdBQUcsQ0FBQyxhQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBRTdELGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTzt5QkFDL0IsTUFBTSxDQUFDLENBQUMsTUFBZ0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDOUUsR0FBRyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUMxRixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVksRUFBRSxjQUF3QjtRQUNoRSxJQUFJLGdCQUFnQixHQUFHO1lBQ3JCLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzVCLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQzlEO1lBQ0QsSUFBSSxDQUFDLHNCQUFzQjtTQUM1QixDQUFDO1FBRUYsSUFBSSxXQUFXLEdBQWEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQzthQUM3RCxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMvQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDckMsSUFBSSxFQUFFLENBQUM7UUFFVixPQUFPLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5RixDQUFDO0lBRUQsTUFBTSxDQUFDLHlCQUF5QixDQUM5QixHQUFZLEVBQ1osY0FBd0IsRUFDeEIsWUFBaUIsRUFDakIsTUFBYztRQUVkLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FDL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQzNCLGVBQXNDLEVBQ3RDLEdBQVksRUFDWixNQUFjO1FBRWQsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDMUIsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGdCQUFnQjtJQUNSLE1BQU0sQ0FBQyxhQUFhLENBQzFCLFFBQWtCLEVBQ2xCLEdBQVksRUFDWixZQUFpQixFQUNqQixNQUFjO1FBRWQsTUFBTSxTQUFTLEdBQUc7WUFDaEIsR0FBRyxRQUFRO1lBQ1gsTUFBTSxFQUFFO2dCQUNOLEdBQUcsUUFBUSxDQUFDLE1BQU07Z0JBQ2xCLEtBQUssRUFBRSxHQUFHO2FBQ1g7U0FDRixDQUFDO1FBRUYsT0FBTztZQUNMLFlBQVk7WUFDWixRQUFRLEVBQUUsU0FBUztZQUNuQixNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDZCxRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVpQWN0aW9uIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XHJcbmltcG9ydCB7IEdyaWRSb3cgfSBmcm9tICcuL2FwaS9ncmlkLWFwaSc7XHJcbmV4cG9ydCBjbGFzcyBTbWFydEdyaWRUb29sYmFyQWN0aW9uc1V0aWwge1xyXG4gIHN0YXRpYyBkZWZhdWx0QWN0aW9uVG9vbGJhcklkID0gJ3Rvb2xiYXJEZWZhdWx0QWN0aW9uQ29sdW1uJztcclxuXHJcbiAgc3RhdGljIHNob3dNZW51KHJvdzogR3JpZFJvdywgb3JkZXJlZENvbHVtbnM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXJvdy5jb2x1bW5BY3Rpb25zICYmIHJvdy5hY3Rpb25zICYmIHJvdy5hY3Rpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIF9jb2x1bW5zVG9GaWx0ZXIgPSBbXHJcbiAgICAgIC4uLm9yZGVyZWRDb2x1bW5zLm1hcCgoY29sKSA9PlxyXG4gICAgICAgIGNvbC5zdGFydHNXaXRoKCdkYXRhLicpID8gY29sLnN1YnN0cmluZygnZGF0YS4nLmxlbmd0aCkgOiBjb2xcclxuICAgICAgKSxcclxuICAgICAgdGhpcy5kZWZhdWx0QWN0aW9uVG9vbGJhcklkLFxyXG4gICAgXTtcclxuXHJcbiAgICB2YXIgZmlsdGVyZWRBY3Rpb25Db2x1bW5zID0gT2JqZWN0LmtleXMocm93LmNvbHVtbkFjdGlvbnMgfHwge30pXHJcbiAgICAgIC5maWx0ZXIoKGtleSkgPT4gX2NvbHVtbnNUb0ZpbHRlci5pbmNsdWRlcyhrZXkpKVxyXG4gICAgICAucmVkdWNlKFxyXG4gICAgICAgIChhY2MsIGtleSkgPT4ge1xyXG4gICAgICAgICAgYWNjW2tleV0gPSByb3cuY29sdW1uQWN0aW9ucyFba2V5XTtcclxuICAgICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+XHJcbiAgICAgICk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgcm93LmFjdGlvbnMgJiZcclxuICAgICAgcm93LmFjdGlvbnMubGVuZ3RoID4gMCAmJlxyXG4gICAgICBPYmplY3QudmFsdWVzKGZpbHRlcmVkQWN0aW9uQ29sdW1ucykuZmxhdCgpLmxlbmd0aCAhPT0gcm93LmFjdGlvbnMubGVuZ3RoXHJcbiAgICApO1xyXG4gIH1cclxuICBzdGF0aWMgc2hvd1Rvb2xiYXIocm93OiBHcmlkUm93LCBjb2x1bW5OYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXJvdy5hY3Rpb25zICYmIHJvdy5hY3Rpb25zLmxlbmd0aCA+IDAgJiYgISFyb3cuY29sdW1uQWN0aW9ucz8uW2NvbHVtbk5hbWVdO1xyXG4gIH1cclxuXHJcbiAgLy8gIyMjIyMgSU4gUk9XIEFDVElPTlNcclxuICBzdGF0aWMgY2FsY3VsYXRlQ2VsbFRvQWN0aW9uTWFwKFxyXG4gICAgcm93czogR3JpZFJvd1tdLFxyXG4gICAgc2VydmljZVRvVXNlOiBhbnksXHJcbiAgICBncmlkSWQ6IHN0cmluZ1xyXG4gICk6IFJlY29yZDxzdHJpbmcsIGFueVtdPiB7XHJcbiAgICBjb25zdCBjZWxsVG9BY3Rpb25NYXA6IFJlY29yZDxzdHJpbmcsIGFueVtdPiA9IHt9O1xyXG5cclxuICAgIHJvd3MuZm9yRWFjaCgocm93KSA9PiB7XHJcbiAgICAgIGlmIChyb3c/LmNvbHVtbkFjdGlvbnMgJiYgcm93Py5hY3Rpb25zKSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXMocm93LmNvbHVtbkFjdGlvbnMpLmZvckVhY2goKGNvbHVtbk5hbWUpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGtleSA9IHJvdy5pZCArIGNvbHVtbk5hbWU7XHJcbiAgICAgICAgICBjb25zdCBhY3Rpb25Db2Rlczogc3RyaW5nW10gPSByb3cuY29sdW1uQWN0aW9ucyFbY29sdW1uTmFtZV07XHJcblxyXG4gICAgICAgICAgY2VsbFRvQWN0aW9uTWFwW2tleV0gPSByb3cuYWN0aW9uc1xyXG4gICAgICAgICAgICAuZmlsdGVyKChhY3Rpb246IFVpQWN0aW9uKSA9PiBhY3Rpb24uY29kZSAmJiBhY3Rpb25Db2Rlcy5pbmNsdWRlcyhhY3Rpb24uY29kZSkpXHJcbiAgICAgICAgICAgIC5tYXAoKHVpQWN0aW9uOiBVaUFjdGlvbikgPT4gdGhpcy50b0FjdGlvbk1vZGVsKHVpQWN0aW9uLCByb3csIHNlcnZpY2VUb1VzZSwgZ3JpZElkKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBjZWxsVG9BY3Rpb25NYXA7XHJcbiAgfVxyXG5cclxuICAvLyAjIyMjIyBNRU5VIEFDVElPTlNcclxuICBzdGF0aWMgY2FsY3VsYXRlTWVudUFjdGlvbnMocm93OiBHcmlkUm93LCBvcmRlcmVkQ29sdW1uczogc3RyaW5nW10pOiBVaUFjdGlvbltdIHtcclxuICAgIHZhciBfY29sdW1uc1RvRmlsdGVyID0gW1xyXG4gICAgICAuLi5vcmRlcmVkQ29sdW1ucy5tYXAoKGNvbCkgPT5cclxuICAgICAgICBjb2wuc3RhcnRzV2l0aCgnZGF0YS4nKSA/IGNvbC5zdWJzdHJpbmcoJ2RhdGEuJy5sZW5ndGgpIDogY29sXHJcbiAgICAgICksXHJcbiAgICAgIHRoaXMuZGVmYXVsdEFjdGlvblRvb2xiYXJJZCxcclxuICAgIF07XHJcblxyXG4gICAgdmFyIGNvbHVtbkNvZGVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zIHx8IHt9KVxyXG4gICAgICAuZmlsdGVyKChrZXkpID0+IF9jb2x1bW5zVG9GaWx0ZXIuaW5jbHVkZXMoa2V5KSlcclxuICAgICAgLm1hcCgoa2V5KSA9PiByb3cuY29sdW1uQWN0aW9ucyFba2V5XSlcclxuICAgICAgLmZsYXQoKTtcclxuXHJcbiAgICByZXR1cm4gcm93LmFjdGlvbnM/LmZpbHRlcigoYWN0aW9uOiBVaUFjdGlvbikgPT4gIWNvbHVtbkNvZGVzLmluY2x1ZGVzKGFjdGlvbi5jb2RlISkpID8/IFtdO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNhbGN1bGF0ZU1lbnVBY3Rpb25Nb2RlbHMoXHJcbiAgICByb3c6IEdyaWRSb3csXHJcbiAgICBvcmRlcmVkQ29sdW1uczogc3RyaW5nW10sXHJcbiAgICBzZXJ2aWNlVG9Vc2U6IGFueSxcclxuICAgIGdyaWRJZDogc3RyaW5nXHJcbiAgKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlTWVudUFjdGlvbnMocm93LCBvcmRlcmVkQ29sdW1ucykubWFwKCh1aUFjdGlvbjogVWlBY3Rpb24pID0+XHJcbiAgICAgIHRoaXMudG9BY3Rpb25Nb2RlbCh1aUFjdGlvbiwgcm93LCBzZXJ2aWNlVG9Vc2UsIGdyaWRJZClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0QWN0aW9uTW9kZWxzRnJvbU1hcChcclxuICAgIGNlbGxUb0FjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgYW55W10+LFxyXG4gICAgcm93OiBHcmlkUm93LFxyXG4gICAgaGVhZGVyOiBzdHJpbmdcclxuICApOiBhbnlbXSB7XHJcbiAgICBsZXQga2V5ID0gcm93LmlkICsgaGVhZGVyO1xyXG4gICAgcmV0dXJuIGNlbGxUb0FjdGlvbk1hcFtrZXldO1xyXG4gIH1cclxuXHJcbiAgLy8gIyMjIyMgSEVMUEVSU1xyXG4gIHByaXZhdGUgc3RhdGljIHRvQWN0aW9uTW9kZWwoXHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb24sXHJcbiAgICByb3c6IEdyaWRSb3csXHJcbiAgICBzZXJ2aWNlVG9Vc2U6IGFueSxcclxuICAgIGdyaWRJZDogc3RyaW5nXHJcbiAgKTogYW55IHtcclxuICAgIGNvbnN0IF91aUFjdGlvbiA9IHtcclxuICAgICAgLi4udWlBY3Rpb24sXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIC4uLnVpQWN0aW9uLnBhcmFtcyxcclxuICAgICAgICBtb2RlbDogcm93LFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzZXJ2aWNlVG9Vc2UsXHJcbiAgICAgIHVpQWN0aW9uOiBfdWlBY3Rpb24sXHJcbiAgICAgIG5vZGVJZDogcm93LmlkLFxyXG4gICAgICB3aWRnZXRJZDogZ3JpZElkLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|