ngx-aur-mat-table 12.2.50 → 13.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/lib/components/column-value/column-view.component.mjs +18 -0
- package/{esm2015/lib/data-property-getter-pipe/data-property-getter.pipe.js → esm2020/lib/data-property-getter-pipe/data-property-getter.pipe.mjs} +4 -4
- package/{esm2015/lib/directive/ngx-table-sub-footer-row.directive.js → esm2020/lib/directive/ngx-table-sub-footer-row.directive.mjs} +4 -4
- package/esm2020/lib/filters/NgxAurFilters.mjs +218 -0
- package/esm2020/lib/model/TableViewFactory.mjs +61 -0
- package/esm2020/lib/ngx-aur-mat-table.component.mjs +313 -0
- package/{esm2015/lib/ngx-aur-mat-table.module.js → esm2020/lib/ngx-aur-mat-table.module.mjs} +5 -5
- package/esm2020/lib/providers/IndexProvider.mjs +65 -0
- package/esm2020/lib/providers/SelectionProvider.mjs +77 -0
- package/esm2020/lib/providers/TotalRowProvider.mjs +42 -0
- package/fesm2015/{ngx-aur-mat-table.js → ngx-aur-mat-table.mjs} +22 -31
- package/fesm2015/ngx-aur-mat-table.mjs.map +1 -0
- package/fesm2020/ngx-aur-mat-table.mjs +1220 -0
- package/fesm2020/ngx-aur-mat-table.mjs.map +1 -0
- package/package.json +19 -6
- package/bundles/ngx-aur-mat-table.umd.js +0 -1955
- package/bundles/ngx-aur-mat-table.umd.js.map +0 -1
- package/esm2015/lib/components/column-value/column-view.component.js +0 -22
- package/esm2015/lib/filters/NgxAurFilters.js +0 -220
- package/esm2015/lib/model/TableViewFactory.js +0 -62
- package/esm2015/lib/ngx-aur-mat-table.component.js +0 -323
- package/esm2015/lib/providers/IndexProvider.js +0 -65
- package/esm2015/lib/providers/SelectionProvider.js +0 -77
- package/esm2015/lib/providers/TotalRowProvider.js +0 -43
- package/fesm2015/ngx-aur-mat-table.js.map +0 -1
- /package/{esm2015/lib/factories/ActionViewFactory.js → esm2020/lib/factories/ActionViewFactory.mjs} +0 -0
- /package/{esm2015/lib/factories/DisplayColumnsFactory.js → esm2020/lib/factories/DisplayColumnsFactory.mjs} +0 -0
- /package/{esm2015/lib/factories/MatTableDataSourceFactory.js → esm2020/lib/factories/MatTableDataSourceFactory.mjs} +0 -0
- /package/{esm2015/lib/factories/TableRowsFactory.js → esm2020/lib/factories/TableRowsFactory.mjs} +0 -0
- /package/{esm2015/lib/model/ColumnConfig.js → esm2020/lib/model/ColumnConfig.mjs} +0 -0
- /package/{esm2015/lib/model/EmptyValue.js → esm2020/lib/model/EmptyValue.mjs} +0 -0
- /package/{esm2015/lib/model/TableRow.js → esm2020/lib/model/TableRow.mjs} +0 -0
- /package/{esm2015/lib/ngx-aur-mat-table-filterable.js → esm2020/lib/ngx-aur-mat-table-filterable.mjs} +0 -0
- /package/{esm2015/lib/ngx-aur-mat-table-public.js → esm2020/lib/ngx-aur-mat-table-public.mjs} +0 -0
- /package/{esm2015/lib/ngx-aur-mat-table-selection-model.js → esm2020/lib/ngx-aur-mat-table-selection-model.mjs} +0 -0
- /package/{esm2015/lib/providers/AbstractProvider.js → esm2020/lib/providers/AbstractProvider.mjs} +0 -0
- /package/{esm2015/lib/providers/PaginationProvider.js → esm2020/lib/providers/PaginationProvider.mjs} +0 -0
- /package/{esm2015/lib/providers/RowActionProvider.js → esm2020/lib/providers/RowActionProvider.mjs} +0 -0
- /package/{esm2015/lib/style-builder/style-builder.js → esm2020/lib/style-builder/style-builder.mjs} +0 -0
- /package/{esm2015/lib/utils/ngx-aur-table-config.util.js → esm2020/lib/utils/ngx-aur-table-config.util.mjs} +0 -0
- /package/{esm2015/lib/utils/offset.util.js → esm2020/lib/utils/offset.util.mjs} +0 -0
- /package/{esm2015/ngx-aur-mat-table.js → esm2020/ngx-aur-mat-table.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/icon";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "@angular/material/tooltip";
|
|
6
|
+
export class ColumnViewComponent {
|
|
7
|
+
}
|
|
8
|
+
ColumnViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ColumnViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
ColumnViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", 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"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2NvbHVtbi12YWx1ZS9jb2x1bW4tdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvY29sdW1uLXZhbHVlL2NvbHVtbi12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2RCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO29HQUFuQixtQkFBbUIscUdDUmhDLGt1QkEwQkE7MkZEbEJhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7OEJBS2xCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbHVtblZpZXd9IGZyb20gXCIuLi8uLi9tb2RlbC9Db2x1bW5Db25maWdcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvbHVtbi12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLXZpZXcuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtblZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBjb25maWc6IENvbHVtblZpZXc8c3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJhbGlnbi1jb250YWluZXJcIj5cbiAgPGRpdiAgW25nQ2xhc3NdPVwieydjaXJjbGUnOiBjb25maWc/Lmljb24/LndyYXBwZXJ9XCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY29uZmlnPy5pY29uPy53cmFwcGVyPy5jb2xvclwiXG4gID5cbiAgICA8bWF0LWljb24gKm5nSWY9XCJjb25maWc/Lmljb25cIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJjb25maWc/Lmljb24/LnRvb2x0aXA/LnRvU3RyaW5nKCkgfHwgJydcIlxuICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY29uZmlnPy5pY29uPy5jb2xvclwiXG4gICAgPlxuICAgICAge3tjb25maWc/Lmljb24/Lm5hbWV9fVxuICAgIDwvbWF0LWljb24+XG4gIDwvZGl2PlxuXG4gIDxpbWdcbiAgICAqbmdJZj1cImNvbmZpZz8uaW1hZ2U/LnNyY1wiXG4gICAgW3NyY109XCJjb25maWc/LmltYWdlPy5zcmNcIlxuICAgIFtzdHlsZS5oZWlnaHRdPVwiY29uZmlnPy5pbWFnZT8uaGVpZ2h0XCJcbiAgICBbc3R5bGUud2lkdGhdPVwiY29uZmlnPy5pbWFnZT8ud2lkdGhcIlxuICAgIGFsdD1cImltZ1wiXG4gID5cblxuICA8c3BhbiAqbmdJZj1cImNvbmZpZz8udGV4dD8uc2hvdyAhPSBmYWxzZVwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cImNvbmZpZz8udGV4dD8udG9vbHRpcD8udG9TdHJpbmcoKSB8fCAnJ1wiXG4gID5cbiAgICAgICB7e3ZhbHVlfX1cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
@@ -5,12 +5,12 @@ export class DataPropertyGetterPipe {
|
|
|
5
5
|
return object[keyName];
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
DataPropertyGetterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
DataPropertyGetterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8
|
+
DataPropertyGetterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DataPropertyGetterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
9
|
+
DataPropertyGetterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DataPropertyGetterPipe, name: "dataPropertyGetter" });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DataPropertyGetterPipe, decorators: [{
|
|
11
11
|
type: Pipe,
|
|
12
12
|
args: [{
|
|
13
13
|
name: 'dataPropertyGetter'
|
|
14
14
|
}]
|
|
15
15
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wcm9wZXJ0eS1nZXR0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZGF0YS1wcm9wZXJ0eS1nZXR0ZXItcGlwZS9kYXRhLXByb3BlcnR5LWdldHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUtsRCxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLFNBQVMsQ0FBQyxNQUFXLEVBQUUsT0FBZSxFQUFFLEdBQUcsSUFBZTtRQUN4RCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QixDQUFDOzttSEFKVSxzQkFBc0I7aUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxvQkFBb0I7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZGF0YVByb3BlcnR5R2V0dGVyJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YVByb3BlcnR5R2V0dGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0ob2JqZWN0OiBhbnksIGtleU5hbWU6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdW5rbm93biB7XHJcbiAgICByZXR1cm4gb2JqZWN0W2tleU5hbWVdO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -3,12 +3,12 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export class NgxTableSubFooterRowDirective {
|
|
4
4
|
constructor() { }
|
|
5
5
|
}
|
|
6
|
-
NgxTableSubFooterRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7
|
-
NgxTableSubFooterRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6
|
+
NgxTableSubFooterRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxTableSubFooterRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
7
|
+
NgxTableSubFooterRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: NgxTableSubFooterRowDirective, selector: "[ngxAurTableSubFooterRow]", ngImport: i0 });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: NgxTableSubFooterRowDirective, decorators: [{
|
|
9
9
|
type: Directive,
|
|
10
10
|
args: [{
|
|
11
11
|
selector: '[ngxAurTableSubFooterRow]'
|
|
12
12
|
}]
|
|
13
13
|
}], ctorParameters: function () { return []; } });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRhYmxlLXN1Yi1mb290ZXItcm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZGlyZWN0aXZlL25neC10YWJsZS1zdWItZm9vdGVyLXJvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFLeEMsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QyxnQkFBZSxDQUFDOzswSEFETCw2QkFBNkI7OEdBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmd4QXVyVGFibGVTdWJGb290ZXJSb3ddJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hUYWJsZVN1YkZvb3RlclJvd0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
export var NgxAurFilters;
|
|
2
|
+
(function (NgxAurFilters) {
|
|
3
|
+
/**
|
|
4
|
+
* Base abstract class for filter.
|
|
5
|
+
* Defines a common interface for all filters.
|
|
6
|
+
* @template T The type of data to be filtered.
|
|
7
|
+
*/
|
|
8
|
+
class Base {
|
|
9
|
+
constructor() {
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
NgxAurFilters.Base = Base;
|
|
13
|
+
class ExtractableProperty extends Base {
|
|
14
|
+
}
|
|
15
|
+
NgxAurFilters.ExtractableProperty = ExtractableProperty;
|
|
16
|
+
/**
|
|
17
|
+
* Class for filtering data based on a single value.
|
|
18
|
+
* @template T The type of data to be filtered.
|
|
19
|
+
* @template V The type of the value used for filtering.
|
|
20
|
+
*/
|
|
21
|
+
class ValueSingle extends ExtractableProperty {
|
|
22
|
+
constructor(value) {
|
|
23
|
+
super();
|
|
24
|
+
this.value = value;
|
|
25
|
+
}
|
|
26
|
+
equals(other) {
|
|
27
|
+
return this.value === other.value;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
NgxAurFilters.ValueSingle = ValueSingle;
|
|
31
|
+
/**
|
|
32
|
+
* Class for filtering data based on an array of values.
|
|
33
|
+
* @template T The type of data to be filtered.
|
|
34
|
+
* @template V The type of the values used for filtering.
|
|
35
|
+
*/
|
|
36
|
+
class ValueArray extends ExtractableProperty {
|
|
37
|
+
constructor(values) {
|
|
38
|
+
super();
|
|
39
|
+
this.values = values;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
NgxAurFilters.ValueArray = ValueArray;
|
|
43
|
+
/**
|
|
44
|
+
* Class for filtering data based on a set of values.
|
|
45
|
+
* @template T The type of data to be filtered.
|
|
46
|
+
* @template V The type of the values used for filtering.
|
|
47
|
+
*/
|
|
48
|
+
class ValueSet extends ExtractableProperty {
|
|
49
|
+
constructor(values) {
|
|
50
|
+
super();
|
|
51
|
+
this.values = values;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
NgxAurFilters.ValueSet = ValueSet;
|
|
55
|
+
/**
|
|
56
|
+
* Class for filtering data within a min-max range.
|
|
57
|
+
* @template T The type of data to be filtered.
|
|
58
|
+
* @template V The type of the values defining the range.
|
|
59
|
+
*/
|
|
60
|
+
class ValueMinMax extends ExtractableProperty {
|
|
61
|
+
constructor(_min, _max) {
|
|
62
|
+
super();
|
|
63
|
+
this._min = _min;
|
|
64
|
+
this._max = _max;
|
|
65
|
+
}
|
|
66
|
+
get min() {
|
|
67
|
+
return this._min;
|
|
68
|
+
}
|
|
69
|
+
get max() {
|
|
70
|
+
return this._max;
|
|
71
|
+
}
|
|
72
|
+
equals(other) {
|
|
73
|
+
return this._min === other._min && this._max === other._max;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
NgxAurFilters.ValueMinMax = ValueMinMax;
|
|
77
|
+
/**
|
|
78
|
+
* Class for filtering data within a min-max range.
|
|
79
|
+
* @template T The type of data to be filtered.
|
|
80
|
+
* @template V The type of the values defining the range.
|
|
81
|
+
*/
|
|
82
|
+
class ValueMinMaxNumber extends ValueMinMax {
|
|
83
|
+
constructor(min, max) {
|
|
84
|
+
super(min, max);
|
|
85
|
+
}
|
|
86
|
+
get min() {
|
|
87
|
+
return this._min ?? Number.MIN_VALUE;
|
|
88
|
+
}
|
|
89
|
+
get max() {
|
|
90
|
+
return this._max ?? Number.MAX_VALUE;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
NgxAurFilters.ValueMinMaxNumber = ValueMinMaxNumber;
|
|
94
|
+
/**
|
|
95
|
+
* Abstract class for filtering data based on whether a specific property
|
|
96
|
+
* of the data, when trimmed and converted to lower case, contains a specified
|
|
97
|
+
* substring, also trimmed and converted to lower case.
|
|
98
|
+
* @template T The type of data to be filtered.
|
|
99
|
+
*/
|
|
100
|
+
class ContainsStringIgnoreCase extends ValueSingle {
|
|
101
|
+
filterFn() {
|
|
102
|
+
return (data) => {
|
|
103
|
+
const given = this.extractProperty(data);
|
|
104
|
+
return given?.toLowerCase().includes(this.value?.toLowerCase());
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
NgxAurFilters.ContainsStringIgnoreCase = ContainsStringIgnoreCase;
|
|
109
|
+
class EqualString extends ValueSingle {
|
|
110
|
+
filterFn() {
|
|
111
|
+
return (data) => {
|
|
112
|
+
const given = this.extractProperty(data);
|
|
113
|
+
return given === this.value;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
NgxAurFilters.EqualString = EqualString;
|
|
118
|
+
class EqualNumber extends ValueSingle {
|
|
119
|
+
filterFn() {
|
|
120
|
+
return (data) => {
|
|
121
|
+
const given = this.extractProperty(data);
|
|
122
|
+
return given === this.value;
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
NgxAurFilters.EqualNumber = EqualNumber;
|
|
127
|
+
class LessNumber extends ValueSingle {
|
|
128
|
+
filterFn() {
|
|
129
|
+
return (data) => {
|
|
130
|
+
const given = this.extractProperty(data);
|
|
131
|
+
return given < this.value;
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
NgxAurFilters.LessNumber = LessNumber;
|
|
136
|
+
class LessOrEqualNumber extends ValueSingle {
|
|
137
|
+
filterFn() {
|
|
138
|
+
return (data) => {
|
|
139
|
+
const given = this.extractProperty(data);
|
|
140
|
+
return given <= this.value;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
NgxAurFilters.LessOrEqualNumber = LessOrEqualNumber;
|
|
145
|
+
class MoreNumber extends ValueSingle {
|
|
146
|
+
filterFn() {
|
|
147
|
+
return (data) => {
|
|
148
|
+
const given = this.extractProperty(data);
|
|
149
|
+
return given > this.value;
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
NgxAurFilters.MoreNumber = MoreNumber;
|
|
154
|
+
class MoreOrEqualNumber extends ValueSingle {
|
|
155
|
+
filterFn() {
|
|
156
|
+
return (data) => {
|
|
157
|
+
const given = this.extractProperty(data);
|
|
158
|
+
return given >= this.value;
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
NgxAurFilters.MoreOrEqualNumber = MoreOrEqualNumber;
|
|
163
|
+
class NumberRangeInclMinExclMax extends ValueMinMaxNumber {
|
|
164
|
+
filterFn() {
|
|
165
|
+
return (data) => {
|
|
166
|
+
const given = this.extractProperty(data);
|
|
167
|
+
return given >= this.min && given < this.max;
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
NgxAurFilters.NumberRangeInclMinExclMax = NumberRangeInclMinExclMax;
|
|
172
|
+
class NumberRangeExclMinInclMax extends ValueMinMaxNumber {
|
|
173
|
+
filterFn() {
|
|
174
|
+
return (data) => {
|
|
175
|
+
const given = this.extractProperty(data);
|
|
176
|
+
return given > this.min && given <= this.max;
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
NgxAurFilters.NumberRangeExclMinInclMax = NumberRangeExclMinInclMax;
|
|
181
|
+
class NumberRangeInclMinInclMax extends ValueMinMaxNumber {
|
|
182
|
+
filterFn() {
|
|
183
|
+
return (data) => {
|
|
184
|
+
const given = this.extractProperty(data);
|
|
185
|
+
return given >= this.min && given <= this.max;
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
NgxAurFilters.NumberRangeInclMinInclMax = NumberRangeInclMinInclMax;
|
|
190
|
+
class NumberRangeExclMinExclMax extends ValueMinMaxNumber {
|
|
191
|
+
filterFn() {
|
|
192
|
+
return (data) => {
|
|
193
|
+
const given = this.extractProperty(data);
|
|
194
|
+
return given > this.min && given < this.max;
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
NgxAurFilters.NumberRangeExclMinExclMax = NumberRangeExclMinExclMax;
|
|
199
|
+
class hasInSet extends ValueSet {
|
|
200
|
+
filterFn() {
|
|
201
|
+
return (data) => {
|
|
202
|
+
const given = this.extractProperty(data);
|
|
203
|
+
return this.values.has(given);
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
NgxAurFilters.hasInSet = hasInSet;
|
|
208
|
+
class notHasInSet extends ValueSet {
|
|
209
|
+
filterFn() {
|
|
210
|
+
return (data) => {
|
|
211
|
+
const given = this.extractProperty(data);
|
|
212
|
+
return !this.values.has(given);
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
NgxAurFilters.notHasInSet = notHasInSet;
|
|
217
|
+
})(NgxAurFilters || (NgxAurFilters = {}));
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4QXVyRmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZmlsdGVycy9OZ3hBdXJGaWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sS0FBVyxhQUFhLENBOFE3QjtBQTlRRCxXQUFpQixhQUFhO0lBRTVCOzs7O09BSUc7SUFDSCxNQUFzQixJQUFJO1FBRXhCO1FBQ0EsQ0FBQztLQWdDRjtJQW5DcUIsa0JBQUksT0FtQ3pCLENBQUE7SUFFRCxNQUFzQixtQkFBMEIsU0FBUSxJQUFPO0tBRTlEO0lBRnFCLGlDQUFtQixzQkFFeEMsQ0FBQTtJQUdEOzs7O09BSUc7SUFDSCxNQUFzQixXQUFrQixTQUFRLG1CQUF5QjtRQUV2RSxZQUFtQixLQUFRO1lBQ3pCLEtBQUssRUFBRSxDQUFDO1lBRFMsVUFBSyxHQUFMLEtBQUssQ0FBRztRQUUzQixDQUFDO1FBRVEsTUFBTSxDQUFDLEtBQXdCO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BDLENBQUM7S0FDRjtJQVRxQix5QkFBVyxjQVNoQyxDQUFBO0lBRUQ7Ozs7T0FJRztJQUNILE1BQXNCLFVBQWlCLFNBQVEsbUJBQXlCO1FBRXRFLFlBQW1CLE1BQVc7WUFDNUIsS0FBSyxFQUFFLENBQUM7WUFEUyxXQUFNLEdBQU4sTUFBTSxDQUFLO1FBRTlCLENBQUM7S0FDRjtJQUxxQix3QkFBVSxhQUsvQixDQUFBO0lBRUQ7Ozs7T0FJRztJQUNILE1BQXNCLFFBQWUsU0FBUSxtQkFBeUI7UUFFcEUsWUFBbUIsTUFBYztZQUMvQixLQUFLLEVBQUUsQ0FBQztZQURTLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFakMsQ0FBQztLQUNGO0lBTHFCLHNCQUFRLFdBSzdCLENBQUE7SUFFRDs7OztPQUlHO0lBQ0gsTUFBc0IsV0FBa0IsU0FBUSxtQkFB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T0FBTyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNkLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUM7UUFDSixDQUFDO0tBQ0Y7SUFScUIseUJBQVcsY0FRaEMsQ0FBQTtBQUVILENBQUMsRUE5UWdCLGFBQWEsS0FBYixhQUFhLFFBOFE3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGFibGVSb3d9IGZyb20gXCIuLi9tb2RlbC9UYWJsZVJvd1wiO1xyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBOZ3hBdXJGaWx0ZXJzIHtcclxuXHJcbiAgLyoqXHJcbiAgICogQmFzZSBhYnN0cmFjdCBjbGFzcyBmb3IgZmlsdGVyLlxyXG4gICAqIERlZmluZXMgYSBjb21tb24gaW50ZXJmYWNlIGZvciBhbGwgZmlsdGVycy5cclxuICAgKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiBkYXRhIHRvIGJlIGZpbHRlcmVkLlxyXG4gICAqL1xyXG4gIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlPFQ+IHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFic3RyYWN0IG1ldGhvZCB0byBjcmVhdGUgYSBmaWx0ZXIgZnVuY3Rpb24gZm9yIHVzZSB3aXRoIEFuZ3VsYXIgTWF0ZXJpYWwncyBNYXRUYWJsZS5cclxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBhcyB0aGUgZmlsdGVyaW5nIGxvZ2ljIGFwcGxpZWQgdG8gdGhlIGRhdGEgZGlzcGxheWVkIGluIHRoZSB0YWJsZS5cclxuICAgICAqIEl0IG11c3QgYmUgb3ZlcnJpZGRlbiBpbiBzdWJjbGFzc2VzIHRvIHByb3ZpZGUgY3VzdG9tIGZpbHRlciBjcml0ZXJpYS5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyBBIGZpbHRlciBmdW5jdGlvbiB0aGF0IHRha2VzIGEgc2luZ2xlIHBhcmFtZXRlcjpcclxuICAgICAqICAgIC0gYGRhdGFgOiBBbiBpbmRpdmlkdWFsIGRhdGEgaXRlbSBmcm9tIHRoZSBNYXRUYWJsZSBkYXRhIHNvdXJjZS4gVGhpcyByZXByZXNlbnRzXHJcbiAgICAgKiAgICAgIGEgc2luZ2xlIHJvdyBvZiBkYXRhIGluIHRoZSB0YWJsZS4gVGhlIHR5cGUgb2YgYGRhdGFgIGlzIGRlZmluZWQgYnkgdGhlIGdlbmVyaWNcclxuICAgICAqICAgICAgdHlwZSBwYXJhbWV0ZXIgJ1QnLlxyXG4gICAgICpcclxuICAgICAqIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgYm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGBkYXRhYCBpdGVtXHJcbiAgICAgKiBzYXRpc2ZpZXMgdGhlIGZpbHRlciBjcml0ZXJpYS4gVGhlIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIHRoZSBmaWx0ZXIgbG9naWNcclxuICAgICAqIHdpbGwgdmFyeSBkZXBlbmRpbmcgb24gdGhlIGFwcGxpY2F0aW9uJ3MgcmVxdWlyZW1lbnRzIGFuZCB0aGUgbmF0dXJlIG9mIHRoZSBkYXRhLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgZmlsdGVyRm4oKTogKGRhdGE6IFRhYmxlUm93PFQ+KSA9PiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjdXJyZW50IGZpbHRlciBpcyBlcXVpdmFsZW50IHRvIGFub3RoZXIgZmlsdGVyLlxyXG4gICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBjb21wYXJlIHRoZSBjdXJyZW50IGFwcGxpZWQgZmlsdGVyIHdpdGggYSBuZXcgZmlsdGVyLlxyXG4gICAgICogSWYgdGhlIGZpbHRlcnMgYXJlIGVxdWl2YWxlbnQsIHRoZSBtZXRob2Qgc2hvdWxkIHJldHVybiBgdHJ1ZWAsIGluZGljYXRpbmcgdGhhdFxyXG4gICAgICogdGhlIGRhdGEgdGFibGUgZG9lcyBub3QgbmVlZCB0byBiZSByZWJ1aWx0LiBJZiB0aGV5IGFyZSBub3QgZXF1aXZhbGVudCwgaXQgc2hvdWxkXHJcbiAgICAgKiByZXR1cm4gYGZhbHNlYCwgaW5kaWNhdGluZyB0aGF0IHRoZSB0YWJsZSBzaG91bGQgYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBuZXcgZmlsdGVyLlxyXG4gICAgICpcclxuICAgICAqIEltcGxlbWVudGluZyB0aGlzIG1ldGhvZCBpbiBzdWJjbGFzc2VzIGFsbG93cyBmb3Igb3B0aW1pemVkIHJlbmRlcmluZyBieSBhdm9pZGluZ1xyXG4gICAgICogdW5uZWNlc3NhcnkgdGFibGUgdXBkYXRlcyB3aGVuIHRoZSBmaWx0ZXIgY3JpdGVyaWEgaGF2ZSBub3QgYWN0dWFsbHkgY2hhbmdlZC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gb3RoZXIgVGhlIGZpbHRlciB0byBjb21wYXJlIHdpdGggdGhlIGN1cnJlbnQgZmlsdGVyLlxyXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBjdXJyZW50IGZpbHRlciBhbmQgdGhlIGBvdGhlcmAgZmlsdGVyIGFyZSBlcXVpdmFsZW50LCBvdGhlcndpc2UgYGZhbHNlYC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFic3RyYWN0IGVxdWFscyhvdGhlcjogQmFzZTxUPik6IGJvb2xlYW47XHJcbiAgfVxyXG5cclxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgRXh0cmFjdGFibGVQcm9wZXJ0eTxULCBWPiBleHRlbmRzIEJhc2U8VD4ge1xyXG4gICAgYWJzdHJhY3QgZXh0cmFjdFByb3BlcnR5KGRhdGE6IFRhYmxlUm93PFQ+KTogVjtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBDbGFzcyBmb3IgZmlsdGVyaW5nIGRhdGEgYmFzZWQgb24gYSBzaW5nbGUgdmFsdWUuXHJcbiAgICogQHRlbXBsYXRlIFQgVGhlIHR5cGUgb2YgZGF0YSB0byBiZSBmaWx0ZXJlZC5cclxuICAgKiBAdGVtcGxhdGUgViBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgdXNlZCBmb3IgZmlsdGVyaW5nLlxyXG4gICAqL1xyXG4gIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWYWx1ZVNpbmdsZTxULCBWPiBleHRlbmRzIEV4dHJhY3RhYmxlUHJvcGVydHk8VCwgVj4ge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWx1ZTogVikge1xyXG4gICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIGVxdWFscyhvdGhlcjogVmFsdWVTaW5nbGU8VCwgVj4pOiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG90aGVyLnZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xhc3MgZm9yIGZpbHRlcmluZyBkYXRhIGJhc2VkIG9uIGFuIGFycmF5IG9mIHZhbHVlcy5cclxuICAgKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiBkYXRhIHRvIGJlIGZpbHRlcmVkLlxyXG4gICAqIEB0ZW1wbGF0ZSBWIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZXMgdXNlZCBmb3IgZmlsdGVyaW5nLlxyXG4gICAqL1xyXG4gIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWYWx1ZUFycmF5PFQsIFY+IGV4dGVuZHMgRXh0cmFjdGFibGVQcm9wZXJ0eTxULCBWPiB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIHZhbHVlczogVltdKSB7XHJcbiAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGFzcyBmb3IgZmlsdGVyaW5nIGRhdGEgYmFzZWQgb24gYSBzZXQgb2YgdmFsdWVzLlxyXG4gICAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIG9mIGRhdGEgdG8gYmUgZmlsdGVyZWQuXHJcbiAgICogQHRlbXBsYXRlIFYgVGhlIHR5cGUgb2YgdGhlIHZhbHVlcyB1c2VkIGZvciBmaWx0ZXJpbmcuXHJcbiAgICovXHJcbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZhbHVlU2V0PFQsIFY+IGV4dGVuZHMgRXh0cmFjdGFibGVQcm9wZXJ0eTxULCBWPiB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIHZhbHVlczogU2V0PFY+KSB7XHJcbiAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGFzcyBmb3IgZmlsdGVyaW5nIGRhdGEgd2l0aGluIGEgbWluLW1heCByYW5nZS5cclxuICAgKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiBkYXRhIHRvIGJlIGZpbHRlcmVkLlxyXG4gICAqIEB0ZW1wbGF0ZSBWIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZXMgZGVmaW5pbmcgdGhlIHJhbmdlLlxyXG4gICAqL1xyXG4gIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWYWx1ZU1pbk1heDxULCBWPiBleHRlbmRzIEV4dHJhY3RhYmxlUHJvcGVydHk8VCwgVj4ge1xyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9taW46IFYsXHJcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX21heDogVikge1xyXG4gICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBtaW4oKTogViB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9taW47XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IG1heCgpOiBWIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX21heDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb3ZlcnJpZGUgZXF1YWxzKG90aGVyOiBWYWx1ZU1pbk1heDxULCBWPik6IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fbWluID09PSBvdGhlci5fbWluICYmIHRoaXMuX21heCA9PT0gb3RoZXIuX21heDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsYXNzIGZvciBmaWx0ZXJpbmcgZGF0YSB3aXRoaW4gYSBtaW4tbWF4IHJhbmdlLlxyXG4gICAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIG9mIGRhdGEgdG8gYmUgZmlsdGVyZWQuXHJcbiAgICogQHRlbXBsYXRlIFYgVGhlIHR5cGUgb2YgdGhlIHZhbHVlcyBkZWZpbmluZyB0aGUgcmFuZ2UuXHJcbiAgICovXHJcbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZhbHVlTWluTWF4TnVtYmVyPFQ+IGV4dGVuZHMgVmFsdWVNaW5NYXg8VCwgbnVtYmVyPiB7XHJcbiAgICBjb25zdHJ1Y3RvcihtaW46IG51bWJlcixcclxuICAgICAgICAgICAgICAgIG1heDogbnVtYmVyKSB7XHJcbiAgICAgIHN1cGVyKG1pbiwgbWF4KTtcclxuICAgIH1cclxuXHJcbiAgICBvdmVycmlkZSBnZXQgbWluKCk6IG51bWJlciB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9taW4gPz8gTnVtYmVyLk1JTl9WQUxVRTtcclxuICAgIH1cclxuXHJcbiAgICBvdmVycmlkZSBnZXQgbWF4KCk6IG51bWJlciB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9tYXggPz8gTnVtYmVyLk1BWF9WQUxVRTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFic3RyYWN0IGNsYXNzIGZvciBmaWx0ZXJpbmcgZGF0YSBiYXNlZCBvbiB3aGV0aGVyIGEgc3BlY2lmaWMgcHJvcGVydHlcclxuICAgKiBvZiB0aGUgZGF0YSwgd2hlbiB0cmltbWVkIGFuZCBjb252ZXJ0ZWQgdG8gbG93ZXIgY2FzZSwgY29udGFpbnMgYSBzcGVjaWZpZWRcclxuICAgKiBzdWJzdHJpbmcsIGFsc28gdHJpbW1lZCBhbmQgY29udmVydGVkIHRvIGxvd2VyIGNhc2UuXHJcbiAgICogQHRlbXBsYXRlIFQgVGhlIHR5cGUgb2YgZGF0YSB0byBiZSBmaWx0ZXJlZC5cclxuICAgKi9cclxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29udGFpbnNTdHJpbmdJZ25vcmVDYXNlPFQ+IGV4dGVuZHMgVmFsdWVTaW5nbGU8VCwgc3RyaW5nPiB7XHJcblxyXG4gICAgcHVibGljIG92ZXJyaWRlIGZpbHRlckZuKCk6IChkYXRhOiBUYWJsZVJvdzxUPikgPT4gYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGdpdmVuID0gdGhpcy5leHRyYWN0UHJvcGVydHkoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIGdpdmVuPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMudmFsdWU/LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVxdWFsU3RyaW5nPFQ+IGV4dGVuZHMgVmFsdWVTaW5nbGU8VCwgc3RyaW5nPiB7XHJcblxyXG4gICAgcHVibGljIG92ZXJyaWRlIGZpbHRlckZuKCk6IChkYXRhOiBUYWJsZVJvdzxUPikgPT4gYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGdpdmVuID0gdGhpcy5leHRyYWN0UHJvcGVydHkoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIGdpdmVuID09PSB0aGlzLnZhbHVlO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVxdWFsTnVtYmVyPFQ+IGV4dGVuZHMgVmFsdWVTaW5nbGU8VCwgbnVtYmVyPiB7XHJcblxyXG4gICAgcHVibGljIG92ZXJyaWRlIGZpbHRlckZuKCk6IChkYXRhOiBUYWJsZVJvdzxUPikgPT4gYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGdpdmVuID0gdGhpcy5leHRyYWN0UHJvcGVydHkoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIGdpdmVuID09PSB0aGlzLnZhbHVlO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIExlc3NOdW1iZXI8VD4gZXh0ZW5kcyBWYWx1ZVNpbmdsZTxULCBudW1iZXI+IHtcclxuXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZmlsdGVyRm4oKTogKGRhdGE6IFRhYmxlUm93PFQ+KSA9PiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIChkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ2l2ZW4gPSB0aGlzLmV4dHJhY3RQcm9wZXJ0eShkYXRhKTtcclxuICAgICAgICByZXR1cm4gZ2l2ZW4gPCB0aGlzLnZhbHVlO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIExlc3NPckVxdWFsTnVtYmVyPFQ+IGV4dGVuZHMgVmFsdWVTaW5nbGU8VCwgbnVtYmVyPiB7XHJcblxyXG4gICAgcHVibGljIG92ZXJyaWRlIGZpbHRlckZuKCk6IChkYXRhOiBUYWJsZVJvdzxUPikgPT4gYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGdpdmVuID0gdGhpcy5leHRyYWN0UHJvcGVydHkoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIGdpdmVuIDw9IHRoaXMudmFsdWU7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgTW9yZU51bWJlcjxUPiBleHRlbmRzIFZhbHVlU2luZ2xlPFQsIG51bWJlcj4ge1xyXG5cclxuICAgIHB1YmxpYyBvdmVycmlkZSBmaWx0ZXJGbigpOiAoZGF0YTogVGFibGVSb3c8VD4pID0+IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gKGRhdGEpID0+IHtcclxuICAgICAgICBjb25zdCBnaXZlbiA9IHRoaXMuZXh0cmFjdFByb3BlcnR5KGRhdGEpO1xyXG4gICAgICAgIHJldHVybiBnaXZlbiA+IHRoaXMudmFsdWU7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgTW9yZU9yRXF1YWxOdW1iZXI8VD4gZXh0ZW5kcyBWYWx1ZVNpbmdsZTxULCBudW1iZXI+IHtcclxuXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZmlsdGVyRm4oKTogKGRhdGE6IFRhYmxlUm93PFQ+KSA9PiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIChkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ2l2ZW4gPSB0aGlzLmV4dHJhY3RQcm9wZXJ0eShkYXRhKTtcclxuICAgICAgICByZXR1cm4gZ2l2ZW4gPj0gdGhpcy52YWx1ZTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOdW1iZXJSYW5nZUluY2xNaW5FeGNsTWF4PFQ+IGV4dGVuZHMgVmFsdWVNaW5NYXhOdW1iZXI8VD4ge1xyXG5cclxuICAgIHB1YmxpYyBvdmVycmlkZSBmaWx0ZXJGbigpOiAoZGF0YTogVGFibGVSb3c8VD4pID0+IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gKGRhdGEpID0+IHtcclxuICAgICAgICBjb25zdCBnaXZlbiA9IHRoaXMuZXh0cmFjdFByb3BlcnR5KGRhdGEpO1xyXG4gICAgICAgIHJldHVybiBnaXZlbiA+PSB0aGlzLm1pbiAmJiBnaXZlbiA8IHRoaXMubWF4O1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIE51bWJlclJhbmdlRXhjbE1pbkluY2xNYXg8VD4gZXh0ZW5kcyBWYWx1ZU1pbk1heE51bWJlcjxUPiB7XHJcblxyXG4gICAgcHVibGljIG92ZXJyaWRlIGZpbHRlckZuKCk6IChkYXRhOiBUYWJsZVJvdzxUPikgPT4gYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGdpdmVuID0gdGhpcy5leHRyYWN0UHJvcGVydHkoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIGdpdmVuID4gdGhpcy5taW4gJiYgZ2l2ZW4gPD0gdGhpcy5tYXg7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgTnVtYmVyUmFuZ2VJbmNsTWluSW5jbE1heDxUPiBleHRlbmRzIFZhbHVlTWluTWF4TnVtYmVyPFQ+IHtcclxuXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZmlsdGVyRm4oKTogKGRhdGE6IFRhYmxlUm93PFQ+KSA9PiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIChkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ2l2ZW4gPSB0aGlzLmV4dHJhY3RQcm9wZXJ0eShkYXRhKTtcclxuICAgICAgICByZXR1cm4gZ2l2ZW4gPj0gdGhpcy5taW4gJiYgZ2l2ZW4gPD0gdGhpcy5tYXg7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgTnVtYmVyUmFuZ2VFeGNsTWluRXhjbE1heDxUPiBleHRlbmRzIFZhbHVlTWluTWF4TnVtYmVyPFQ+IHtcclxuXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZmlsdGVyRm4oKTogKGRhdGE6IFRhYmxlUm93PFQ+KSA9PiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIChkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ2l2ZW4gPSB0aGlzLmV4dHJhY3RQcm9wZXJ0eShkYXRhKTtcclxuICAgICAgICByZXR1cm4gZ2l2ZW4gPiB0aGlzLm1pbiAmJiBnaXZlbiA8IHRoaXMubWF4O1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIGhhc0luU2V0PFQsIFY+IGV4dGVuZHMgVmFsdWVTZXQ8VCwgVj4ge1xyXG5cclxuICAgIHB1YmxpYyBvdmVycmlkZSBmaWx0ZXJGbigpOiAoZGF0YTogVGFibGVSb3c8VD4pID0+IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gKGRhdGEpID0+IHtcclxuICAgICAgICBjb25zdCBnaXZlbiA9IHRoaXMuZXh0cmFjdFByb3BlcnR5KGRhdGEpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlcy5oYXMoZ2l2ZW4pO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIG5vdEhhc0luU2V0PFQsIFY+IGV4dGVuZHMgVmFsdWVTZXQ8VCwgVj4ge1xyXG5cclxuICAgIHB1YmxpYyBvdmVycmlkZSBmaWx0ZXJGbigpOiAoZGF0YTogVGFibGVSb3c8VD4pID0+IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gKGRhdGEpID0+IHtcclxuICAgICAgICBjb25zdCBnaXZlbiA9IHRoaXMuZXh0cmFjdFByb3BlcnR5KGRhdGEpO1xyXG4gICAgICAgIHJldHVybiAhdGhpcy52YWx1ZXMuaGFzKGdpdmVuKTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export class TableViewFactory {
|
|
2
|
+
/**
|
|
3
|
+
* Converts rows into a view format based on table configuration.
|
|
4
|
+
* @param rows The rows of the table.
|
|
5
|
+
* @param tableConfig The configuration of the table.
|
|
6
|
+
* @returns An array of maps representing the view for each row.
|
|
7
|
+
*/
|
|
8
|
+
static toView(rows, tableConfig) {
|
|
9
|
+
const columnViewMap = new Map();
|
|
10
|
+
tableConfig.columnsCfg.forEach(c => {
|
|
11
|
+
if (c.valueView) {
|
|
12
|
+
columnViewMap.set(c.key, c.valueView);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
return TableViewFactory.toViewInternal(rows, columnViewMap);
|
|
16
|
+
}
|
|
17
|
+
static toViewInternal(rows, source) {
|
|
18
|
+
return rows.map(row => TableViewFactory.createColumnConfig(row, source));
|
|
19
|
+
}
|
|
20
|
+
static createColumnConfig(row, columnViewMap) {
|
|
21
|
+
const result = new Map();
|
|
22
|
+
columnViewMap.forEach((view, key) => {
|
|
23
|
+
result.set(key, {
|
|
24
|
+
icon: TableViewFactory.configureIcon(view.icon, row),
|
|
25
|
+
text: TableViewFactory.configureText(view.text, row),
|
|
26
|
+
image: TableViewFactory.configureImage(view.image, row),
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
static configureIcon(iconSource, row) {
|
|
32
|
+
if (!iconSource)
|
|
33
|
+
return undefined;
|
|
34
|
+
return {
|
|
35
|
+
name: iconSource.name(row),
|
|
36
|
+
color: iconSource.color ? iconSource.color(row) : undefined,
|
|
37
|
+
tooltip: iconSource.tooltip ? iconSource.tooltip(row) : undefined,
|
|
38
|
+
position: iconSource.position,
|
|
39
|
+
wrapper: iconSource.wrapper ? { color: iconSource.wrapper.color(row) } : undefined
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
static configureText(textSource, row) {
|
|
43
|
+
if (!textSource)
|
|
44
|
+
return undefined;
|
|
45
|
+
return {
|
|
46
|
+
show: textSource.show,
|
|
47
|
+
tooltip: textSource.tooltip?.(row),
|
|
48
|
+
color: textSource.color?.(row)
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
static configureImage(imageSource, row) {
|
|
52
|
+
if (!imageSource)
|
|
53
|
+
return undefined;
|
|
54
|
+
return {
|
|
55
|
+
src: imageSource.src(row),
|
|
56
|
+
width: imageSource.width || undefined,
|
|
57
|
+
height: imageSource.height || undefined
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVWaWV3RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvbW9kZWwvVGFibGVWaWV3RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBSSxJQUFtQixFQUFFLFdBQTJCO1FBQ3RFLE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxFQUFzRCxDQUFDO1FBQ3BGLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRTtnQkFDZixhQUFhLENBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBO2FBQ3ZDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQUksSUFBbUIsRUFBRSxNQUErRDtRQUNuSCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sTUFBTSxDQUFDLGtCQUFrQixDQUFJLEdBQWdCLEVBQUUsYUFBc0U7UUFDM0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDckQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO2dCQUNwRCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO2dCQUNwRCxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO2FBQ3hELENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUksVUFBZ0UsRUFBRSxHQUFnQjtRQUNoSCxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sU0FBUyxDQUFDO1FBRWxDLE9BQU87WUFDTCxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDMUIsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDM0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDakUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1lBQzdCLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFBLENBQUMsQ0FBQyxTQUFTO1NBQy9FLENBQUE7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FBSSxVQUFnRSxFQUFFLEdBQWdCO1FBQ2hILElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFFbEMsT0FBTztZQUNMLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtZQUNyQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNsQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUMvQixDQUFBO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQUksV0FBa0UsRUFBRSxHQUFnQjtRQUNuSCxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBRW5DLE9BQU87WUFDTCxHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDekIsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLElBQUksU0FBUztZQUNyQyxNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU0sSUFBSSxTQUFTO1NBQ3hDLENBQUE7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RhYmxlUm93fSBmcm9tIFwiLi9UYWJsZVJvd1wiO1xyXG5pbXBvcnQge0NvbHVtblZpZXcsIEljb25WaWV3LCBUZXh0VmlldywgVGFibGVDb25maWcsIEltYWdlVmlld30gZnJvbSBcIi4vQ29sdW1uQ29uZmlnXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVWaWV3RmFjdG9yeSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHJvd3MgaW50byBhIHZpZXcgZm9ybWF0IGJhc2VkIG9uIHRhYmxlIGNvbmZpZ3VyYXRpb24uXHJcbiAgICogQHBhcmFtIHJvd3MgVGhlIHJvd3Mgb2YgdGhlIHRhYmxlLlxyXG4gICAqIEBwYXJhbSB0YWJsZUNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgdGFibGUuXHJcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgbWFwcyByZXByZXNlbnRpbmcgdGhlIHZpZXcgZm9yIGVhY2ggcm93LlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgdG9WaWV3PFQ+KHJvd3M6IFRhYmxlUm93PFQ+W10sIHRhYmxlQ29uZmlnOiBUYWJsZUNvbmZpZzxUPik6IE1hcDxzdHJpbmcsIENvbHVtblZpZXc8c3RyaW5nPj5bXSB7XHJcbiAgICBjb25zdCBjb2x1bW5WaWV3TWFwID0gbmV3IE1hcDxzdHJpbmcsIENvbHVtblZpZXc8KHZhbHVlOiBUYWJsZVJvdzxUPikgPT4gc3RyaW5nPj4oKTtcclxuICAgIHRhYmxlQ29uZmlnLmNvbHVtbnNDZmcuZm9yRWFjaChjID0+IHtcclxuICAgICAgaWYgKGMudmFsdWVWaWV3KSB7XHJcbiAgICAgICAgY29sdW1uVmlld01hcCAuc2V0KGMua2V5LCBjLnZhbHVlVmlldylcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBUYWJsZVZpZXdGYWN0b3J5LnRvVmlld0ludGVybmFsKHJvd3MsIGNvbHVtblZpZXdNYXAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIHRvVmlld0ludGVybmFsPFQ+KHJvd3M6IFRhYmxlUm93PFQ+W10sIHNvdXJjZTogTWFwPHN0cmluZywgQ29sdW1uVmlldzwodmFsdWU6IFRhYmxlUm93PFQ+KSA9PiBzdHJpbmc+Pik6IE1hcDxzdHJpbmcsIENvbHVtblZpZXc8c3RyaW5nPj5bXSB7XHJcbiAgICByZXR1cm4gcm93cy5tYXAocm93ID0+IFRhYmxlVmlld0ZhY3RvcnkuY3JlYXRlQ29sdW1uQ29uZmlnKHJvdywgc291cmNlKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVDb2x1bW5Db25maWc8VD4ocm93OiBUYWJsZVJvdzxUPiwgY29sdW1uVmlld01hcDogTWFwPHN0cmluZywgQ29sdW1uVmlldzwodmFsdWU6IFRhYmxlUm93PFQ+KSA9PiBzdHJpbmc+Pik6IE1hcDxzdHJpbmcsIENvbHVtblZpZXc8c3RyaW5nPj4ge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcDxzdHJpbmcsIENvbHVtblZpZXc8c3RyaW5nPj4oKTtcclxuICAgIGNvbHVtblZpZXdNYXAuZm9yRWFjaCgodmlldywga2V5KSA9PiB7XHJcbiAgICAgIHJlc3VsdC5zZXQoa2V5LCB7XHJcbiAgICAgICAgaWNvbjogVGFibGVWaWV3RmFjdG9yeS5jb25maWd1cmVJY29uKHZpZXcuaWNvbiwgcm93KSxcclxuICAgICAgICB0ZXh0OiBUYWJsZVZpZXdGYWN0b3J5LmNvbmZpZ3VyZVRleHQodmlldy50ZXh0LCByb3cpLFxyXG4gICAgICAgIGltYWdlOiBUYWJsZVZpZXdGYWN0b3J5LmNvbmZpZ3VyZUltYWdlKHZpZXcuaW1hZ2UsIHJvdyksXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY29uZmlndXJlSWNvbjxUPihpY29uU291cmNlOiBJY29uVmlldzwodmFsdWU6IFRhYmxlUm93PFQ+KSA9PiBzdHJpbmc+IHwgdW5kZWZpbmVkLCByb3c6IFRhYmxlUm93PFQ+KTogSWNvblZpZXc8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIWljb25Tb3VyY2UpIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmFtZTogaWNvblNvdXJjZS5uYW1lKHJvdyksXHJcbiAgICAgIGNvbG9yOiBpY29uU291cmNlLmNvbG9yID8gaWNvblNvdXJjZS5jb2xvcihyb3cpIDogdW5kZWZpbmVkLFxyXG4gICAgICB0b29sdGlwOiBpY29uU291cmNlLnRvb2x0aXAgPyBpY29uU291cmNlLnRvb2x0aXAocm93KSA6IHVuZGVmaW5lZCxcclxuICAgICAgcG9zaXRpb246IGljb25Tb3VyY2UucG9zaXRpb24sXHJcbiAgICAgIHdyYXBwZXI6IGljb25Tb3VyY2Uud3JhcHBlcj8ge2NvbG9yOiBpY29uU291cmNlLndyYXBwZXIuY29sb3Iocm93KX06IHVuZGVmaW5lZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY29uZmlndXJlVGV4dDxUPih0ZXh0U291cmNlOiBUZXh0VmlldzwodmFsdWU6IFRhYmxlUm93PFQ+KSA9PiBzdHJpbmc+IHwgdW5kZWZpbmVkLCByb3c6IFRhYmxlUm93PFQ+KTogVGV4dFZpZXc8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRleHRTb3VyY2UpIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2hvdzogdGV4dFNvdXJjZS5zaG93LFxyXG4gICAgICB0b29sdGlwOiB0ZXh0U291cmNlLnRvb2x0aXA/Lihyb3cpLFxyXG4gICAgICBjb2xvcjogdGV4dFNvdXJjZS5jb2xvcj8uKHJvdylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGNvbmZpZ3VyZUltYWdlPFQ+KGltYWdlU291cmNlOiBJbWFnZVZpZXc8KHZhbHVlOiBUYWJsZVJvdzxUPikgPT4gc3RyaW5nPiB8IHVuZGVmaW5lZCwgcm93OiBUYWJsZVJvdzxUPik6IEltYWdlVmlldzxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICghaW1hZ2VTb3VyY2UpIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc3JjOiBpbWFnZVNvdXJjZS5zcmMocm93KSxcclxuICAgICAgd2lkdGg6IGltYWdlU291cmNlLndpZHRoIHx8IHVuZGVmaW5lZCxcclxuICAgICAgaGVpZ2h0OiBpbWFnZVNvdXJjZS5oZWlnaHQgfHwgdW5kZWZpbmVkXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|