ngx-aur-mat-table 15.0.3 → 17.0.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/{esm2020 → esm2022}/lib/components/column-value/column-view.component.mjs +18 -18
- package/{esm2020 → esm2022}/lib/data-property-getter-pipe/data-property-getter.pipe.mjs +16 -16
- package/{esm2020 → esm2022}/lib/directive/ngx-table-sub-footer-row.directive.mjs +14 -14
- package/esm2022/lib/factories/ActionViewFactory.mjs +37 -0
- package/{esm2020 → esm2022}/lib/factories/DisplayColumnsFactory.mjs +5 -5
- package/{esm2020 → esm2022}/lib/factories/MatTableDataSourceFactory.mjs +14 -14
- package/{esm2020 → esm2022}/lib/factories/TableRowsFactory.mjs +17 -17
- package/{esm2020 → esm2022}/lib/filters/NgxAurFilters.mjs +217 -217
- package/{esm2020 → esm2022}/lib/model/ColumnConfig.mjs +1 -1
- package/esm2022/lib/model/EmptyValue.mjs +29 -0
- package/{esm2020 → esm2022}/lib/model/TableRow.mjs +6 -6
- package/esm2022/lib/model/TableViewFactory.mjs +61 -0
- package/{esm2020 → esm2022}/lib/ngx-aur-mat-table-filterable.mjs +1 -1
- package/{esm2020 → esm2022}/lib/ngx-aur-mat-table-public.mjs +1 -1
- package/{esm2020 → esm2022}/lib/ngx-aur-mat-table-refreshable.mjs +1 -1
- package/{esm2020 → esm2022}/lib/ngx-aur-mat-table-selection-model.mjs +1 -1
- package/esm2022/lib/ngx-aur-mat-table.component.mjs +316 -0
- package/{esm2020 → esm2022}/lib/ngx-aur-mat-table.module.mjs +73 -73
- package/{esm2020 → esm2022}/lib/providers/AbstractProvider.mjs +8 -8
- package/esm2022/lib/providers/IndexProvider.mjs +65 -0
- package/{esm2020 → esm2022}/lib/providers/PaginationProvider.mjs +26 -26
- package/esm2022/lib/providers/RowActionProvider.mjs +66 -0
- package/esm2022/lib/providers/SelectionProvider.mjs +77 -0
- package/esm2022/lib/providers/TotalRowProvider.mjs +42 -0
- package/{esm2020 → esm2022}/lib/style-builder/style-builder.mjs +114 -114
- package/{esm2020 → esm2022}/lib/utils/ngx-aur-table-config.util.mjs +14 -14
- package/esm2022/lib/utils/offset.util.mjs +12 -0
- package/{esm2020 → esm2022}/ngx-aur-mat-table.mjs +4 -4
- package/{esm2020 → esm2022}/public-api.mjs +17 -17
- package/{fesm2020 → fesm2022}/ngx-aur-mat-table.mjs +1148 -1148
- package/{fesm2020 → fesm2022}/ngx-aur-mat-table.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/components/column-value/column-view.component.d.ts +8 -8
- package/lib/data-property-getter-pipe/data-property-getter.pipe.d.ts +7 -7
- package/lib/directive/ngx-table-sub-footer-row.directive.d.ts +6 -6
- package/lib/factories/ActionViewFactory.d.ts +19 -19
- package/lib/factories/DisplayColumnsFactory.d.ts +4 -4
- package/lib/factories/MatTableDataSourceFactory.d.ts +12 -12
- package/lib/factories/TableRowsFactory.d.ts +12 -12
- package/lib/filters/NgxAurFilters.d.ts +139 -139
- package/lib/model/ColumnConfig.d.ts +152 -152
- package/lib/model/EmptyValue.d.ts +12 -12
- package/lib/model/TableRow.d.ts +6 -6
- package/lib/model/TableViewFactory.d.ts +16 -16
- package/lib/ngx-aur-mat-table-filterable.d.ts +6 -6
- package/lib/ngx-aur-mat-table-public.d.ts +5 -5
- package/lib/ngx-aur-mat-table-refreshable.d.ts +3 -3
- package/lib/ngx-aur-mat-table-selection-model.d.ts +4 -4
- package/lib/ngx-aur-mat-table.component.d.ts +98 -98
- package/lib/ngx-aur-mat-table.module.d.ts +20 -20
- package/lib/providers/AbstractProvider.d.ts +4 -4
- package/lib/providers/IndexProvider.d.ts +43 -43
- package/lib/providers/PaginationProvider.d.ts +14 -14
- package/lib/providers/RowActionProvider.d.ts +31 -31
- package/lib/providers/SelectionProvider.d.ts +27 -27
- package/lib/providers/TotalRowProvider.d.ts +21 -21
- package/lib/style-builder/style-builder.d.ts +53 -53
- package/lib/utils/ngx-aur-table-config.util.d.ts +9 -9
- package/lib/utils/offset.util.d.ts +4 -4
- package/package.json +13 -19
- package/public-api.d.ts +14 -14
- package/esm2020/lib/factories/ActionViewFactory.mjs +0 -37
- package/esm2020/lib/model/EmptyValue.mjs +0 -29
- package/esm2020/lib/model/TableViewFactory.mjs +0 -61
- package/esm2020/lib/ngx-aur-mat-table.component.mjs +0 -316
- package/esm2020/lib/providers/IndexProvider.mjs +0 -65
- package/esm2020/lib/providers/RowActionProvider.mjs +0 -66
- package/esm2020/lib/providers/SelectionProvider.mjs +0 -77
- package/esm2020/lib/providers/TotalRowProvider.mjs +0 -42
- package/esm2020/lib/utils/offset.util.mjs +0 -12
- package/fesm2015/ngx-aur-mat-table.mjs +0 -1230
- package/fesm2015/ngx-aur-mat-table.mjs.map +0 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@angular/material/icon";
|
|
5
|
-
import * as i3 from "@angular/material/tooltip";
|
|
6
|
-
export class ColumnViewComponent {
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
-
type: Component,
|
|
12
|
-
args: [{ selector: 'lib-column-view', template: "<div class=\"align-container\">\n <div [ngClass]=\"{'circle': config?.icon?.wrapper}\"\n [style.background-color]=\"config?.icon?.wrapper?.color\"\n >\n <mat-icon *ngIf=\"config?.icon\"\n [matTooltip]=\"config?.icon?.tooltip?.toString() || ''\"\n [style.color]=\"config?.icon?.color\"\n >\n {{config?.icon?.name}}\n </mat-icon>\n </div>\n\n <img\n *ngIf=\"config?.image?.src\"\n [src]=\"config?.image?.src\"\n [style.height]=\"config?.image?.height\"\n [style.width]=\"config?.image?.width\"\n alt=\"img\"\n >\n\n <span *ngIf=\"config?.text?.show != false\"\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\"\n >\n {{value}}\n </span>\n</div>\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"] }]
|
|
13
|
-
}], propDecorators: { config: [{
|
|
14
|
-
type: Input
|
|
15
|
-
}], value: [{
|
|
16
|
-
type: Input
|
|
17
|
-
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/material/icon";
|
|
5
|
+
import * as i3 from "@angular/material/tooltip";
|
|
6
|
+
export class ColumnViewComponent {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ColumnViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ColumnViewComponent, selector: "lib-column-view", inputs: { config: "config", value: "value" }, ngImport: i0, template: "<div class=\"align-container\">\n <div [ngClass]=\"{'circle': config?.icon?.wrapper}\"\n [style.background-color]=\"config?.icon?.wrapper?.color\"\n >\n <mat-icon *ngIf=\"config?.icon\"\n [matTooltip]=\"config?.icon?.tooltip?.toString() || ''\"\n [style.color]=\"config?.icon?.color\"\n >\n {{config?.icon?.name}}\n </mat-icon>\n </div>\n\n <img\n *ngIf=\"config?.image?.src\"\n [src]=\"config?.image?.src\"\n [style.height]=\"config?.image?.height\"\n [style.width]=\"config?.image?.width\"\n alt=\"img\"\n >\n\n <span *ngIf=\"config?.text?.show != false\"\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\"\n >\n {{value}}\n </span>\n</div>\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ColumnViewComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'lib-column-view', template: "<div class=\"align-container\">\n <div [ngClass]=\"{'circle': config?.icon?.wrapper}\"\n [style.background-color]=\"config?.icon?.wrapper?.color\"\n >\n <mat-icon *ngIf=\"config?.icon\"\n [matTooltip]=\"config?.icon?.tooltip?.toString() || ''\"\n [style.color]=\"config?.icon?.color\"\n >\n {{config?.icon?.name}}\n </mat-icon>\n </div>\n\n <img\n *ngIf=\"config?.image?.src\"\n [src]=\"config?.image?.src\"\n [style.height]=\"config?.image?.height\"\n [style.width]=\"config?.image?.width\"\n alt=\"img\"\n >\n\n <span *ngIf=\"config?.text?.show != false\"\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\"\n >\n {{value}}\n </span>\n</div>\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"] }]
|
|
13
|
+
}], propDecorators: { config: [{
|
|
14
|
+
type: Input
|
|
15
|
+
}], value: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}] } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2NvbHVtbi12YWx1ZS9jb2x1bW4tdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvY29sdW1uLXZhbHVlL2NvbHVtbi12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2RCxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQixxR0NSaEMsa3VCQTBCQTs7MkZEbEJhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7OEJBS2xCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbHVtblZpZXd9IGZyb20gXCIuLi8uLi9tb2RlbC9Db2x1bW5Db25maWdcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvbHVtbi12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLXZpZXcuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtblZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBjb25maWc6IENvbHVtblZpZXc8c3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJhbGlnbi1jb250YWluZXJcIj5cbiAgPGRpdiAgW25nQ2xhc3NdPVwieydjaXJjbGUnOiBjb25maWc/Lmljb24/LndyYXBwZXJ9XCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY29uZmlnPy5pY29uPy53cmFwcGVyPy5jb2xvclwiXG4gID5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJjb25maWc/Lmljb25cIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJjb25maWc/Lmljb24/LnRvb2x0aXA/LnRvU3RyaW5nKCkgfHwgJydcIlxuICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY29uZmlnPy5pY29uPy5jb2xvclwiXG4gICAgPlxuICAgICAge3tjb25maWc/Lmljb24/Lm5hbWV9fVxuICAgIDwvbWF0LWljb24+XG4gIDwvZGl2PlxuXG4gIDxpbWdcbiAgICAqbmdJZj1cImNvbmZpZz8uaW1hZ2U/LnNyY1wiXG4gICAgW3NyY109XCJjb25maWc/LmltYWdlPy5zcmNcIlxuICAgIFtzdHlsZS5oZWlnaHRdPVwiY29uZmlnPy5pbWFnZT8uaGVpZ2h0XCJcbiAgICBbc3R5bGUud2lkdGhdPVwiY29uZmlnPy5pbWFnZT8ud2lkdGhcIlxuICAgIGFsdD1cImltZ1wiXG4gID5cblxuICA8c3BhbiAqbmdJZj1cImNvbmZpZz8udGV4dD8uc2hvdyAhPSBmYWxzZVwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cImNvbmZpZz8udGV4dD8udG9vbHRpcD8udG9TdHJpbmcoKSB8fCAnJ1wiXG4gID5cbiAgICAgICB7e3ZhbHVlfX1cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DataPropertyGetterPipe {
|
|
4
|
-
transform(object, keyName, ...args) {
|
|
5
|
-
return object[keyName];
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
-
type: Pipe,
|
|
12
|
-
args: [{
|
|
13
|
-
name: 'dataPropertyGetter'
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DataPropertyGetterPipe {
|
|
4
|
+
transform(object, keyName, ...args) {
|
|
5
|
+
return object[keyName];
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DataPropertyGetterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: DataPropertyGetterPipe, name: "dataPropertyGetter" }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DataPropertyGetterPipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{
|
|
13
|
+
name: 'dataPropertyGetter'
|
|
14
|
+
}]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wcm9wZXJ0eS1nZXR0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZGF0YS1wcm9wZXJ0eS1nZXR0ZXItcGlwZS9kYXRhLXByb3BlcnR5LWdldHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUtsRCxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLFNBQVMsQ0FBQyxNQUFXLEVBQUUsT0FBZSxFQUFFLEdBQUcsSUFBZTtRQUN4RCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QixDQUFDOzhHQUpVLHNCQUFzQjs0R0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUhsQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxvQkFBb0I7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZGF0YVByb3BlcnR5R2V0dGVyJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YVByb3BlcnR5R2V0dGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0ob2JqZWN0OiBhbnksIGtleU5hbWU6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdW5rbm93biB7XHJcbiAgICByZXR1cm4gb2JqZWN0W2tleU5hbWVdO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class NgxTableSubFooterRowDirective {
|
|
4
|
-
constructor() { }
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9
|
-
type: Directive,
|
|
10
|
-
args: [{
|
|
11
|
-
selector: '[ngxAurTableSubFooterRow]'
|
|
12
|
-
}]
|
|
13
|
-
}], ctorParameters:
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NgxTableSubFooterRowDirective {
|
|
4
|
+
constructor() { }
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxTableSubFooterRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: NgxTableSubFooterRowDirective, selector: "[ngxAurTableSubFooterRow]", ngImport: i0 }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxTableSubFooterRowDirective, decorators: [{
|
|
9
|
+
type: Directive,
|
|
10
|
+
args: [{
|
|
11
|
+
selector: '[ngxAurTableSubFooterRow]'
|
|
12
|
+
}]
|
|
13
|
+
}], ctorParameters: () => [] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRhYmxlLXN1Yi1mb290ZXItcm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZGlyZWN0aXZlL25neC10YWJsZS1zdWItZm9vdGVyLXJvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFLeEMsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QyxnQkFBZSxDQUFDOzhHQURMLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmd4QXVyVGFibGVTdWJGb290ZXJSb3ddJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hUYWJsZVN1YkZvb3RlclJvd0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export class ActionViewFactory {
|
|
2
|
+
/**
|
|
3
|
+
* Convert rows and actions to a view format.
|
|
4
|
+
* @param rows - The data rows to be converted.
|
|
5
|
+
* @param actionConfig - Configuration for actions on rows.
|
|
6
|
+
* @return Map of row IDs to their associated action views.
|
|
7
|
+
*/
|
|
8
|
+
static create(rows, actionConfig) {
|
|
9
|
+
const result = new Map();
|
|
10
|
+
for (const row of rows) {
|
|
11
|
+
result.set(row.id, this.prepareActionsForRow(row, actionConfig));
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Prepare the actions for a specific row based on the action configuration.
|
|
17
|
+
* @param row - The data row for which actions need to be prepared.
|
|
18
|
+
* @param actionConfig - Configuration for actions on rows.
|
|
19
|
+
* @return Array of actions for the row.
|
|
20
|
+
*/
|
|
21
|
+
static prepareActionsForRow(row, actionConfig) {
|
|
22
|
+
return actionConfig.actions.map(action => ({
|
|
23
|
+
action: action.action(row.rowSrc),
|
|
24
|
+
icon: this.prepareIconConfig(action.icon, row.rowSrc)
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
static prepareIconConfig(iconSource, value) {
|
|
28
|
+
return {
|
|
29
|
+
name: iconSource.name(value),
|
|
30
|
+
color: iconSource.color ? iconSource.color(value) : undefined,
|
|
31
|
+
tooltip: iconSource.tooltip ? iconSource.tooltip(value) : undefined,
|
|
32
|
+
position: iconSource.position,
|
|
33
|
+
wrapper: iconSource.wrapper ? { color: iconSource.wrapper.color(value) } : undefined
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWN0aW9uVmlld0ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2ZhY3Rvcmllcy9BY3Rpb25WaWV3RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBSSxJQUFtQixFQUFFLFlBQTZCO1FBQ3hFLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO1FBQ25ELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssTUFBTSxDQUFDLG9CQUFvQixDQUFJLEdBQWdCLEVBQUUsWUFBNkI7UUFDcEYsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDekMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQztTQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQUksVUFBMEMsRUFBRSxLQUFRO1FBQ3RGLE9BQU87WUFDTCxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDNUIsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDN0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDbkUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1lBQzdCLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ25GLENBQUE7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FjdGlvbiwgQWN0aW9uQ29uZmlnLCBJY29uVmlld30gZnJvbSBcIi4uL21vZGVsL0NvbHVtbkNvbmZpZ1wiO1xyXG5pbXBvcnQge1RhYmxlUm93fSBmcm9tIFwiLi4vbW9kZWwvVGFibGVSb3dcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25WaWV3RmFjdG9yeSB7XHJcbiAgLyoqXHJcbiAgICogQ29udmVydCByb3dzIGFuZCBhY3Rpb25zIHRvIGEgdmlldyBmb3JtYXQuXHJcbiAgICogQHBhcmFtIHJvd3MgLSBUaGUgZGF0YSByb3dzIHRvIGJlIGNvbnZlcnRlZC5cclxuICAgKiBAcGFyYW0gYWN0aW9uQ29uZmlnIC0gQ29uZmlndXJhdGlvbiBmb3IgYWN0aW9ucyBvbiByb3dzLlxyXG4gICAqIEByZXR1cm4gTWFwIG9mIHJvdyBJRHMgdG8gdGhlaXIgYXNzb2NpYXRlZCBhY3Rpb24gdmlld3MuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBjcmVhdGU8VD4ocm93czogVGFibGVSb3c8VD5bXSwgYWN0aW9uQ29uZmlnOiBBY3Rpb25Db25maWc8VD4pOiBNYXA8bnVtYmVyLCBBY3Rpb248c3RyaW5nPltdPiB7XHJcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgTWFwPG51bWJlciwgQWN0aW9uPHN0cmluZz5bXT4oKTtcclxuICAgIGZvciAoY29uc3Qgcm93IG9mIHJvd3MpIHtcclxuICAgICAgcmVzdWx0LnNldChyb3cuaWQsIHRoaXMucHJlcGFyZUFjdGlvbnNGb3JSb3cocm93LCBhY3Rpb25Db25maWcpKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcmVwYXJlIHRoZSBhY3Rpb25zIGZvciBhIHNwZWNpZmljIHJvdyBiYXNlZCBvbiB0aGUgYWN0aW9uIGNvbmZpZ3VyYXRpb24uXHJcbiAgICogQHBhcmFtIHJvdyAtIFRoZSBkYXRhIHJvdyBmb3Igd2hpY2ggYWN0aW9ucyBuZWVkIHRvIGJlIHByZXBhcmVkLlxyXG4gICAqIEBwYXJhbSBhY3Rpb25Db25maWcgLSBDb25maWd1cmF0aW9uIGZvciBhY3Rpb25zIG9uIHJvd3MuXHJcbiAgICogQHJldHVybiBBcnJheSBvZiBhY3Rpb25zIGZvciB0aGUgcm93LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIHByZXBhcmVBY3Rpb25zRm9yUm93PFQ+KHJvdzogVGFibGVSb3c8VD4sIGFjdGlvbkNvbmZpZzogQWN0aW9uQ29uZmlnPFQ+KTogQWN0aW9uPHN0cmluZz5bXSB7XHJcbiAgICByZXR1cm4gYWN0aW9uQ29uZmlnLmFjdGlvbnMubWFwKGFjdGlvbiA9PiAoe1xyXG4gICAgICBhY3Rpb246IGFjdGlvbi5hY3Rpb24ocm93LnJvd1NyYyksXHJcbiAgICAgIGljb246IHRoaXMucHJlcGFyZUljb25Db25maWcoYWN0aW9uLmljb24sIHJvdy5yb3dTcmMpXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBwcmVwYXJlSWNvbkNvbmZpZzxUPihpY29uU291cmNlOiBJY29uVmlldzwodmFsdWU6IFQpID0+IHN0cmluZz4sIHZhbHVlOiBUKTogSWNvblZpZXc8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuYW1lOiBpY29uU291cmNlLm5hbWUodmFsdWUpLFxyXG4gICAgICBjb2xvcjogaWNvblNvdXJjZS5jb2xvciA/IGljb25Tb3VyY2UuY29sb3IodmFsdWUpIDogdW5kZWZpbmVkLFxyXG4gICAgICB0b29sdGlwOiBpY29uU291cmNlLnRvb2x0aXAgPyBpY29uU291cmNlLnRvb2x0aXAodmFsdWUpIDogdW5kZWZpbmVkLFxyXG4gICAgICBwb3NpdGlvbjogaWNvblNvdXJjZS5wb3NpdGlvbixcclxuICAgICAgd3JhcHBlcjogaWNvblNvdXJjZS53cmFwcGVyID8ge2NvbG9yOiBpY29uU291cmNlLndyYXBwZXIuY29sb3IodmFsdWUpfSA6IHVuZGVmaW5lZFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export class DisplayColumnsFactory {
|
|
2
|
-
static create(tableConfig) {
|
|
3
|
-
return tableConfig.columnsCfg.map((tableColumn) => tableColumn.key);
|
|
4
|
-
}
|
|
5
|
-
}
|
|
1
|
+
export class DisplayColumnsFactory {
|
|
2
|
+
static create(tableConfig) {
|
|
3
|
+
return tableConfig.columnsCfg.map((tableColumn) => tableColumn.key);
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
6
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzcGxheUNvbHVtbnNGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9mYWN0b3JpZXMvRGlzcGxheUNvbHVtbnNGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxxQkFBcUI7SUFDekIsTUFBTSxDQUFDLE1BQU0sQ0FBSSxXQUEyQjtRQUNqRCxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBOEIsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3hGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sdW1uQ29uZmlnLCBUYWJsZUNvbmZpZ30gZnJvbSBcIi4uL21vZGVsL0NvbHVtbkNvbmZpZ1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIERpc3BsYXlDb2x1bW5zRmFjdG9yeSB7XHJcbiAgcHVibGljIHN0YXRpYyBjcmVhdGU8VD4odGFibGVDb25maWc6IFRhYmxlQ29uZmlnPFQ+KTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRhYmxlQ29uZmlnLmNvbHVtbnNDZmcubWFwKCh0YWJsZUNvbHVtbjogQ29sdW1uQ29uZmlnPGFueT4pID0+IHRhYmxlQ29sdW1uLmtleSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { MatTableDataSource } from "@angular/material/table";
|
|
2
|
-
import { TableRowsFactory } from "./TableRowsFactory";
|
|
3
|
-
export class MatTableDataSourceFactory {
|
|
4
|
-
/**
|
|
5
|
-
* Converts an array of data objects into MatTableDataSource.
|
|
6
|
-
* @param data Array of data objects to be converted.
|
|
7
|
-
* @param config Configuration settings for each column.
|
|
8
|
-
* @returns MatTableDataSource.
|
|
9
|
-
*/
|
|
10
|
-
static convert(data, config) {
|
|
11
|
-
let tableRows = TableRowsFactory.convert(data, config);
|
|
12
|
-
return new MatTableDataSource(tableRows);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
1
|
+
import { MatTableDataSource } from "@angular/material/table";
|
|
2
|
+
import { TableRowsFactory } from "./TableRowsFactory";
|
|
3
|
+
export class MatTableDataSourceFactory {
|
|
4
|
+
/**
|
|
5
|
+
* Converts an array of data objects into MatTableDataSource.
|
|
6
|
+
* @param data Array of data objects to be converted.
|
|
7
|
+
* @param config Configuration settings for each column.
|
|
8
|
+
* @returns MatTableDataSource.
|
|
9
|
+
*/
|
|
10
|
+
static convert(data, config) {
|
|
11
|
+
let tableRows = TableRowsFactory.convert(data, config);
|
|
12
|
+
return new MatTableDataSource(tableRows);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
15
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0VGFibGVEYXRhU291cmNlRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZmFjdG9yaWVzL01hdFRhYmxlRGF0YVNvdXJjZUZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUksSUFBUyxFQUFFLE1BQXlCO1FBQzNELElBQUksU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLGtCQUFrQixDQUFjLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sdW1uQ29uZmlnfSBmcm9tIFwiLi4vbW9kZWwvQ29sdW1uQ29uZmlnXCI7XHJcbmltcG9ydCB7VGFibGVSb3d9IGZyb20gXCIuLi9tb2RlbC9UYWJsZVJvd1wiO1xyXG5pbXBvcnQge01hdFRhYmxlRGF0YVNvdXJjZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7VGFibGVSb3dzRmFjdG9yeX0gZnJvbSBcIi4vVGFibGVSb3dzRmFjdG9yeVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1hdFRhYmxlRGF0YVNvdXJjZUZhY3Rvcnkge1xyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIGRhdGEgb2JqZWN0cyBpbnRvIE1hdFRhYmxlRGF0YVNvdXJjZS5cclxuICAgKiBAcGFyYW0gZGF0YSBBcnJheSBvZiBkYXRhIG9iamVjdHMgdG8gYmUgY29udmVydGVkLlxyXG4gICAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgZWFjaCBjb2x1bW4uXHJcbiAgICogQHJldHVybnMgTWF0VGFibGVEYXRhU291cmNlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgY29udmVydDxUPihkYXRhOiBUW10sIGNvbmZpZzogQ29sdW1uQ29uZmlnPFQ+W10pOiBNYXRUYWJsZURhdGFTb3VyY2U8VGFibGVSb3c8VD4+IHtcclxuICAgIGxldCB0YWJsZVJvd3MgPSBUYWJsZVJvd3NGYWN0b3J5LmNvbnZlcnQoZGF0YSwgY29uZmlnKTtcclxuICAgIHJldHVybiBuZXcgTWF0VGFibGVEYXRhU291cmNlPFRhYmxlUm93PFQ+Pih0YWJsZVJvd3MpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { TableRow } from "../model/TableRow";
|
|
2
|
-
export class TableRowsFactory {
|
|
3
|
-
/**
|
|
4
|
-
* Converts an array of data objects into an array of TableRow objects.
|
|
5
|
-
* @param data Array of data objects to be converted.
|
|
6
|
-
* @param config Configuration settings for each column.
|
|
7
|
-
* @returns An array of TableRow objects.
|
|
8
|
-
*/
|
|
9
|
-
static convert(data, config) {
|
|
10
|
-
return data.map((obj, index) => this.createTableRow(index, obj, config));
|
|
11
|
-
}
|
|
12
|
-
static createTableRow(id, obj, config) {
|
|
13
|
-
const row = new TableRow(id, obj);
|
|
14
|
-
config.forEach(c => row[c.key] = c.valueConverter(obj));
|
|
15
|
-
return row;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
1
|
+
import { TableRow } from "../model/TableRow";
|
|
2
|
+
export class TableRowsFactory {
|
|
3
|
+
/**
|
|
4
|
+
* Converts an array of data objects into an array of TableRow objects.
|
|
5
|
+
* @param data Array of data objects to be converted.
|
|
6
|
+
* @param config Configuration settings for each column.
|
|
7
|
+
* @returns An array of TableRow objects.
|
|
8
|
+
*/
|
|
9
|
+
static convert(data, config) {
|
|
10
|
+
return data.map((obj, index) => this.createTableRow(index, obj, config));
|
|
11
|
+
}
|
|
12
|
+
static createTableRow(id, obj, config) {
|
|
13
|
+
const row = new TableRow(id, obj);
|
|
14
|
+
config.forEach(c => row[c.key] = c.valueConverter(obj));
|
|
15
|
+
return row;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
18
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVSb3dzRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZmFjdG9yaWVzL1RhYmxlUm93c0ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0I7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFJLElBQVMsRUFBRSxNQUF5QjtRQUMzRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sTUFBTSxDQUFDLGNBQWMsQ0FBSSxFQUFVLEVBQUUsR0FBTSxFQUFFLE1BQXlCO1FBQzVFLE1BQU0sR0FBRyxHQUFHLElBQUksUUFBUSxDQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbHVtbkNvbmZpZ30gZnJvbSBcIi4uL21vZGVsL0NvbHVtbkNvbmZpZ1wiO1xyXG5pbXBvcnQge1RhYmxlUm93fSBmcm9tIFwiLi4vbW9kZWwvVGFibGVSb3dcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVJvd3NGYWN0b3J5IHtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgZGF0YSBvYmplY3RzIGludG8gYW4gYXJyYXkgb2YgVGFibGVSb3cgb2JqZWN0cy5cclxuICAgKiBAcGFyYW0gZGF0YSBBcnJheSBvZiBkYXRhIG9iamVjdHMgdG8gYmUgY29udmVydGVkLlxyXG4gICAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgZWFjaCBjb2x1bW4uXHJcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgVGFibGVSb3cgb2JqZWN0cy5cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIGNvbnZlcnQ8VD4oZGF0YTogVFtdLCBjb25maWc6IENvbHVtbkNvbmZpZzxUPltdKTogVGFibGVSb3c8VD5bXSB7XHJcbiAgICByZXR1cm4gZGF0YS5tYXAoKG9iaiwgaW5kZXgpID0+IHRoaXMuY3JlYXRlVGFibGVSb3coaW5kZXgsIG9iaiwgY29uZmlnKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVUYWJsZVJvdzxUPihpZDogbnVtYmVyLCBvYmo6IFQsIGNvbmZpZzogQ29sdW1uQ29uZmlnPFQ+W10pOiBUYWJsZVJvdzxUPiB7XHJcbiAgICBjb25zdCByb3cgPSBuZXcgVGFibGVSb3c8VD4oaWQsIG9iaik7XHJcbiAgICBjb25maWcuZm9yRWFjaChjID0+IHJvd1tjLmtleV0gPSBjLnZhbHVlQ29udmVydGVyKG9iaikpO1xyXG4gICAgcmV0dXJuIHJvdztcclxuICB9XHJcbn1cclxuIl19
|