@one-paragon/angular-utilities 1.2.8 → 1.2.9-beta.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/action-state/ngrx.d.ts +1 -1
- package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +18 -12
- package/esm2022/table-builder/classes/TableState.mjs +5 -3
- package/esm2022/table-builder/classes/data-store.mjs +15 -0
- package/esm2022/table-builder/classes/table-builder-general-settings.mjs +11 -1
- package/esm2022/table-builder/classes/table-builder.mjs +3 -3
- package/esm2022/table-builder/classes/table-store.mjs +71 -46
- package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +2 -2
- package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +94 -55
- package/esm2022/table-builder/components/generic-table/paginator.component.mjs +6 -4
- package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +4 -2
- package/esm2022/table-builder/components/table-container/table-container.mjs +42 -26
- package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +9 -7
- package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +5 -6
- package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +9 -11
- package/esm2022/table-builder/directives/custom-cell-directive.mjs +12 -13
- package/esm2022/table-builder/interfaces/ColumnInfo.mjs +1 -1
- package/esm2022/table-builder/services/export-to-csv.service.mjs +3 -3
- package/fesm2022/one-paragon-angular-utilities.mjs +277 -170
- package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
- package/package.json +1 -1
- package/table-builder/classes/TableBuilderDataSource.d.ts +2 -3
- package/table-builder/classes/TableState.d.ts +14 -4
- package/table-builder/classes/data-store.d.ts +8 -0
- package/table-builder/classes/table-builder-general-settings.d.ts +4 -0
- package/table-builder/classes/table-store.d.ts +16 -28
- package/table-builder/components/generic-table/generic-table.component.d.ts +19 -10
- package/table-builder/components/generic-table/paginator.component.d.ts +1 -0
- package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +1 -0
- package/table-builder/components/table-container/table-container-imports.d.ts +1 -1
- package/table-builder/components/table-container/table-container.d.ts +10 -7
- package/table-builder/components/table-container/virtual-scroll-container.d.ts +1 -0
- package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +2 -3
- package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +1 -3
- package/table-builder/directives/custom-cell-directive.d.ts +6 -4
- package/table-builder/directives/table-wrapper.directive.d.ts +1 -1
- package/table-builder/interfaces/ColumnInfo.d.ts +1 -1
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, effect, forwardRef, untracked, viewChild, inject } from '@angular/core';
|
|
2
2
|
import { CdkVirtualScrollViewport, ScrollingModule, VIRTUAL_SCROLL_STRATEGY, } from '@angular/cdk/scrolling';
|
|
3
|
-
import { distinctUntilChanged, map } from 'rxjs';
|
|
3
|
+
import { combineLatest, distinctUntilChanged, map } from 'rxjs';
|
|
4
4
|
import { defaultShareReplay, subscriber } from '../../../rxjs';
|
|
5
5
|
import { TableStore } from '../../classes/table-store';
|
|
6
6
|
import { TableVirtualScrollStrategy } from '../scroll-strategy';
|
|
7
7
|
import { VirtualScrollOptions } from '../../classes/table-builder-general-settings';
|
|
8
|
+
import { DataStore } from '../../classes/data-store';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "@angular/cdk/scrolling";
|
|
10
11
|
export class VirtualScrollContainer {
|
|
11
12
|
state = inject(TableStore);
|
|
13
|
+
dataStore = inject(DataStore);
|
|
12
14
|
viewport = viewChild(CdkVirtualScrollViewport);
|
|
13
15
|
defaultOptions = new VirtualScrollOptions();
|
|
14
16
|
scrollStrategy = new TableVirtualScrollStrategy(this.computedRowHeight(), this.computedHeaderHeight());
|
|
15
|
-
dataLength$ = this.state.state
|
|
17
|
+
dataLength$ = combineLatest([this.state.state$, this.dataStore.state$]).pipe(map(([s, d]) => ({
|
|
16
18
|
paginated: s.notPersistedTableSettings.usePaginator && !s.showAll,
|
|
17
19
|
pageSize: s.userDefined?.pageSize || s.pageSize,
|
|
18
20
|
pageNumber: s.currentPage,
|
|
19
|
-
dataLen:
|
|
21
|
+
dataLen: d.dataLen
|
|
20
22
|
})), distinctUntilChanged((a, b) => a.dataLen === b.dataLen &&
|
|
21
23
|
a.pageSize === b.pageSize &&
|
|
22
24
|
a.pageNumber === b.pageNumber &&
|
|
@@ -37,7 +39,7 @@ export class VirtualScrollContainer {
|
|
|
37
39
|
if (!!viewport) {
|
|
38
40
|
addEventListener('resize', this.resizeHandler);
|
|
39
41
|
this.subscriber.on(viewport.renderedRangeStream, (range) => {
|
|
40
|
-
this.
|
|
42
|
+
this.dataStore.patchState({
|
|
41
43
|
virtualEnds: {
|
|
42
44
|
start: range.start,
|
|
43
45
|
end: range.end + 25,
|
|
@@ -46,7 +48,7 @@ export class VirtualScrollContainer {
|
|
|
46
48
|
});
|
|
47
49
|
var offset$ = viewport.scrolledIndexChange.pipe(map(() => viewport.getOffsetToRenderedContentStart() ?? 0), distinctUntilChanged(), defaultShareReplay());
|
|
48
50
|
this.subscriber.on(offset$, (offset) => {
|
|
49
|
-
this.
|
|
51
|
+
this.dataStore.patchState({ virtualScrollOffset: offset });
|
|
50
52
|
});
|
|
51
53
|
this.setSize(this.viewport().elementRef);
|
|
52
54
|
}
|
|
@@ -72,7 +74,7 @@ export class VirtualScrollContainer {
|
|
|
72
74
|
vsViewport.setAttribute('style', `height: ${height}px !important;`);
|
|
73
75
|
this.viewport()?.checkViewportSize();
|
|
74
76
|
const virtualScrollOffset = this.viewport()?.getOffsetToRenderedContentStart() ?? 0;
|
|
75
|
-
this.
|
|
77
|
+
this.dataStore.patchState({ virtualScrollOffset });
|
|
76
78
|
}
|
|
77
79
|
resizeHandler = () => {
|
|
78
80
|
if (this.viewport()) {
|
|
@@ -123,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
123
125
|
],
|
|
124
126
|
}]
|
|
125
127
|
}] });
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1zY3JvbGwtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy90YWJsZS1jb250YWluZXIvdmlydHVhbC1zY3JvbGwtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXlCLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUNMLHdCQUF3QixFQUN4QixlQUFlLEVBQ2YsdUJBQXVCLEdBQ3hCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBb0JwRixNQUFNLE9BQU8sc0JBQXNCO0lBQ3pCLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFbkMsUUFBUSxHQUFHLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRS9DLGNBQWMsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7SUFDNUMsY0FBYyxHQUFHLElBQUksMEJBQTBCLENBQzdDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUN4QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FDMUIsQ0FBQztJQUdKLFdBQVcsR0FBRyxJQUFJLENBQUMs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QUFDO3VHQS9HVSxzQkFBc0I7MkZBQXRCLHNCQUFzQixpSUFHWix3QkFBd0IsZ0VBbkJuQzs7OztLQUlQLDJEQUdPLGVBQWUsZ01BQ1Y7WUFDYjtnQkFDRSxPQUFPLEVBQUUsdUJBQXVCO2dCQUNoQyxVQUFVLEVBQUUsQ0FBQyxDQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYztnQkFDM0QsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7YUFDakQ7U0FDRjs7MkZBRVUsc0JBQXNCO2tCQWxCbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxRQUFRLEVBQUU7Ozs7S0FJUDtvQkFDSCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsYUFBYSxFQUFFO3dCQUNiOzRCQUNFLE9BQU8sRUFBRSx1QkFBdUI7NEJBQ2hDLFVBQVUsRUFBRSxDQUFDLENBQXlCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjOzRCQUMzRCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLENBQUM7eUJBQ2pEO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBlZmZlY3QsIGZvcndhcmRSZWYsIHVudHJhY2tlZCwgdmlld0NoaWxkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsXHJcbiAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gIFZJUlRVQUxfU0NST0xMX1NUUkFURUdZLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSwgc3Vic2NyaWJlciB9IGZyb20gJy4uLy4uLy4uL3J4anMnO1xyXG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XHJcbmltcG9ydCB7IFRhYmxlVmlydHVhbFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnLi4vc2Nyb2xsLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgVmlydHVhbFNjcm9sbE9wdGlvbnMgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLWJ1aWxkZXItZ2VuZXJhbC1zZXR0aW5ncyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RiLXZpcnR1YWwtc2Nyb2xsLWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbiAgICAgIDxuZy1jb250ZW50Lz5cclxuICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxyXG4gICAgYCxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtTY3JvbGxpbmdNb2R1bGVdLFxyXG4gIHZpZXdQcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogVklSVFVBTF9TQ1JPTExfU1RSQVRFR1ksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChjOiBWaXJ0dWFsU2Nyb2xsQ29udGFpbmVyKSA9PiBjLnNjcm9sbFN0cmF0ZWd5LFxyXG4gICAgICBkZXBzOiBbZm9yd2FyZFJlZigoKSA9PiBWaXJ0dWFsU2Nyb2xsQ29udGFpbmVyKV0sXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaXJ0dWFsU2Nyb2xsQ29udGFpbmVyIGltcGxlbWVudHMgIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdGF0ZSA9IGluamVjdChUYWJsZVN0b3JlKTtcclxuXHJcbiAgdmlld3BvcnQgPSB2aWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KTtcclxuXHJcbiAgZGVmYXVsdE9wdGlvbnMgPSBuZXcgVmlydHVhbFNjcm9sbE9wdGlvbnMoKTtcclxuICBzY3JvbGxTdHJhdGVneSA9IG5ldyBUYWJsZVZpcnR1YWxTY3JvbGxTdHJhdGVneShcclxuICAgIHRoaXMuY29tcHV0ZWRSb3dIZWlnaHQoKSxcclxuICAgIHRoaXMuY29tcHV0ZWRIZWFkZXJIZWlnaHQoKVxyXG4gICAgKTtcclxuXHJcblxyXG4gIGRhdGFMZW5ndGgkID0gdGhpcy5zdGF0ZS5zdGF0ZSQucGlwZShcclxuICAgIG1hcChzID0+ICh7XHJcbiAgICAgIHBhZ2luYXRlZDogcy5ub3RQZXJzaXN0ZWRUYWJsZVNldHRpbmdzLnVzZVBhZ2luYXRvciAmJiAhcy5zaG93QWxsLFxyXG4gICAgICBwYWdlU2l6ZTogcy51c2VyRGVmaW5lZD8ucGFnZVNpemUgfHwgcy5wYWdlU2l6ZSxcclxuICAgICAgcGFnZU51bWJlcjogcy5jdXJyZW50UGFnZSxcclxuICAgICAgZGF0YUxlbjogcy5kYXRhTGVuXHJcbiAgICB9KSksXHJcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT5cclxuICAgICAgYS5kYXRhTGVuID09PSBiLmRhdGFMZW4gJiZcclxuICAgICAgYS5wYWdlU2l6ZSA9PT0gYi5wYWdlU2l6ZSAmJlxyXG4gICAgICBhLnBhZ2VOdW1iZXIgPT09IGIucGFnZU51bWJlciAmJlxyXG4gICAgICBhLnBhZ2luYXRlZCA9PT0gYi5wYWdpbmF0ZWQpLFxyXG4gICAgbWFwKCh7ZGF0YUxlbiwgcGFnZU51bWJlciwgcGFnZVNpemUsIHBhZ2luYXRlZH0pID0+IHtcclxuICAgICAgaWYocGFnaW5hdGVkKSByZXR1cm4gTWF0aC5taW4oZGF0YUxlbiAtIChwYWdlTnVtYmVyICogcGFnZVNpemUpLCBwYWdlU2l6ZSk7XHJcbiAgICAgIHJldHVybiBkYXRhTGVuO1xyXG4gICAgfSksXHJcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgKTtcclxuXHJcblxyXG4gIHN1YnNjcmliZXIgPSBzdWJzY3JpYmVyKHRoaXMuZGF0YUxlbmd0aCQsIChkYXRhTGVuZ3RoKSA9PiB7XHJcbiAgICB0aGlzLnNjcm9sbFN0cmF0ZWd5LnNldERhdGFMZW5ndGgoZGF0YUxlbmd0aCk7XHJcblxyXG4gICAgaWYodGhpcy52aWV3cG9ydCgpKXtcclxuICAgICAgdGhpcy5zZXRTaXplKHRoaXMudmlld3BvcnQoKSEuZWxlbWVudFJlZik7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG5cclxuICBfID0gZWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy52aWV3cG9ydCgpO1xyXG4gICAgdW50cmFja2VkKCgpID0+IHtcclxuICAgICAgaWYoISF2aWV3cG9ydCl7XHJcbiAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVIYW5kbGVyKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmliZXIub24odmlld3BvcnQucmVuZGVyZWRSYW5nZVN0cmVhbSwgKHJhbmdlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZVN0YXRlKHtcclxuICAgICAgICAgICAgdmlydHVhbEVuZHM6IHtcclxuICAgICAgICAgICAgICBzdGFydDogcmFuZ2Uuc3RhcnQsXHJcbiAgICAgICAgICAgICAgZW5kOiByYW5nZS5lbmQgKyAyNSxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdmFyIG9mZnNldCQgPSB2aWV3cG9ydC5zY3JvbGxlZEluZGV4Q2hhbmdlLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKCkgPT4gdmlld3BvcnQuZ2V0T2Zmc2V0VG9SZW5kZXJlZENvbnRlbnRTdGFydCgpID8/IDApLFxyXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgIGRlZmF1bHRTaGFyZVJlcGxheSgpXHJcbiAgICAgICAgKTtcclxuICAgIFxyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlci5vbihvZmZzZXQkLCAob2Zmc2V0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZVN0YXRlKHsgdmlydHVhbFNjcm9sbE9mZnNldDogb2Zmc2V0IH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc2V0U2l6ZSh0aGlzLnZpZXdwb3J0KCkhLmVsZW1lbnRSZWYpO1xyXG4gICAgICB9O1xyXG4gICAgfSlcclxuXHJcbiAgfSlcclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVIYW5kbGVyKTtcclxuICB9XHJcblxyXG4gIHNldFNpemUoZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICBjb25zdCB2c1ZpZXdwb3J0ID0gZWwubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IHZpcnR1YWxTY3JvbGxPcHRpb25zID0gdGhpcy5zdGF0ZS50YWJsZVNldHRpbmdzKCkudXNlVmlydHVhbFNjcm9sbCEgYXMgVmlydHVhbFNjcm9sbE9wdGlvbnM7XHJcbiAgICBjb25zdCByb3dIZWlnaHQgPSB0aGlzLmNvbXB1dGVkUm93SGVpZ2h0KCk7XHJcbiAgICBsZXQgYW1vdW50T2ZWaXNpYmxlSXRlbXMgPSB2aXJ0dWFsU2Nyb2xsT3B0aW9ucz8uYW1vdW50T2ZWaXNpYmxlSXRlbXMgfHwgdGhpcy5kZWZhdWx0T3B0aW9ucy5hbW91bnRPZlZpc2libGVJdGVtcztcclxuICAgICAgdmlydHVhbFNjcm9sbE9wdGlvbnM/LmFtb3VudE9mVmlzaWJsZUl0ZW1zIHx8IHRoaXMuZGVmYXVsdE9wdGlvbnMuYW1vdW50T2ZWaXNpYmxlSXRlbXM7XHJcbiAgICBsZXQgaGVpZ2h0ID0gKHJvd0hlaWdodCAqIGFtb3VudE9mVmlzaWJsZUl0ZW1zKTtcclxuICAgIGlmKCF0aGlzLnN0YXRlLnRhYmxlU2V0dGluZ3MoKS5oaWRlSGVhZGVyKXtcclxuICAgICAgY29uc3QgaGVhZGVySGVpZ2h0ID0gdGhpcy5jb21wdXRlZEhlYWRlckhlaWdodCgpO1xyXG4gICAgICBoZWlnaHQgKz0gaGVhZGVySGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgaWYodmlydHVhbFNjcm9sbE9wdGlvbnM/Lm1heFZpZXdQb3J0SGVpZ2h0ICYmIHZpcnR1YWxTY3JvbGxPcHRpb25zLm1heFZpZXdQb3J0SGVpZ2h0IDwgaGVpZ2h0KSBoZWlnaHQgPSB2aXJ0dWFsU2Nyb2xsT3B0aW9ucy5tYXhWaWV3UG9ydEhlaWdodDtcclxuICAgIHZzVmlld3BvcnQuc2V0QXR0cmlidXRlKFxyXG4gICAgICAnc3R5bGUnLFxyXG4gICAgICBgaGVpZ2h0OiAke2hlaWdodH1weCAhaW1wb3J0YW50O2AsXHJcbiAgICApO1xyXG4gICAgdGhpcy52aWV3cG9ydCgpPy5jaGVja1ZpZXdwb3J0U2l6ZSgpO1xyXG4gICAgY29uc3QgdmlydHVhbFNjcm9sbE9mZnNldCA9IHRoaXMudmlld3BvcnQoKT8uZ2V0T2Zmc2V0VG9SZW5kZXJlZENvbnRlbnRTdGFydCgpID8/IDBcclxuICAgIHRoaXMuc3RhdGUudXBkYXRlU3RhdGUoeyB2aXJ0dWFsU2Nyb2xsT2Zmc2V0IH0pO1xyXG4gIH1cclxuXHJcbiAgcmVzaXplSGFuZGxlciA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLnZpZXdwb3J0KCkpIHtcclxuICAgICAgdGhpcy5zZXRTaXplKHRoaXMudmlld3BvcnQoKSEuZWxlbWVudFJlZik7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgY29tcHV0ZWRSb3dIZWlnaHQoKXtcclxuICAgIGNvbnN0IHZpcnR1YWxTY3JvbGxPcHRpb25zID0gdGhpcy5zdGF0ZS50YWJsZVNldHRpbmdzKCkudXNlVmlydHVhbFNjcm9sbCEgYXMgVmlydHVhbFNjcm9sbE9wdGlvbnM7XHJcbiAgICBjb25zdCByb3dIZWlnaHQgPSB2aXJ0dWFsU2Nyb2xsT3B0aW9ucz8ucm93SGVpZ2h0fHwgKHR5cGVvZiB0aGlzLnN0YXRlLnRhYmxlU2V0dGluZ3MoKS5yb3dIZWlnaHQgPT09ICdudW1iZXInICYmIHRoaXMuc3RhdGUudGFibGVTZXR0aW5ncygpLnJvd0hlaWdodCBhcyBudW1iZXIpIHx8IHRoaXMuZGVmYXVsdE9wdGlvbnMucm93SGVpZ2h0O1xyXG4gICAgcmV0dXJuIHJvd0hlaWdodDtcclxuICB9XHJcblxyXG4gIGNvbXB1dGVkSGVhZGVySGVpZ2h0KCl7XHJcbiAgICBjb25zdCB2aXJ0dWFsU2Nyb2xsT3B0aW9ucyA9IHRoaXMuc3RhdGUudGFibGVTZXR0aW5ncygpLnVzZVZpcnR1YWxTY3JvbGwhIGFzIFZpcnR1YWxTY3JvbGxPcHRpb25zO1xyXG4gICAgY29uc3QgaGVhZGVySGVpZ2h0ID0gdmlydHVhbFNjcm9sbE9wdGlvbnM/LmhlYWRlckhlaWdodHx8ICh0eXBlb2YgIHRoaXMuc3RhdGUudGFibGVTZXR0aW5ncygpLmhlYWRlckhlaWdodCA9PT0gJ251bWJlcicgJiYgdGhpcy5zdGF0ZS50YWJsZVNldHRpbmdzKCkuaGVhZGVySGVpZ2h0IGFzIG51bWJlcikgfHwgdGhpcy5kZWZhdWx0T3B0aW9ucy5oZWFkZXJIZWlnaHQ7XHJcbiAgICByZXR1cm4gaGVhZGVySGVpZ2h0O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1zY3JvbGwtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy90YWJsZS1jb250YWluZXIvdmlydHVhbC1zY3JvbGwtY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXlCLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUNMLHdCQUF3QixFQUN4QixlQUFlLEVBQ2YsdUJBQXVCLEdBQ3hCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFvQnJELE1BQU0sT0FBTyxzQkFBc0I7SUFDekIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXRDLFFBQVEsR0FBRyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUUvQyxjQUFjLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBQzVDLGNBQWMsR0FBRyxJQUFJLDBCQUEw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Q0FBQyxPQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsWUFBWSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLFlBQXNCLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztRQUNsTixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO3VHQWhIVSxzQkFBc0I7MkZBQXRCLHNCQUFzQixpSUFJWix3QkFBd0IsZ0VBcEJuQzs7OztLQUlQLDJEQUdPLGVBQWUsZ01BQ1Y7WUFDYjtnQkFDRSxPQUFPLEVBQUUsdUJBQXVCO2dCQUNoQyxVQUFVLEVBQUUsQ0FBQyxDQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYztnQkFDM0QsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7YUFDakQ7U0FDRjs7MkZBRVUsc0JBQXNCO2tCQWxCbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxRQUFRLEVBQUU7Ozs7S0FJUDtvQkFDSCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsYUFBYSxFQUFFO3dCQUNiOzRCQUNFLE9BQU8sRUFBRSx1QkFBdUI7NEJBQ2hDLFVBQVUsRUFBRSxDQUFDLENBQXlCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjOzRCQUMzRCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLENBQUM7eUJBQ2pEO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95LCBlZmZlY3QsIGZvcndhcmRSZWYsIHVudHJhY2tlZCwgdmlld0NoaWxkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsXHJcbiAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gIFZJUlRVQUxfU0NST0xMX1NUUkFURUdZLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSwgc3Vic2NyaWJlciB9IGZyb20gJy4uLy4uLy4uL3J4anMnO1xyXG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XHJcbmltcG9ydCB7IFRhYmxlVmlydHVhbFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnLi4vc2Nyb2xsLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgVmlydHVhbFNjcm9sbE9wdGlvbnMgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLWJ1aWxkZXItZ2VuZXJhbC1zZXR0aW5ncyc7XHJcbmltcG9ydCB7IERhdGFTdG9yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZGF0YS1zdG9yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RiLXZpcnR1YWwtc2Nyb2xsLWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbiAgICAgIDxuZy1jb250ZW50Lz5cclxuICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxyXG4gICAgYCxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtTY3JvbGxpbmdNb2R1bGVdLFxyXG4gIHZpZXdQcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogVklSVFVBTF9TQ1JPTExfU1RSQVRFR1ksXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChjOiBWaXJ0dWFsU2Nyb2xsQ29udGFpbmVyKSA9PiBjLnNjcm9sbFN0cmF0ZWd5LFxyXG4gICAgICBkZXBzOiBbZm9yd2FyZFJlZigoKSA9PiBWaXJ0dWFsU2Nyb2xsQ29udGFpbmVyKV0sXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaXJ0dWFsU2Nyb2xsQ29udGFpbmVyIGltcGxlbWVudHMgIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdGF0ZSA9IGluamVjdChUYWJsZVN0b3JlKTtcclxuICBwcml2YXRlIGRhdGFTdG9yZSA9IGluamVjdChEYXRhU3RvcmUpOyBcclxuXHJcbiAgdmlld3BvcnQgPSB2aWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KTtcclxuXHJcbiAgZGVmYXVsdE9wdGlvbnMgPSBuZXcgVmlydHVhbFNjcm9sbE9wdGlvbnMoKTtcclxuICBzY3JvbGxTdHJhdGVneSA9IG5ldyBUYWJsZVZpcnR1YWxTY3JvbGxTdHJhdGVneShcclxuICAgIHRoaXMuY29tcHV0ZWRSb3dIZWlnaHQoKSxcclxuICAgIHRoaXMuY29tcHV0ZWRIZWFkZXJIZWlnaHQoKVxyXG4gICAgKTtcclxuXHJcblxyXG4gIGRhdGFMZW5ndGgkID0gY29tYmluZUxhdGVzdChbdGhpcy5zdGF0ZS5zdGF0ZSQsIHRoaXMuZGF0YVN0b3JlLnN0YXRlJF0pLnBpcGUoXHJcbiAgICBtYXAoKFtzLCBkXSkgPT4gKHtcclxuICAgICAgcGFnaW5hdGVkOiBzLm5vdFBlcnNpc3RlZFRhYmxlU2V0dGluZ3MudXNlUGFnaW5hdG9yICYmICFzLnNob3dBbGwsXHJcbiAgICAgIHBhZ2VTaXplOiBzLnVzZXJEZWZpbmVkPy5wYWdlU2l6ZSB8fCBzLnBhZ2VTaXplLFxyXG4gICAgICBwYWdlTnVtYmVyOiBzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBkYXRhTGVuOiBkLmRhdGFMZW5cclxuICAgIH0pKSxcclxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PlxyXG4gICAgICBhLmRhdGFMZW4gPT09IGIuZGF0YUxlbiAmJlxyXG4gICAgICBhLnBhZ2VTaXplID09PSBiLnBhZ2VTaXplICYmXHJcbiAgICAgIGEucGFnZU51bWJlciA9PT0gYi5wYWdlTnVtYmVyICYmXHJcbiAgICAgIGEucGFnaW5hdGVkID09PSBiLnBhZ2luYXRlZCksXHJcbiAgICBtYXAoKHtkYXRhTGVuLCBwYWdlTnVtYmVyLCBwYWdlU2l6ZSwgcGFnaW5hdGVkfSkgPT4ge1xyXG4gICAgICBpZihwYWdpbmF0ZWQpIHJldHVybiBNYXRoLm1pbihkYXRhTGVuIC0gKHBhZ2VOdW1iZXIgKiBwYWdlU2l6ZSksIHBhZ2VTaXplKTtcclxuICAgICAgcmV0dXJuIGRhdGFMZW47XHJcbiAgICB9KSxcclxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICApO1xyXG5cclxuXHJcbiAgc3Vic2NyaWJlciA9IHN1YnNjcmliZXIodGhpcy5kYXRhTGVuZ3RoJCwgKGRhdGFMZW5ndGgpID0+IHtcclxuICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kuc2V0RGF0YUxlbmd0aChkYXRhTGVuZ3RoKTtcclxuXHJcbiAgICBpZih0aGlzLnZpZXdwb3J0KCkpe1xyXG4gICAgICB0aGlzLnNldFNpemUodGhpcy52aWV3cG9ydCgpIS5lbGVtZW50UmVmKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcblxyXG4gIF8gPSBlZmZlY3QoKCkgPT4ge1xyXG4gICAgY29uc3Qgdmlld3BvcnQgPSB0aGlzLnZpZXdwb3J0KCk7XHJcbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xyXG4gICAgICBpZighIXZpZXdwb3J0KXtcclxuICAgICAgICBhZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUhhbmRsZXIpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlci5vbih2aWV3cG9ydC5yZW5kZXJlZFJhbmdlU3RyZWFtLCAocmFuZ2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGF0YVN0b3JlLnBhdGNoU3RhdGUoe1xyXG4gICAgICAgICAgICB2aXJ0dWFsRW5kczoge1xyXG4gICAgICAgICAgICAgIHN0YXJ0OiByYW5nZS5zdGFydCxcclxuICAgICAgICAgICAgICBlbmQ6IHJhbmdlLmVuZCArIDI1LFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB2YXIgb2Zmc2V0JCA9IHZpZXdwb3J0LnNjcm9sbGVkSW5kZXhDaGFuZ2UucGlwZShcclxuICAgICAgICAgIG1hcCgoKSA9PiB2aWV3cG9ydC5nZXRPZmZzZXRUb1JlbmRlcmVkQ29udGVudFN0YXJ0KCkgPz8gMCksXHJcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgZGVmYXVsdFNoYXJlUmVwbGF5KClcclxuICAgICAgICApO1xyXG4gICAgXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVyLm9uKG9mZnNldCQsIChvZmZzZXQpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGF0YVN0b3JlLnBhdGNoU3RhdGUoeyB2aXJ0dWFsU2Nyb2xsT2Zmc2V0OiBvZmZzZXQgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zZXRTaXplKHRoaXMudmlld3BvcnQoKSEuZWxlbWVudFJlZik7XHJcbiAgICAgIH07XHJcbiAgICB9KVxyXG5cclxuICB9KVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICByZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUhhbmRsZXIpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2l6ZShlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcclxuICAgIGNvbnN0IHZzVmlld3BvcnQgPSBlbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgdmlydHVhbFNjcm9sbE9wdGlvbnMgPSB0aGlzLnN0YXRlLnRhYmxlU2V0dGluZ3MoKS51c2VWaXJ0dWFsU2Nyb2xsISBhcyBWaXJ0dWFsU2Nyb2xsT3B0aW9ucztcclxuICAgIGNvbnN0IHJvd0hlaWdodCA9IHRoaXMuY29tcHV0ZWRSb3dIZWlnaHQoKTtcclxuICAgIGxldCBhbW91bnRPZlZpc2libGVJdGVtcyA9IHZpcnR1YWxTY3JvbGxPcHRpb25zPy5hbW91bnRPZlZpc2libGVJdGVtcyB8fCB0aGlzLmRlZmF1bHRPcHRpb25zLmFtb3VudE9mVmlzaWJsZUl0ZW1zO1xyXG4gICAgICB2aXJ0dWFsU2Nyb2xsT3B0aW9ucz8uYW1vdW50T2ZWaXNpYmxlSXRlbXMgfHwgdGhpcy5kZWZhdWx0T3B0aW9ucy5hbW91bnRPZlZpc2libGVJdGVtcztcclxuICAgIGxldCBoZWlnaHQgPSAocm93SGVpZ2h0ICogYW1vdW50T2ZWaXNpYmxlSXRlbXMpO1xyXG4gICAgaWYoIXRoaXMuc3RhdGUudGFibGVTZXR0aW5ncygpLmhpZGVIZWFkZXIpe1xyXG4gICAgICBjb25zdCBoZWFkZXJIZWlnaHQgPSB0aGlzLmNvbXB1dGVkSGVhZGVySGVpZ2h0KCk7XHJcbiAgICAgIGhlaWdodCArPSBoZWFkZXJIZWlnaHQ7XHJcbiAgICB9XHJcbiAgICBpZih2aXJ0dWFsU2Nyb2xsT3B0aW9ucz8ubWF4Vmlld1BvcnRIZWlnaHQgJiYgdmlydHVhbFNjcm9sbE9wdGlvbnMubWF4Vmlld1BvcnRIZWlnaHQgPCBoZWlnaHQpIGhlaWdodCA9IHZpcnR1YWxTY3JvbGxPcHRpb25zLm1heFZpZXdQb3J0SGVpZ2h0O1xyXG4gICAgdnNWaWV3cG9ydC5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICdzdHlsZScsXHJcbiAgICAgIGBoZWlnaHQ6ICR7aGVpZ2h0fXB4ICFpbXBvcnRhbnQ7YCxcclxuICAgICk7XHJcbiAgICB0aGlzLnZpZXdwb3J0KCk/LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcbiAgICBjb25zdCB2aXJ0dWFsU2Nyb2xsT2Zmc2V0ID0gdGhpcy52aWV3cG9ydCgpPy5nZXRPZmZzZXRUb1JlbmRlcmVkQ29udGVudFN0YXJ0KCkgPz8gMFxyXG4gICAgdGhpcy5kYXRhU3RvcmUucGF0Y2hTdGF0ZSh7IHZpcnR1YWxTY3JvbGxPZmZzZXQgfSk7XHJcbiAgfVxyXG5cclxuICByZXNpemVIYW5kbGVyID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMudmlld3BvcnQoKSkge1xyXG4gICAgICB0aGlzLnNldFNpemUodGhpcy52aWV3cG9ydCgpIS5lbGVtZW50UmVmKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBjb21wdXRlZFJvd0hlaWdodCgpe1xyXG4gICAgY29uc3QgdmlydHVhbFNjcm9sbE9wdGlvbnMgPSB0aGlzLnN0YXRlLnRhYmxlU2V0dGluZ3MoKS51c2VWaXJ0dWFsU2Nyb2xsISBhcyBWaXJ0dWFsU2Nyb2xsT3B0aW9ucztcclxuICAgIGNvbnN0IHJvd0hlaWdodCA9IHZpcnR1YWxTY3JvbGxPcHRpb25zPy5yb3dIZWlnaHR8fCAodHlwZW9mIHRoaXMuc3RhdGUudGFibGVTZXR0aW5ncygpLnJvd0hlaWdodCA9PT0gJ251bWJlcicgJiYgdGhpcy5zdGF0ZS50YWJsZVNldHRpbmdzKCkucm93SGVpZ2h0IGFzIG51bWJlcikgfHwgdGhpcy5kZWZhdWx0T3B0aW9ucy5yb3dIZWlnaHQ7XHJcbiAgICByZXR1cm4gcm93SGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgY29tcHV0ZWRIZWFkZXJIZWlnaHQoKXtcclxuICAgIGNvbnN0IHZpcnR1YWxTY3JvbGxPcHRpb25zID0gdGhpcy5zdGF0ZS50YWJsZVNldHRpbmdzKCkudXNlVmlydHVhbFNjcm9sbCEgYXMgVmlydHVhbFNjcm9sbE9wdGlvbnM7XHJcbiAgICBjb25zdCBoZWFkZXJIZWlnaHQgPSB2aXJ0dWFsU2Nyb2xsT3B0aW9ucz8uaGVhZGVySGVpZ2h0fHwgKHR5cGVvZiAgdGhpcy5zdGF0ZS50YWJsZVNldHRpbmdzKCkuaGVhZGVySGVpZ2h0ID09PSAnbnVtYmVyJyAmJiB0aGlzLnN0YXRlLnRhYmxlU2V0dGluZ3MoKS5oZWFkZXJIZWlnaHQgYXMgbnVtYmVyKSB8fCB0aGlzLmRlZmF1bHRPcHRpb25zLmhlYWRlckhlaWdodDtcclxuICAgIHJldHVybiBoZWFkZXJIZWlnaHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
|
|
2
2
|
import { TableStore } from '../../../classes/table-store';
|
|
3
3
|
import { isFilterInfo } from '../../../classes/filter-info';
|
|
4
|
-
import { map } from 'rxjs/operators';
|
|
5
4
|
import { WrapperFilterStore } from '../table-wrapper-filter-store';
|
|
6
5
|
import { LetDirective } from '@ngrx/component';
|
|
7
6
|
import { AsyncPipe } from '@angular/common';
|
|
@@ -21,7 +20,7 @@ import * as i4 from "@angular/material/chips";
|
|
|
21
20
|
export class FilterChipsComponent {
|
|
22
21
|
tableState = inject(TableStore);
|
|
23
22
|
filterStore = inject(WrapperFilterStore);
|
|
24
|
-
filters
|
|
23
|
+
$filters = computed(() => Object.values(this.tableState.$filters()).filter(f => isFilterInfo(f) && !f._isExternallyManaged));
|
|
25
24
|
deleteByIndex(index) {
|
|
26
25
|
this.filterStore.deleteByIndex(index);
|
|
27
26
|
}
|
|
@@ -33,13 +32,13 @@ export class FilterChipsComponent {
|
|
|
33
32
|
}
|
|
34
33
|
currentFilters$ = this.filterStore.currentFilters$;
|
|
35
34
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FilterChipsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: FilterChipsComponent, isStandalone: true, selector: "lib-filter-list", ngImport: i0, template: "<div class=\"d-w\" *ngrxLet=\"currentFilters$ as currentFilters\" >\r\n\r\n @if (currentFilters.length) {\r\n <button class=\"cancel-button\" mat-icon-button (click)=\"clearAll()\" matTooltip=\"Close all Filters Cards\">\r\n <mat-icon class=\"cancel-button\" color=\"primary\">close</mat-icon>\r\n </button>\r\n <div class=\"float\">\r\n @for (filter of currentFilters; track filter.key) {\r\n <div class=\"filter\">\r\n <tb-filter [filter]=\"filter\" (close)=\"deleteByIndex($index)\" />\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <mat-chip-set
|
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: FilterChipsComponent, isStandalone: true, selector: "lib-filter-list", ngImport: i0, template: "<div class=\"d-w\" *ngrxLet=\"currentFilters$ as currentFilters\" >\r\n\r\n @if (currentFilters.length) {\r\n <button class=\"cancel-button\" mat-icon-button (click)=\"clearAll()\" matTooltip=\"Close all Filters Cards\">\r\n <mat-icon class=\"cancel-button\" color=\"primary\">close</mat-icon>\r\n </button>\r\n <div class=\"float\">\r\n @for (filter of currentFilters; track filter.key) {\r\n <div class=\"filter\">\r\n <tb-filter [filter]=\"filter\" (close)=\"deleteByIndex($index)\" />\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <mat-chip-set>\r\n @for (filter of $filters(); track filter.key) {\r\n <mat-chip (dblclick)=\"addFilter(filter)\" (removed)=\"tableState.removeFilter(filter.filterId!)\">\r\n {{ filter.key | keyDisplay | async }} {{filter.filterType | formatFilterType : filter.filterValue}} {{ filter.filterValue | formatFilterValue: filter.key : filter.filterType | async }}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n }\r\n @if ($filters().length > 1) {\r\n <mat-chip (removed)=\"tableState.clearFilters()\">\r\n Clear All\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n }\r\n </mat-chip-set>\r\n\r\n</div>\r\n", styles: [".filter{margin:15px;display:inline-block}.filter-button{color:#6495ed;font-size:22px;font-weight:700}.cancel-button{margin-right:30px;font-weight:700}.filter-wrapper{margin-top:1em;margin-bottom:1em;float:right}.menu{margin-bottom:10px;width:109.1%}.filter-labels{color:#6495ed;font-size:17px;font-weight:600}.float{position:absolute;width:fit-content;z-index:101;top:10px;right:180px;max-width:90vw}.d-w{display:flex;flex-direction:row;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: FilterComponent, selector: "tb-filter", inputs: ["filter"], outputs: ["close"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: KeyDisplayPipe, name: "keyDisplay" }, { kind: "pipe", type: FormatFilterTypePipe, name: "formatFilterType" }, { kind: "pipe", type: FormatFilterValuePipe, name: "formatFilterValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
37
36
|
}
|
|
38
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FilterChipsComponent, decorators: [{
|
|
39
38
|
type: Component,
|
|
40
39
|
args: [{ selector: 'lib-filter-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
41
40
|
LetDirective, MatButtonModule, MatTooltipModule, MatIconModule, FilterComponent,
|
|
42
41
|
MatChipsModule, AsyncPipe, KeyDisplayPipe, FormatFilterTypePipe, FormatFilterValuePipe
|
|
43
|
-
], template: "<div class=\"d-w\" *ngrxLet=\"currentFilters$ as currentFilters\" >\r\n\r\n @if (currentFilters.length) {\r\n <button class=\"cancel-button\" mat-icon-button (click)=\"clearAll()\" matTooltip=\"Close all Filters Cards\">\r\n <mat-icon class=\"cancel-button\" color=\"primary\">close</mat-icon>\r\n </button>\r\n <div class=\"float\">\r\n @for (filter of currentFilters; track filter.key) {\r\n <div class=\"filter\">\r\n <tb-filter [filter]=\"filter\" (close)=\"deleteByIndex($index)\" />\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <mat-chip-set
|
|
42
|
+
], template: "<div class=\"d-w\" *ngrxLet=\"currentFilters$ as currentFilters\" >\r\n\r\n @if (currentFilters.length) {\r\n <button class=\"cancel-button\" mat-icon-button (click)=\"clearAll()\" matTooltip=\"Close all Filters Cards\">\r\n <mat-icon class=\"cancel-button\" color=\"primary\">close</mat-icon>\r\n </button>\r\n <div class=\"float\">\r\n @for (filter of currentFilters; track filter.key) {\r\n <div class=\"filter\">\r\n <tb-filter [filter]=\"filter\" (close)=\"deleteByIndex($index)\" />\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <mat-chip-set>\r\n @for (filter of $filters(); track filter.key) {\r\n <mat-chip (dblclick)=\"addFilter(filter)\" (removed)=\"tableState.removeFilter(filter.filterId!)\">\r\n {{ filter.key | keyDisplay | async }} {{filter.filterType | formatFilterType : filter.filterValue}} {{ filter.filterValue | formatFilterValue: filter.key : filter.filterType | async }}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n }\r\n @if ($filters().length > 1) {\r\n <mat-chip (removed)=\"tableState.clearFilters()\">\r\n Clear All\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n }\r\n </mat-chip-set>\r\n\r\n</div>\r\n", styles: [".filter{margin:15px;display:inline-block}.filter-button{color:#6495ed;font-size:22px;font-weight:700}.cancel-button{margin-right:30px;font-weight:700}.filter-wrapper{margin-top:1em;margin-bottom:1em;float:right}.menu{margin-bottom:10px;width:109.1%}.filter-labels{color:#6495ed;font-size:17px;font-weight:600}.float{position:absolute;width:fit-content;z-index:101;top:10px;right:180px;max-width:90vw}.d-w{display:flex;flex-direction:row;justify-content:flex-end}\n"] }]
|
|
44
43
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy90YWJsZS1jb250YWluZXItZmlsdGVyL2ZpbHRlci1saXN0L2ZpbHRlci1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvdGFibGUtY29udGFpbmVyLWZpbHRlci9maWx0ZXItbGlzdC9maWx0ZXItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBYyxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQWFoRixNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXpDLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFpQixDQUFDLENBQUE7SUFDNUksYUFBYSxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFzQjtRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQzt1R0FsQnhDLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDJFQzFCakMsdXdDQStCQSwwZ0JEVEksWUFBWSxnR0FBRSxlQUFlLDJJQUFFLGdCQUFnQiw0VEFBRSxhQUFhLG9MQUFFLGVBQWUsNkZBQy9FLGNBQWMsa2dCQUFFLFNBQVMseUNBQUUsY0FBYyw4Q0FBRSxvQkFBb0Isb0RBQUUscUJBQXFCOzsyRkFHN0Usb0JBQW9CO2tCQVhoQyxTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlO3dCQUMvRSxjQUFjLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUI7cUJBQ3ZGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XHJcbmltcG9ydCB7IEZpbHRlckluZm8sIGlzRmlsdGVySW5mbyB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZmlsdGVyLWluZm8nO1xyXG5pbXBvcnQgeyBXcmFwcGVyRmlsdGVyU3RvcmUgfSBmcm9tICcuLi90YWJsZS13cmFwcGVyLWZpbHRlci1zdG9yZSc7XHJcbmltcG9ydCB7IExldERpcmVjdGl2ZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBLZXlEaXNwbGF5UGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL2tleS1kaXNwbGF5JztcclxuaW1wb3J0IHsgRm9ybWF0RmlsdGVyVHlwZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9mb3JtYXQtZmlsdGVyLXR5cGUucGlwZSc7XHJcbmltcG9ydCB7IEZvcm1hdEZpbHRlclZhbHVlUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL2Zvcm1hdC1maWx0ZXItdmFsdWUucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1maWx0ZXItbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vZ2VuLWZpbHRlci1kaXNwbGF5ZXIvZ2VuLWZpbHRlci1kaXNwbGF5ZXIuY29tcG9uZW50LmNzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTGV0RGlyZWN0aXZlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdEljb25Nb2R1bGUsIEZpbHRlckNvbXBvbmVudCxcclxuICAgIE1hdENoaXBzTW9kdWxlLCBBc3luY1BpcGUsIEtleURpc3BsYXlQaXBlLCBGb3JtYXRGaWx0ZXJUeXBlUGlwZSwgRm9ybWF0RmlsdGVyVmFsdWVQaXBlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyQ2hpcHNDb21wb25lbnQge1xyXG5cclxuICB0YWJsZVN0YXRlID0gaW5qZWN0KFRhYmxlU3RvcmUpO1xyXG4gIGZpbHRlclN0b3JlID0gaW5qZWN0KFdyYXBwZXJGaWx0ZXJTdG9yZSk7XHJcblxyXG4gICRmaWx0ZXJzID0gY29tcHV0ZWQoKCkgPT4gT2JqZWN0LnZhbHVlcyh0aGlzLnRhYmxlU3RhdGUuJGZpbHRlcnMoKSkuZmlsdGVyKGYgPT4gaXNGaWx0ZXJJbmZvKGYpICYmICFmLl9pc0V4dGVybmFsbHlNYW5hZ2VkKSBhcyBGaWx0ZXJJbmZvW10pXHJcbiAgZGVsZXRlQnlJbmRleChpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmZpbHRlclN0b3JlLmRlbGV0ZUJ5SW5kZXgoaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgYWRkRmlsdGVyKGZpbHRlcjpGaWx0ZXJJbmZvPGFueT4pe1xyXG4gICAgdGhpcy5maWx0ZXJTdG9yZS5hZGRGaWx0ZXIoZmlsdGVyKTtcclxuICB9XHJcblxyXG4gIGNsZWFyQWxsKCkge1xyXG4gICAgICB0aGlzLmZpbHRlclN0b3JlLmNsZWFyQWxsKCk7XHJcbiAgfVxyXG5cclxuICBjdXJyZW50RmlsdGVycyQgPSB0aGlzLmZpbHRlclN0b3JlLmN1cnJlbnRGaWx0ZXJzJDtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC13XCIgKm5ncnhMZXQ9XCJjdXJyZW50RmlsdGVycyQgYXMgY3VycmVudEZpbHRlcnNcIiA+XHJcblxyXG4gIEBpZiAoY3VycmVudEZpbHRlcnMubGVuZ3RoKSB7XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xlYXJBbGwoKVwiIG1hdFRvb2x0aXA9XCJDbG9zZSBhbGwgRmlsdGVycyBDYXJkc1wiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCIgY29sb3I9XCJwcmltYXJ5XCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxvYXRcIj5cclxuICAgICAgQGZvciAoZmlsdGVyIG9mIGN1cnJlbnRGaWx0ZXJzOyB0cmFjayBmaWx0ZXIua2V5KSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlclwiPlxyXG4gICAgICAgICAgPHRiLWZpbHRlciBbZmlsdGVyXT1cImZpbHRlclwiIChjbG9zZSk9XCJkZWxldGVCeUluZGV4KCRpbmRleClcIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcblxyXG4gIDxtYXQtY2hpcC1zZXQ+XHJcbiAgICBAZm9yIChmaWx0ZXIgb2YgJGZpbHRlcnMoKTsgdHJhY2sgZmlsdGVyLmtleSkge1xyXG4gICAgICA8bWF0LWNoaXAgKGRibGNsaWNrKT1cImFkZEZpbHRlcihmaWx0ZXIpXCIgIChyZW1vdmVkKT1cInRhYmxlU3RhdGUucmVtb3ZlRmlsdGVyKGZpbHRlci5maWx0ZXJJZCEpXCI+XHJcbiAgICAgICAge3sgZmlsdGVyLmtleSB8IGtleURpc3BsYXkgfCBhc3luYyAgfX0ge3tmaWx0ZXIuZmlsdGVyVHlwZSB8IGZvcm1hdEZpbHRlclR5cGUgOiBmaWx0ZXIuZmlsdGVyVmFsdWV9fSB7eyBmaWx0ZXIuZmlsdGVyVmFsdWUgfCBmb3JtYXRGaWx0ZXJWYWx1ZTogZmlsdGVyLmtleSA6IGZpbHRlci5maWx0ZXJUeXBlICB8IGFzeW5jIH19XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICAgICAgPC9tYXQtY2hpcD5cclxuICAgIH1cclxuICAgIEBpZiAoJGZpbHRlcnMoKS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIDxtYXQtY2hpcCAgKHJlbW92ZWQpPVwidGFibGVTdGF0ZS5jbGVhckZpbHRlcnMoKVwiPlxyXG4gICAgICAgIENsZWFyIEFsbFxyXG4gICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbWF0LWljb24+XHJcbiAgICAgIDwvbWF0LWNoaXA+XHJcbiAgICB9XHJcbiAgPC9tYXQtY2hpcC1zZXQ+XHJcblxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, inject } from '@angular/core';
|
|
1
|
+
import { Component, ChangeDetectionStrategy, inject, computed } from '@angular/core';
|
|
2
2
|
import { FieldType } from '../../../interfaces/report-def';
|
|
3
3
|
import { TableStore } from '../../../classes/table-store';
|
|
4
|
-
import { map } from 'rxjs/operators';
|
|
5
4
|
import { WrapperFilterStore } from '../table-wrapper-filter-store';
|
|
6
5
|
import { MatButtonModule } from '@angular/material/button';
|
|
7
6
|
import { MatMenuModule } from '@angular/material/menu';
|
|
@@ -17,22 +16,21 @@ import * as i4 from "@angular/material/icon";
|
|
|
17
16
|
export class GenFilterDisplayerComponent {
|
|
18
17
|
tableState = inject(TableStore);
|
|
19
18
|
filterStore = inject(WrapperFilterStore);
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
filterCols$;
|
|
19
|
+
$filterCols = computed(() => {
|
|
20
|
+
const mds = this.tableState.$metaDataArray();
|
|
21
|
+
return mds.filter(m => m.fieldType !== FieldType.Hidden && m.fieldType !== FieldType.NotMapped && !m.noFilter);
|
|
22
|
+
});
|
|
25
23
|
addFilter(metaData) {
|
|
26
24
|
this.filterStore.addFilter({ key: metaData.key, fieldType: metaData.fieldType });
|
|
27
25
|
}
|
|
28
26
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: GenFilterDisplayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: GenFilterDisplayerComponent, isStandalone: true, selector: "tb-filter-displayer", ngImport: i0, template: "<button stop-propagation class=\"filter-button\" mat-icon-button [matMenuTriggerFor]=\"menu\" matTooltip=\"Add Filter\">\r\n <mat-icon class=\"filter-icon\" color=\"primary\">filter_list</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\">\r\n @for (md of filterCols
|
|
27
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: GenFilterDisplayerComponent, isStandalone: true, selector: "tb-filter-displayer", ngImport: i0, template: "<button stop-propagation class=\"filter-button\" mat-icon-button [matMenuTriggerFor]=\"menu\" matTooltip=\"Add Filter\">\r\n <mat-icon class=\"filter-icon\" color=\"primary\">filter_list</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\">\r\n @for (md of $filterCols(); track md.key) {\r\n <button (click)=\"addFilter(md)\" mat-menu-item>\r\n <span class=\"filter-labels\">{{md.displayName || (md.key | spaceCase)}}</span>\r\n </button>\r\n }\r\n</mat-menu>\r\n", styles: [".filter{margin:15px;display:inline-block}.filter-button{color:#6495ed;font-size:22px;font-weight:700}.cancel-button{margin-right:30px;font-weight:700}.filter-wrapper{margin-top:1em;margin-bottom:1em;float:right}.menu{margin-bottom:10px;width:109.1%}.filter-labels{color:#6495ed;font-size:17px;font-weight:600}.float{position:absolute;width:fit-content;z-index:101;top:10px;right:180px;max-width:90vw}.d-w{display:flex;flex-direction:row;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: StopPropagationDirective, selector: "[stop-propagation]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: SpaceCasePipe, name: "spaceCase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30
28
|
}
|
|
31
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: GenFilterDisplayerComponent, decorators: [{
|
|
32
30
|
type: Component,
|
|
33
31
|
args: [{ selector: 'tb-filter-displayer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
34
32
|
MatButtonModule, MatMenuModule, MatTooltipModule, StopPropagationDirective, MatIconModule,
|
|
35
33
|
AsyncPipe, SpaceCasePipe
|
|
36
|
-
], template: "<button stop-propagation class=\"filter-button\" mat-icon-button [matMenuTriggerFor]=\"menu\" matTooltip=\"Add Filter\">\r\n <mat-icon class=\"filter-icon\" color=\"primary\">filter_list</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\">\r\n @for (md of filterCols
|
|
37
|
-
}]
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
], template: "<button stop-propagation class=\"filter-button\" mat-icon-button [matMenuTriggerFor]=\"menu\" matTooltip=\"Add Filter\">\r\n <mat-icon class=\"filter-icon\" color=\"primary\">filter_list</mat-icon>\r\n</button>\r\n<mat-menu #menu=\"matMenu\">\r\n @for (md of $filterCols(); track md.key) {\r\n <button (click)=\"addFilter(md)\" mat-menu-item>\r\n <span class=\"filter-labels\">{{md.displayName || (md.key | spaceCase)}}</span>\r\n </button>\r\n }\r\n</mat-menu>\r\n", styles: [".filter{margin:15px;display:inline-block}.filter-button{color:#6495ed;font-size:22px;font-weight:700}.cancel-button{margin-right:30px;font-weight:700}.filter-wrapper{margin-top:1em;margin-bottom:1em;float:right}.menu{margin-bottom:10px;width:109.1%}.filter-labels{color:#6495ed;font-size:17px;font-weight:600}.float{position:absolute;width:fit-content;z-index:101;top:10px;right:180px;max-width:90vw}.d-w{display:flex;flex-direction:row;justify-content:flex-end}\n"] }]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuLWZpbHRlci1kaXNwbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy90YWJsZS1jb250YWluZXItZmlsdGVyL2dlbi1maWx0ZXItZGlzcGxheWVyL2dlbi1maWx0ZXItZGlzcGxheWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvdGFibGUtY29udGFpbmVyLWZpbHRlci9nZW4tZmlsdGVyLWRpc3BsYXllci9nZW4tZmlsdGVyLWRpc3BsYXllci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFZLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFhNUMsTUFBTSxPQUFPLDJCQUEyQjtJQUM1QixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLFdBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNuRCxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzdDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEgsQ0FBQyxDQUFDLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBa0I7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7SUFDakYsQ0FBQzt1R0FWUSwyQkFBMkI7MkZBQTNCLDJCQUEyQiwrRUN0QnhDLGllQVVBLHlnQkRRTSxlQUFlLDJJQUFFLGFBQWEsNnZCQUFFLGdCQUFnQiw2VEFBRSx3QkFBd0IsOERBQUUsYUFBYSwrS0FDOUUsYUFBYTs7MkZBR2pCLDJCQUEyQjtrQkFYdkMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxhQUFhO3dCQUN6RixTQUFTLEVBQUUsYUFBYTtxQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBpbmplY3QsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1ldGFEYXRhLCBGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XHJcbmltcG9ydCB7IFdyYXBwZXJGaWx0ZXJTdG9yZSB9IGZyb20gJy4uL3RhYmxlLXdyYXBwZXItZmlsdGVyLXN0b3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFNwYWNlQ2FzZVBpcGUsIFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcyc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd0Yi1maWx0ZXItZGlzcGxheWVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9nZW4tZmlsdGVyLWRpc3BsYXllci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9nZW4tZmlsdGVyLWRpc3BsYXllci5jb21wb25lbnQuY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgIE1hdEJ1dHRvbk1vZHVsZSwgTWF0TWVudU1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLCBNYXRJY29uTW9kdWxlLFxyXG4gICAgICBBc3luY1BpcGUsIFNwYWNlQ2FzZVBpcGVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEdlbkZpbHRlckRpc3BsYXllckNvbXBvbmVudCB7XHJcbiAgcHJvdGVjdGVkIHRhYmxlU3RhdGUgPSBpbmplY3QoVGFibGVTdG9yZSk7XHJcbiAgcHJvdGVjdGVkIGZpbHRlclN0b3JlID0gaW5qZWN0KFdyYXBwZXJGaWx0ZXJTdG9yZSk7XHJcbiAgJGZpbHRlckNvbHMgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBjb25zdCBtZHMgPSB0aGlzLnRhYmxlU3RhdGUuJG1ldGFEYXRhQXJyYXkoKTtcclxuICAgIHJldHVybiBtZHMuZmlsdGVyKG0gPT4gbS5maWVsZFR5cGUgIT09IEZpZWxkVHlwZS5IaWRkZW4gJiYgbS5maWVsZFR5cGUgIT09IEZpZWxkVHlwZS5Ob3RNYXBwZWQgJiYgIW0ubm9GaWx0ZXIpXHJcbiAgfSk7XHJcblxyXG4gICAgYWRkRmlsdGVyKG1ldGFEYXRhOiBNZXRhRGF0YSkge1xyXG4gICAgICB0aGlzLmZpbHRlclN0b3JlLmFkZEZpbHRlcih7a2V5OiBtZXRhRGF0YS5rZXksIGZpZWxkVHlwZTogbWV0YURhdGEuZmllbGRUeXBlfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGJ1dHRvbiBzdG9wLXByb3BhZ2F0aW9uIGNsYXNzPVwiZmlsdGVyLWJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIG1hdFRvb2x0aXA9XCJBZGQgRmlsdGVyXCI+XHJcbiAgPG1hdC1pY29uIGNsYXNzPVwiZmlsdGVyLWljb25cIiBjb2xvcj1cInByaW1hcnlcIj5maWx0ZXJfbGlzdDwvbWF0LWljb24+XHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgQGZvciAobWQgb2YgJGZpbHRlckNvbHMoKTsgdHJhY2sgbWQua2V5KSB7XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJhZGRGaWx0ZXIobWQpXCIgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXItbGFiZWxzXCI+e3ttZC5kaXNwbGF5TmFtZSB8fCAobWQua2V5IHwgc3BhY2VDYXNlKX19PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgfVxyXG48L21hdC1tZW51PlxyXG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Directive, TemplateRef, Input, inject } from '@angular/core';
|
|
2
2
|
import { CdkColumnDef } from '@angular/cdk/table';
|
|
3
3
|
import { FieldType } from '../interfaces/report-def';
|
|
4
|
+
import { ReplaySubject } from 'rxjs';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
// here is how to use it
|
|
6
7
|
// <generic-table [report]="report">
|
|
@@ -25,23 +26,21 @@ export class CustomCellDirective {
|
|
|
25
26
|
if (this.templateRef !== null)
|
|
26
27
|
this.TemplateRef = this.templateRef;
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
this.TemplateRef = this.templateRef;
|
|
31
|
-
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
this.$metaData.next(this.getMetaData());
|
|
32
31
|
}
|
|
33
|
-
|
|
32
|
+
$metaData = new ReplaySubject();
|
|
33
|
+
getMetaData = () => {
|
|
34
34
|
return {
|
|
35
35
|
key: this.customCell,
|
|
36
|
-
displayName: this.displayName
|
|
37
|
-
preSort: this.preSort
|
|
38
|
-
fieldType:
|
|
39
|
-
order: this.customCellOrder
|
|
40
|
-
width: this.customCellWidth
|
|
36
|
+
displayName: this.displayName,
|
|
37
|
+
preSort: this.preSort,
|
|
38
|
+
fieldType: this.customCellNotMapped ? FieldType.NotMapped : FieldType.Unknown,
|
|
39
|
+
order: this.customCellOrder,
|
|
40
|
+
width: this.customCellWidth,
|
|
41
41
|
customCell: true,
|
|
42
|
-
noExport: !metaData,
|
|
43
42
|
};
|
|
44
|
-
}
|
|
43
|
+
};
|
|
45
44
|
static ngTemplateContextGuard(dir, ctx) {
|
|
46
45
|
return true;
|
|
47
46
|
}
|
|
@@ -71,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
|
71
70
|
}], customCellNotMapped: [{
|
|
72
71
|
type: Input
|
|
73
72
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNlbGwtZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvZGlyZWN0aXZlcy9jdXN0b20tY2VsbC1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU1yQyx3QkFBd0I7QUFDeEIsb0NBQW9DO0FBQ3BDLHFIQUFxSDtBQUNySCwyREFBMkQ7QUFDM0QsbUJBQW1CO0FBS25CLE1BQU0sT0FBTyxtQkFBbUI7SUFDcEIsV0FBVyxHQUFHLE1BQU0sQ0FBbUIsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekUsU0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxVQUFVLENBQVU7SUFDcEIsV0FBVyxDQUFVO0lBQ3JCLE9BQU8sQ0FBVztJQUNsQixXQUFXLENBQW9CO0lBQy9CLGVBQWUsQ0FBVTtJQUN6QixlQUFlLENBQVU7SUFDekIsa0JBQWtCLENBQW1CO0lBQzlDOztPQUVHO0lBQ00sbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ3JDO1FBQ0UsSUFBRyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUk7WUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDekMsQ0FBQztJQUNELFNBQVMsR0FBRyxJQUFJLGFBQWEsRUFBWSxDQUFDO0lBQzFDLFdBQVcsR0FBRyxHQUFhLEVBQUU7UUFDM0IsT0FBTztZQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNwQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPO1lBQzdFLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZTtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDM0IsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQztJQUNKLENBQUMsQ0FBQTtJQUdELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBSSxHQUEyQixFQUFFLEdBQVE7UUFDcEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3VHQXJDUSxtQkFBbUI7MkZBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3dEQUlZLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUlHLG1CQUFtQjtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYsIElucHV0LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtDb2x1bW5EZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xyXG5pbXBvcnQgeyBTb3J0RGVmLCBNZXRhRGF0YSwgRmllbGRUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcclxuaW1wb3J0IHsgVGFibGVCdWlsZGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy90YWJsZS1idWlsZGVyJztcclxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW50ZXJmYWNlIEN1c3RvbUNlbGxDb250ZXh0PFQ+IHtcclxuICAkaW1wbGljaXQ6IFQsXHJcbiAgZWxlbWVudDogVCxcclxufVxyXG4vLyBoZXJlIGlzIGhvdyB0byB1c2UgaXRcclxuLy8gPGdlbmVyaWMtdGFibGUgW3JlcG9ydF09XCJyZXBvcnRcIj5cclxuLy8gICAgIDxwICpjdXN0b21DZWxsPVwiJ2NvbHVtbjEnOyBsZXQgZWxlbWVudCA9IGVsZW1lbnRcIiBbY2xhc3MubWFrZU1lUmVkXT1cImVsZW1lbnQ/LnBvcnRcIj5JZiBQb3J0LCBpIHdpbGwgYmUgcmVkPC9wPlxyXG4vLyAgICAgPHAgKmN1c3RvbUNlbGw9XCInY29sdW1uMidcIj5JIGFtIGN1c3RvbSBjZWxsIHR3byA8L3A+XHJcbi8vIDwvZ2VuZXJpYy10YWJsZT5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tjdXN0b21DZWxsXScsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21DZWxsRGlyZWN0aXZlPFQgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWYgPSBpbmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4oVGVtcGxhdGVSZWYsIHsgb3B0aW9uYWw6IHRydWUgfSk7XHJcbiAgICBwdWJsaWMgY29sdW1uRGVmID0gaW5qZWN0KENka0NvbHVtbkRlZiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICAgIEBJbnB1dCgpIGN1c3RvbUNlbGwhOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBkaXNwbGF5TmFtZT86IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHByZVNvcnQ/OiBTb3J0RGVmO1xyXG4gICAgQElucHV0KCkgVGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQElucHV0KCkgY3VzdG9tQ2VsbE9yZGVyPzogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgY3VzdG9tQ2VsbFdpZHRoPzogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgY3VzdG9tQ2VsbFRhYmxlUmVmPzogVGFibGVCdWlsZGVyPFQ+O1xyXG4gICAgLyoqXHJcbiAgICAgKiB0cnVlIGlmIGNvbHVtbiBub3QgbWFwcGVkIHRvIGEgcHJvcGVydHkgaW4gdGhlIGRhdGEgc291cmNlLiBEZWZhdWx0IGlzIGZhbHNlLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBjdXN0b21DZWxsTm90TWFwcGVkID0gZmFsc2U7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgaWYodGhpcy50ZW1wbGF0ZVJlZiAhPT0gbnVsbClcclxuICAgICAgICB0aGlzLlRlbXBsYXRlUmVmID0gdGhpcy50ZW1wbGF0ZVJlZjtcclxuICAgICB9XHJcbiAgICAgbmdPbkluaXQoKSB7XHJcbiAgICAgIHRoaXMuJG1ldGFEYXRhLm5leHQodGhpcy5nZXRNZXRhRGF0YSgpKVxyXG4gICAgfVxyXG4gICAgJG1ldGFEYXRhID0gbmV3IFJlcGxheVN1YmplY3Q8TWV0YURhdGE+KCk7XHJcbiAgICBnZXRNZXRhRGF0YSA9ICgpOiBNZXRhRGF0YSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAga2V5OiB0aGlzLmN1c3RvbUNlbGwsXHJcbiAgICAgICAgZGlzcGxheU5hbWU6IHRoaXMuZGlzcGxheU5hbWUsXHJcbiAgICAgICAgcHJlU29ydDogdGhpcy5wcmVTb3J0LFxyXG4gICAgICAgIGZpZWxkVHlwZTogdGhpcy5jdXN0b21DZWxsTm90TWFwcGVkID8gRmllbGRUeXBlLk5vdE1hcHBlZCA6IEZpZWxkVHlwZS5Vbmtub3duLFxyXG4gICAgICAgIG9yZGVyOiB0aGlzLmN1c3RvbUNlbGxPcmRlcixcclxuICAgICAgICB3aWR0aDogdGhpcy5jdXN0b21DZWxsV2lkdGgsXHJcbiAgICAgICAgY3VzdG9tQ2VsbDogdHJ1ZSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KGRpcjogQ3VzdG9tQ2VsbERpcmVjdGl2ZTxUPiwgY3R4OiBhbnkpOiBjdHggaXMgQ3VzdG9tQ2VsbENvbnRleHQ8VD4ge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uSW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2ludGVyZmFjZXMvQ29sdW1uSW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tQ2VsbERpcmVjdGl2ZSB9IGZyb20gXCIuLi9kaXJlY3RpdmVzL2N1c3RvbS1jZWxsLWRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBNZXRhRGF0YSB9IGZyb20gXCIuL3JlcG9ydC1kZWZcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uSW5mbyB7XHJcbiAgbWV0YURhdGE6IE1ldGFEYXRhO1xyXG4gIGN1c3RvbUNlbGw/OiBDdXN0b21DZWxsRGlyZWN0aXZlO1xyXG59XHJcbiJdfQ==
|
|
@@ -2,7 +2,7 @@ import { DatePipe } from '@angular/common';
|
|
|
2
2
|
import { Injectable, inject } from '@angular/core';
|
|
3
3
|
import { first, map } from 'rxjs/operators';
|
|
4
4
|
import { combineLatest } from 'rxjs';
|
|
5
|
-
import {
|
|
5
|
+
import { orderStateMetaData, TableStore } from '../classes/table-store';
|
|
6
6
|
import { TableBuilderConfigToken } from '../classes/TableBuilderConfig';
|
|
7
7
|
import { downloadData } from '../functions/download-data';
|
|
8
8
|
import { ArrayStyle, FieldType } from '../interfaces/report-def';
|
|
@@ -72,7 +72,7 @@ export class ExportToCsvService {
|
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ExportToCsvService, decorators: [{
|
|
73
73
|
type: Injectable
|
|
74
74
|
}] });
|
|
75
|
-
export const removeFromMetaData = (state, keysToRemove) =>
|
|
75
|
+
export const removeFromMetaData = (state, keysToRemove) => orderStateMetaData(state)
|
|
76
76
|
.filter(meta => !keysToRemove.includes(meta.key));
|
|
77
77
|
export const nonExportableFields = (state) => Object.values(state.metaData)
|
|
78
78
|
.filter(md => md.noExport)
|
|
@@ -82,4 +82,4 @@ export const mapExportableFields = (state) => {
|
|
|
82
82
|
.concat(state.hiddenKeys);
|
|
83
83
|
return removeFromMetaData(state, fieldsToRemove);
|
|
84
84
|
};
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvc2VydmljZXMvZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFtQixVQUFVLEVBQUUsU0FBUyxFQUFZLE1BQU0sMEJBQTBCLENBQUM7QUFFNUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBRzdCLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQixNQUFNLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDekMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUdwQyxXQUFXLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7UUFDdEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJ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WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpcnN0LCBtYXAgIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgb3JkZXJNZXRhRGF0YSwgVGFibGVTdG9yZSB9IGZyb20gJy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBUYWJsZUJ1aWxkZXJDb25maWdUb2tlbiB9IGZyb20gJy4uL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcclxuaW1wb3J0IHsgZG93bmxvYWREYXRhIH0gZnJvbSAnLi4vZnVuY3Rpb25zL2Rvd25sb2FkLWRhdGEnO1xyXG5pbXBvcnQgeyBBcnJheUFkZGl0aW9uYWwsIEFycmF5U3R5bGUsIEZpZWxkVHlwZSwgTWV0YURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBUYWJsZVN0YXRlIH0gZnJvbSAnLi4vY2xhc3Nlcy9UYWJsZVN0YXRlJztcclxuaW1wb3J0IHsgaXNQaXBlIH0gZnJvbSAnLi90cmFuc2Zvcm0tY3JlYXRvcic7XHJcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRUb0NzdlNlcnZpY2U8VD4ge1xyXG4gIHN0YXRlID0gaW5qZWN0KFRhYmxlU3RvcmUpO1xyXG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KFRhYmxlQnVpbGRlckNvbmZpZ1Rva2VuKTtcclxuICBwcml2YXRlIGRhdGVQaXBlID0gaW5qZWN0KERhdGVQaXBlKTtcclxuXHJcblxyXG4gIGV4cG9ydFRvQ3N2ID0gKGRhdGE6IE9ic2VydmFibGU8VFtdPikgPT4ge1xyXG4gICAgY29uc3QgZXhwb3J0YWJsZUZpZWxkcyQgPSB0aGlzLnN0YXRlLnN0YXRlJC5waXBlKFxyXG4gICAgICBtYXAobWFwRXhwb3J0YWJsZUZpZWxkcylcclxuICAgICk7XHJcblxyXG4gICAgY29tYmluZUxhdGVzdChbZGF0YSxleHBvcnRhYmxlRmllbGRzJF0pLnBpcGUoXHJcbiAgICAgIGZpcnN0KCksXHJcbiAgICAgIG1hcCgoW2RhdGEsZmllbGRzXSkgPT4gdGhpcy5jc3ZEYXRhKGRhdGEsZmllbGRzKSksXHJcbiAgICApLnN1YnNjcmliZShjc3YgPT4gZG93bmxvYWREYXRhKGNzdiwnZXhwb3J0LmNzdicsJ3RleHQvY3N2JykgKTtcclxuICB9XHJcblxyXG4gIGNzdkRhdGEgPSAoZGF0YTpBcnJheTxUPiwgbWV0YURhdGE6IE1ldGFEYXRhPFQ+W10pID0+IHtcclxuICAgIGNvbnN0IHJlcyA9IGRhdGEubWFwKHJvdyA9PiBtZXRhRGF0YS5tYXAobWV0YSA9PiB0aGlzLm1ldGFUb0ZpZWxkKG1ldGEsIHJvdykpLmpvaW4oJywnKSk7XHJcbiAgICByZXMudW5zaGlmdChtZXRhRGF0YS5tYXAobWV0YSA9PiBtZXRhLmRpc3BsYXlOYW1lIHx8IG1ldGEua2V5KS5qb2luKCcsJykpO1xyXG4gICAgcmV0dXJuIHJlcy5qb2luKCdcXG4nKTtcclxuICB9XHJcblxyXG4gIG1ldGFUb0ZpZWxkID0gKG1ldGE6IE1ldGFEYXRhPFQ+LCByb3c6IFQpID0+IHtcclxuICAgIGxldCB2YWw6IGFueSA9IGdldCggcm93LG1ldGEua2V5KTtcclxuICAgIGlmICh2YWwgPT0gbnVsbCAmJiAhbWV0YS50cmFuc2Zvcm0pIHJldHVybiB2YWxcclxuICAgIGlmKG1ldGEudHJhbnNmb3JtICYmIG1ldGEuZmllbGRUeXBlICE9PSBGaWVsZFR5cGUuRXhwcmVzc2lvbil7XHJcbiAgICAgIGNvbnN0IHRyYW5zZm9ybSA9IG1ldGEudHJhbnNmb3JtIGFzIGFueTtcclxuICAgICAgcmV0dXJuICBpc1BpcGUodHJhbnNmb3JtKSA/IHRyYW5zZm9ybS50cmFuc2Zvcm0odmFsKSA6IHRyYW5zZm9ybSh2YWwpO1xyXG4gICAgfVxyXG4gICAgaWYobWV0YS5tYXApe1xyXG4gICAgICByZXR1cm4gbWV0YS5tYXAocm93KTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAobWV0YS5maWVsZFR5cGUpIHtcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcclxuICAgICAgICBjb25zdCBkYXRlRm9ybWF0ID0gbWV0YS5hZGRpdGlvbmFsPy5leHBvcnQ/LmRhdGVGb3JtYXQgfHwgdGhpcy5jb25maWc/LmV4cG9ydD8uZGF0ZUZvcm1hdCB8fCBtZXRhLmFkZGl0aW9uYWw/LmRhdGVGb3JtYXQ7XHJcbiAgICAgICAgdmFsID0gdGhpcy50cmFuc2Zvcm0odmFsLCBkYXRlRm9ybWF0KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZVRpbWU6XHJcbiAgICAgICAgY29uc3QgZGF0ZVRpbWVGb3JtYXQgPSBtZXRhLmFkZGl0aW9uYWw/LmV4cG9ydD8uZGF0ZVRpbWVGb3JtYXQgfHwgdGhpcy5jb25maWc/LmV4cG9ydD8uZGF0ZVRpbWVGb3JtYXQgfHwgbWV0YS5hZGRpdGlvbmFsPy5kYXRlVGltZU9wdGlvbnM/LmZvcm1hdDtcclxuICAgICAgICB2YWwgPSB0aGlzLnRyYW5zZm9ybSh2YWwsIGRhdGVUaW1lRm9ybWF0KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuU3RyaW5nOlxyXG4gICAgICAgIGNvbnN0IHByZXBlbmQ6IHN0cmluZyA9IG1ldGEuYWRkaXRpb25hbD8uZXhwb3J0Py5wcmVwZW5kIHx8IHRoaXMuY29uZmlnPy5leHBvcnQ/LnByZXBlbmQgfHwgJyc7XHJcbiAgICAgICAgdmFsID0gcHJlcGVuZCArIHZhbDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuQXJyYXk6XHJcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbCA9IG1ldGEuYWRkaXRpb25hbCBhcyBBcnJheUFkZGl0aW9uYWw7XHJcbiAgICAgICAgdmFsID0gKHZhbCBhcyBBcnJheTxzdHJpbmc+KS5zbGljZSgwLGFkZGl0aW9uYWwubGltaXQpLmpvaW4oYWRkaXRpb25hbC5hcnJheVN0eWxlID09PSBBcnJheVN0eWxlLk5ld0xpbmUgPyAnXFxuJyA6ICcsICcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5FeHByZXNzaW9uOlxyXG4gICAgICAgIHZhbCA9IChtZXRhLnRyYW5zZm9ybSBhcyBhbnkpKHJvdyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgJiYgKHZhbC5pbmNsdWRlcygnLCcpIHx8IHZhbC5pbmNsdWRlcygnXCInKSB8fCB2YWwuaW5jbHVkZXMoJ1xcbicpKSkge1xyXG4gICAgICB2YWwgPSB2YWwucmVwbGFjZUFsbCgnXCInLCAnXCJcIicpO1xyXG4gICAgICB2YWwgPSAnXCInICsgdmFsICsgJ1wiJztcclxuICAgIH1cclxuICAgIHJldHVybiB2YWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zZm9ybSh2YWw6IGFueSwgZGF0ZUZvcm1hdDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5jb25maWcudHJhbnNmb3JtZXJzICYmIHRoaXMuY29uZmlnLnRyYW5zZm9ybWVyc1tGaWVsZFR5cGUuRGF0ZV0pIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zZm9ybWVyc1tGaWVsZFR5cGUuRGF0ZV0hKHZhbCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsLCBkYXRlRm9ybWF0KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCByZW1vdmVGcm9tTWV0YURhdGEgPSAoc3RhdGU6IFRhYmxlU3RhdGUsIGtleXNUb1JlbW92ZTogc3RyaW5nW10pID0+XHJcbiAgICBvcmRlck1ldGFEYXRhKHN0YXRlKVxyXG4gIC5maWx0ZXIoIG1ldGEgPT4gIWtleXNUb1JlbW92ZS5pbmNsdWRlcyhtZXRhLmtleSkpO1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBub25FeHBvcnRhYmxlRmllbGRzID0gKHN0YXRlOiBUYWJsZVN0YXRlKSA9PiBPYmplY3QudmFsdWVzKCBzdGF0ZS5tZXRhRGF0YSlcclxuICAuZmlsdGVyKG1kID0+IG1kLm5vRXhwb3J0IClcclxuICAubWFwKCBtZCA9PiBtZC5rZXkgKTtcclxuXHJcbmV4cG9ydCBjb25zdCBtYXBFeHBvcnRhYmxlRmllbGRzID0gKHN0YXRlOiBUYWJsZVN0YXRlKSA9PiB7XHJcbiAgY29uc3QgZmllbGRzVG9SZW1vdmUgPSBub25FeHBvcnRhYmxlRmllbGRzKHN0YXRlKVxyXG4gICAgLmNvbmNhdChzdGF0ZS5oaWRkZW5LZXlzKTtcclxuICAgcmV0dXJuIHJlbW92ZUZyb21NZXRhRGF0YShzdGF0ZSwgZmllbGRzVG9SZW1vdmUpO1xyXG59XHJcbiJdfQ==
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvc2VydmljZXMvZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRyxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQW1CLFVBQVUsRUFBRSxTQUFTLEVBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUU1RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFHN0IsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN6QyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBR3BDLFdBQVcsR0FBRyxDQUFDLElBQXFCLEVBQUUsRUFBRTtRQUN0QyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFD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bnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaXJzdCwgbWFwICB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG9yZGVyU3RhdGVNZXRhRGF0YSwgVGFibGVTdG9yZSB9IGZyb20gJy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBUYWJsZUJ1aWxkZXJDb25maWdUb2tlbiB9IGZyb20gJy4uL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcclxuaW1wb3J0IHsgZG93bmxvYWREYXRhIH0gZnJvbSAnLi4vZnVuY3Rpb25zL2Rvd25sb2FkLWRhdGEnO1xyXG5pbXBvcnQgeyBBcnJheUFkZGl0aW9uYWwsIEFycmF5U3R5bGUsIEZpZWxkVHlwZSwgTWV0YURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBUYWJsZVN0YXRlIH0gZnJvbSAnLi4vY2xhc3Nlcy9UYWJsZVN0YXRlJztcclxuaW1wb3J0IHsgaXNQaXBlIH0gZnJvbSAnLi90cmFuc2Zvcm0tY3JlYXRvcic7XHJcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRUb0NzdlNlcnZpY2U8VD4ge1xyXG4gIHN0YXRlID0gaW5qZWN0KFRhYmxlU3RvcmUpO1xyXG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KFRhYmxlQnVpbGRlckNvbmZpZ1Rva2VuKTtcclxuICBwcml2YXRlIGRhdGVQaXBlID0gaW5qZWN0KERhdGVQaXBlKTtcclxuXHJcblxyXG4gIGV4cG9ydFRvQ3N2ID0gKGRhdGE6IE9ic2VydmFibGU8VFtdPikgPT4ge1xyXG4gICAgY29uc3QgZXhwb3J0YWJsZUZpZWxkcyQgPSB0aGlzLnN0YXRlLnN0YXRlJC5waXBlKFxyXG4gICAgICBtYXAobWFwRXhwb3J0YWJsZUZpZWxkcylcclxuICAgICk7XHJcblxyXG4gICAgY29tYmluZUxhdGVzdChbZGF0YSxleHBvcnRhYmxlRmllbGRzJF0pLnBpcGUoXHJcbiAgICAgIGZpcnN0KCksXHJcbiAgICAgIG1hcCgoW2RhdGEsZmllbGRzXSkgPT4gdGhpcy5jc3ZEYXRhKGRhdGEsZmllbGRzKSksXHJcbiAgICApLnN1YnNjcmliZShjc3YgPT4gZG93bmxvYWREYXRhKGNzdiwnZXhwb3J0LmNzdicsJ3RleHQvY3N2JykgKTtcclxuICB9XHJcblxyXG4gIGNzdkRhdGEgPSAoZGF0YTpBcnJheTxUPiwgbWV0YURhdGE6IE1ldGFEYXRhPFQ+W10pID0+IHtcclxuICAgIGNvbnN0IHJlcyA9IGRhdGEubWFwKHJvdyA9PiBtZXRhRGF0YS5tYXAobWV0YSA9PiB0aGlzLm1ldGFUb0ZpZWxkKG1ldGEsIHJvdykpLmpvaW4oJywnKSk7XHJcbiAgICByZXMudW5zaGlmdChtZXRhRGF0YS5tYXAobWV0YSA9PiBtZXRhLmRpc3BsYXlOYW1lIHx8IG1ldGEua2V5KS5qb2luKCcsJykpO1xyXG4gICAgcmV0dXJuIHJlcy5qb2luKCdcXG4nKTtcclxuICB9XHJcblxyXG4gIG1ldGFUb0ZpZWxkID0gKG1ldGE6IE1ldGFEYXRhPFQ+LCByb3c6IFQpID0+IHtcclxuICAgIGxldCB2YWw6IGFueSA9IGdldCggcm93LG1ldGEua2V5KTtcclxuICAgIGlmICh2YWwgPT0gbnVsbCAmJiAhbWV0YS50cmFuc2Zvcm0pIHJldHVybiB2YWxcclxuICAgIGlmKG1ldGEudHJhbnNmb3JtICYmIG1ldGEuZmllbGRUeXBlICE9PSBGaWVsZFR5cGUuRXhwcmVzc2lvbil7XHJcbiAgICAgIGNvbnN0IHRyYW5zZm9ybSA9IG1ldGEudHJhbnNmb3JtIGFzIGFueTtcclxuICAgICAgcmV0dXJuICBpc1BpcGUodHJhbnNmb3JtKSA/IHRyYW5zZm9ybS50cmFuc2Zvcm0odmFsKSA6IHRyYW5zZm9ybSh2YWwpO1xyXG4gICAgfVxyXG4gICAgaWYobWV0YS5tYXApe1xyXG4gICAgICByZXR1cm4gbWV0YS5tYXAocm93KTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAobWV0YS5maWVsZFR5cGUpIHtcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcclxuICAgICAgICBjb25zdCBkYXRlRm9ybWF0ID0gbWV0YS5hZGRpdGlvbmFsPy5leHBvcnQ/LmRhdGVGb3JtYXQgfHwgdGhpcy5jb25maWc/LmV4cG9ydD8uZGF0ZUZvcm1hdCB8fCBtZXRhLmFkZGl0aW9uYWw/LmRhdGVGb3JtYXQ7XHJcbiAgICAgICAgdmFsID0gdGhpcy50cmFuc2Zvcm0odmFsLCBkYXRlRm9ybWF0KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZVRpbWU6XHJcbiAgICAgICAgY29uc3QgZGF0ZVRpbWVGb3JtYXQgPSBtZXRhLmFkZGl0aW9uYWw/LmV4cG9ydD8uZGF0ZVRpbWVGb3JtYXQgfHwgdGhpcy5jb25maWc/LmV4cG9ydD8uZGF0ZVRpbWVGb3JtYXQgfHwgbWV0YS5hZGRpdGlvbmFsPy5kYXRlVGltZU9wdGlvbnM/LmZvcm1hdDtcclxuICAgICAgICB2YWwgPSB0aGlzLnRyYW5zZm9ybSh2YWwsIGRhdGVUaW1lRm9ybWF0KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuU3RyaW5nOlxyXG4gICAgICAgIGNvbnN0IHByZXBlbmQ6IHN0cmluZyA9IG1ldGEuYWRkaXRpb25hbD8uZXhwb3J0Py5wcmVwZW5kIHx8IHRoaXMuY29uZmlnPy5leHBvcnQ/LnByZXBlbmQgfHwgJyc7XHJcbiAgICAgICAgdmFsID0gcHJlcGVuZCArIHZhbDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuQXJyYXk6XHJcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbCA9IG1ldGEuYWRkaXRpb25hbCBhcyBBcnJheUFkZGl0aW9uYWw7XHJcbiAgICAgICAgdmFsID0gKHZhbCBhcyBBcnJheTxzdHJpbmc+KS5zbGljZSgwLGFkZGl0aW9uYWwubGltaXQpLmpvaW4oYWRkaXRpb25hbC5hcnJheVN0eWxlID09PSBBcnJheVN0eWxlLk5ld0xpbmUgPyAnXFxuJyA6ICcsICcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5FeHByZXNzaW9uOlxyXG4gICAgICAgIHZhbCA9IChtZXRhLnRyYW5zZm9ybSBhcyBhbnkpKHJvdyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgJiYgKHZhbC5pbmNsdWRlcygnLCcpIHx8IHZhbC5pbmNsdWRlcygnXCInKSB8fCB2YWwuaW5jbHVkZXMoJ1xcbicpKSkge1xyXG4gICAgICB2YWwgPSB2YWwucmVwbGFjZUFsbCgnXCInLCAnXCJcIicpO1xyXG4gICAgICB2YWwgPSAnXCInICsgdmFsICsgJ1wiJztcclxuICAgIH1cclxuICAgIHJldHVybiB2YWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zZm9ybSh2YWw6IGFueSwgZGF0ZUZvcm1hdDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5jb25maWcudHJhbnNmb3JtZXJzICYmIHRoaXMuY29uZmlnLnRyYW5zZm9ybWVyc1tGaWVsZFR5cGUuRGF0ZV0pIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zZm9ybWVyc1tGaWVsZFR5cGUuRGF0ZV0hKHZhbCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsLCBkYXRlRm9ybWF0KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCByZW1vdmVGcm9tTWV0YURhdGEgPSAoc3RhdGU6IFRhYmxlU3RhdGUsIGtleXNUb1JlbW92ZTogc3RyaW5nW10pID0+XHJcbiAgICBvcmRlclN0YXRlTWV0YURhdGEoc3RhdGUpXHJcbiAgLmZpbHRlciggbWV0YSA9PiAha2V5c1RvUmVtb3ZlLmluY2x1ZGVzKG1ldGEua2V5KSk7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IG5vbkV4cG9ydGFibGVGaWVsZHMgPSAoc3RhdGU6IFRhYmxlU3RhdGUpID0+IE9iamVjdC52YWx1ZXMoIHN0YXRlLm1ldGFEYXRhKVxyXG4gIC5maWx0ZXIobWQgPT4gbWQubm9FeHBvcnQgKVxyXG4gIC5tYXAoIG1kID0+IG1kLmtleSApO1xyXG5cclxuZXhwb3J0IGNvbnN0IG1hcEV4cG9ydGFibGVGaWVsZHMgPSAoc3RhdGU6IFRhYmxlU3RhdGUpID0+IHtcclxuICBjb25zdCBmaWVsZHNUb1JlbW92ZSA9IG5vbkV4cG9ydGFibGVGaWVsZHMoc3RhdGUpXHJcbiAgICAuY29uY2F0KHN0YXRlLmhpZGRlbktleXMpO1xyXG4gICByZXR1cm4gcmVtb3ZlRnJvbU1ldGFEYXRhKHN0YXRlLCBmaWVsZHNUb1JlbW92ZSk7XHJcbn1cclxuIl19
|