@fundamental-ngx/platform 0.44.0-rc.2 → 0.44.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +31 -29
- package/esm2022/message-popover/components/message-view/message-view.component.mjs +12 -11
- package/esm2022/message-popover/message-popover.component.mjs +21 -22
- package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +8 -8
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +18 -17
- package/esm2022/settings-generator/settings-generator.component.mjs +14 -17
- package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +20 -21
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +14 -13
- package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +14 -11
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +7 -9
- package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +5 -7
- package/esm2022/table/components/table-row/table-row.component.mjs +31 -32
- package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +5 -4
- package/esm2022/table-helpers/directives/table-data-source.directive.mjs +8 -12
- package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +10 -11
- package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +9 -15
- package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +5 -8
- package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +13 -16
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +54 -50
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +31 -33
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +27 -26
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +23 -35
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +56 -59
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +15 -16
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fundamental-ngx-platform-v0.44.0-rc.3.tgz +0 -0
- package/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.d.ts +22 -21
- package/message-popover/components/message-view/message-view.component.d.ts +4 -5
- package/message-popover/message-popover.component.d.ts +7 -6
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/settings-generator/layouts/base-settings-generator-layout.d.ts +16 -17
- package/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.d.ts +3 -3
- package/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.d.ts +6 -7
- package/settings-generator/settings-generator.component.d.ts +8 -8
- package/smart-filter-bar/smart-filter-bar.component.d.ts +11 -12
- package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +3 -3
- package/table/components/table-column-resizer/table-column-resizer.component.d.ts +1 -1
- package/table/components/table-row/table-row.component.d.ts +10 -10
- package/table-helpers/directives/table-data-source.directive.d.ts +11 -13
- package/table-helpers/directives/table-header-resizer.directive.d.ts +3 -3
- package/table-helpers/directives/table-scrollable.directive.d.ts +1 -1
- package/table-helpers/directives/table-virtual-scroll.directive.d.ts +1 -1
- package/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.d.ts +1 -3
- package/fundamental-ngx-platform-v0.44.0-rc.2.tgz +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';
|
|
2
2
|
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { Directive, ElementRef, inject, NgZone } from '@angular/core';
|
|
4
|
-
import {
|
|
3
|
+
import { DestroyRef, Directive, ElementRef, inject, NgZone } from '@angular/core';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
+
import { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';
|
|
5
6
|
import { fromEvent } from 'rxjs';
|
|
6
|
-
import { takeUntil } from 'rxjs/operators';
|
|
7
7
|
import { TableColumnResizeService } from '../services/table-column-resize.service';
|
|
8
8
|
import { TableRowService } from '../services/table-row.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class TableHeaderResizerDirective {
|
|
11
11
|
constructor() {
|
|
12
12
|
/** @hidden */
|
|
13
|
-
this.
|
|
13
|
+
this._destroyRef = inject(DestroyRef);
|
|
14
14
|
/** @hidden */
|
|
15
15
|
this._rtl = inject(RtlService, {
|
|
16
16
|
optional: true
|
|
@@ -34,7 +34,7 @@ export class TableHeaderResizerDirective {
|
|
|
34
34
|
ngOnInit() {
|
|
35
35
|
this._zone.runOutsideAngular(() => {
|
|
36
36
|
fromEvent(this._elmRef.nativeElement, 'keydown')
|
|
37
|
-
.pipe(
|
|
37
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
38
38
|
.subscribe((event) => {
|
|
39
39
|
if ((KeyUtil.isKeyCode(event, LEFT_ARROW) ||
|
|
40
40
|
(this._rtl?.rtl.value && KeyUtil.isKeyCode(event, RIGHT_ARROW))) &&
|
|
@@ -54,7 +54,7 @@ export class TableHeaderResizerDirective {
|
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
fromEvent(this._elmRef.nativeElement, 'focusin')
|
|
57
|
-
.pipe(
|
|
57
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
58
58
|
.subscribe(() => {
|
|
59
59
|
if (!this._focusinTimerId) {
|
|
60
60
|
return;
|
|
@@ -63,7 +63,7 @@ export class TableHeaderResizerDirective {
|
|
|
63
63
|
this._focusinTimerId = null;
|
|
64
64
|
});
|
|
65
65
|
fromEvent(this._elmRef.nativeElement, 'focusout')
|
|
66
|
-
.pipe(
|
|
66
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
67
67
|
.subscribe(() => {
|
|
68
68
|
this._focusinTimerId = setTimeout(() => {
|
|
69
69
|
this.focusedCellPosition = null;
|
|
@@ -79,14 +79,13 @@ export class TableHeaderResizerDirective {
|
|
|
79
79
|
this.focusedCellPosition = { rowIndex: position.rowIndex, colIndex: position.colIndex };
|
|
80
80
|
}
|
|
81
81
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TableHeaderResizerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
82
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: TableHeaderResizerDirective, isStandalone: true, selector: "[fdpTableHeaderResizer]",
|
|
82
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: TableHeaderResizerDirective, isStandalone: true, selector: "[fdpTableHeaderResizer]", ngImport: i0 }); }
|
|
83
83
|
}
|
|
84
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TableHeaderResizerDirective, decorators: [{
|
|
85
85
|
type: Directive,
|
|
86
86
|
args: [{
|
|
87
87
|
selector: '[fdpTableHeaderResizer]',
|
|
88
|
-
standalone: true
|
|
89
|
-
providers: [DestroyedService]
|
|
88
|
+
standalone: true
|
|
90
89
|
}]
|
|
91
90
|
}] });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLXJlc2l6ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlLWhlbHBlcnMvZGlyZWN0aXZlcy90YWJsZS1oZWFkZXItcmVzaXplci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUdILE9BQU8sRUFFUCxVQUFVLEVBQ2IsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLDJCQUEyQjtJQUp4QztRQVFJLGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsRCxjQUFjO1FBQ0csU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDdkMsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUgsY0FBYztRQUNHLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUMsY0FBYztRQUNHLDhCQUF5QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTlFLGNBQWM7UUFDRyxxQkFB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RSxFQUFFO1lBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztJQUNOLGNBQWMsQ0FBQyxRQUErQjtRQUNsRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVGLENBQUM7OEdBeEZRLDJCQUEyQjtrR0FBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExFRlRfQVJST1csIFJJR0hUX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBOZ1pvbmUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgICBGb2N1c2FibGVDZWxsUG9zaXRpb24sXG4gICAgRm9jdXNhYmxlSXRlbVBvc2l0aW9uLFxuICAgIEtleVV0aWwsXG4gICAgTnVsbGFibGUsXG4gICAgUnRsU2VydmljZVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uUmVzaXplU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLWNvbHVtbi1yZXNpemUuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZVJvd1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90YWJsZS1yb3cuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkcFRhYmxlSGVhZGVyUmVzaXplcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVIZWFkZXJSZXNpemVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZvY3VzZWRDZWxsUG9zaXRpb246IE51bGxhYmxlPEZvY3VzYWJsZUNlbGxQb3NpdGlvbj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3J0bCA9IGluamVjdChSdGxTZXJ2aWNlLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsbVJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlID0gaW5qZWN0KFRhYmxlQ29sdW1uUmVzaXplU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlUm93U2VydmljZSA9IGluamVjdChUYWJsZVJvd1NlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF96b25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9jdXNpblRpbWVySWQ6IGFueTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX2hlYWRlckNlbGxGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAndGgnO1xuICAgIH1cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pih0aGlzLl9lbG1SZWYubmF0aXZlRWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIExFRlRfQVJST1cpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMuX3J0bD8ucnRsLnZhbHVlICYmIEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBSSUdIVF9BUlJPVykpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2hlYWRlckNlbGxGb2N1c2VkXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLl9wcm9jZXNzUmVzaXplKC0zMik7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFJJR0hUX0FSUk9XKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLl9ydGw/LnJ0bC52YWx1ZSAmJiBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgTEVGVF9BUlJPVykpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc2hpZnRLZXkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2hlYWRlckNlbGxGb2N1c2VkXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLl9wcm9jZXNzUmVzaXplKDMyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5fZWxtUmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c2luJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5fZm9jdXNpblRpbWVySWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fZm9jdXNpblRpbWVySWQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb2N1c2luVGltZXJJZCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLl9lbG1SZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3Vzb3V0JylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzaW5UaW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzZWRDZWxsUG9zaXRpb24gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdGFibGVSb3dTZXJ2aWNlLmNlbGxGb2N1c2VkJC5zdWJzY3JpYmUoKGV2dCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fb25DZWxsRm9jdXNlZChldnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uQ2VsbEZvY3VzZWQocG9zaXRpb246IEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzZWRDZWxsUG9zaXRpb24gPSB7IHJvd0luZGV4OiBwb3NpdGlvbi5yb3dJbmRleCwgY29sSW5kZXg6IHBvc2l0aW9uLmNvbEluZGV4IH07XG4gICAgfVxufVxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Directive, ElementRef,
|
|
2
|
-
import { DestroyedService } from '@fundamental-ngx/cdk/utils';
|
|
1
|
+
import { DestroyRef, Directive, ElementRef, forwardRef, inject, NgZone } from '@angular/core';
|
|
3
2
|
import { TABLE_SCROLLABLE, TableScrollDispatcherService } from '../services/table-scroll-dispatcher.service';
|
|
4
|
-
import {
|
|
5
|
-
import { filter, share,
|
|
3
|
+
import { fromEvent, Observable } from 'rxjs';
|
|
4
|
+
import { filter, share, tap } from 'rxjs/operators';
|
|
6
5
|
import { DOCUMENT } from '@angular/common';
|
|
6
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "../services/table-scroll-dispatcher.service";
|
|
9
9
|
/**
|
|
@@ -27,7 +27,7 @@ export class TableScrollableDirective {
|
|
|
27
27
|
/** @hidden */
|
|
28
28
|
this._prevScrollLeft = 0;
|
|
29
29
|
/** @hidden */
|
|
30
|
-
this.
|
|
30
|
+
this._destroyRef = inject(DestroyRef);
|
|
31
31
|
/** @hidden */
|
|
32
32
|
this._document = inject(DOCUMENT);
|
|
33
33
|
/** Scroll events stream */
|
|
@@ -40,7 +40,7 @@ export class TableScrollableDirective {
|
|
|
40
40
|
return false;
|
|
41
41
|
}
|
|
42
42
|
return true;
|
|
43
|
-
}),
|
|
43
|
+
}), takeUntilDestroyed(this._destroyRef), share());
|
|
44
44
|
/** Vertical scroll stream */
|
|
45
45
|
this._elementVerticalScrollStream = this._elementScrollStream.pipe(filter(() => this._prevScrollTop !== this.getScrollTop()), tap(() => (this._prevScrollTop = this.getScrollTop())));
|
|
46
46
|
/** Horizontal scroll stream */
|
|
@@ -145,10 +145,7 @@ export class TableScrollableDirective {
|
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
147
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TableScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i1.TableScrollDispatcherService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
148
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: TableScrollableDirective, isStandalone: true, selector: "[fdpTableScrollable]", providers: [
|
|
149
|
-
{ provide: TABLE_SCROLLABLE, useExisting: forwardRef(() => TableScrollableDirective) },
|
|
150
|
-
DestroyedService
|
|
151
|
-
], exportAs: ["tableScrollable"], ngImport: i0 }); }
|
|
148
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: TableScrollableDirective, isStandalone: true, selector: "[fdpTableScrollable]", providers: [{ provide: TABLE_SCROLLABLE, useExisting: forwardRef(() => TableScrollableDirective) }], exportAs: ["tableScrollable"], ngImport: i0 }); }
|
|
152
149
|
}
|
|
153
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TableScrollableDirective, decorators: [{
|
|
154
151
|
type: Directive,
|
|
@@ -156,10 +153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
156
153
|
selector: '[fdpTableScrollable]',
|
|
157
154
|
exportAs: 'tableScrollable',
|
|
158
155
|
standalone: true,
|
|
159
|
-
providers: [
|
|
160
|
-
{ provide: TABLE_SCROLLABLE, useExisting: forwardRef(() => TableScrollableDirective) },
|
|
161
|
-
DestroyedService
|
|
162
|
-
]
|
|
156
|
+
providers: [{ provide: TABLE_SCROLLABLE, useExisting: forwardRef(() => TableScrollableDirective) }]
|
|
163
157
|
}]
|
|
164
158
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.TableScrollDispatcherService }, { type: i0.NgZone }]; } });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy9kaXJlY3RpdmVzL3RhYmxlLXNjcm9sbGFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBcUIsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsZ0JBQWdCLEVBRWhCLDRCQUE0QixFQUMvQixNQUFNLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQVksU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUUzQzs7Ozs7OztHQU9HO0FBVUgsTUFBTSxPQUFPLHdCQUF3QjtJQThDakMsY0FBYztJQUNkLFlBQ1csVUFBbUMsRUFDaEMsZ0JBQThDLEVBQzlDLE1BQWM7UUFGakIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE4QjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBakQ1QixjQUFjO1FBQ04sZUFBVSxHQUFHLEtBQUssQ0FBQztRQUUzQixjQUFjO1FBQ04sbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFFM0IsY0FBYztRQUNOLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXhELGNBQWM7UUFDRyxjQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlDLDJCQUEyQjtRQUNuQix5QkFBb0IsR0FBc0IsSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUF5QixFQUFFLEVBQUU7WUFDM0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FDcEQsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDekUsQ0FBQztZQUNGLE9BQU8sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDSCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDeEIsT0FBTyxLQUFLLENBQUM7YUFDaEI7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUMzQixLQUFLLEVBQUUsQ0FDVixDQUFDO1FBRUYsNkJBQTZCO1FBQ3JCLGlDQUE0QixHQUFzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUNwRixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFDekQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUN6RCxDQUFDO1FBRUYsK0JBQStCO1FBQ3ZCLG1DQUE4QixHQUFzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUN0RixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsRUFDM0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUMzRCxDQUFDO0lBT0MsQ0FBQztJQUVKLGNBQWM7SUFDZCxRQUFRO1FBQ0osSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxzRkFBc0Y7SUFDdEYsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxrR0FBa0c7SUFDbEcsdUJBQXVCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDO0lBQzdDLENBQUM7SUFFRCxvR0FBb0c7SUFDcEcseUJBQXlCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDO0lBQy9DLENBQUM7SUFFRCxzREFBc0Q7SUFDdEQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO0lBQ3BELENBQUM7SUFFRCx1REFBdUQ7SUFDdkQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDO0lBQ3JELENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsWUFBWSxDQUFDLFNBQWlCLEVBQUUsU0FBUyxHQUFHLElBQUk7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7WUFDekYsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsYUFBYSxDQUFDLFVBQWtCLEVBQUUsU0FBUyxHQUFHLElBQUk7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7WUFDM0YsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQzFELENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsc0JBQXNCLENBQUMsR0FBWSxFQUFFLG9CQUE0QixFQUFFLHNCQUE4QjtRQUM3RixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUVsQixJQUNJLENBQUMsb0JBQW9CLElBQUksc0JBQXNCLENBQUM7WUFDaEQsaUJBQWlCLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsRUFDL0Q7WUFDRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUM5QyxJQUNJLFFBQVE7Z0JBQ1IsQ0FBQyxDQUNHLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDO29CQUNwRCxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUMzRCxFQUNIO2dCQUNFLElBQUksb0JBQW9CLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtvQkFDakQsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7aUJBQ2hFO3FCQUFNLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxzQkFBc0IsRUFBRTtvQkFDeEQsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ25FO3FCQUFNLElBQUksb0JBQW9CLElBQUksc0JBQXNCLEVBQUU7b0JBQ3ZELCtEQUErRDtvQkFDL0QsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUM7b0JBQ3ZELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ3hDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUM7b0JBQ3RDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7b0JBQzFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ3RGLGdDQUFnQztvQkFDaEMsSUFDSSxrQkFBa0I7d0JBQ2xCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQzt3QkFDeEMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxFQUNwRTt3QkFDRSxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUksQ0FBQzt3QkFDcEUsTUFBTSxPQUFPLEdBQUcsS0FBSzs0QkFDakIsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLGFBQWEsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ25ELENBQUMsQ0FBQyxZQUFZLEdBQUcsYUFBYSxHQUFHLFdBQVcsQ0FBQzt3QkFDakQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztxQkFDekQ7eUJBQU0sSUFDSCxrQkFBa0I7d0JBQ2xCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQzt3QkFDeEMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxFQUNoRTt3QkFDRSxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQzt3QkFDckUsTUFBTSxPQUFPLEdBQUcsS0FBSzs0QkFDakIsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLGFBQWEsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ25ELENBQUMsQ0FBQyxZQUFZLEdBQUcsYUFBYSxHQUFHLFdBQVcsQ0FBQzt3QkFDakQsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztxQkFDekQ7aUJBQ0o7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxtQkFBbUIsQ0FBQyxTQUFpQjtRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXhLUSx3QkFBd0I7a0dBQXhCLHdCQUF3QixtRUFMdEI7WUFDUCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQUU7WUFDdEYsZ0JBQWdCO1NBQ25COzsyRkFFUSx3QkFBd0I7a0JBVHBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxFQUFFO3dCQUN0RixnQkFBZ0I7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBmb3J3YXJkUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQge1xuICAgIFRBQkxFX1NDUk9MTEFCTEUsXG4gICAgVGFibGVTY3JvbGxhYmxlLFxuICAgIFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2Vcbn0gZnJvbSAnLi4vc2VydmljZXMvdGFibGUtc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHNoYXJlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiBUYWJsZSBTY3JvbGxhYmxlLlxuICogVGhhdCBkaXJlY3RpdmUgc2hvdWxkIGJlIGFzc2lnbmVkIHRvIHRhYmxlIHNjcm9sbGFibGUgYXJlYS5cbiAqIEl0IHJlZ2lzdGVycyBpdHNlbGYgaW4gdGFibGUgc2Nyb2xsIGRpc3BhdGNoZXJcbiAqIGFuZCBub3RpZnkgb25jZSBlbGVtZW50IHNjcm9sbGVkLlxuICpcbiAqIEZvciBpbnRlcm5hbCB1c2FnZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRwVGFibGVTY3JvbGxhYmxlXScsXG4gICAgZXhwb3J0QXM6ICd0YWJsZVNjcm9sbGFibGUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogVEFCTEVfU0NST0xMQUJMRSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlKSB9LFxuICAgICAgICBEZXN0cm95ZWRTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVNjcm9sbGFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBUYWJsZVNjcm9sbGFibGUsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NraXBFdmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wcmV2U2Nyb2xsVG9wID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJldlNjcm9sbExlZnQgPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ZWQkID0gaW5qZWN0KERlc3Ryb3llZFNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICAvKiogU2Nyb2xsIGV2ZW50cyBzdHJlYW0gKi9cbiAgICBwcml2YXRlIF9lbGVtZW50U2Nyb2xsU3RyZWFtOiBPYnNlcnZhYmxlPEV2ZW50PiA9IG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcjogT2JzZXJ2ZXI8RXZlbnQ+KSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKS5zdWJzY3JpYmUob2JzZXJ2ZXIpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KS5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3NraXBFdmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NraXBFdmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCQpLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKiBWZXJ0aWNhbCBzY3JvbGwgc3RyZWFtICovXG4gICAgcHJpdmF0ZSBfZWxlbWVudFZlcnRpY2FsU2Nyb2xsU3RyZWFtOiBPYnNlcnZhYmxlPEV2ZW50PiA9IHRoaXMuX2VsZW1lbnRTY3JvbGxTdHJlYW0ucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX3ByZXZTY3JvbGxUb3AgIT09IHRoaXMuZ2V0U2Nyb2xsVG9wKCkpLFxuICAgICAgICB0YXAoKCkgPT4gKHRoaXMuX3ByZXZTY3JvbGxUb3AgPSB0aGlzLmdldFNjcm9sbFRvcCgpKSlcbiAgICApO1xuXG4gICAgLyoqIEhvcml6b250YWwgc2Nyb2xsIHN0cmVhbSAqL1xuICAgIHByaXZhdGUgX2VsZW1lbnRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtOiBPYnNlcnZhYmxlPEV2ZW50PiA9IHRoaXMuX2VsZW1lbnRTY3JvbGxTdHJlYW0ucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX3ByZXZTY3JvbGxMZWZ0ICE9PSB0aGlzLmdldFNjcm9sbExlZnQoKSksXG4gICAgICAgIHRhcCgoKSA9PiAodGhpcy5fcHJldlNjcm9sbExlZnQgPSB0aGlzLmdldFNjcm9sbExlZnQoKSkpXG4gICAgKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJvdGVjdGVkIHNjcm9sbERpc3BhdGNoZXI6IFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBuZ1pvbmU6IE5nWm9uZVxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2Nyb2xsRGlzcGF0Y2hlci5yZWdpc3Rlcih0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjcm9sbERpc3BhdGNoZXIuZGVyZWdpc3Rlcih0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiBhIHNjcm9sbCBldmVudCBpcyBmaXJlZCBvbiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIGdldFNjcm9sbFN0cmVhbSgpOiBPYnNlcnZhYmxlPEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50U2Nyb2xsU3RyZWFtO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgdmVydGljYWwgc2Nyb2xsIGV2ZW50IGlzIGhhcHBlbmVkIG9uIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0VmVydGljYWxTY3JvbGxTdHJlYW0oKTogT2JzZXJ2YWJsZTxFdmVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFZlcnRpY2FsU2Nyb2xsU3RyZWFtO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgaG9yaXpvbnRhbCBzY3JvbGwgZXZlbnQgaXMgaGFwcGVuZWQgb24gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtKCk6IE9ic2VydmFibGU8RXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHNjcm9sbFRvcCBwb3NpdGlvbiBvZiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIGdldFNjcm9sbFRvcCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LnNjcm9sbFRvcDtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBzY3JvbGxMZWZ0IHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0U2Nyb2xsTGVmdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LnNjcm9sbExlZnQ7XG4gICAgfVxuXG4gICAgLyoqIFNldCBzY3JvbGxUb3AgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBzZXRTY3JvbGxUb3Aoc2Nyb2xsVG9wOiBudW1iZXIsIGVtaXRFdmVudCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPT09IHNjcm9sbFRvcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NraXBFdmVudCA9ICFlbWl0RXZlbnQ7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHNjcm9sbFRvcDtcbiAgICB9XG5cbiAgICAvKiogU2V0IHNjcm9sbExlZnQgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBzZXRTY3JvbGxMZWZ0KHNjcm9sbExlZnQ6IG51bWJlciwgZW1pdEV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPT09IHNjcm9sbExlZnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9za2lwRXZlbnQgPSAhZW1pdEV2ZW50O1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdDtcbiAgICB9XG5cbiAgICAvKiogU2Nyb2xscyB0byBvdmVybGFwcGVkIGNlbGwuICovXG4gICAgc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbChydGw6IGJvb2xlYW4sIGZyZWV6YWJsZUNvbHVtbnNTaXplOiBudW1iZXIsIGZyZWV6YWJsZUVuZENvbHVtblNpemU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWJsZVNjcm9sbGFibGVFbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBpc1J0bCA9IHJ0bDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZnJlZXphYmxlQ29sdW1uc1NpemUgfHwgZnJlZXphYmxlRW5kQ29sdW1uU2l6ZSkgJiZcbiAgICAgICAgICAgIHRhYmxlU2Nyb2xsYWJsZUVsLnNjcm9sbFdpZHRoID4gdGFibGVTY3JvbGxhYmxlRWwuY2xpZW50V2lkdGhcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVFbCA9IHRoaXMuX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgYWN0aXZlRWwgJiZcbiAgICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVFbC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLXRhYmxlX19jZWxsLS1maXhlZCcpIHx8XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsLmNsYXNzTGlzdC5jb250YWlucygnZmQtdGFibGVfX2NlbGwtLWZpeGVkLWVuZCcpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZyZWV6YWJsZUNvbHVtbnNTaXplICYmICFmcmVlemFibGVFbmRDb2x1bW5TaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JywgaW5saW5lOiAnZW5kJyB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFmcmVlemFibGVDb2x1bW5zU2l6ZSAmJiBmcmVlemFibGVFbmRDb2x1bW5TaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JywgaW5saW5lOiAnY2VudGVyJyB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZyZWV6YWJsZUNvbHVtbnNTaXplICYmIGZyZWV6YWJsZUVuZENvbHVtblNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgdG8gc2VlIGlmIGFub3RoZXIgZWxlbWVudCBvYnN0cnVjdHMgdGhlIGFjdGl2ZSBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUVsbVJlY3QgPSBhY3RpdmVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlRWxMZWZ0ID0gYWN0aXZlRWxtUmVjdC5sZWZ0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVFbFRvcCA9IGFjdGl2ZUVsbVJlY3QudG9wO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVFbFdpZHRoID0gYWN0aXZlRWxtUmVjdC53aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9wRWxlbWVudEZyb21MZWZ0ID0gdGhpcy5fZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChhY3RpdmVFbExlZnQsIGFjdGl2ZUVsVG9wKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIGFjdGl2ZUVsIGlzIG92ZXJsYXBwZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wRWxlbWVudEZyb21MZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhYWN0aXZlRWwuaXNTYW1lTm9kZSh0b3BFbGVtZW50RnJvbUxlZnQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3BFbGVtZW50RnJvbUxlZnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC10YWJsZV9fY2VsbC0tZml4ZWQtZW5kJylcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BFbGVtZW50WCA9IHRvcEVsZW1lbnRGcm9tTGVmdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVmdFZhbCA9IGlzUnRsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAoYWN0aXZlRWxMZWZ0ICsgYWN0aXZlRWxXaWR0aCAtIHRvcEVsZW1lbnRYKSAqIC0xXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhY3RpdmVFbExlZnQgKyBhY3RpdmVFbFdpZHRoIC0gdG9wRWxlbWVudFg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJsZVNjcm9sbGFibGVFbC5zY3JvbGxCeSh7IHRvcDogMCwgbGVmdDogbGVmdFZhbCB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcEVsZW1lbnRGcm9tTGVmdCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIWFjdGl2ZUVsLmlzU2FtZU5vZGUodG9wRWxlbWVudEZyb21MZWZ0KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wRWxlbWVudEZyb21MZWZ0LmNsYXNzTGlzdC5jb250YWlucygnZmQtdGFibGVfX2NlbGwtLWZpeGVkJylcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BFbGVtZW50WCA9IHRvcEVsZW1lbnRGcm9tTGVmdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxlZnRWYWwgPSBpc1J0bFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gKGFjdGl2ZUVsTGVmdCAtIGFjdGl2ZUVsV2lkdGggLSB0b3BFbGVtZW50WCkgKiAtMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYWN0aXZlRWxMZWZ0IC0gYWN0aXZlRWxXaWR0aCAtIHRvcEVsZW1lbnRYO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVTY3JvbGxhYmxlRWwuc2Nyb2xsQnkoeyB0b3A6IDAsIGxlZnQ6IGxlZnRWYWwgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IFNjcm9sbCBQb3NpdGlvbiBkdXJpbmcgY29tcG9uZW50IGluaXRpYWxpemF0aW9uLiAqL1xuICAgIGluaXRpYWxpemVTY3JvbGxUb3Aoc2Nyb2xsVG9wOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTY3JvbGxUb3Aoc2Nyb2xsVG9wLCBmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy9kaXJlY3RpdmVzL3RhYmxlLXNjcm9sbGFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUNILGdCQUFnQixFQUVoQiw0QkFBNEIsRUFDL0IsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUVoRTs7Ozs7OztHQU9HO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQThDakMsY0FBYztJQUNkLFlBQ1csVUFBbUMsRUFDaEMsZ0JBQThDLEVBQzlDLE1BQWM7UUFGakIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE4QjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBakQ1QixjQUFjO1FBQ04sZUFBVSxHQUFHLEtBQUssQ0FBQztRQUUzQixjQUFjO1FBQ04sbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFFM0IsY0FBYztRQUNOLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsRCxj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O2lCQUN0RyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgaW5qZWN0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFRBQkxFX1NDUk9MTEFCTEUsXG4gICAgVGFibGVTY3JvbGxhYmxlLFxuICAgIFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2Vcbn0gZnJvbSAnLi4vc2VydmljZXMvdGFibGUtc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHNoYXJlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbi8qKlxuICogVGFibGUgU2Nyb2xsYWJsZS5cbiAqIFRoYXQgZGlyZWN0aXZlIHNob3VsZCBiZSBhc3NpZ25lZCB0byB0YWJsZSBzY3JvbGxhYmxlIGFyZWEuXG4gKiBJdCByZWdpc3RlcnMgaXRzZWxmIGluIHRhYmxlIHNjcm9sbCBkaXNwYXRjaGVyXG4gKiBhbmQgbm90aWZ5IG9uY2UgZWxlbWVudCBzY3JvbGxlZC5cbiAqXG4gKiBGb3IgaW50ZXJuYWwgdXNhZ2UuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkcFRhYmxlU2Nyb2xsYWJsZV0nLFxuICAgIGV4cG9ydEFzOiAndGFibGVTY3JvbGxhYmxlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVEFCTEVfU0NST0xMQUJMRSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlKSB9XVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVNjcm9sbGFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBUYWJsZVNjcm9sbGFibGUsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NraXBFdmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wcmV2U2Nyb2xsVG9wID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJldlNjcm9sbExlZnQgPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICAvKiogU2Nyb2xsIGV2ZW50cyBzdHJlYW0gKi9cbiAgICBwcml2YXRlIF9lbGVtZW50U2Nyb2xsU3RyZWFtOiBPYnNlcnZhYmxlPEV2ZW50PiA9IG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcjogT2JzZXJ2ZXI8RXZlbnQ+KSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKS5zdWJzY3JpYmUob2JzZXJ2ZXIpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KS5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3NraXBFdmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NraXBFdmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKiBWZXJ0aWNhbCBzY3JvbGwgc3RyZWFtICovXG4gICAgcHJpdmF0ZSBfZWxlbWVudFZlcnRpY2FsU2Nyb2xsU3RyZWFtOiBPYnNlcnZhYmxlPEV2ZW50PiA9IHRoaXMuX2VsZW1lbnRTY3JvbGxTdHJlYW0ucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX3ByZXZTY3JvbGxUb3AgIT09IHRoaXMuZ2V0U2Nyb2xsVG9wKCkpLFxuICAgICAgICB0YXAoKCkgPT4gKHRoaXMuX3ByZXZTY3JvbGxUb3AgPSB0aGlzLmdldFNjcm9sbFRvcCgpKSlcbiAgICApO1xuXG4gICAgLyoqIEhvcml6b250YWwgc2Nyb2xsIHN0cmVhbSAqL1xuICAgIHByaXZhdGUgX2VsZW1lbnRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtOiBPYnNlcnZhYmxlPEV2ZW50PiA9IHRoaXMuX2VsZW1lbnRTY3JvbGxTdHJlYW0ucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX3ByZXZTY3JvbGxMZWZ0ICE9PSB0aGlzLmdldFNjcm9sbExlZnQoKSksXG4gICAgICAgIHRhcCgoKSA9PiAodGhpcy5fcHJldlNjcm9sbExlZnQgPSB0aGlzLmdldFNjcm9sbExlZnQoKSkpXG4gICAgKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJvdGVjdGVkIHNjcm9sbERpc3BhdGNoZXI6IFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBuZ1pvbmU6IE5nWm9uZVxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2Nyb2xsRGlzcGF0Y2hlci5yZWdpc3Rlcih0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjcm9sbERpc3BhdGNoZXIuZGVyZWdpc3Rlcih0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiBhIHNjcm9sbCBldmVudCBpcyBmaXJlZCBvbiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIGdldFNjcm9sbFN0cmVhbSgpOiBPYnNlcnZhYmxlPEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50U2Nyb2xsU3RyZWFtO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgdmVydGljYWwgc2Nyb2xsIGV2ZW50IGlzIGhhcHBlbmVkIG9uIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0VmVydGljYWxTY3JvbGxTdHJlYW0oKTogT2JzZXJ2YWJsZTxFdmVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFZlcnRpY2FsU2Nyb2xsU3RyZWFtO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGEgaG9yaXpvbnRhbCBzY3JvbGwgZXZlbnQgaXMgaGFwcGVuZWQgb24gdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBnZXRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtKCk6IE9ic2VydmFibGU8RXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRIb3Jpem9udGFsU2Nyb2xsU3RyZWFtO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHNjcm9sbFRvcCBwb3NpdGlvbiBvZiB0aGUgaG9zdCBlbGVtZW50LiAqL1xuICAgIGdldFNjcm9sbFRvcCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LnNjcm9sbFRvcDtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBzY3JvbGxMZWZ0IHBvc2l0aW9uIG9mIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgZ2V0U2Nyb2xsTGVmdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LnNjcm9sbExlZnQ7XG4gICAgfVxuXG4gICAgLyoqIFNldCBzY3JvbGxUb3AgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBzZXRTY3JvbGxUb3Aoc2Nyb2xsVG9wOiBudW1iZXIsIGVtaXRFdmVudCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPT09IHNjcm9sbFRvcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NraXBFdmVudCA9ICFlbWl0RXZlbnQ7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHNjcm9sbFRvcDtcbiAgICB9XG5cbiAgICAvKiogU2V0IHNjcm9sbExlZnQgcG9zaXRpb24gb2YgdGhlIGhvc3QgZWxlbWVudC4gKi9cbiAgICBzZXRTY3JvbGxMZWZ0KHNjcm9sbExlZnQ6IG51bWJlciwgZW1pdEV2ZW50ID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPT09IHNjcm9sbExlZnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9za2lwRXZlbnQgPSAhZW1pdEV2ZW50O1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gc2Nyb2xsTGVmdDtcbiAgICB9XG5cbiAgICAvKiogU2Nyb2xscyB0byBvdmVybGFwcGVkIGNlbGwuICovXG4gICAgc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbChydGw6IGJvb2xlYW4sIGZyZWV6YWJsZUNvbHVtbnNTaXplOiBudW1iZXIsIGZyZWV6YWJsZUVuZENvbHVtblNpemU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWJsZVNjcm9sbGFibGVFbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBpc1J0bCA9IHJ0bDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoZnJlZXphYmxlQ29sdW1uc1NpemUgfHwgZnJlZXphYmxlRW5kQ29sdW1uU2l6ZSkgJiZcbiAgICAgICAgICAgIHRhYmxlU2Nyb2xsYWJsZUVsLnNjcm9sbFdpZHRoID4gdGFibGVTY3JvbGxhYmxlRWwuY2xpZW50V2lkdGhcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVFbCA9IHRoaXMuX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgYWN0aXZlRWwgJiZcbiAgICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVFbC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLXRhYmxlX19jZWxsLS1maXhlZCcpIHx8XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsLmNsYXNzTGlzdC5jb250YWlucygnZmQtdGFibGVfX2NlbGwtLWZpeGVkLWVuZCcpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZyZWV6YWJsZUNvbHVtbnNTaXplICYmICFmcmVlemFibGVFbmRDb2x1bW5TaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JywgaW5saW5lOiAnZW5kJyB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFmcmVlemFibGVDb2x1bW5zU2l6ZSAmJiBmcmVlemFibGVFbmRDb2x1bW5TaXplKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JywgaW5saW5lOiAnY2VudGVyJyB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZyZWV6YWJsZUNvbHVtbnNTaXplICYmIGZyZWV6YWJsZUVuZENvbHVtblNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgdG8gc2VlIGlmIGFub3RoZXIgZWxlbWVudCBvYnN0cnVjdHMgdGhlIGFjdGl2ZSBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUVsbVJlY3QgPSBhY3RpdmVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlRWxMZWZ0ID0gYWN0aXZlRWxtUmVjdC5sZWZ0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVFbFRvcCA9IGFjdGl2ZUVsbVJlY3QudG9wO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVFbFdpZHRoID0gYWN0aXZlRWxtUmVjdC53aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9wRWxlbWVudEZyb21MZWZ0ID0gdGhpcy5fZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChhY3RpdmVFbExlZnQsIGFjdGl2ZUVsVG9wKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIGFjdGl2ZUVsIGlzIG92ZXJsYXBwZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wRWxlbWVudEZyb21MZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhYWN0aXZlRWwuaXNTYW1lTm9kZSh0b3BFbGVtZW50RnJvbUxlZnQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3BFbGVtZW50RnJvbUxlZnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC10YWJsZV9fY2VsbC0tZml4ZWQtZW5kJylcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BFbGVtZW50WCA9IHRvcEVsZW1lbnRGcm9tTGVmdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVmdFZhbCA9IGlzUnRsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAoYWN0aXZlRWxMZWZ0ICsgYWN0aXZlRWxXaWR0aCAtIHRvcEVsZW1lbnRYKSAqIC0xXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhY3RpdmVFbExlZnQgKyBhY3RpdmVFbFdpZHRoIC0gdG9wRWxlbWVudFg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJsZVNjcm9sbGFibGVFbC5zY3JvbGxCeSh7IHRvcDogMCwgbGVmdDogbGVmdFZhbCB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcEVsZW1lbnRGcm9tTGVmdCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgIWFjdGl2ZUVsLmlzU2FtZU5vZGUodG9wRWxlbWVudEZyb21MZWZ0KSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wRWxlbWVudEZyb21MZWZ0LmNsYXNzTGlzdC5jb250YWlucygnZmQtdGFibGVfX2NlbGwtLWZpeGVkJylcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BFbGVtZW50WCA9IHRvcEVsZW1lbnRGcm9tTGVmdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxlZnRWYWwgPSBpc1J0bFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gKGFjdGl2ZUVsTGVmdCAtIGFjdGl2ZUVsV2lkdGggLSB0b3BFbGVtZW50WCkgKiAtMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYWN0aXZlRWxMZWZ0IC0gYWN0aXZlRWxXaWR0aCAtIHRvcEVsZW1lbnRYO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVTY3JvbGxhYmxlRWwuc2Nyb2xsQnkoeyB0b3A6IDAsIGxlZnQ6IGxlZnRWYWwgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IFNjcm9sbCBQb3NpdGlvbiBkdXJpbmcgY29tcG9uZW50IGluaXRpYWxpemF0aW9uLiAqL1xuICAgIGluaXRpYWxpemVTY3JvbGxUb3Aoc2Nyb2xsVG9wOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTY3JvbGxUb3Aoc2Nyb2xsVG9wLCBmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { Directive, inject, Input } from '@angular/core';
|
|
2
|
-
import { DestroyedService } from '@fundamental-ngx/cdk/utils';
|
|
1
|
+
import { DestroyRef, Directive, inject, Input } from '@angular/core';
|
|
3
2
|
import { ContentDensityMode } from '@fundamental-ngx/core/content-density';
|
|
4
3
|
import { BehaviorSubject, filter } from 'rxjs';
|
|
5
|
-
import { takeUntil } from 'rxjs/operators';
|
|
6
4
|
import { FDP_TABLE_VIRTUAL_SCROLL_DIRECTIVE, ROW_HEIGHT } from '../constants';
|
|
7
5
|
import { TableVirtualScroll } from '../models';
|
|
8
6
|
import { TableScrollDispatcherService } from '../services/table-scroll-dispatcher.service';
|
|
7
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
export class TableVirtualScrollDirective extends TableVirtualScroll {
|
|
11
10
|
constructor() {
|
|
@@ -30,7 +29,7 @@ export class TableVirtualScrollDirective extends TableVirtualScroll {
|
|
|
30
29
|
/** @hidden */
|
|
31
30
|
this._tableScrollDispatcher = inject(TableScrollDispatcherService);
|
|
32
31
|
/** @hidden */
|
|
33
|
-
this.
|
|
32
|
+
this._destroyRef = inject(DestroyRef);
|
|
34
33
|
}
|
|
35
34
|
/** @hidden */
|
|
36
35
|
ngOnChanges(changes) {
|
|
@@ -81,7 +80,7 @@ export class TableVirtualScrollDirective extends TableVirtualScroll {
|
|
|
81
80
|
listenOnVirtualScroll() {
|
|
82
81
|
this._tableScrollDispatcher
|
|
83
82
|
.verticallyScrolled()
|
|
84
|
-
.pipe(filter(() => this.virtualScroll && !!this.bodyHeight),
|
|
83
|
+
.pipe(filter(() => this.virtualScroll && !!this.bodyHeight), takeUntilDestroyed(this._destroyRef))
|
|
85
84
|
.subscribe((scrollable) => {
|
|
86
85
|
this.calculateVirtualScrollRows();
|
|
87
86
|
this._table.setTableState({
|
|
@@ -92,7 +91,6 @@ export class TableVirtualScrollDirective extends TableVirtualScroll {
|
|
|
92
91
|
}
|
|
93
92
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TableVirtualScrollDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
94
93
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: TableVirtualScrollDirective, isStandalone: true, selector: "fdp-table[virtualScroll]", inputs: { virtualScroll: "virtualScroll", renderAhead: "renderAhead", bodyHeight: "bodyHeight", rowHeight: "rowHeight" }, providers: [
|
|
95
|
-
DestroyedService,
|
|
96
94
|
{
|
|
97
95
|
provide: FDP_TABLE_VIRTUAL_SCROLL_DIRECTIVE,
|
|
98
96
|
useExisting: TableVirtualScrollDirective
|
|
@@ -106,7 +104,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
106
104
|
selector: 'fdp-table[virtualScroll]',
|
|
107
105
|
standalone: true,
|
|
108
106
|
providers: [
|
|
109
|
-
DestroyedService,
|
|
110
107
|
{
|
|
111
108
|
provide: FDP_TABLE_VIRTUAL_SCROLL_DIRECTIVE,
|
|
112
109
|
useExisting: TableVirtualScrollDirective
|
|
@@ -122,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
122
119
|
}], rowHeight: [{
|
|
123
120
|
type: Input
|
|
124
121
|
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlydHVhbC1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlLWhlbHBlcnMvZGlyZWN0aXZlcy90YWJsZS12aXJ0dWFsLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBZTNGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQkFBa0I7SUFabkU7O1FBYUk7O1dBRUc7UUFFSCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0Qix3RUFBd0U7UUFFeEUsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFNakI7OztXQUdHO1FBRUgsY0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFFLENBQUM7UUFFckQsY0FBYztRQUNkLDZCQUF3QixHQUFHLENBQUMsQ0FBQztRQUU3QixjQUFjO1FBQ2QsNEJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFLekQsY0FBYztRQUNO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OlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU1vZGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGRFBfVEFCTEVfVklSVFVBTF9TQ1JPTExfRElSRUNUSVZFLCBST1dfSEVJR0hUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRhYmxlVmlydHVhbFNjcm9sbCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGFibGUtc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL3RhYmxlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2ZkcC10YWJsZVt2aXJ0dWFsU2Nyb2xsXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRGVzdHJveWVkU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRQX1RBQkxFX1ZJUlRVQUxfU0NST0xMX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUYWJsZVZpcnR1YWxTY3JvbGxEaXJlY3RpdmVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVWaXJ0dWFsU2Nyb2xsRGlyZWN0aXZlIGV4dGVuZHMgVGFibGVWaXJ0dWFsU2Nyb2xsIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvKiogV2hldGhlciB0byBzaG93IG9ubHkgdmlzaWJsZSByb3dzIGluIG1hdHRlciBvZiBwZXJmb3JtYW5jZVxuICAgICAqIGZhbHNlIGJ5IGRlZmF1bHQsIHdoZW4gdHJ1ZSBzZXR0aW5nIGJvZHlIZWlnaHQgYW5kIHJvd0hlaWdodCBpcyByZXF1aXJlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHZpcnR1YWxTY3JvbGwgPSBmYWxzZTtcblxuICAgIC8qKiBDYWNoZSBzaXplIGZvciB0aGUgdmlydHVhbFNjcm9sbCwgZGVmYXVsdCBpcyA0MCBpbiBlYWNoIGRpcmVjdGlvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVuZGVyQWhlYWQgPSA0MDtcblxuICAgIC8qKiBCb2R5IGhlaWdodC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGJvZHlIZWlnaHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEhlaWdodCBvZiB0aGUgcm93LCByZXF1aXJlZCBmb3IgdGhlIHZpcnR1YWxTY3JvbGwsXG4gICAgICogZGVmYXVsdCBpcyA0NHB4IGluIGNvenksIDMycHggaW4gY29tcGFjdCBhbmQgMjRweCBpbiBjb25kZW5zZWQgKHNldCBhdXRvbWF0aWNhbGx5KVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcm93SGVpZ2h0ID0gUk9XX0hFSUdIVC5nZXQoQ29udGVudERlbnNpdHlNb2RlLkNPWlkpITtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdmlydHVhbFNjcm9sbFRvdGFsSGVpZ2h0ID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdmlydHVhbFNjcm9sbFRyYW5zZm9ybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RhYmxlOiBUYWJsZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmlydHVhbFNjcm9sbENhY2hlID0geyBzdGFydE5vZGVJbmRleDogLTEsIHZpc2libGVOb2RlQ291bnQ6IC0xLCB0b3RhbE5vZGVDb3VudDogLTEgfTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGVTY3JvbGxEaXNwYXRjaGVyID0gaW5qZWN0KFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGluamVjdChEZXN0cm95ZWRTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3RhYmxlLnRhYmxlU2Nyb2xsYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZpcnR1YWxTY3JvbGwgJiYgKGNoYW5nZXNbJ3Jvd0hlaWdodCddIHx8IGNoYW5nZXNbJ3ZpcnR1YWxTY3JvbGwnXSB8fCBjaGFuZ2VzWydyZW5kZXJBaGVhZCddKSkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVWaXJ0dWFsU2Nyb2xsUm93cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNldHMgdGFibGUgcmVmZXJlbmNlLiAqL1xuICAgIHNldFRhYmxlKHRhYmxlOiBUYWJsZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZSA9IHRhYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgcm93cyBpbiB2aWV3cG9ydC5cbiAgICAgKi9cbiAgICBjYWxjdWxhdGVWaXJ0dWFsU2Nyb2xsUm93cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnZpcnR1YWxTY3JvbGwgfHwgIXRoaXMuYm9keUhlaWdodCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgcm93SGVpZ2h0ID0gdGhpcy5yb3dIZWlnaHQgKyAxO1xuXG4gICAgICAgIGNvbnN0IHJvd3NWaXNpYmxlID0gdGhpcy5fdGFibGUuX3RhYmxlUm93c1Zpc2libGU7XG4gICAgICAgIGNvbnN0IHJvd3NJblZpZXdQb3J0ID0gdGhpcy5fdGFibGUuZ2V0Um93c0luVmlld3BvcnQoKTtcbiAgICAgICAgY29uc3QgdG90YWxOb2RlQ291bnQgPSByb3dzVmlzaWJsZS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuX3RhYmxlLnRhYmxlU2Nyb2xsYWJsZS5nZXRTY3JvbGxUb3AoKTtcblxuICAgICAgICBsZXQgc3RhcnROb2RlSW5kZXggPSBNYXRoLmZsb29yKHNjcm9sbFRvcCAvIHJvd0hlaWdodCkgLSB0aGlzLnJlbmRlckFoZWFkO1xuICAgICAgICBzdGFydE5vZGVJbmRleCA9IE1hdGgubWF4KDAsIHN0YXJ0Tm9kZUluZGV4KTtcblxuICAgICAgICBsZXQgdmlzaWJsZU5vZGVDb3VudCA9XG4gICAgICAgICAgICBNYXRoLmNlaWwodGhpcy5fdGFibGUudGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgLyByb3dIZWlnaHQpICsgMiAqIHRoaXMucmVuZGVyQWhlYWQ7XG4gICAgICAgIHZpc2libGVOb2RlQ291bnQgPSBNYXRoLm1pbih0b3RhbE5vZGVDb3VudCAtIHN0YXJ0Tm9kZUluZGV4LCB2aXNpYmxlTm9kZUNvdW50KTtcblxuICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGxUcmFuc2Zvcm0kLm5leHQoc3RhcnROb2RlSW5kZXggKiByb3dIZWlnaHQpO1xuXG4gICAgICAgIC8vIFNpbXBsZSBjYWNoaW5nIHRvIGF2b2lkIHVubmVjZXNzYXJ5IHJlLXJlbmRlcmluZ3NcbiAgICAgICAgY29uc3QgaXNDYWNoZWQgPVxuICAgICAgICAgICAgc3RhcnROb2RlSW5kZXggPT09IHRoaXMuX3ZpcnR1YWxTY3JvbGxDYWNoZS5zdGFydE5vZGVJbmRleCAmJlxuICAgICAgICAgICAgdmlzaWJsZU5vZGVDb3VudCA9PT0gdGhpcy5fdmlydHVhbFNjcm9sbENhY2hlLnZpc2libGVOb2RlQ291bnQgJiZcbiAgICAgICAgICAgIHRvdGFsTm9kZUNvdW50ID09PSB0aGlzLl92aXJ0dWFsU2Nyb2xsQ2FjaGUudG90YWxOb2RlQ291bnQgJiZcbiAgICAgICAgICAgIC8vIE9uIHJvd3MgY2hhbmdlLCBldmVuIGlmIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cyBpcyB0aGUgc2FtZSwgdGhlIHJvdyBvYmplY3Qgd2lsbCBiZSBkaWZmZXJlbnRcbiAgICAgICAgICAgIHN0YXJ0Tm9kZUluZGV4ID09PSByb3dzSW5WaWV3UG9ydFswXTtcblxuICAgICAgICBpZiAoaXNDYWNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ZpcnR1YWxTY3JvbGxDYWNoZSA9IHsgc3RhcnROb2RlSW5kZXgsIHZpc2libGVOb2RlQ291bnQsIHRvdGFsTm9kZUNvdW50IH07XG4gICAgICAgIHRoaXMudmlydHVhbFNjcm9sbFRvdGFsSGVpZ2h0ID0gdG90YWxOb2RlQ291bnQgKiByb3dIZWlnaHQgLSB2aXNpYmxlTm9kZUNvdW50ICogcm93SGVpZ2h0O1xuICAgICAgICB0aGlzLl90YWJsZS5zZXRSb3dzSW5WaWV3cG9ydChcbiAgICAgICAgICAgIHN0YXJ0Tm9kZUluZGV4LFxuICAgICAgICAgICAgcm93c1Zpc2libGUuc2xpY2Uoc3RhcnROb2RlSW5kZXgsIHN0YXJ0Tm9kZUluZGV4ICsgdmlzaWJsZU5vZGVDb3VudCkubGVuZ3RoXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGlzZXMgc2Nyb2xsIGxpc3RlbmVyLlxuICAgICAqL1xuICAgIGxpc3Rlbk9uVmlydHVhbFNjcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGVTY3JvbGxEaXNwYXRjaGVyXG4gICAgICAgICAgICAudmVydGljYWxseVNjcm9sbGVkKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnZpcnR1YWxTY3JvbGwgJiYgISF0aGlzLmJvZHlIZWlnaHQpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNjcm9sbGFibGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVZpcnR1YWxTY3JvbGxSb3dzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFibGUuc2V0VGFibGVTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuX3RhYmxlLmdldFRhYmxlU3RhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wUG9zaXRpb246IHNjcm9sbGFibGUuZ2V0U2Nyb2xsVG9wKClcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlydHVhbC1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlLWhlbHBlcnMvZGlyZWN0aXZlcy90YWJsZS12aXJ0dWFsLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBYWhFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxrQkFBa0I7SUFYbkU7O1FBWUk7O1dBRUc7UUFFSCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0Qix3RUFBd0U7UUFFeEUsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFNakI7OztXQUdHO1FBRUgsY0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFFLENBQUM7UUFFckQsY0FBYztRQUNkLDZCQUF3QixHQUFHLENBQUMsQ0FBQztRQUU3QixjQUFjO1FBQ2QsNEJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFLekQsY0FBYztRQUNOLHdCQUFtQixHQUFHLEVBQUUsY0FBYyxFQUFFLENBQUMs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QyxDQUFDLE1BQU0sQ0FDOUUsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILHFCQUFxQjtRQUNqQixJQUFJLENBQUMsc0JBQXNCO2FBQ3RCLGtCQUFrQixFQUFFO2FBQ3BCLElBQUksQ0FDRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUNyRCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ3ZDO2FBQ0EsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7Z0JBQ3RCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7Z0JBQzlCLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUU7YUFDL0MsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDOzhHQXBIUSwyQkFBMkI7a0dBQTNCLDJCQUEyQixpTUFQekI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0NBQWtDO2dCQUMzQyxXQUFXLEVBQUUsMkJBQTJCO2FBQzNDO1NBQ0o7OzJGQUVRLDJCQUEyQjtrQkFYdkMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtDQUFrQzs0QkFDM0MsV0FBVyw2QkFBNkI7eUJBQzNDO3FCQUNKO2lCQUNKOzhCQU1HLGFBQWE7c0JBRFosS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLO2dCQVFOLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU1vZGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGRFBfVEFCTEVfVklSVFVBTF9TQ1JPTExfRElSRUNUSVZFLCBST1dfSEVJR0hUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRhYmxlVmlydHVhbFNjcm9sbCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGFibGUtc2Nyb2xsLWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL3RhYmxlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2ZkcC10YWJsZVt2aXJ0dWFsU2Nyb2xsXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRQX1RBQkxFX1ZJUlRVQUxfU0NST0xMX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUYWJsZVZpcnR1YWxTY3JvbGxEaXJlY3RpdmVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVWaXJ0dWFsU2Nyb2xsRGlyZWN0aXZlIGV4dGVuZHMgVGFibGVWaXJ0dWFsU2Nyb2xsIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvKiogV2hldGhlciB0byBzaG93IG9ubHkgdmlzaWJsZSByb3dzIGluIG1hdHRlciBvZiBwZXJmb3JtYW5jZVxuICAgICAqIGZhbHNlIGJ5IGRlZmF1bHQsIHdoZW4gdHJ1ZSBzZXR0aW5nIGJvZHlIZWlnaHQgYW5kIHJvd0hlaWdodCBpcyByZXF1aXJlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHZpcnR1YWxTY3JvbGwgPSBmYWxzZTtcblxuICAgIC8qKiBDYWNoZSBzaXplIGZvciB0aGUgdmlydHVhbFNjcm9sbCwgZGVmYXVsdCBpcyA0MCBpbiBlYWNoIGRpcmVjdGlvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVuZGVyQWhlYWQgPSA0MDtcblxuICAgIC8qKiBCb2R5IGhlaWdodC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGJvZHlIZWlnaHQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEhlaWdodCBvZiB0aGUgcm93LCByZXF1aXJlZCBmb3IgdGhlIHZpcnR1YWxTY3JvbGwsXG4gICAgICogZGVmYXVsdCBpcyA0NHB4IGluIGNvenksIDMycHggaW4gY29tcGFjdCBhbmQgMjRweCBpbiBjb25kZW5zZWQgKHNldCBhdXRvbWF0aWNhbGx5KVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcm93SGVpZ2h0ID0gUk9XX0hFSUdIVC5nZXQoQ29udGVudERlbnNpdHlNb2RlLkNPWlkpITtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdmlydHVhbFNjcm9sbFRvdGFsSGVpZ2h0ID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdmlydHVhbFNjcm9sbFRyYW5zZm9ybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RhYmxlOiBUYWJsZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmlydHVhbFNjcm9sbENhY2hlID0geyBzdGFydE5vZGVJbmRleDogLTEsIHZpc2libGVOb2RlQ291bnQ6IC0xLCB0b3RhbE5vZGVDb3VudDogLTEgfTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGVTY3JvbGxEaXNwYXRjaGVyID0gaW5qZWN0KFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fdGFibGUudGFibGVTY3JvbGxhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudmlydHVhbFNjcm9sbCAmJiAoY2hhbmdlc1sncm93SGVpZ2h0J10gfHwgY2hhbmdlc1sndmlydHVhbFNjcm9sbCddIHx8IGNoYW5nZXNbJ3JlbmRlckFoZWFkJ10pKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVZpcnR1YWxTY3JvbGxSb3dzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0cyB0YWJsZSByZWZlcmVuY2UuICovXG4gICAgc2V0VGFibGUodGFibGU6IFRhYmxlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlID0gdGFibGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyByb3dzIGluIHZpZXdwb3J0LlxuICAgICAqL1xuICAgIGNhbGN1bGF0ZVZpcnR1YWxTY3JvbGxSb3dzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudmlydHVhbFNjcm9sbCB8fCAhdGhpcy5ib2R5SGVpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb3dIZWlnaHQgPSB0aGlzLnJvd0hlaWdodCArIDE7XG5cbiAgICAgICAgY29uc3Qgcm93c1Zpc2libGUgPSB0aGlzLl90YWJsZS5fdGFibGVSb3dzVmlzaWJsZTtcbiAgICAgICAgY29uc3Qgcm93c0luVmlld1BvcnQgPSB0aGlzLl90YWJsZS5nZXRSb3dzSW5WaWV3cG9ydCgpO1xuICAgICAgICBjb25zdCB0b3RhbE5vZGVDb3VudCA9IHJvd3NWaXNpYmxlLmxlbmd0aDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5fdGFibGUudGFibGVTY3JvbGxhYmxlLmdldFNjcm9sbFRvcCgpO1xuXG4gICAgICAgIGxldCBzdGFydE5vZGVJbmRleCA9IE1hdGguZmxvb3Ioc2Nyb2xsVG9wIC8gcm93SGVpZ2h0KSAtIHRoaXMucmVuZGVyQWhlYWQ7XG4gICAgICAgIHN0YXJ0Tm9kZUluZGV4ID0gTWF0aC5tYXgoMCwgc3RhcnROb2RlSW5kZXgpO1xuXG4gICAgICAgIGxldCB2aXNpYmxlTm9kZUNvdW50ID1cbiAgICAgICAgICAgIE1hdGguY2VpbCh0aGlzLl90YWJsZS50YWJsZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAvIHJvd0hlaWdodCkgKyAyICogdGhpcy5yZW5kZXJBaGVhZDtcbiAgICAgICAgdmlzaWJsZU5vZGVDb3VudCA9IE1hdGgubWluKHRvdGFsTm9kZUNvdW50IC0gc3RhcnROb2RlSW5kZXgsIHZpc2libGVOb2RlQ291bnQpO1xuXG4gICAgICAgIHRoaXMudmlydHVhbFNjcm9sbFRyYW5zZm9ybSQubmV4dChzdGFydE5vZGVJbmRleCAqIHJvd0hlaWdodCk7XG5cbiAgICAgICAgLy8gU2ltcGxlIGNhY2hpbmcgdG8gYXZvaWQgdW5uZWNlc3NhcnkgcmUtcmVuZGVyaW5nc1xuICAgICAgICBjb25zdCBpc0NhY2hlZCA9XG4gICAgICAgICAgICBzdGFydE5vZGVJbmRleCA9PT0gdGhpcy5fdmlydHVhbFNjcm9sbENhY2hlLnN0YXJ0Tm9kZUluZGV4ICYmXG4gICAgICAgICAgICB2aXNpYmxlTm9kZUNvdW50ID09PSB0aGlzLl92aXJ0dWFsU2Nyb2xsQ2FjaGUudmlzaWJsZU5vZGVDb3VudCAmJlxuICAgICAgICAgICAgdG90YWxOb2RlQ291bnQgPT09IHRoaXMuX3ZpcnR1YWxTY3JvbGxDYWNoZS50b3RhbE5vZGVDb3VudCAmJlxuICAgICAgICAgICAgLy8gT24gcm93cyBjaGFuZ2UsIGV2ZW4gaWYgdGhlIHRvdGFsIG51bWJlciBvZiByb3dzIGlzIHRoZSBzYW1lLCB0aGUgcm93IG9iamVjdCB3aWxsIGJlIGRpZmZlcmVudFxuICAgICAgICAgICAgc3RhcnROb2RlSW5kZXggPT09IHJvd3NJblZpZXdQb3J0WzBdO1xuXG4gICAgICAgIGlmIChpc0NhY2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdmlydHVhbFNjcm9sbENhY2hlID0geyBzdGFydE5vZGVJbmRleCwgdmlzaWJsZU5vZGVDb3VudCwgdG90YWxOb2RlQ291bnQgfTtcbiAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsVG90YWxIZWlnaHQgPSB0b3RhbE5vZGVDb3VudCAqIHJvd0hlaWdodCAtIHZpc2libGVOb2RlQ291bnQgKiByb3dIZWlnaHQ7XG4gICAgICAgIHRoaXMuX3RhYmxlLnNldFJvd3NJblZpZXdwb3J0KFxuICAgICAgICAgICAgc3RhcnROb2RlSW5kZXgsXG4gICAgICAgICAgICByb3dzVmlzaWJsZS5zbGljZShzdGFydE5vZGVJbmRleCwgc3RhcnROb2RlSW5kZXggKyB2aXNpYmxlTm9kZUNvdW50KS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXNlcyBzY3JvbGwgbGlzdGVuZXIuXG4gICAgICovXG4gICAgbGlzdGVuT25WaXJ0dWFsU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZVNjcm9sbERpc3BhdGNoZXJcbiAgICAgICAgICAgIC52ZXJ0aWNhbGx5U2Nyb2xsZWQoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMudmlydHVhbFNjcm9sbCAmJiAhIXRoaXMuYm9keUhlaWdodCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzY3JvbGxhYmxlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVWaXJ0dWFsU2Nyb2xsUm93cygpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlLnNldFRhYmxlU3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLl90YWJsZS5nZXRUYWJsZVN0YXRlKCksXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcFBvc2l0aW9uOiBzY3JvbGxhYmxlLmdldFNjcm9sbFRvcCgpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, Input, QueryList, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { DestroyedService } from '@fundamental-ngx/cdk/utils';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, DestroyRef, inject, Input, QueryList, ViewEncapsulation } from '@angular/core';
|
|
3
2
|
import { FDP_PRESET_MANAGED_COMPONENT } from '@fundamental-ngx/platform/shared';
|
|
4
3
|
import equal from 'fast-deep-equal';
|
|
5
|
-
import { filter, startWith, Subscription
|
|
4
|
+
import { filter, startWith, Subscription } from 'rxjs';
|
|
6
5
|
import { FDP_VARIANT_MANAGEMENT, FDP_VARIANT_MANAGEMENT_WRAPPER } from '../../tokens';
|
|
6
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@fundamental-ngx/cdk/utils";
|
|
9
8
|
/**
|
|
10
9
|
* Wrapper component used to wrap components that implement `PresetManagedComponent`.
|
|
11
10
|
* It automatically bounds existing presets from `Variant Management` component to `PresetManagedComponent`.
|
|
@@ -31,6 +30,10 @@ import * as i1 from "@fundamental-ngx/cdk/utils";
|
|
|
31
30
|
* ```
|
|
32
31
|
*/
|
|
33
32
|
export class VariantManagementWrapperComponent {
|
|
33
|
+
constructor() {
|
|
34
|
+
/** @hidden */
|
|
35
|
+
this._destroyRef = inject(DestroyRef);
|
|
36
|
+
}
|
|
34
37
|
/** @hidden */
|
|
35
38
|
set _projectedVariantManager(variantManager) {
|
|
36
39
|
this._variantManager = variantManager;
|
|
@@ -44,14 +47,10 @@ export class VariantManagementWrapperComponent {
|
|
|
44
47
|
return this._projectedVariantManager || this.variantManager;
|
|
45
48
|
}
|
|
46
49
|
/** @hidden */
|
|
47
|
-
constructor(_destroy$) {
|
|
48
|
-
this._destroy$ = _destroy$;
|
|
49
|
-
}
|
|
50
|
-
/** @hidden */
|
|
51
50
|
ngAfterViewInit() {
|
|
52
51
|
this._setPresets();
|
|
53
52
|
this._managedComponents?.changes
|
|
54
|
-
.pipe(startWith(this._managedComponents),
|
|
53
|
+
.pipe(startWith(this._managedComponents), takeUntilDestroyed(this._destroyRef))
|
|
55
54
|
.subscribe(() => {
|
|
56
55
|
this._listenToPresetChanges();
|
|
57
56
|
});
|
|
@@ -68,7 +67,7 @@ export class VariantManagementWrapperComponent {
|
|
|
68
67
|
_setPresets() {
|
|
69
68
|
this._activeVariantSubscription?.unsubscribe();
|
|
70
69
|
this._activeVariantSubscription = this._variantManagement?.activeVariantChangeSubject
|
|
71
|
-
.pipe(filter((variant) => !!variant && !!this._managedComponents),
|
|
70
|
+
.pipe(filter((variant) => !!variant && !!this._managedComponents), takeUntilDestroyed(this._destroyRef))
|
|
72
71
|
.subscribe(() => {
|
|
73
72
|
const components = this._managedComponents.toArray();
|
|
74
73
|
components.forEach((component) => {
|
|
@@ -90,7 +89,7 @@ export class VariantManagementWrapperComponent {
|
|
|
90
89
|
.pipe(filter((preset) => {
|
|
91
90
|
const prevPreset = this._getComponentPreset().get(component);
|
|
92
91
|
return !equal(preset, prevPreset);
|
|
93
|
-
}),
|
|
92
|
+
}), takeUntilDestroyed(this._destroyRef))
|
|
94
93
|
.subscribe((preset) => {
|
|
95
94
|
this._variantManagement?.updateActivePreset(preset, component.name);
|
|
96
95
|
}));
|
|
@@ -106,9 +105,8 @@ export class VariantManagementWrapperComponent {
|
|
|
106
105
|
});
|
|
107
106
|
return componentsMap;
|
|
108
107
|
}
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: VariantManagementWrapperComponent, deps: [
|
|
108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: VariantManagementWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
109
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: VariantManagementWrapperComponent, selector: "fdp-variant-management-wrapper", inputs: { variantManager: "variantManager" }, providers: [
|
|
111
|
-
DestroyedService,
|
|
112
110
|
{
|
|
113
111
|
provide: FDP_VARIANT_MANAGEMENT_WRAPPER,
|
|
114
112
|
useExisting: VariantManagementWrapperComponent
|
|
@@ -118,13 +116,12 @@ export class VariantManagementWrapperComponent {
|
|
|
118
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: VariantManagementWrapperComponent, decorators: [{
|
|
119
117
|
type: Component,
|
|
120
118
|
args: [{ selector: 'fdp-variant-management-wrapper', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
121
|
-
DestroyedService,
|
|
122
119
|
{
|
|
123
120
|
provide: FDP_VARIANT_MANAGEMENT_WRAPPER,
|
|
124
121
|
useExisting: VariantManagementWrapperComponent
|
|
125
122
|
}
|
|
126
123
|
], template: "<ng-content></ng-content>\n" }]
|
|
127
|
-
}],
|
|
124
|
+
}], propDecorators: { variantManager: [{
|
|
128
125
|
type: Input
|
|
129
126
|
}], _managedComponents: [{
|
|
130
127
|
type: ContentChildren,
|
|
@@ -133,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
133
130
|
type: ContentChild,
|
|
134
131
|
args: [FDP_VARIANT_MANAGEMENT, { descendants: true }]
|
|
135
132
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1tYW5hZ2VtZW50LXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3ZhcmlhbnQtbWFuYWdlbWVudC9jb21wb25lbnRzL3ZhcmlhbnQtbWFuYWdlbWVudC13cmFwcGVyL3ZhcmlhbnQtbWFuYWdlbWVudC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi92YXJpYW50LW1hbmFnZW1lbnQvY29tcG9uZW50cy92YXJpYW50LW1hbmFnZW1lbnQtd3JhcHBlci92YXJpYW50LW1hbmFnZW1lbnQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBMEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RyxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBRXRGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQWNILE1BQU0sT0FBTyxpQ0FBaUM7SUFTMUMsY0FBYztJQUNkLElBQ1ksd0JBQXdCLENBQUMsY0FBaUM7UUFDbEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxD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QUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGRFBfUFJFU0VUX01BTkFHRURfQ09NUE9ORU5ULCBQcmVzZXRNYW5hZ2VkQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN0YXJ0V2l0aCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZhcmlhbnRNYW5hZ2VtZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3ZhcmlhbnQtbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBGRFBfVkFSSUFOVF9NQU5BR0VNRU5ULCBGRFBfVkFSSUFOVF9NQU5BR0VNRU5UX1dSQVBQRVIgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IHVzZWQgdG8gd3JhcCBjb21wb25lbnRzIHRoYXQgaW1wbGVtZW50IGBQcmVzZXRNYW5hZ2VkQ29tcG9uZW50YC5cbiAqIEl0IGF1dG9tYXRpY2FsbHkgYm91bmRzIGV4aXN0aW5nIHByZXNldHMgZnJvbSBgVmFyaWFudCBNYW5hZ2VtZW50YCBjb21wb25lbnQgdG8gYFByZXNldE1hbmFnZWRDb21wb25lbnRgLlxuICogV3JhcHBlciBjb21wb25lbnQgc3VwcG9ydHMgdHdvIHdheXMgb2YgcHJvdmlkaW5nIFZhcmlhbnQgTWFuYWdlbWVudCBjb21wb25lbnQuXG4gKiBGaXJzdCBvbmUgaXMgdG8gcGFzcyByZWZlcmVuY2UgdmlhIElucHV0IHByb3BlcnR5LlxuICogU2Vjb25kIG9uZSBpcyB0byBwdXQgVmFyaWFudCBNYW5hZ2VtZW50IGNvbXBvbmVudCBpbnNpZGUgd3JhcHBlciBjb21wb25lbnQgc28gaXQgd291bGQgYmUgYWNjZXNzaWJsZSB2aWEgQENvbnRlbnRDaGlsZC5cbiAqIFVzYWdlIGV4YW1wbGU6XG4gKlxuICogYGBgaHRtbFxuICogIFVzYWdlIG91dHNpZGUgd3JhcHBlciBjb21wb25lbnQ6XG4gKiAgPGZkcC12YXJpYW50LW1hbmFnZW1lbnQgI3ZhcmlhbnRNYW5hZ2VtZW50IFt2YXJpYW50c109XCIuLi5cIj48L2ZkcC12YXJpYW50LW1hbmFnZW1lbnQ+XG4gKiAgPGZkcC12YXJpYW50LW1hbmFnZW1lbnQtd3JhcHBlciBbdmFyaWFudE1hbmFnZXJdPVwidmFyaWFudE1hbmFnZW1lbnRcIj5cbiAqICAgICAgPGZkcC1zbWFydC1maWx0ZXItYmFyPi4uLjwvZmRwLXNtYXJ0LWZpbHRlci1iYXI+XG4gKiAgICAgIDxmZHAtdGFibGU+Li4uPC9mZHAtdGFibGU+XG4gKiAgPC9mZHAtdmFyaWFudC1tYW5hZ2VtZW50LXdyYXBwZXI+XG4gKlxuICogIFVzYWdlIGluc2lkZSB3cmFwcGVyIGNvbXBvbmVudDpcbiAqICA8ZmRwLXZhcmlhbnQtbWFuYWdlbWVudC13cmFwcGVyPlxuICogICAgICA8ZmRwLXZhcmlhbnQtbWFuYWdlbWVudCBbdmFyaWFudHNdPVwiLi4uXCI+PC9mZHAtdmFyaWFudC1tYW5hZ2VtZW50PlxuICogICAgICA8ZmRwLXNtYXJ0LWZpbHRlci1iYXI+Li4uPC9mZHAtc21hcnQtZmlsdGVyLWJhcj5cbiAqICAgICAgPGZkcC10YWJsZT4uLi48L2ZkcC10YWJsZT5cbiAqICA8L2ZkcC12YXJpYW50LW1hbmFnZW1lbnQtd3JhcHBlcj5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC12YXJpYW50LW1hbmFnZW1lbnQtd3JhcHBlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZhcmlhbnQtbWFuYWdlbWVudC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBEZXN0cm95ZWRTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRFBfVkFSSUFOVF9NQU5BR0VNRU5UX1dSQVBQRVIsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVmFyaWFudE1hbmFnZW1lbnRXcmFwcGVyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFZhcmlhbnRNYW5hZ2VtZW50V3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIFZhcmlhbnQgbWFuYWdlbWVudCBjb21wb25lbnQuICovXG4gICAgQElucHV0KClcbiAgICB2YXJpYW50TWFuYWdlcjogVmFyaWFudE1hbmFnZW1lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRkRQX1BSRVNFVF9NQU5BR0VEX0NPTVBPTkVOVCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21hbmFnZWRDb21wb25lbnRzOiBRdWVyeUxpc3Q8UHJlc2V0TWFuYWdlZENvbXBvbmVudDxhbnk+PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChGRFBfVkFSSUFOVF9NQU5BR0VNRU5ULCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSBzZXQgX3Byb2plY3RlZFZhcmlhbnRNYW5hZ2VyKHZhcmlhbnRNYW5hZ2VyOiBWYXJpYW50TWFuYWdlbWVudCkge1xuICAgICAgICB0aGlzLl92YXJpYW50TWFuYWdlciA9IHZhcmlhbnRNYW5hZ2VyO1xuICAgICAgICB0aGlzLl9zZXRQcmVzZXRzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgX3Byb2plY3RlZFZhcmlhbnRNYW5hZ2VyKCk6IFZhcmlhbnRNYW5hZ2VtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhcmlhbnRNYW5hZ2VyO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX3ZhcmlhbnRNYW5hZ2VtZW50KCk6IFZhcmlhbnRNYW5hZ2VtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2plY3RlZFZhcmlhbnRNYW5hZ2VyIHx8IHRoaXMudmFyaWFudE1hbmFnZXI7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92YXJpYW50TWFuYWdlcjogVmFyaWFudE1hbmFnZW1lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FjdGl2ZVZhcmlhbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50c1ByZXNldENoYW5nZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kZXN0cm95JDogRGVzdHJveWVkU2VydmljZSkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRQcmVzZXRzKCk7XG5cbiAgICAgICAgdGhpcy5fbWFuYWdlZENvbXBvbmVudHM/LmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLl9tYW5hZ2VkQ29tcG9uZW50cyksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9saXN0ZW5Ub1ByZXNldENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZVZhcmlhbnRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2NvbXBvbmVudHNQcmVzZXRDaGFuZ2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIExpc3RlbnMgdG8gdGhlIHByZXNldCBjaGFuZ2UgaW4gVmFyaWFudCBNYW5hZ2VtZW50IGNvbXBvbmVudCBhbmQgYXBwbGllcyBuZXcgY29uZmlndXJhdGlvbiBhY3Jvc3MgcHJvamVjdGVkIGNvbXBvbmVudHMuLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3NldFByZXNldHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZVZhcmlhbnRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2FjdGl2ZVZhcmlhbnRTdWJzY3JpcHRpb24gPSB0aGlzLl92YXJpYW50TWFuYWdlbWVudD8uYWN0aXZlVmFyaWFudENoYW5nZVN1YmplY3RcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigodmFyaWFudCkgPT4gISF2YXJpYW50ICYmICEhdGhpcy5fbWFuYWdlZENvbXBvbmVudHMpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0aGlzLl9tYW5hZ2VkQ29tcG9uZW50cy50b0FycmF5KCk7XG5cbiAgICAgICAgICAgICAgICBjb21wb25lbnRzLmZvckVhY2goKGNvbXBvbmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5fdmFyaWFudE1hbmFnZW1lbnQuYWN0aXZlVmFyaWFudC5kYXRhW2NvbXBvbmVudC5uYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50LnNldFByZXNldChkYXRhKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0ZW5zIHRvIHByZXNldCBjb25maWd1cmF0aW9uIGNoYW5nZXMgaW4gcHJvamVjdGVkIGNvbXBvbmVudHMgYW5kIHNlbmRzIHVwZGF0ZWQgY29uZmlnIHRvIFZhcmlhbnQgTWFuYWdlbWVudCBjb21wb25lbnQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuVG9QcmVzZXRDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb21wb25lbnRzUHJlc2V0Q2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9jb21wb25lbnRzUHJlc2V0Q2hhbmdlU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRzID0gdGhpcy5fbWFuYWdlZENvbXBvbmVudHMudG9BcnJheSgpO1xuXG4gICAgICAgIGNvbXBvbmVudHMuZm9yRWFjaCgoY29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRzUHJlc2V0Q2hhbmdlU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgICAgICBjb21wb25lbnQucHJlc2V0Q2hhbmdlZFxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigocHJlc2V0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldlByZXNldCA9IHRoaXMuX2dldENvbXBvbmVudFByZXNldCgpLmdldChjb21wb25lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhZXF1YWwocHJlc2V0LCBwcmV2UHJlc2V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHByZXNldCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmFyaWFudE1hbmFnZW1lbnQ/LnVwZGF0ZUFjdGl2ZVByZXNldChwcmVzZXQsIGNvbXBvbmVudC5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0Q29tcG9uZW50UHJlc2V0KCk6IE1hcDxQcmVzZXRNYW5hZ2VkQ29tcG9uZW50PGFueT4sIGFueT4ge1xuICAgICAgICBjb25zdCBjb21wb25lbnRzID0gdGhpcy5fbWFuYWdlZENvbXBvbmVudHMudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5fdmFyaWFudE1hbmFnZW1lbnQuZ2V0QWN0aXZlVmFyaWFudERhdGEoKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50c01hcCA9IG5ldyBNYXA8UHJlc2V0TWFuYWdlZENvbXBvbmVudDxhbnk+LCBhbnk+KCk7XG5cbiAgICAgICAgY29tcG9uZW50cy5mb3JFYWNoKChjb21wb25lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbXBvbmVudHNNYXAuc2V0KGNvbXBvbmVudCwgZGF0YVtjb21wb25lbnQubmFtZV0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gY29tcG9uZW50c01hcDtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1tYW5hZ2VtZW50LXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3ZhcmlhbnQtbWFuYWdlbWVudC9jb21wb25lbnRzL3ZhcmlhbnQtbWFuYWdlbWVudC13cmFwcGVyL3ZhcmlhbnQtbWFuYWdlbWVudC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi92YXJpYW50LW1hbmFnZW1lbnQvY29tcG9uZW50cy92YXJpYW50LW1hbmFnZW1lbnQtd3JhcHBlci92YXJpYW50LW1hbmFnZW1lbnQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDRCQUE0QixFQUEwQixNQUFNLGtDQUFrQyxDQUFDO0FBQ3hHLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRWhFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQWFILE1BQU0sT0FBTyxpQ0FBaUM7SUFaOUM7UUE4Q0ksY0FBYztRQUNOLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBOEU1QztJQXhHRyxjQUFjO0lB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Q29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZEUF9QUkVTRVRfTUFOQUdFRF9DT01QT05FTlQsIFByZXNldE1hbmFnZWRDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsJztcbmltcG9ydCB7IGZpbHRlciwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZhcmlhbnRNYW5hZ2VtZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3ZhcmlhbnQtbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBGRFBfVkFSSUFOVF9NQU5BR0VNRU5ULCBGRFBfVkFSSUFOVF9NQU5BR0VNRU5UX1dSQVBQRVIgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IHVzZWQgdG8gd3JhcCBjb21wb25lbnRzIHRoYXQgaW1wbGVtZW50IGBQcmVzZXRNYW5hZ2VkQ29tcG9uZW50YC5cbiAqIEl0IGF1dG9tYXRpY2FsbHkgYm91bmRzIGV4aXN0aW5nIHByZXNldHMgZnJvbSBgVmFyaWFudCBNYW5hZ2VtZW50YCBjb21wb25lbnQgdG8gYFByZXNldE1hbmFnZWRDb21wb25lbnRgLlxuICogV3JhcHBlciBjb21wb25lbnQgc3VwcG9ydHMgdHdvIHdheXMgb2YgcHJvdmlkaW5nIFZhcmlhbnQgTWFuYWdlbWVudCBjb21wb25lbnQuXG4gKiBGaXJzdCBvbmUgaXMgdG8gcGFzcyByZWZlcmVuY2UgdmlhIElucHV0IHByb3BlcnR5LlxuICogU2Vjb25kIG9uZSBpcyB0byBwdXQgVmFyaWFudCBNYW5hZ2VtZW50IGNvbXBvbmVudCBpbnNpZGUgd3JhcHBlciBjb21wb25lbnQgc28gaXQgd291bGQgYmUgYWNjZXNzaWJsZSB2aWEgQENvbnRlbnRDaGlsZC5cbiAqIFVzYWdlIGV4YW1wbGU6XG4gKlxuICogYGBgaHRtbFxuICogIFVzYWdlIG91dHNpZGUgd3JhcHBlciBjb21wb25lbnQ6XG4gKiAgPGZkcC12YXJpYW50LW1hbmFnZW1lbnQgI3ZhcmlhbnRNYW5hZ2VtZW50IFt2YXJpYW50c109XCIuLi5cIj48L2ZkcC12YXJpYW50LW1hbmFnZW1lbnQ+XG4gKiAgPGZkcC12YXJpYW50LW1hbmFnZW1lbnQtd3JhcHBlciBbdmFyaWFudE1hbmFnZXJdPVwidmFyaWFudE1hbmFnZW1lbnRcIj5cbiAqICAgICAgPGZkcC1zbWFydC1maWx0ZXItYmFyPi4uLjwvZmRwLXNtYXJ0LWZpbHRlci1iYXI+XG4gKiAgICAgIDxmZHAtdGFibGU+Li4uPC9mZHAtdGFibGU+XG4gKiAgPC9mZHAtdmFyaWFudC1tYW5hZ2VtZW50LXdyYXBwZXI+XG4gKlxuICogIFVzYWdlIGluc2lkZSB3cmFwcGVyIGNvbXBvbmVudDpcbiAqICA8ZmRwLXZhcmlhbnQtbWFuYWdlbWVudC13cmFwcGVyPlxuICogICAgICA8ZmRwLXZhcmlhbnQtbWFuYWdlbWVudCBbdmFyaWFudHNdPVwiLi4uXCI+PC9mZHAtdmFyaWFudC1tYW5hZ2VtZW50PlxuICogICAgICA8ZmRwLXNtYXJ0LWZpbHRlci1iYXI+Li4uPC9mZHAtc21hcnQtZmlsdGVyLWJhcj5cbiAqICAgICAgPGZkcC10YWJsZT4uLi48L2ZkcC10YWJsZT5cbiAqICA8L2ZkcC12YXJpYW50LW1hbmFnZW1lbnQtd3JhcHBlcj5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC12YXJpYW50LW1hbmFnZW1lbnQtd3JhcHBlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZhcmlhbnQtbWFuYWdlbWVudC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRFBfVkFSSUFOVF9NQU5BR0VNRU5UX1dSQVBQRVIsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVmFyaWFudE1hbmFnZW1lbnRXcmFwcGVyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFZhcmlhbnRNYW5hZ2VtZW50V3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIFZhcmlhbnQgbWFuYWdlbWVudCBjb21wb25lbnQuICovXG4gICAgQElucHV0KClcbiAgICB2YXJpYW50TWFuYWdlcjogVmFyaWFudE1hbmFnZW1lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRkRQX1BSRVNFVF9NQU5BR0VEX0NPTVBPTkVOVCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21hbmFnZWRDb21wb25lbnRzOiBRdWVyeUxpc3Q8UHJlc2V0TWFuYWdlZENvbXBvbmVudDxhbnk+PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChGRFBfVkFSSUFOVF9NQU5BR0VNRU5ULCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSBzZXQgX3Byb2plY3RlZFZhcmlhbnRNYW5hZ2VyKHZhcmlhbnRNYW5hZ2VyOiBWYXJpYW50TWFuYWdlbWVudCkge1xuICAgICAgICB0aGlzLl92YXJpYW50TWFuYWdlciA9IHZhcmlhbnRNYW5hZ2VyO1xuICAgICAgICB0aGlzLl9zZXRQcmVzZXRzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgX3Byb2plY3RlZFZhcmlhbnRNYW5hZ2VyKCk6IFZhcmlhbnRNYW5hZ2VtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhcmlhbnRNYW5hZ2VyO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX3ZhcmlhbnRNYW5hZ2VtZW50KCk6IFZhcmlhbnRNYW5hZ2VtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2plY3RlZFZhcmlhbnRNYW5hZ2VyIHx8IHRoaXMudmFyaWFudE1hbmFnZXI7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92YXJpYW50TWFuYWdlcjogVmFyaWFudE1hbmFnZW1lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FjdGl2ZVZhcmlhbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50c1ByZXNldENoYW5nZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFByZXNldHMoKTtcblxuICAgICAgICB0aGlzLl9tYW5hZ2VkQ29tcG9uZW50cz8uY2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMuX21hbmFnZWRDb21wb25lbnRzKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGlzdGVuVG9QcmVzZXRDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hY3RpdmVWYXJpYW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9jb21wb25lbnRzUHJlc2V0Q2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0ZW5zIHRvIHRoZSBwcmVzZXQgY2hhbmdlIGluIFZhcmlhbnQgTWFuYWdlbWVudCBjb21wb25lbnQgYW5kIGFwcGxpZXMgbmV3IGNvbmZpZ3VyYXRpb24gYWNyb3NzIHByb2plY3RlZCBjb21wb25lbnRzLi5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9zZXRQcmVzZXRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hY3RpdmVWYXJpYW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9hY3RpdmVWYXJpYW50U3Vic2NyaXB0aW9uID0gdGhpcy5fdmFyaWFudE1hbmFnZW1lbnQ/LmFjdGl2ZVZhcmlhbnRDaGFuZ2VTdWJqZWN0XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHZhcmlhbnQpID0+ICEhdmFyaWFudCAmJiAhIXRoaXMuX21hbmFnZWRDb21wb25lbnRzKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0aGlzLl9tYW5hZ2VkQ29tcG9uZW50cy50b0FycmF5KCk7XG5cbiAgICAgICAgICAgICAgICBjb21wb25lbnRzLmZvckVhY2goKGNvbXBvbmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5fdmFyaWFudE1hbmFnZW1lbnQuYWN0aXZlVmFyaWFudC5kYXRhW2NvbXBvbmVudC5uYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50LnNldFByZXNldChkYXRhKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0ZW5zIHRvIHByZXNldCBjb25maWd1cmF0aW9uIGNoYW5nZXMgaW4gcHJvamVjdGVkIGNvbXBvbmVudHMgYW5kIHNlbmRzIHVwZGF0ZWQgY29uZmlnIHRvIFZhcmlhbnQgTWFuYWdlbWVudCBjb21wb25lbnQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuVG9QcmVzZXRDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb21wb25lbnRzUHJlc2V0Q2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9jb21wb25lbnRzUHJlc2V0Q2hhbmdlU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRzID0gdGhpcy5fbWFuYWdlZENvbXBvbmVudHMudG9BcnJheSgpO1xuXG4gICAgICAgIGNvbXBvbmVudHMuZm9yRWFjaCgoY29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRzUHJlc2V0Q2hhbmdlU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgICAgICBjb21wb25lbnQucHJlc2V0Q2hhbmdlZFxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigocHJlc2V0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldlByZXNldCA9IHRoaXMuX2dldENvbXBvbmVudFByZXNldCgpLmdldChjb21wb25lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhZXF1YWwocHJlc2V0LCBwcmV2UHJlc2V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocHJlc2V0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl92YXJpYW50TWFuYWdlbWVudD8udXBkYXRlQWN0aXZlUHJlc2V0KHByZXNldCwgY29tcG9uZW50Lm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRDb21wb25lbnRQcmVzZXQoKTogTWFwPFByZXNldE1hbmFnZWRDb21wb25lbnQ8YW55PiwgYW55PiB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0aGlzLl9tYW5hZ2VkQ29tcG9uZW50cy50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl92YXJpYW50TWFuYWdlbWVudC5nZXRBY3RpdmVWYXJpYW50RGF0YSgpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRzTWFwID0gbmV3IE1hcDxQcmVzZXRNYW5hZ2VkQ29tcG9uZW50PGFueT4sIGFueT4oKTtcblxuICAgICAgICBjb21wb25lbnRzLmZvckVhY2goKGNvbXBvbmVudCkgPT4ge1xuICAgICAgICAgICAgY29tcG9uZW50c01hcC5zZXQoY29tcG9uZW50LCBkYXRhW2NvbXBvbmVudC5uYW1lXSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBjb21wb25lbnRzTWFwO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|