@fundamental-ngx/cdk 0.48.0-rc.21 → 0.48.0-rc.23
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/utils/directives/disabled/fdk-disabled-provider.service.mjs +10 -10
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +6 -8
- package/esm2022/utils/directives/overflow-list/overflow-list.directive.mjs +5 -11
- package/esm2022/utils/directives/readonly/fdk-readonly-provider.service.mjs +10 -11
- package/esm2022/utils/directives/resize/resize.directive.mjs +4 -11
- package/esm2022/utils/directives/selectable-list/selection.service.mjs +7 -9
- package/esm2022/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +9 -7
- package/esm2022/utils/services/keyboard-support/keyboard-support.service.mjs +13 -13
- package/esm2022/utils/services/rtl.service.mjs +3 -1
- package/esm2022/utils/toast/base-toast.service.mjs +5 -11
- package/fesm2022/fundamental-ngx-cdk-utils.mjs +38 -65
- package/fesm2022/fundamental-ngx-cdk-utils.mjs.map +1 -1
- package/fundamental-ngx-cdk-v0.48.0-rc.23.tgz +0 -0
- package/package.json +1 -1
- package/utils/directives/disabled/fdk-disabled-provider.service.d.ts +1 -1
- package/utils/directives/overflow-list/overflow-list.directive.d.ts +3 -5
- package/utils/directives/readonly/fdk-readonly-provider.service.d.ts +1 -1
- package/utils/directives/resize/resize.directive.d.ts +1 -3
- package/utils/directives/selectable-list/selection.service.d.ts +3 -5
- package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +1 -1
- package/utils/services/keyboard-support/keyboard-support.service.d.ts +5 -5
- package/utils/services/rtl.service.d.ts +3 -1
- package/utils/toast/base-toast.service.d.ts +3 -5
- package/fundamental-ngx-cdk-v0.48.0-rc.21.tgz +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ElementRef, Inject, Injectable, NgZone, Optional, Self, SkipSelf } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { DestroyRef, ElementRef, Inject, Injectable, NgZone, Optional, Self, SkipSelf, inject } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { BehaviorSubject, ReplaySubject, combineLatest, firstValueFrom } from 'rxjs';
|
|
4
|
+
import { distinctUntilChanged, startWith, tap } from 'rxjs/operators';
|
|
4
5
|
import { DefaultDisabledViewModifier } from './default-disabled-view-modifier';
|
|
5
6
|
import { DisabledObserver } from './disabled.observer';
|
|
6
7
|
import { FDK_DISABLED_DIRECTIVE } from './fdk-disabled.token';
|
|
@@ -18,16 +19,16 @@ export class FdkDisabledProvider extends ReplaySubject {
|
|
|
18
19
|
/** @Hidden */
|
|
19
20
|
this.fdkDisabled = false;
|
|
20
21
|
/** @Hidden */
|
|
21
|
-
this.
|
|
22
|
+
this._destroyRef = inject(DestroyRef);
|
|
22
23
|
/** @hidden */
|
|
23
24
|
this._viewModifiers$ = new BehaviorSubject(this._getInitialViewModifiers());
|
|
24
25
|
/** @hidden */
|
|
25
26
|
this._disabledChange$ = this._getDisabledChange$();
|
|
26
27
|
combineLatest([this._disabledChange$, this._viewModifiers$])
|
|
27
|
-
.pipe(tap(([isDisabled]) => this.setDisabledState(isDisabled)),
|
|
28
|
+
.pipe(tap(([isDisabled]) => this.setDisabledState(isDisabled)), takeUntilDestroyed(this._destroyRef))
|
|
28
29
|
.subscribe();
|
|
29
30
|
this._disabledChange$
|
|
30
|
-
.pipe(tap((isDisabled) => (this.fdkDisabled = isDisabled)), tap((isDisabled) => this.next(isDisabled)),
|
|
31
|
+
.pipe(tap((isDisabled) => (this.fdkDisabled = isDisabled)), tap((isDisabled) => this.next(isDisabled)), takeUntilDestroyed(this._destroyRef))
|
|
31
32
|
.subscribe();
|
|
32
33
|
}
|
|
33
34
|
/** @hidden */
|
|
@@ -44,7 +45,6 @@ export class FdkDisabledProvider extends ReplaySubject {
|
|
|
44
45
|
/** @hidden */
|
|
45
46
|
ngOnDestroy() {
|
|
46
47
|
this.complete();
|
|
47
|
-
this._destroy$.next();
|
|
48
48
|
this.disabledObserver.unobserve(this.elementRef);
|
|
49
49
|
}
|
|
50
50
|
/** @hidden */
|
|
@@ -60,7 +60,7 @@ export class FdkDisabledProvider extends ReplaySubject {
|
|
|
60
60
|
if (!selfDisabled && !parentDisabled) {
|
|
61
61
|
this.setDisabledState(false);
|
|
62
62
|
}
|
|
63
|
-
}),
|
|
63
|
+
}), takeUntilDestroyed(this._destroyRef))
|
|
64
64
|
.subscribe();
|
|
65
65
|
}
|
|
66
66
|
if (this.selfDisabled$) {
|
|
@@ -69,7 +69,7 @@ export class FdkDisabledProvider extends ReplaySubject {
|
|
|
69
69
|
if (!parentDisabled) {
|
|
70
70
|
this.setDisabledState(isDisabled);
|
|
71
71
|
}
|
|
72
|
-
}),
|
|
72
|
+
}), takeUntilDestroyed(this._destroyRef))
|
|
73
73
|
.subscribe();
|
|
74
74
|
}
|
|
75
75
|
return this.disabledObserver.observe(this.elementRef).pipe(distinctUntilChanged());
|
|
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
98
98
|
type: Inject,
|
|
99
99
|
args: [FDK_DISABLED_DIRECTIVE]
|
|
100
100
|
}] }] });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmRrLWRpc2FibGVkLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL2Rpc2FibGVkL2Zkay1kaXNhYmxlZC1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWEsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUc5RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBc0I7SUFZM0QsY0FBYztJQUNkLFlBQ1ksTUFBYyxFQUNkLFVBQW1DLEVBQ25DLGdCQUFrQyxFQUNrQixhQUFnQyxFQUM1QixlQUFrQztRQUVsRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFORCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNrQixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBakJ0RyxjQUFjO1FBQ2QsZ0JBQVcsR0FBRyxLQUFL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TUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSwgT25EZXN0cm95LCBPcHRpb25hbCwgU2VsZiwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzdGFydFdpdGgsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGVmYXVsdERpc2FibGVkVmlld01vZGlmaWVyIH0gZnJvbSAnLi9kZWZhdWx0LWRpc2FibGVkLXZpZXctbW9kaWZpZXInO1xuaW1wb3J0IHsgRGlzYWJsZWRCZWhhdmlvciB9IGZyb20gJy4vZGlzYWJsZWQtYmVoYXZpb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IERpc2FibGVkVmlld01vZGlmaWVyIH0gZnJvbSAnLi9kaXNhYmxlZC12aWV3LW1vZGlmaWVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaXNhYmxlZE9ic2VydmVyIH0gZnJvbSAnLi9kaXNhYmxlZC5vYnNlcnZlcic7XG5pbXBvcnQgeyBGREtfRElTQUJMRURfRElSRUNUSVZFIH0gZnJvbSAnLi9mZGstZGlzYWJsZWQudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmRrRGlzYWJsZWRQcm92aWRlciBleHRlbmRzIFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4gaW1wbGVtZW50cyBEaXNhYmxlZEJlaGF2aW9yLCBPbkRlc3Ryb3kge1xuICAgIC8qKiBASGlkZGVuICovXG4gICAgZmRrRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3ZpZXdNb2RpZmllcnMkOiBCZWhhdmlvclN1YmplY3Q8RGlzYWJsZWRWaWV3TW9kaWZpZXJbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgICAgICBEaXNhYmxlZFZpZXdNb2RpZmllcltdXG4gICAgPih0aGlzLl9nZXRJbml0aWFsVmlld01vZGlmaWVycygpKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rpc2FibGVkQ2hhbmdlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2dldERpc2FibGVkQ2hhbmdlJCgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSBkaXNhYmxlZE9ic2VydmVyOiBEaXNhYmxlZE9ic2VydmVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIEBJbmplY3QoRkRLX0RJU0FCTEVEX0RJUkVDVElWRSkgcHJpdmF0ZSBzZWxmRGlzYWJsZWQkPzogRGlzYWJsZWRCZWhhdmlvcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEluamVjdChGREtfRElTQUJMRURfRElSRUNUSVZFKSBwcml2YXRlIHBhcmVudERpc2FibGVkJD86IERpc2FibGVkQmVoYXZpb3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoMSk7XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2Rpc2FibGVkQ2hhbmdlJCwgdGhpcy5fdmlld01vZGlmaWVycyRdKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChbaXNEaXNhYmxlZF0pID0+IHRoaXMuc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9kaXNhYmxlZENoYW5nZSRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoaXNEaXNhYmxlZCkgPT4gKHRoaXMuZmRrRGlzYWJsZWQgPSBpc0Rpc2FibGVkKSksXG4gICAgICAgICAgICAgICAgdGFwKChpc0Rpc2FibGVkKSA9PiB0aGlzLm5leHQoaXNEaXNhYmxlZCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFkZFZpZXdNb2RpZmllcihtb2RpZmllcjogRGlzYWJsZWRWaWV3TW9kaWZpZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgdmlld01vZGlmaWVycyA9IFsuLi5uZXcgU2V0KFsuLi50aGlzLl92aWV3TW9kaWZpZXJzJC52YWx1ZSwgbW9kaWZpZXJdKS52YWx1ZXMoKV07XG4gICAgICAgIHRoaXMuX3ZpZXdNb2RpZmllcnMkLm5leHQodmlld01vZGlmaWVycyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgZmlyc3RWYWx1ZUZyb20odGhpcy5uZ1pvbmUub25TdGFibGUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdmlld01vZGlmaWVycyQudmFsdWUuZm9yRWFjaCgodmlld01vZGlmaWVyKSA9PiB2aWV3TW9kaWZpZXIuc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRpc2FibGVkT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXREaXNhYmxlZENoYW5nZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGxldCBzZWxmRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgbGV0IHBhcmVudERpc2FibGVkID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRoaXMucGFyZW50RGlzYWJsZWQkKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudERpc2FibGVkJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy5wYXJlbnREaXNhYmxlZCQuZmRrRGlzYWJsZWQpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKGQpID0+IChwYXJlbnREaXNhYmxlZCA9IGQpKSxcbiAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnREaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2VsZkRpc2FibGVkICYmICFwYXJlbnREaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zZWxmRGlzYWJsZWQkKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGZEaXNhYmxlZCRcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuc2VsZkRpc2FibGVkJC5mZGtEaXNhYmxlZCksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoZCkgPT4gKHNlbGZEaXNhYmxlZCA9IGQpKSxcbiAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKChpc0Rpc2FibGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXBhcmVudERpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRPYnNlcnZlci5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZikucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEluaXRpYWxWaWV3TW9kaWZpZXJzKCk6IERpc2FibGVkVmlld01vZGlmaWVyW10ge1xuICAgICAgICByZXR1cm4gIXRoaXMuc2VsZkRpc2FibGVkJCA/IFtuZXcgRGVmYXVsdERpc2FibGVkVmlld01vZGlmaWVyKHRoaXMuZWxlbWVudFJlZildIDogW3RoaXMuc2VsZkRpc2FibGVkJF07XG4gICAgfVxufVxuIl19
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmRrLWRpc2FibGVkLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL2Rpc2FibGVkL2Zkay1kaXNhYmxlZC1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUVOLFFBQVEsRUFDUixJQUFJLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUc5RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBc0I7SUFZM0QsY0FBYztJQUNkLFlBQ1ksTUFBYyxFQUNkLFVBQW1DLEVBQ25DLGdCQUFrQyxFQUNrQixhQUFnQyxFQUM1QixlQUFrQztRQUVsRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFORCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNrQixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDNUIsb0JBQWUsR0FB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MEJBQUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgU2tpcFNlbGYsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGVmYXVsdERpc2FibGVkVmlld01vZGlmaWVyIH0gZnJvbSAnLi9kZWZhdWx0LWRpc2FibGVkLXZpZXctbW9kaWZpZXInO1xuaW1wb3J0IHsgRGlzYWJsZWRCZWhhdmlvciB9IGZyb20gJy4vZGlzYWJsZWQtYmVoYXZpb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IERpc2FibGVkVmlld01vZGlmaWVyIH0gZnJvbSAnLi9kaXNhYmxlZC12aWV3LW1vZGlmaWVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaXNhYmxlZE9ic2VydmVyIH0gZnJvbSAnLi9kaXNhYmxlZC5vYnNlcnZlcic7XG5pbXBvcnQgeyBGREtfRElTQUJMRURfRElSRUNUSVZFIH0gZnJvbSAnLi9mZGstZGlzYWJsZWQudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmRrRGlzYWJsZWRQcm92aWRlciBleHRlbmRzIFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4gaW1wbGVtZW50cyBEaXNhYmxlZEJlaGF2aW9yLCBPbkRlc3Ryb3kge1xuICAgIC8qKiBASGlkZGVuICovXG4gICAgZmRrRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3TW9kaWZpZXJzJDogQmVoYXZpb3JTdWJqZWN0PERpc2FibGVkVmlld01vZGlmaWVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAgICAgRGlzYWJsZWRWaWV3TW9kaWZpZXJbXVxuICAgID4odGhpcy5fZ2V0SW5pdGlhbFZpZXdNb2RpZmllcnMoKSk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kaXNhYmxlZENoYW5nZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9nZXREaXNhYmxlZENoYW5nZSQoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgZGlzYWJsZWRPYnNlcnZlcjogRGlzYWJsZWRPYnNlcnZlcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBASW5qZWN0KEZES19ESVNBQkxFRF9ESVJFQ1RJVkUpIHByaXZhdGUgc2VsZkRpc2FibGVkJD86IERpc2FibGVkQmVoYXZpb3IsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIEBJbmplY3QoRkRLX0RJU0FCTEVEX0RJUkVDVElWRSkgcHJpdmF0ZSBwYXJlbnREaXNhYmxlZCQ/OiBEaXNhYmxlZEJlaGF2aW9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKDEpO1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9kaXNhYmxlZENoYW5nZSQsIHRoaXMuX3ZpZXdNb2RpZmllcnMkXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoW2lzRGlzYWJsZWRdKSA9PiB0aGlzLnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9kaXNhYmxlZENoYW5nZSRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoaXNEaXNhYmxlZCkgPT4gKHRoaXMuZmRrRGlzYWJsZWQgPSBpc0Rpc2FibGVkKSksXG4gICAgICAgICAgICAgICAgdGFwKChpc0Rpc2FibGVkKSA9PiB0aGlzLm5leHQoaXNEaXNhYmxlZCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWRkVmlld01vZGlmaWVyKG1vZGlmaWVyOiBEaXNhYmxlZFZpZXdNb2RpZmllcik6IHZvaWQge1xuICAgICAgICBjb25zdCB2aWV3TW9kaWZpZXJzID0gWy4uLm5ldyBTZXQoWy4uLnRoaXMuX3ZpZXdNb2RpZmllcnMkLnZhbHVlLCBtb2RpZmllcl0pLnZhbHVlcygpXTtcbiAgICAgICAgdGhpcy5fdmlld01vZGlmaWVycyQubmV4dCh2aWV3TW9kaWZpZXJzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBmaXJzdFZhbHVlRnJvbSh0aGlzLm5nWm9uZS5vblN0YWJsZSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl92aWV3TW9kaWZpZXJzJC52YWx1ZS5mb3JFYWNoKCh2aWV3TW9kaWZpZXIpID0+IHZpZXdNb2RpZmllci5zZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmRpc2FibGVkT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXREaXNhYmxlZENoYW5nZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGxldCBzZWxmRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgbGV0IHBhcmVudERpc2FibGVkID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRoaXMucGFyZW50RGlzYWJsZWQkKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudERpc2FibGVkJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy5wYXJlbnREaXNhYmxlZCQuZmRrRGlzYWJsZWQpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKGQpID0+IChwYXJlbnREaXNhYmxlZCA9IGQpKSxcbiAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnREaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2VsZkRpc2FibGVkICYmICFwYXJlbnREaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGZEaXNhYmxlZCQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZkRpc2FibGVkJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy5zZWxmRGlzYWJsZWQkLmZka0Rpc2FibGVkKSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKChkKSA9PiAoc2VsZkRpc2FibGVkID0gZCkpLFxuICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKGlzRGlzYWJsZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcGFyZW50RGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnRSZWYpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRJbml0aWFsVmlld01vZGlmaWVycygpOiBEaXNhYmxlZFZpZXdNb2RpZmllcltdIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnNlbGZEaXNhYmxlZCQgPyBbbmV3IERlZmF1bHREaXNhYmxlZFZpZXdNb2RpZmllcih0aGlzLmVsZW1lbnRSZWYpXSA6IFt0aGlzLnNlbGZEaXNhYmxlZCRdO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
2
|
-
import { ChangeDetectorRef, ContentChildren, Directive, Input, Optional, QueryList } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { ChangeDetectorRef, ContentChildren, DestroyRef, Directive, inject, Input, Optional, QueryList } from '@angular/core';
|
|
3
|
+
import { filter } from 'rxjs/operators';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { RtlService } from '../../services/rtl.service';
|
|
6
6
|
import { FOCUSABLE_ITEM } from './focus-key-manager.tokens';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
@@ -19,7 +19,7 @@ export class FocusKeyManagerListDirective {
|
|
|
19
19
|
this._rtlService = _rtlService;
|
|
20
20
|
this._cdr = _cdr;
|
|
21
21
|
/** @hidden */
|
|
22
|
-
this._onDestroy$ =
|
|
22
|
+
this._onDestroy$ = inject(DestroyRef);
|
|
23
23
|
}
|
|
24
24
|
/** @hidden */
|
|
25
25
|
ngOnChanges(changes) {
|
|
@@ -39,13 +39,11 @@ export class FocusKeyManagerListDirective {
|
|
|
39
39
|
this._applyOrientation();
|
|
40
40
|
this._cdr.detectChanges();
|
|
41
41
|
this._rtlService?.rtl
|
|
42
|
-
.pipe(filter(() => this.orientation === 'horizontal'),
|
|
42
|
+
.pipe(filter(() => this.orientation === 'horizontal'), takeUntilDestroyed(this._onDestroy$))
|
|
43
43
|
.subscribe(() => this._applyOrientation());
|
|
44
44
|
}
|
|
45
45
|
/** @hidden */
|
|
46
46
|
ngOnDestroy() {
|
|
47
|
-
this._onDestroy$.next();
|
|
48
|
-
this._onDestroy$.complete();
|
|
49
47
|
this._focusKeyManager.destroy();
|
|
50
48
|
}
|
|
51
49
|
/** Focus certain list's item */
|
|
@@ -87,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
87
85
|
type: ContentChildren,
|
|
88
86
|
args: [FOCUSABLE_ITEM]
|
|
89
87
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMta2V5LW1hbmFnZXItbGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL2ZvY3VzLWtleS1tYW5hZ2VyL2ZvY3VzLWtleS1tYW5hZ2VyLWxpc3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckUsT0FBTyxFQUVILGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBRVosTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUU1RDs7R0FFRztBQUtILE1BQU0sT0FBTyw0QkFBNEI7SUFlckMsY0FBYztJQUNkLElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFRRCxjQUFjO0lBQ2QsWUFDaUMsV0FBdUIsRUFDbkMsSUFBdUI7UUFEWCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUNuQyxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQU41QyxjQUFjO1FBQ0csZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFNL0MsQ0FBQztJQUVKLGNBQWM7SUFDZCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN4QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLGFBQWEsSUFBSSxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLGNBQWMsSUFBSSxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRzthQUNoQixJQUFJLENBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssWUFBWSxDQUFDLEVBQy9DLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDdkM7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxTQUFTLENBQUMsSUFBb0I7UUFDMUIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ04saUJBQWlCO1FBQ3JCLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN0QixLQUFLLFlBQVk7Z0JBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0YsTUFBTTtZQUNWLEtBQUssVUFBVTtnQkFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BELE1BQU07U0FDYjtJQUNMLENBQUM7OEdBdkZRLDRCQUE0QjtrR0FBNUIsNEJBQTRCLG1MQVlwQixjQUFjOzsyRkFadEIsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBNkJRLFFBQVE7eUVBdkJiLFdBQVc7c0JBRFYsS0FBSztnQkFLTixhQUFhO3NCQURaLEtBQUs7Z0JBS0csTUFBTTtzQkFEZCxlQUFlO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c2FibGVPcHRpb24sIEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFJ0bFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ydGwuc2VydmljZSc7XG5pbXBvcnQgeyBGT0NVU0FCTEVfSVRFTSB9IGZyb20gJy4vZm9jdXMta2V5LW1hbmFnZXIudG9rZW5zJztcblxuLyoqIERpcmVjdGl2ZSB0byBhcHBseSBBbmd1bGFyIE1hdGVyaWFsIEZvY3VzS2V5TWFuYWdlciB0byBsaXN0cy5cbiAqIFRvIGJlIHVzZWQgd2l0aCBGb2N1c0tleU1hbmFnZXJJdGVtRGlyZWN0aXZlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgW2Zka0ZvY3VzS2V5TWFuYWdlckxpc3RdYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzS2V5TWFuYWdlckxpc3REaXJlY3RpdmU8VEl0ZW0gZXh0ZW5kcyBGb2N1c2FibGVPcHRpb24gPSBSZWNvcmQ8YW55LCBhbnk+ICYgRm9jdXNhYmxlT3B0aW9uPlxuICAgIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgICAvKiogT3JpZW50YXRpb24gZm9yIHRoZSBGb2N1c0tleU1hbmFnZXIgKi9cbiAgICBASW5wdXQoKVxuICAgIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuXG4gICAgLyoqIFNraXAgcHJlZGljYXRlIGZvciB0aGUgRm9jdXNLZXlNYW5hZ2VyICovXG4gICAgQElucHV0KClcbiAgICBza2lwUHJlZGljYXRlOiAoaXRlbTogVEl0ZW0pID0+IGJvb2xlYW47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRk9DVVNBQkxFX0lURU0pXG4gICAgcmVhZG9ubHkgX2l0ZW1zOiBRdWVyeUxpc3Q8VEl0ZW0+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgZm9jdXNLZXlNYW5hZ2VyKCk6IEZvY3VzS2V5TWFuYWdlcjxUSXRlbT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNLZXlNYW5hZ2VyO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9jdXNLZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8VEl0ZW0+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBfcnRsU2VydmljZTogUnRsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2ZvY3VzS2V5TWFuYWdlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdvcmllbnRhdGlvbicgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fYXBwbHlPcmllbnRhdGlvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdza2lQcmVkaWNhdGUnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlci5za2lwUHJlZGljYXRlKHRoaXMuc2tpcFByZWRpY2F0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9jdXNLZXlNYW5hZ2VyID0gbmV3IEZvY3VzS2V5TWFuYWdlcjxUSXRlbT4odGhpcy5faXRlbXMpLnNraXBQcmVkaWNhdGUodGhpcy5za2lwUHJlZGljYXRlKTtcblxuICAgICAgICB0aGlzLl9hcHBseU9yaWVudGF0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICB0aGlzLl9ydGxTZXJ2aWNlPy5ydGxcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9hcHBseU9yaWVudGF0aW9uKCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlci5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgLyoqIEZvY3VzIGNlcnRhaW4gbGlzdCdzIGl0ZW0gKi9cbiAgICBmb2N1c0l0ZW0oaXRlbTogbnVtYmVyIHwgVEl0ZW0pOiBhbnkge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c0tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbShpdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hcHBseU9yaWVudGF0aW9uKCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRoaXMub3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ2hvcml6b250YWwnOlxuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX3J0bFNlcnZpY2U/LnJ0bC52YWx1ZSA/ICdydGwnIDogJ2x0cicpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndmVydGljYWwnOlxuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzS2V5TWFuYWdlci53aXRoVmVydGljYWxPcmllbnRhdGlvbih0cnVlKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ViewportRuler } from '@angular/cdk/overlay';
|
|
2
|
-
import { ContentChildren, Directive, ElementRef, EventEmitter, Input, NgZone, Output, QueryList } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
2
|
+
import { ContentChildren, DestroyRef, Directive, ElementRef, EventEmitter, Input, NgZone, Output, QueryList, inject } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
4
|
import { OverflowListItemDirective } from './overflow-list-item.directive';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
import * as i1 from "@angular/cdk/overlay";
|
|
@@ -24,22 +23,17 @@ export class OverflowListDirective {
|
|
|
24
23
|
*/
|
|
25
24
|
this.overflowChanged = new EventEmitter();
|
|
26
25
|
/** @hidden */
|
|
27
|
-
this.
|
|
26
|
+
this._destroyRef = inject(DestroyRef);
|
|
28
27
|
}
|
|
29
28
|
/** @hidden */
|
|
30
29
|
ngAfterViewInit() {
|
|
31
30
|
this._viewportRuler
|
|
32
31
|
.change(50)
|
|
33
|
-
.pipe(
|
|
32
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
34
33
|
// ViewportRuler invoked out of zone, that is why I need to invoke function in zone
|
|
35
34
|
.subscribe(() => this._ngZone.run(() => this._calculateAmountOfOverflowedItems()));
|
|
36
35
|
this._calculateAmountOfOverflowedItems();
|
|
37
36
|
}
|
|
38
|
-
/** @hidden */
|
|
39
|
-
ngOnDestroy() {
|
|
40
|
-
this._onDestroy$.next();
|
|
41
|
-
this._onDestroy$.complete();
|
|
42
|
-
}
|
|
43
37
|
/**
|
|
44
38
|
* @description Get amount of extra items in current list
|
|
45
39
|
* */
|
|
@@ -115,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
115
109
|
type: ContentChildren,
|
|
116
110
|
args: [OverflowListItemDirective]
|
|
117
111
|
}] } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL292ZXJmbG93LWxpc3Qvb3ZlcmZsb3ctbGlzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFFSCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFNM0UsTUFBTSxPQUFPLHFCQUFxQjtJQWtDOUIsY0FBYztJQUNkLFlBQ1ksR0FBZSxFQUNmLGNBQTZCLEVBQzdCLE9BQWU7UUFGZixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQXJDM0I7O1dBRUc7UUFFSCxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQVFuQjs7V0FFRztRQUVILHNCQUFpQixHQUFHLE1BQU0sQ0FBQztRQUUzQjs7V0FFRztRQUVILG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFRbkUsY0FBYztRQUNOLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU92QyxDQUFDO0lBRUosY0FBYztJQUNkLGVBQWU7UUFDWCxJQUFJLENBQUMsY0FBYzthQUNkLE1BQU0sQ0FBQyxFQUFFLENBQUM7YUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLElB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UUFBUSxDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQ7OztTQUdLO0lBQ0csZ0JBQWdCLENBQUMsUUFBdUI7UUFDNUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0E3SFEscUJBQXFCO2tHQUFyQixxQkFBcUIsa1FBNEJiLHlCQUF5Qjs7MkZBNUJqQyxxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CO2dJQU1HLGNBQWM7c0JBRGIsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixLQUFLO2dCQU9OLGVBQWU7c0JBRGQsTUFBTTtnQkFPUCxhQUFhO3NCQURaLGVBQWU7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld3BvcnRSdWxlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE92ZXJmbG93TGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL292ZXJmbG93LWxpc3QtaXRlbS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtPdmVyZmxvd0xpc3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJmbG93TGlzdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIE9mZnNldCB0byBjYWxjdWxhdGUgY29ycmVjdCBwb3NpdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgb3ZlcmZsb3dPZmZzZXQgPSAwO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEZsYWcgcmVwcmVzZW50aW5nIHJ0bCBtb2RlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc1J0bDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiB2YWx1ZSBvZiBkaXNwbGF5IHByb3BlcnR5IG9mIGV4aXN0ZWQgbGlzdCBpdGVtc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXRlbUNzc0Jsb2NrVmFsdWUgPSAnZmxleCc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBjaGFuZ2VkIGFtb3VudCBvZiBleHRyYSBpdGVtc1xuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIG92ZXJmbG93Q2hhbmdlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2VzIHRvIFF1ZXJ5TGlzdCBvZiBPdmVyZmxvd0xpc3RJdGVtRGlyZWN0aXZlXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihPdmVyZmxvd0xpc3RJdGVtRGlyZWN0aXZlKVxuICAgIG92ZXJmbG93SXRlbXM6IFF1ZXJ5TGlzdDxPdmVyZmxvd0xpc3RJdGVtRGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9lbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfdmlld3BvcnRSdWxlcjogVmlld3BvcnRSdWxlcixcbiAgICAgICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmVcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmlld3BvcnRSdWxlclxuICAgICAgICAgICAgLmNoYW5nZSg1MClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC8vIFZpZXdwb3J0UnVsZXIgaW52b2tlZCBvdXQgb2Ygem9uZSwgdGhhdCBpcyB3aHkgSSBuZWVkIHRvIGludm9rZSBmdW5jdGlvbiBpbiB6b25lXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX25nWm9uZS5ydW4oKCkgPT4gdGhpcy5fY2FsY3VsYXRlQW1vdW50T2ZPdmVyZmxvd2VkSXRlbXMoKSkpO1xuXG4gICAgICAgIHRoaXMuX2NhbGN1bGF0ZUFtb3VudE9mT3ZlcmZsb3dlZEl0ZW1zKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gR2V0IGFtb3VudCBvZiBleHRyYSBpdGVtcyBpbiBjdXJyZW50IGxpc3RcbiAgICAgKiAqL1xuICAgIGdldEFtb3VudE9mRXh0cmFJdGVtcygpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMub3ZlcmZsb3dJdGVtcy50b0FycmF5KCkubWFwKChpdGVtKSA9PiBpdGVtLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBjb25zdCBjb21wdXRlZCA9IGdldENvbXB1dGVkU3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRXaWR0aCA9IE1hdGguZmxvb3IoXG4gICAgICAgICAgICB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC1cbiAgICAgICAgICAgICAgICBwYXJzZUZsb2F0KGNvbXB1dGVkLnBhZGRpbmdMZWZ0IHx8ICcwJykgLVxuICAgICAgICAgICAgICAgIHBhcnNlRmxvYXQoY29tcHV0ZWQucGFkZGluZ1JpZ2h0IHx8ICcwJylcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrV2lkdGhXaXRoT2Zmc2V0KGVsZW1lbnRzLCBjb250ZW50V2lkdGgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2FsY3VsYXRlQW1vdW50T2ZPdmVyZmxvd2VkSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV4dHJhID0gdGhpcy5nZXRBbW91bnRPZkV4dHJhSXRlbXMoKTtcbiAgICAgICAgdGhpcy5vdmVyZmxvd0NoYW5nZWQuZW1pdChleHRyYSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBhcnJJdGVtc1xuICAgICAqIEBwYXJhbSBjb250YWluZXJXaWR0aFxuICAgICAqIEBwYXJhbSBjaGVja1dpdGhPZmZzZXRcbiAgICAgKiAqL1xuICAgIHByaXZhdGUgX2NoZWNrV2lkdGhXaXRoT2Zmc2V0KFxuICAgICAgICBhcnJJdGVtczogSFRNTEVsZW1lbnRbXSxcbiAgICAgICAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgICAgICAgY2hlY2tXaXRoT2Zmc2V0OiBib29sZWFuID0gZmFsc2VcbiAgICApOiBudW1iZXIge1xuICAgICAgICBsZXQgaXRlbXNUb3RhbFdpZHRoID0gMDtcbiAgICAgICAgY29uc3QgcGFyZW50V2lkdGggPSBjaGVja1dpdGhPZmZzZXQgPyBjb250YWluZXJXaWR0aCAtIHRoaXMub3ZlcmZsb3dPZmZzZXQgOiBjb250YWluZXJXaWR0aDtcblxuICAgICAgICBhcnJJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICBpdGVtLnN0eWxlLmRpc3BsYXkgPSB0aGlzLml0ZW1Dc3NCbG9ja1ZhbHVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyckl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gYXJySXRlbXNbaV07XG5cbiAgICAgICAgICAgIGl0ZW1zVG90YWxXaWR0aCArPSB0aGlzLmlzUnRsXG4gICAgICAgICAgICAgICAgPyBjb250YWluZXJXaWR0aCAtIGl0ZW0ub2Zmc2V0TGVmdCAtIGl0ZW1zVG90YWxXaWR0aFxuICAgICAgICAgICAgICAgIDogTWF0aC5jZWlsKGl0ZW0ub2Zmc2V0V2lkdGggKyBpdGVtLm9mZnNldExlZnQgLSBpdGVtc1RvdGFsV2lkdGgpO1xuXG4gICAgICAgICAgICBpZiAocGFyZW50V2lkdGggPCBpdGVtc1RvdGFsV2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jbGVhclRlbXBTdHlsZXMoYXJySXRlbXMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBjaGVja1dpdGhPZmZzZXRcbiAgICAgICAgICAgICAgICAgICAgPyBhcnJJdGVtcy5sZW5ndGggLSBpXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5fY2hlY2tXaWR0aFdpdGhPZmZzZXQoYXJySXRlbXMsIGNvbnRhaW5lcldpZHRoLCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NsZWFyVGVtcFN0eWxlcyhhcnJJdGVtcyk7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBhcnJJdGVtc1xuICAgICAqIEBoaWRkZW5cbiAgICAgKiAqL1xuICAgIHByaXZhdGUgX2NsZWFyVGVtcFN0eWxlcyhhcnJJdGVtczogSFRNTEVsZW1lbnRbXSk6IHZvaWQge1xuICAgICAgICBhcnJJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgaXRlbS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnZGlzcGxheScpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmZsb3ctbGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL292ZXJmbG93LWxpc3Qvb3ZlcmZsb3ctbGlzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFFSCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQU0zRSxNQUFNLE9BQU8scUJBQXFCO0lBa0M5QixjQUFjO0lBQ2QsWUFDWSxHQUFlLEVBQ2YsY0FBNkIsRUFDN0IsT0FBZTtRQUZmLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBckMzQjs7V0FFRztRQUVILG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBUW5COztXQUVHO1FBRUgsc0JBQWlCLEdBQUcsTUFBTSxDQUFDO1FBRTNCOztXQUVHO1FBRUgsb0JBQWUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQVFuRSxjQUFjO1FBQ04sZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFPdEMsQ0FBQztJQUVKLGNBQWM7SUFDZCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGNBQWM7YUFDZCxNQUFNLENBQUMsRUFBRSxDQUFDO2FBQ1YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFX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QUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXZIUSxxQkFBcUI7a0dBQXJCLHFCQUFxQixrUUE0QmIseUJBQXlCOzsyRkE1QmpDLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7Z0lBTUcsY0FBYztzQkFEYixLQUFLO2dCQU9OLEtBQUs7c0JBREosS0FBSztnQkFPTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBT04sZUFBZTtzQkFEZCxNQUFNO2dCQU9QLGFBQWE7c0JBRFosZUFBZTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3cG9ydFJ1bGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBPdmVyZmxvd0xpc3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9vdmVyZmxvdy1saXN0LWl0ZW0uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRrT3ZlcmZsb3dMaXN0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBPdmVyZmxvd0xpc3REaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gT2Zmc2V0IHRvIGNhbGN1bGF0ZSBjb3JyZWN0IHBvc2l0aW9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBvdmVyZmxvd09mZnNldCA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRmxhZyByZXByZXNlbnRpbmcgcnRsIG1vZGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlzUnRsOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIHZhbHVlIG9mIGRpc3BsYXkgcHJvcGVydHkgb2YgZXhpc3RlZCBsaXN0IGl0ZW1zXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpdGVtQ3NzQmxvY2tWYWx1ZSA9ICdmbGV4JztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0cyB3aGVuIGNoYW5nZWQgYW1vdW50IG9mIGV4dHJhIGl0ZW1zXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgb3ZlcmZsb3dDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jZXMgdG8gUXVlcnlMaXN0IG9mIE92ZXJmbG93TGlzdEl0ZW1EaXJlY3RpdmVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKE92ZXJmbG93TGlzdEl0ZW1EaXJlY3RpdmUpXG4gICAgb3ZlcmZsb3dJdGVtczogUXVlcnlMaXN0PE92ZXJmbG93TGlzdEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gICAgICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZpZXdwb3J0UnVsZXJcbiAgICAgICAgICAgIC5jaGFuZ2UoNTApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAvLyBWaWV3cG9ydFJ1bGVyIGludm9rZWQgb3V0IG9mIHpvbmUsIHRoYXQgaXMgd2h5IEkgbmVlZCB0byBpbnZva2UgZnVuY3Rpb24gaW4gem9uZVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuX2NhbGN1bGF0ZUFtb3VudE9mT3ZlcmZsb3dlZEl0ZW1zKCkpKTtcblxuICAgICAgICB0aGlzLl9jYWxjdWxhdGVBbW91bnRPZk92ZXJmbG93ZWRJdGVtcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBHZXQgYW1vdW50IG9mIGV4dHJhIGl0ZW1zIGluIGN1cnJlbnQgbGlzdFxuICAgICAqICovXG4gICAgZ2V0QW1vdW50T2ZFeHRyYUl0ZW1zKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5vdmVyZmxvd0l0ZW1zLnRvQXJyYXkoKS5tYXAoKGl0ZW0pID0+IGl0ZW0uZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgY29uc3QgY29udGVudFdpZHRoID0gTWF0aC5mbG9vcihcbiAgICAgICAgICAgIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLVxuICAgICAgICAgICAgICAgIHBhcnNlRmxvYXQoY29tcHV0ZWQucGFkZGluZ0xlZnQgfHwgJzAnKSAtXG4gICAgICAgICAgICAgICAgcGFyc2VGbG9hdChjb21wdXRlZC5wYWRkaW5nUmlnaHQgfHwgJzAnKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hlY2tXaWR0aFdpdGhPZmZzZXQoZWxlbWVudHMsIGNvbnRlbnRXaWR0aCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jYWxjdWxhdGVBbW91bnRPZk92ZXJmbG93ZWRJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXh0cmEgPSB0aGlzLmdldEFtb3VudE9mRXh0cmFJdGVtcygpO1xuICAgICAgICB0aGlzLm92ZXJmbG93Q2hhbmdlZC5lbWl0KGV4dHJhKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGFyckl0ZW1zXG4gICAgICogQHBhcmFtIGNvbnRhaW5lcldpZHRoXG4gICAgICogQHBhcmFtIGNoZWNrV2l0aE9mZnNldFxuICAgICAqICovXG4gICAgcHJpdmF0ZSBfY2hlY2tXaWR0aFdpdGhPZmZzZXQoXG4gICAgICAgIGFyckl0ZW1zOiBIVE1MRWxlbWVudFtdLFxuICAgICAgICBjb250YWluZXJXaWR0aDogbnVtYmVyLFxuICAgICAgICBjaGVja1dpdGhPZmZzZXQ6IGJvb2xlYW4gPSBmYWxzZVxuICAgICk6IG51bWJlciB7XG4gICAgICAgIGxldCBpdGVtc1RvdGFsV2lkdGggPSAwO1xuICAgICAgICBjb25zdCBwYXJlbnRXaWR0aCA9IGNoZWNrV2l0aE9mZnNldCA/IGNvbnRhaW5lcldpZHRoIC0gdGhpcy5vdmVyZmxvd09mZnNldCA6IGNvbnRhaW5lcldpZHRoO1xuXG4gICAgICAgIGFyckl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIGl0ZW0uc3R5bGUuZGlzcGxheSA9IHRoaXMuaXRlbUNzc0Jsb2NrVmFsdWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJySXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBhcnJJdGVtc1tpXTtcblxuICAgICAgICAgICAgaXRlbXNUb3RhbFdpZHRoICs9IHRoaXMuaXNSdGxcbiAgICAgICAgICAgICAgICA/IGNvbnRhaW5lcldpZHRoIC0gaXRlbS5vZmZzZXRMZWZ0IC0gaXRlbXNUb3RhbFdpZHRoXG4gICAgICAgICAgICAgICAgOiBNYXRoLmNlaWwoaXRlbS5vZmZzZXRXaWR0aCArIGl0ZW0ub2Zmc2V0TGVmdCAtIGl0ZW1zVG90YWxXaWR0aCk7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRXaWR0aCA8IGl0ZW1zVG90YWxXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFyVGVtcFN0eWxlcyhhcnJJdGVtcyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNoZWNrV2l0aE9mZnNldFxuICAgICAgICAgICAgICAgICAgICA/IGFyckl0ZW1zLmxlbmd0aCAtIGlcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLl9jaGVja1dpZHRoV2l0aE9mZnNldChhcnJJdGVtcywgY29udGFpbmVyV2lkdGgsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2xlYXJUZW1wU3R5bGVzKGFyckl0ZW1zKTtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGFyckl0ZW1zXG4gICAgICogQGhpZGRlblxuICAgICAqICovXG4gICAgcHJpdmF0ZSBfY2xlYXJUZW1wU3R5bGVzKGFyckl0ZW1zOiBIVE1MRWxlbWVudFtdKTogdm9pZCB7XG4gICAgICAgIGFyckl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICBpdGVtLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdkaXNwbGF5Jyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ElementRef, Inject, Injectable, NgZone, Optional, Self, SkipSelf } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { DestroyRef, ElementRef, Inject, Injectable, NgZone, Optional, Self, SkipSelf, inject } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { BehaviorSubject, ReplaySubject, combineLatest, firstValueFrom } from 'rxjs';
|
|
4
|
+
import { distinctUntilChanged, startWith, tap } from 'rxjs/operators';
|
|
4
5
|
import { DefaultReadonlyViewModifier } from './default-readonly-view-modifier';
|
|
5
6
|
import { FDK_READONLY_DIRECTIVE } from './fdk-readonly.token';
|
|
6
7
|
import { ReadonlyObserver } from './readonly.observer';
|
|
@@ -22,12 +23,12 @@ export class FdkReadonlyProvider extends ReplaySubject {
|
|
|
22
23
|
/** @hidden */
|
|
23
24
|
this._readonlyChange$ = this._getReadonlyChange$();
|
|
24
25
|
/** @hidden */
|
|
25
|
-
this.
|
|
26
|
+
this._destroyRef = inject(DestroyRef);
|
|
26
27
|
combineLatest([this._readonlyChange$, this._viewModifiers$])
|
|
27
|
-
.pipe(tap(([isReadonly]) => this.setReadonlyState(isReadonly)),
|
|
28
|
+
.pipe(tap(([isReadonly]) => this.setReadonlyState(isReadonly)), takeUntilDestroyed(this._destroyRef))
|
|
28
29
|
.subscribe();
|
|
29
30
|
this._readonlyChange$
|
|
30
|
-
.pipe(tap((isDisabled) => (this.fdkReadonly = isDisabled)), tap((isDisabled) => this.next(isDisabled)),
|
|
31
|
+
.pipe(tap((isDisabled) => (this.fdkReadonly = isDisabled)), tap((isDisabled) => this.next(isDisabled)), takeUntilDestroyed(this._destroyRef))
|
|
31
32
|
.subscribe();
|
|
32
33
|
}
|
|
33
34
|
/** @hidden */
|
|
@@ -44,8 +45,6 @@ export class FdkReadonlyProvider extends ReplaySubject {
|
|
|
44
45
|
/** @hidden */
|
|
45
46
|
ngOnDestroy() {
|
|
46
47
|
this.complete();
|
|
47
|
-
this._destroy$.next();
|
|
48
|
-
this._destroy$.complete();
|
|
49
48
|
this.readonlyObserver.unobserve(this.elementRef);
|
|
50
49
|
}
|
|
51
50
|
/** @hidden */
|
|
@@ -61,7 +60,7 @@ export class FdkReadonlyProvider extends ReplaySubject {
|
|
|
61
60
|
if (!selfReadonly && !parentReadonly) {
|
|
62
61
|
this.setReadonlyState(false);
|
|
63
62
|
}
|
|
64
|
-
}),
|
|
63
|
+
}), takeUntilDestroyed(this._destroyRef))
|
|
65
64
|
.subscribe();
|
|
66
65
|
}
|
|
67
66
|
if (this.selfReadonly$) {
|
|
@@ -70,7 +69,7 @@ export class FdkReadonlyProvider extends ReplaySubject {
|
|
|
70
69
|
if (!parentReadonly) {
|
|
71
70
|
this.setReadonlyState(isReadonly);
|
|
72
71
|
}
|
|
73
|
-
}),
|
|
72
|
+
}), takeUntilDestroyed(this._destroyRef))
|
|
74
73
|
.subscribe();
|
|
75
74
|
}
|
|
76
75
|
return this.readonlyObserver.observe(this.elementRef).pipe(distinctUntilChanged());
|
|
@@ -99,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
99
98
|
type: Inject,
|
|
100
99
|
args: [FDK_READONLY_DIRECTIVE]
|
|
101
100
|
}] }] });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmRrLXJlYWRvbmx5LXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL3JlYWRvbmx5L2Zkay1yZWFkb25seS1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWEsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUd2RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBc0I7SUFlM0QsY0FBYztJQUNkLFlBQ1ksTUFBYyxFQUNkLFVBQStCLEVBQy9CLGdCQUFrQyxFQUNrQixhQUErQixFQUMzQixlQUFpQztRQUVqRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFORCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNrQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBcEJyRyxjQUFjO1FBQ2QsZ0JBQVcsR0FBRyxLQUFL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QyxzQkFBc0I7OzBCQUNqRCxRQUFROzswQkFBSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBTZWxmLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEZWZhdWx0UmVhZG9ubHlWaWV3TW9kaWZpZXIgfSBmcm9tICcuL2RlZmF1bHQtcmVhZG9ubHktdmlldy1tb2RpZmllcic7XG5pbXBvcnQgeyBGREtfUkVBRE9OTFlfRElSRUNUSVZFIH0gZnJvbSAnLi9mZGstcmVhZG9ubHkudG9rZW4nO1xuaW1wb3J0IHsgUmVhZG9ubHlCZWhhdmlvciB9IGZyb20gJy4vcmVhZG9ubHktYmVoYXZpb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlYWRvbmx5Vmlld01vZGlmaWVyIH0gZnJvbSAnLi9yZWFkb25seS12aWV3LW1vZGlmaWVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWFkb25seU9ic2VydmVyIH0gZnJvbSAnLi9yZWFkb25seS5vYnNlcnZlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGZGtSZWFkb25seVByb3ZpZGVyIGV4dGVuZHMgUmVwbGF5U3ViamVjdDxib29sZWFuPiBpbXBsZW1lbnRzIFJlYWRvbmx5QmVoYXZpb3IsIE9uRGVzdHJveSB7XG4gICAgLyoqIEBIaWRkZW4gKi9cbiAgICBmZGtSZWFkb25seSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3TW9kaWZpZXJzJDogQmVoYXZpb3JTdWJqZWN0PFJlYWRvbmx5Vmlld01vZGlmaWVyW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAgICAgUmVhZG9ubHlWaWV3TW9kaWZpZXJbXVxuICAgID4odGhpcy5fZ2V0SW5pdGlhbFZpZXdNb2RpZmllcnMoKSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlYWRvbmx5Q2hhbmdlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2dldFJlYWRvbmx5Q2hhbmdlJCgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8RWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHlPYnNlcnZlcjogUmVhZG9ubHlPYnNlcnZlcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBASW5qZWN0KEZES19SRUFET05MWV9ESVJFQ1RJVkUpIHByaXZhdGUgc2VsZlJlYWRvbmx5JDogUmVhZG9ubHlCZWhhdmlvcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEluamVjdChGREtfUkVBRE9OTFlfRElSRUNUSVZFKSBwcml2YXRlIHBhcmVudFJlYWRvbmx5JDogUmVhZG9ubHlCZWhhdmlvclxuICAgICkge1xuICAgICAgICBzdXBlcigxKTtcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5fcmVhZG9ubHlDaGFuZ2UkLCB0aGlzLl92aWV3TW9kaWZpZXJzJF0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKFtpc1JlYWRvbmx5XSkgPT4gdGhpcy5zZXRSZWFkb25seVN0YXRlKGlzUmVhZG9ubHkpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3JlYWRvbmx5Q2hhbmdlJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChpc0Rpc2FibGVkKSA9PiAodGhpcy5mZGtSZWFkb25seSA9IGlzRGlzYWJsZWQpKSxcbiAgICAgICAgICAgICAgICB0YXAoKGlzRGlzYWJsZWQpID0+IHRoaXMubmV4dChpc0Rpc2FibGVkKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWRkVmlld01vZGlmaWVyKG1vZGlmaWVyOiBSZWFkb25seVZpZXdNb2RpZmllcik6IHZvaWQge1xuICAgICAgICBjb25zdCB2aWV3TW9kaWZpZXJzID0gWy4uLm5ldyBTZXQoWy4uLnRoaXMuX3ZpZXdNb2RpZmllcnMkLnZhbHVlLCBtb2RpZmllcl0pLnZhbHVlcygpXTtcbiAgICAgICAgdGhpcy5fdmlld01vZGlmaWVycyQubmV4dCh2aWV3TW9kaWZpZXJzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFJlYWRvbmx5U3RhdGUoaXNSZWFkb25seTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBmaXJzdFZhbHVlRnJvbSh0aGlzLm5nWm9uZS5vblN0YWJsZSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl92aWV3TW9kaWZpZXJzJC52YWx1ZS5mb3JFYWNoKCh2aWV3TW9kaWZpZXIpID0+IHZpZXdNb2RpZmllci5zZXRSZWFkb25seVN0YXRlKGlzUmVhZG9ubHkpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMucmVhZG9ubHlPYnNlcnZlci51bm9ic2VydmUodGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFJlYWRvbmx5Q2hhbmdlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgbGV0IHNlbGZSZWFkb25seSA9IGZhbHNlO1xuICAgICAgICBsZXQgcGFyZW50UmVhZG9ubHkgPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy5wYXJlbnRSZWFkb25seSQpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50UmVhZG9ubHkkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnBhcmVudFJlYWRvbmx5JC5mZGtSZWFkb25seSksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoZCkgPT4gKHBhcmVudFJlYWRvbmx5ID0gZCkpLFxuICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudFJlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWFkb25seVN0YXRlKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzZWxmUmVhZG9ubHkgJiYgIXBhcmVudFJlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWFkb25seVN0YXRlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGZSZWFkb25seSQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZlJlYWRvbmx5JFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy5zZWxmUmVhZG9ubHkkLmZka1JlYWRvbmx5KSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKChkKSA9PiAoc2VsZlJlYWRvbmx5ID0gZCkpLFxuICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKGlzUmVhZG9ubHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcGFyZW50UmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFJlYWRvbmx5U3RhdGUoaXNSZWFkb25seSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5yZWFkb25seU9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50UmVmKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0SW5pdGlhbFZpZXdNb2RpZmllcnMoKTogUmVhZG9ubHlWaWV3TW9kaWZpZXJbXSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zZWxmUmVhZG9ubHkkID8gW25ldyBEZWZhdWx0UmVhZG9ubHlWaWV3TW9kaWZpZXIodGhpcy5lbGVtZW50UmVmKV0gOiBbdGhpcy5zZWxmUmVhZG9ubHkkXTtcbiAgICB9XG59XG4iXX0=
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmRrLXJlYWRvbmx5LXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay91dGlscy9kaXJlY3RpdmVzL3JlYWRvbmx5L2Zkay1yZWFkb25seS1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUVOLFFBQVEsRUFDUixJQUFJLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUd2RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBc0I7SUFlM0QsY0FBYztJQUNkLFlBQ1ksTUFBYyxFQUNkLFVBQStCLEVBQy9CLGdCQUFrQyxFQUNrQixhQUErQixFQUMzQixlQUFpQztRQUVqRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFORCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNrQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDM0Isb0JBQWUsR0FB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MEJBQUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgU2tpcFNlbGYsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGVmYXVsdFJlYWRvbmx5Vmlld01vZGlmaWVyIH0gZnJvbSAnLi9kZWZhdWx0LXJlYWRvbmx5LXZpZXctbW9kaWZpZXInO1xuaW1wb3J0IHsgRkRLX1JFQURPTkxZX0RJUkVDVElWRSB9IGZyb20gJy4vZmRrLXJlYWRvbmx5LnRva2VuJztcbmltcG9ydCB7IFJlYWRvbmx5QmVoYXZpb3IgfSBmcm9tICcuL3JlYWRvbmx5LWJlaGF2aW9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWFkb25seVZpZXdNb2RpZmllciB9IGZyb20gJy4vcmVhZG9ubHktdmlldy1tb2RpZmllci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVhZG9ubHlPYnNlcnZlciB9IGZyb20gJy4vcmVhZG9ubHkub2JzZXJ2ZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmRrUmVhZG9ubHlQcm92aWRlciBleHRlbmRzIFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4gaW1wbGVtZW50cyBSZWFkb25seUJlaGF2aW9yLCBPbkRlc3Ryb3kge1xuICAgIC8qKiBASGlkZGVuICovXG4gICAgZmRrUmVhZG9ubHkgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdmlld01vZGlmaWVycyQ6IEJlaGF2aW9yU3ViamVjdDxSZWFkb25seVZpZXdNb2RpZmllcltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgICAgIFJlYWRvbmx5Vmlld01vZGlmaWVyW11cbiAgICA+KHRoaXMuX2dldEluaXRpYWxWaWV3TW9kaWZpZXJzKCkpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZWFkb25seUNoYW5nZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9nZXRSZWFkb25seUNoYW5nZSQoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seU9ic2VydmVyOiBSZWFkb25seU9ic2VydmVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIEBJbmplY3QoRkRLX1JFQURPTkxZX0RJUkVDVElWRSkgcHJpdmF0ZSBzZWxmUmVhZG9ubHkkOiBSZWFkb25seUJlaGF2aW9yLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASW5qZWN0KEZES19SRUFET05MWV9ESVJFQ1RJVkUpIHByaXZhdGUgcGFyZW50UmVhZG9ubHkkOiBSZWFkb25seUJlaGF2aW9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKDEpO1xuXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3JlYWRvbmx5Q2hhbmdlJCwgdGhpcy5fdmlld01vZGlmaWVycyRdKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChbaXNSZWFkb25seV0pID0+IHRoaXMuc2V0UmVhZG9ubHlTdGF0ZShpc1JlYWRvbmx5KSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3JlYWRvbmx5Q2hhbmdlJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChpc0Rpc2FibGVkKSA9PiAodGhpcy5mZGtSZWFkb25seSA9IGlzRGlzYWJsZWQpKSxcbiAgICAgICAgICAgICAgICB0YXAoKGlzRGlzYWJsZWQpID0+IHRoaXMubmV4dChpc0Rpc2FibGVkKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhZGRWaWV3TW9kaWZpZXIobW9kaWZpZXI6IFJlYWRvbmx5Vmlld01vZGlmaWVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZpZXdNb2RpZmllcnMgPSBbLi4ubmV3IFNldChbLi4udGhpcy5fdmlld01vZGlmaWVycyQudmFsdWUsIG1vZGlmaWVyXSkudmFsdWVzKCldO1xuICAgICAgICB0aGlzLl92aWV3TW9kaWZpZXJzJC5uZXh0KHZpZXdNb2RpZmllcnMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0UmVhZG9ubHlTdGF0ZShpc1JlYWRvbmx5OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGZpcnN0VmFsdWVGcm9tKHRoaXMubmdab25lLm9uU3RhYmxlKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdNb2RpZmllcnMkLnZhbHVlLmZvckVhY2goKHZpZXdNb2RpZmllcikgPT4gdmlld01vZGlmaWVyLnNldFJlYWRvbmx5U3RhdGUoaXNSZWFkb25seSkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMucmVhZG9ubHlPYnNlcnZlci51bm9ic2VydmUodGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFJlYWRvbmx5Q2hhbmdlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgbGV0IHNlbGZSZWFkb25seSA9IGZhbHNlO1xuICAgICAgICBsZXQgcGFyZW50UmVhZG9ubHkgPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy5wYXJlbnRSZWFkb25seSQpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50UmVhZG9ubHkkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnBhcmVudFJlYWRvbmx5JC5mZGtSZWFkb25seSksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoZCkgPT4gKHBhcmVudFJlYWRvbmx5ID0gZCkpLFxuICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudFJlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWFkb25seVN0YXRlKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzZWxmUmVhZG9ubHkgJiYgIXBhcmVudFJlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWFkb25seVN0YXRlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2VsZlJlYWRvbmx5JCkge1xuICAgICAgICAgICAgdGhpcy5zZWxmUmVhZG9ubHkkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnNlbGZSZWFkb25seSQuZmRrUmVhZG9ubHkpLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKGQpID0+IChzZWxmUmVhZG9ubHkgPSBkKSksXG4gICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoaXNSZWFkb25seSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwYXJlbnRSZWFkb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVhZG9ubHlTdGF0ZShpc1JlYWRvbmx5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucmVhZG9ubHlPYnNlcnZlci5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZikucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEluaXRpYWxWaWV3TW9kaWZpZXJzKCk6IFJlYWRvbmx5Vmlld01vZGlmaWVyW10ge1xuICAgICAgICByZXR1cm4gIXRoaXMuc2VsZlJlYWRvbmx5JCA/IFtuZXcgRGVmYXVsdFJlYWRvbmx5Vmlld01vZGlmaWVyKHRoaXMuZWxlbWVudFJlZildIDogW3RoaXMuc2VsZlJlYWRvbmx5JF07XG4gICAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ContentChild, Directive, ElementRef, EventEmitter, Input, Optional, Output } from '@angular/core';
|
|
1
|
+
import { ContentChild, Directive, ElementRef, EventEmitter, Input, Optional, Output, computed } from '@angular/core';
|
|
2
2
|
import { Subscription, fromEvent, merge } from 'rxjs';
|
|
3
3
|
import { filter, map, pairwise, takeUntil, tap } from 'rxjs/operators';
|
|
4
4
|
import { RtlService } from '../../services/rtl.service';
|
|
@@ -48,7 +48,7 @@ export class ResizeDirective {
|
|
|
48
48
|
/** @hidden */
|
|
49
49
|
this._resizeSubscriptions = new Subscription();
|
|
50
50
|
/** @hidden */
|
|
51
|
-
this.
|
|
51
|
+
this._direction$ = computed(() => (this._rtlService?.rtlSignal() ? -1 : 1));
|
|
52
52
|
}
|
|
53
53
|
/** @hidden */
|
|
54
54
|
ngOnChanges(changes) {
|
|
@@ -63,9 +63,6 @@ export class ResizeDirective {
|
|
|
63
63
|
}
|
|
64
64
|
/** @hidden */
|
|
65
65
|
ngAfterViewInit() {
|
|
66
|
-
if (this._rtlService) {
|
|
67
|
-
this._subscriptions.add(this._rtlService.rtl.subscribe((isRtl) => (this._isRtl = isRtl)));
|
|
68
|
-
}
|
|
69
66
|
if (!this.disabled) {
|
|
70
67
|
this._setResizeListeners();
|
|
71
68
|
}
|
|
@@ -76,10 +73,6 @@ export class ResizeDirective {
|
|
|
76
73
|
this._resizeSubscriptions.unsubscribe();
|
|
77
74
|
}
|
|
78
75
|
/** @hidden */
|
|
79
|
-
get _direction() {
|
|
80
|
-
return this._isRtl ? -1 : 1;
|
|
81
|
-
}
|
|
82
|
-
/** @hidden */
|
|
83
76
|
_unsubscribe() {
|
|
84
77
|
this._resizeSubscriptions.unsubscribe();
|
|
85
78
|
this._resizeSubscriptions = new Subscription();
|
|
@@ -141,7 +134,7 @@ export class ResizeDirective {
|
|
|
141
134
|
break;
|
|
142
135
|
}
|
|
143
136
|
return (event1, event2) => {
|
|
144
|
-
const x = (event2.screenX - event1.screenX) * this._direction;
|
|
137
|
+
const x = (event2.screenX - event1.screenX) * this._direction$();
|
|
145
138
|
const y = event2.screenY - event1.screenY;
|
|
146
139
|
return {
|
|
147
140
|
x: x * verticalModifier,
|
|
@@ -245,4 +238,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
245
238
|
type: ContentChild,
|
|
246
239
|
args: [ResizeHandleDirective, { static: false }]
|
|
247
240
|
}] } });
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3V0aWxzL2RpcmVjdGl2ZXMvcmVzaXplL3Jlc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVdsRSxNQUFNLE9BQU8sZUFBZTtJQWtCeEIsNkdBQTZHO0lBQzdHLDJEQUEyRDtJQUMzRCxJQUF1Qyx3QkFBd0IsQ0FBQyxLQUE0QjtRQUN4RixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFVRCx5Q0FBeUM7SUFDekMsSUFDSSxxQkFBcUIsQ0FBQyxLQUFzQztRQUM1RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDdkI7YUFBTTtZQUNILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUNELElBQUkscUJBQXFCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3ZDLENBQUM7SUFjRCxjQUFjO0lBQ2Qs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QUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUN4RTtpQkFBTTtnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNyRTtRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDL0MsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs4R0FwUlEsZUFBZTtrR0FBZixlQUFlLHNmQWlDVixxQkFBcUI7OzJGQWpDMUIsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkE4RFEsUUFBUTt5Q0ExRGUsY0FBYztzQkFBekMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBSUUsUUFBUTtzQkFBbkMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBSTFCLGNBQWM7c0JBRGIsS0FBSztnQkFLNEIsb0JBQW9CO3NCQUFyRCxLQUFLO3VCQUFDLHlCQUF5QjtnQkFLTyx3QkFBd0I7c0JBQTlELEtBQUs7dUJBQUMsMEJBQTBCO2dCQU12QixhQUFhO3NCQUF0QixNQUFNO2dCQUlHLFdBQVc7c0JBQXBCLE1BQU07Z0JBSUgscUJBQXFCO3NCQUR4QixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBwYWlyd2lzZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uLy4uL21vZGVscy9udWxsYWJsZSc7XG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcnRsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzaXplSGFuZGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNpemUtaGFuZGxlLmRpcmVjdGl2ZSc7XG5cbmludGVyZmFjZSBSZXNpemVNb3ZlIHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtSZXNpemVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogRWxlbWVudCBsaW1pdGluZyByZXNpemFibGUgY29udGFpbmVyIGdyb3d0aCAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdmZGtSZXNpemVCb3VuZGFyeScpIHJlc2l6ZUJvdW5kYXJ5OiBzdHJpbmcgfCBIVE1MRWxlbWVudCA9ICdib2R5JztcblxuICAgIC8qKiBXaGV0aGVyIHJlc2l6YWJsZSBiZWhhdmlvdXIgc2hvdWxkIGJlIGRpc2FibGVkICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2Zka1Jlc2l6ZURpc2FibGVkJykgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKiBBZGRpdGlvbmFsIGNsYXNzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIEVsZW1lbnQgcmVmIGR1cmluZyByZXNpemUuICovXG4gICAgQElucHV0KClcbiAgICBmZGtSZXNpemVDbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIExvY2FsaXphdGlvbiBvZiByZXNpemUgaGFuZGxlIGluc2lkZSByZXNpemFibGUgY29udGFpbmVyICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2Zka1Jlc2l6ZUhhbmRsZUxvY2F0aW9uJykgcmVzaXplSGFuZGxlTG9jYXRpb246ICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyA9XG4gICAgICAgICdib3R0b20tcmlnaHQnO1xuXG4gICAgLyoqIFJlc2l6ZSBoYW5kbGUgcmVmZXJlbmNlIC0gc2hvdWxkIGJlIHVzZWQgaWYgUmVzaXplIGhhbmRsZSBpcyBub3QgYSBDb250ZW50Q2hpbGQgb2YgcmVzaXphYmxlIGNvbnRhaW5lciAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdmZGtSZXNpemVSZXNpemVIYW5kbGVSZWYnKSBzZXQgc2V0UmVzaXplSGFuZGxlUmVmZXJlbmNlKHZhbHVlOiBSZXNpemVIYW5kbGVEaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5yZXNpemVIYW5kbGVSZWZlcmVuY2UgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogRW1pdHMgZXZlbnQgd2hlbiByZXNpemluZyBoYXMgdGFydGVkICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG9uUmVzaXplU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRW1pdHMgZXZlbnQgd2hlbiByZXNpemluZyBoYXMgZW5kZWQgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgb25SZXNpemVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiBSZWZlcmVuY2UgdG8gUmVzaXplIGhhbmRsZSAqL1xuICAgIEBDb250ZW50Q2hpbGQoUmVzaXplSGFuZGxlRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBzZXQgcmVzaXplSGFuZGxlUmVmZXJlbmNlKHZhbHVlOiBOdWxsYWJsZTxSZXNpemVIYW5kbGVEaXJlY3RpdmU+KSB7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZUhhbmRsZVJlZmVyZW5jZSA9IHZhbHVlO1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl91bnN1YnNjcmliZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2V0UmVzaXplTGlzdGVuZXJzKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHJlc2l6ZUhhbmRsZVJlZmVyZW5jZSgpOiBOdWxsYWJsZTxSZXNpemVIYW5kbGVEaXJlY3RpdmU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc2l6ZUhhbmRsZVJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6ZUhhbmRsZVJlZmVyZW5jZTogTnVsbGFibGU8UmVzaXplSGFuZGxlRGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzaXplU3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNSdGwgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydkaXNhYmxlZCddKSB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXS5wcmV2aW91c1ZhbHVlID09PSBmYWxzZSAmJiBjaGFuZ2VzWydkaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10ucHJldmlvdXNWYWx1ZSA9PT0gdHJ1ZSAmJiBjaGFuZ2VzWydkaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRSZXNpemVMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcnRsU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5fcnRsU2VydmljZS5ydGwuc3Vic2NyaWJlKChpc1J0bCkgPT4gKHRoaXMuX2lzUnRsID0gaXNSdGwpKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFJlc2l6ZUxpc3RlbmVycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfZGlyZWN0aW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1J0bCA/IC0xIDogMTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU2V0cyBSZXNpemUgbGlzdGVuZXJzICovXG4gICAgcHJpdmF0ZSBfc2V0UmVzaXplTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZSgpO1xuICAgICAgICBjb25zdCByZXNpemUgPSB0aGlzLl9nZXRSZXNpemVGdW5jdGlvbigpO1xuICAgICAgICBsZXQgbW92ZU9mZnNldCA9IHRoaXMuX2dldE1vdmVPZmZzZXRGdW5jdGlvbigpO1xuICAgICAgICBjb25zdCByZXNpemVDb250YWluZXIgPSB0aGlzLl9maW5kUmVzaXplQ29udGFpbmVyKCk7XG4gICAgICAgIGlmICghcmVzaXplQ29udGFpbmVyIHx8ICF0aGlzLnJlc2l6ZUhhbmRsZVJlZmVyZW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQm91bmRhcnlPdmVyZmxvdyA9IHRoaXMuX2dldEJvdW5kYXJ5T3ZlcmZsb3dGdW5jdGlvbihyZXNpemVDb250YWluZXIpO1xuXG4gICAgICAgIGNvbnN0IG1vdXNlVXBFdmVudCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4od2luZG93LCAnbW91c2V1cCcpO1xuICAgICAgICBjb25zdCBtb3VzZU1vdmVFdmVudCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4ocmVzaXplQ29udGFpbmVyLCAnbW91c2Vtb3ZlJyk7XG4gICAgICAgIGNvbnN0IG1vdXNlRG93bkV2ZW50JCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLnJlc2l6ZUhhbmRsZVJlZmVyZW5jZS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKTtcblxuICAgICAgICBjb25zdCByZXNpemVBY3RpdmUkID0gbWVyZ2UoXG4gICAgICAgICAgICBtb3VzZURvd25FdmVudCQucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbW92ZU9mZnNldCA9IHRoaXMuX2dldE1vdmVPZmZzZXRGdW5jdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbW91c2VVcEV2ZW50JC5waXBlKG1hcCgoKSA9PiBmYWxzZSkpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGVtaXRSZXNpemFibGVFdmVudHMkID0gdGhpcy5fZ2V0UmVzaXplRXZlbnRzTm90aWZpZXJzKHJlc2l6ZUFjdGl2ZSQpO1xuICAgICAgICBjb25zdCBwcmV2ZW50T3RoZXJQb2ludGVyRXZlbnRzJCA9IHRoaXMuX2Jsb2NrT3RoZXJQb2ludGVyRXZlbnRzKHJlc2l6ZUFjdGl2ZSQpO1xuXG4gICAgICAgIGNvbnN0IHJlc2l6aW5nQ3Vyc29yTW92ZW1lbnQkID0gbW91c2VNb3ZlRXZlbnQkLnBpcGUoXG4gICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgbWFwKChbZXZlbnQxLCBldmVudDJdOiBbTW91c2VFdmVudCwgTW91c2VFdmVudF0pID0+IG1vdmVPZmZzZXQoZXZlbnQxLCBldmVudDIpKSxcbiAgICAgICAgICAgIGZpbHRlcigobW92ZSkgPT4gaXNCb3VuZGFyeU92ZXJmbG93KG1vdmUpKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHNldHVwUmVzaXplciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHJlc2l6aW5nQ3Vyc29yTW92ZW1lbnQkLnBpcGUodGFrZVVudGlsKG1vdXNlVXBFdmVudCQpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiByZXNpemUoZXZlbnQpKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0dXBSZXNpemUkID0gcmVzaXplQWN0aXZlJC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChpc0FjdGl2ZSkgPT4gaXNBY3RpdmUpLFxuICAgICAgICAgICAgdGFwKCgpID0+IHNldHVwUmVzaXplcigpKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbnMuYWRkKHNldHVwUmVzaXplJC5zdWJzY3JpYmUoKSk7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbnMuYWRkKGVtaXRSZXNpemFibGVFdmVudHMkLnN1YnNjcmliZSgpKTtcbiAgICAgICAgdGhpcy5fcmVzaXplU3Vic2NyaXB0aW9ucy5hZGQocHJldmVudE90aGVyUG9pbnRlckV2ZW50cyQuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIENyZWF0ZXMgcmVzaXplIGZ1bmN0aW9uKi9cbiAgICBwcml2YXRlIF9nZXRSZXNpemVGdW5jdGlvbigpOiAobW92ZTogUmVzaXplTW92ZSkgPT4gdm9pZCB7XG4gICAgICAgIHJldHVybiAobW92ZTogUmVzaXplTW92ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gYCR7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgbW92ZS54fXB4YDtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHt0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgbW92ZS55fXB4YDtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBDcmVhdGVzIG1vdmUgZnVuY3Rpb24gKi9cbiAgICBwcml2YXRlIF9nZXRNb3ZlT2Zmc2V0RnVuY3Rpb24oKTogKGV2ZW50MTogTW91c2VFdmVudCwgZXZlbnQyOiBNb3VzZUV2ZW50KSA9PiBSZXNpemVNb3ZlIHtcbiAgICAgICAgbGV0IHZlcnRpY2FsTW9kaWZpZXI6IDEgfCAtMTtcbiAgICAgICAgbGV0IGhvcml6b250YWxNb2RpZmllcjogMSB8IC0xO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5yZXNpemVIYW5kbGVMb2NhdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndG9wLWxlZnQnOlxuICAgICAgICAgICAgICAgIGhvcml6b250YWxNb2RpZmllciA9IC0xO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsTW9kaWZpZXIgPSAtMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3RvcC1yaWdodCc6XG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbE1vZGlmaWVyID0gLTE7XG4gICAgICAgICAgICAgICAgdmVydGljYWxNb2RpZmllciA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3R0b20tbGVmdCc6XG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbE1vZGlmaWVyID0gMTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbE1vZGlmaWVyID0gLTE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdib3R0b20tcmlnaHQnOlxuICAgICAgICAgICAgICAgIGhvcml6b250YWxNb2RpZmllciA9IDE7XG4gICAgICAgICAgICAgICAgdmVydGljYWxNb2RpZmllciA9IDE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKGV2ZW50MTogTW91c2VFdmVudCwgZXZlbnQyOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB4ID0gKGV2ZW50Mi5zY3JlZW5YIC0gZXZlbnQxLnNjcmVlblgpICogdGhpcy5fZGlyZWN0aW9uO1xuICAgICAgICAgICAgY29uc3QgeSA9IGV2ZW50Mi5zY3JlZW5ZIC0gZXZlbnQxLnNjcmVlblk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgeDogeCAqIHZlcnRpY2FsTW9kaWZpZXIsXG4gICAgICAgICAgICAgICAgeTogeSAqIGhvcml6b250YWxNb2RpZmllclxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBSZXR1cm4gYm91bmRhcnkgY29udGFpbmVyICovXG4gICAgcHJpdmF0ZSBfZmluZFJlc2l6ZUNvbnRhaW5lcigpOiBFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGxldCByZXNpemVDb250YWluZXI6IEVsZW1lbnQgfCBudWxsO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMucmVzaXplQm91bmRhcnkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXNpemVCb3VuZGFyeSA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNpemVDb250YWluZXIgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCh0aGlzLnJlc2l6ZUJvdW5kYXJ5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc2l6ZUNvbnRhaW5lciA9IHRoaXMucmVzaXplQm91bmRhcnk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVzaXplQ29udGFpbmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzaXplQ29udGFpbmVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBmZFJlc2l6ZSAtIENhbm5vdCBmaW5kIFwiJHt0aGlzLnJlc2l6ZUJvdW5kYXJ5fVwiLCBmYWxsaW5nIGJhY2sgdG8gXCJib2R5XCJgKTtcbiAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5ib2R5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQ2hlY2sgd2hldGhlciByZXNpemFibGUgY29udGFpbmVyIGlzIG92ZXJmbG93aW5nIGJvdW5kYXJ5IGNvbnRhaW5lciAqL1xuICAgIHByaXZhdGUgX2dldEJvdW5kYXJ5T3ZlcmZsb3dGdW5jdGlvbihyZXNpemVDb250YWluZXI6IEVsZW1lbnQpOiAobW92ZTogUmVzaXplTW92ZSkgPT4gYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAobW92ZTogUmVzaXplTW92ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyUG9zaXRpb24gPSByZXNpemVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50UG9zaXRpb24gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5yZXNpemVIYW5kbGVMb2NhdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLnRvcCA8IGVsZW1lbnRQb3NpdGlvbi50b3AgKyBtb3ZlLnkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgPCBlbGVtZW50UG9zaXRpb24ubGVmdCArIG1vdmUueFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RvcC1yaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi50b3AgPCBlbGVtZW50UG9zaXRpb24udG9wICsgbW92ZS55ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi5yaWdodCA+IGVsZW1lbnRQb3NpdGlvbi5yaWdodCArIG1vdmUueFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSA+IGVsZW1lbnRQb3NpdGlvbi5ib3R0b20gKyBtb3ZlLnkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgPCBlbGVtZW50UG9zaXRpb24ubGVmdCArIG1vdmUueFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1yaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gPiBlbGVtZW50UG9zaXRpb24uYm90dG9tICsgbW92ZS55ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi5yaWdodCA+IGVsZW1lbnRQb3NpdGlvbi5yaWdodCArIG1vdmUueFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIENyZWF0ZSBPYnNlcnZhYmxlIG5vdGlmeWluZyBvbiByZXNpemUgYWN0aW9ucyAqL1xuICAgIHByaXZhdGUgX2dldFJlc2l6ZUV2ZW50c05vdGlmaWVycyh0cmlnZ2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGVtaXRSZXNpemFibGVTdGFydCQgPSB0cmlnZ2VyJC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChpc0FjdGl2ZSkgPT4gaXNBY3RpdmUpLFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMub25SZXNpemVTdGFydC5lbWl0KCkpXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgZW1pdFJlc2l6YWJsZUVuZCQgPSB0cmlnZ2VyJC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChpc0FjdGl2ZSkgPT4gIWlzQWN0aXZlKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLm9uUmVzaXplRW5kLmVtaXQoKSlcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbWVyZ2UoZW1pdFJlc2l6YWJsZVN0YXJ0JCwgZW1pdFJlc2l6YWJsZUVuZCQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEJsb2NrIHJlc2l6YWJsZSBjb250YWluZXIgcG9pbnRlciBldmVudHMgd2hlbiByZXNpemluZyAgKi9cbiAgICBwcml2YXRlIF9ibG9ja090aGVyUG9pbnRlckV2ZW50cyh0cmlnZ2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0cmlnZ2VyJC5waXBlKFxuICAgICAgICAgICAgdGFwKChpc0FjdGl2ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5mZGtSZXNpemVDbGFzcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5mZGtSZXNpemVDbGFzcyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5mZGtSZXNpemVDbGFzcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKGlzQWN0aXZlKSA9PiAoaXNBY3RpdmUgPyAnbm9uZScgOiAnYXV0bycpKSxcbiAgICAgICAgICAgIHRhcCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9IHZhbHVlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3V0aWxzL2RpcmVjdGl2ZXMvcmVzaXplL3Jlc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFFTixRQUFRLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLFlBQVksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFXbEUsTUFBTSxPQUFPLGVBQWU7SUFrQnhCLDZHQUE2RztJQUM3RywyREFBMkQ7SUFDM0QsSUFBdUMsd0JBQXdCLENBQUMsS0FBNEI7UUFDeEYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBVUQseUNBQXlDO0lBQ3pDLElBQ0kscUJBQXFCLENBQUMsS0FBc0M7UUFDNUQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFDRCxJQUFJLHFCQUFxQjtRQUNyQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUN2QyxDQUFDO0lBY0Qs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QUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQy9DLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7OEdBM1FRLGVBQWU7a0dBQWYsZUFBZSxzZkFpQ1YscUJBQXFCOzsyRkFqQzFCLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBOERRLFFBQVE7eUNBMURlLGNBQWM7c0JBQXpDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUlFLFFBQVE7c0JBQW5DLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUkxQixjQUFjO3NCQURiLEtBQUs7Z0JBSzRCLG9CQUFvQjtzQkFBckQsS0FBSzt1QkFBQyx5QkFBeUI7Z0JBS08sd0JBQXdCO3NCQUE5RCxLQUFLO3VCQUFDLDBCQUEwQjtnQkFNdkIsYUFBYTtzQkFBdEIsTUFBTTtnQkFJRyxXQUFXO3NCQUFwQixNQUFNO2dCQUlILHFCQUFxQjtzQkFEeEIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIGNvbXB1dGVkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgcGFpcndpc2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvbnVsbGFibGUnO1xuaW1wb3J0IHsgUnRsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3J0bC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc2l6ZUhhbmRsZURpcmVjdGl2ZSB9IGZyb20gJy4vcmVzaXplLWhhbmRsZS5kaXJlY3RpdmUnO1xuXG5pbnRlcmZhY2UgUmVzaXplTW92ZSB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRrUmVzaXplXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIEVsZW1lbnQgbGltaXRpbmcgcmVzaXphYmxlIGNvbnRhaW5lciBncm93dGggKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnZmRrUmVzaXplQm91bmRhcnknKSByZXNpemVCb3VuZGFyeTogc3RyaW5nIHwgSFRNTEVsZW1lbnQgPSAnYm9keSc7XG5cbiAgICAvKiogV2hldGhlciByZXNpemFibGUgYmVoYXZpb3VyIHNob3VsZCBiZSBkaXNhYmxlZCAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdmZGtSZXNpemVEaXNhYmxlZCcpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKiogQWRkaXRpb25hbCBjbGFzcyB0byBiZSBhcHBsaWVkIHRvIHRoZSBFbGVtZW50IHJlZiBkdXJpbmcgcmVzaXplLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmRrUmVzaXplQ2xhc3M6IHN0cmluZztcblxuICAgIC8qKiBMb2NhbGl6YXRpb24gb2YgcmVzaXplIGhhbmRsZSBpbnNpZGUgcmVzaXphYmxlIGNvbnRhaW5lciAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdmZGtSZXNpemVIYW5kbGVMb2NhdGlvbicpIHJlc2l6ZUhhbmRsZUxvY2F0aW9uOiAndG9wLXJpZ2h0JyB8ICd0b3AtbGVmdCcgfCAnYm90dG9tLXJpZ2h0JyB8ICdib3R0b20tbGVmdCcgPVxuICAgICAgICAnYm90dG9tLXJpZ2h0JztcblxuICAgIC8qKiBSZXNpemUgaGFuZGxlIHJlZmVyZW5jZSAtIHNob3VsZCBiZSB1c2VkIGlmIFJlc2l6ZSBoYW5kbGUgaXMgbm90IGEgQ29udGVudENoaWxkIG9mIHJlc2l6YWJsZSBjb250YWluZXIgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnZmRrUmVzaXplUmVzaXplSGFuZGxlUmVmJykgc2V0IHNldFJlc2l6ZUhhbmRsZVJlZmVyZW5jZSh2YWx1ZTogUmVzaXplSGFuZGxlRGlyZWN0aXZlKSB7XG4gICAgICAgIHRoaXMucmVzaXplSGFuZGxlUmVmZXJlbmNlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEVtaXRzIGV2ZW50IHdoZW4gcmVzaXppbmcgaGFzIHRhcnRlZCAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvblJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEVtaXRzIGV2ZW50IHdoZW4gcmVzaXppbmcgaGFzIGVuZGVkICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG9uUmVzaXplRW5kID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gUmVmZXJlbmNlIHRvIFJlc2l6ZSBoYW5kbGUgKi9cbiAgICBAQ29udGVudENoaWxkKFJlc2l6ZUhhbmRsZURpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgc2V0IHJlc2l6ZUhhbmRsZVJlZmVyZW5jZSh2YWx1ZTogTnVsbGFibGU8UmVzaXplSGFuZGxlRGlyZWN0aXZlPikge1xuICAgICAgICB0aGlzLl9yZXNpemVIYW5kbGVSZWZlcmVuY2UgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFJlc2l6ZUxpc3RlbmVycygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCByZXNpemVIYW5kbGVSZWZlcmVuY2UoKTogTnVsbGFibGU8UmVzaXplSGFuZGxlRGlyZWN0aXZlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNpemVIYW5kbGVSZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemVIYW5kbGVSZWZlcmVuY2U6IE51bGxhYmxlPFJlc2l6ZUhhbmRsZURpcmVjdGl2ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6ZVN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RpcmVjdGlvbiQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5fcnRsU2VydmljZT8ucnRsU2lnbmFsKCkgPyAtMSA6IDEpKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydkaXNhYmxlZCddKSB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXS5wcmV2aW91c1ZhbHVlID09PSBmYWxzZSAmJiBjaGFuZ2VzWydkaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10ucHJldmlvdXNWYWx1ZSA9PT0gdHJ1ZSAmJiBjaGFuZ2VzWydkaXNhYmxlZCddLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRSZXNpemVMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFJlc2l6ZUxpc3RlbmVycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzaXplU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIFNldHMgUmVzaXplIGxpc3RlbmVycyAqL1xuICAgIHByaXZhdGUgX3NldFJlc2l6ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICAgICAgY29uc3QgcmVzaXplID0gdGhpcy5fZ2V0UmVzaXplRnVuY3Rpb24oKTtcbiAgICAgICAgbGV0IG1vdmVPZmZzZXQgPSB0aGlzLl9nZXRNb3ZlT2Zmc2V0RnVuY3Rpb24oKTtcbiAgICAgICAgY29uc3QgcmVzaXplQ29udGFpbmVyID0gdGhpcy5fZmluZFJlc2l6ZUNvbnRhaW5lcigpO1xuICAgICAgICBpZiAoIXJlc2l6ZUNvbnRhaW5lciB8fCAhdGhpcy5yZXNpemVIYW5kbGVSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0JvdW5kYXJ5T3ZlcmZsb3cgPSB0aGlzLl9nZXRCb3VuZGFyeU92ZXJmbG93RnVuY3Rpb24ocmVzaXplQ29udGFpbmVyKTtcblxuICAgICAgICBjb25zdCBtb3VzZVVwRXZlbnQkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgJ21vdXNldXAnKTtcbiAgICAgICAgY29uc3QgbW91c2VNb3ZlRXZlbnQkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHJlc2l6ZUNvbnRhaW5lciwgJ21vdXNlbW92ZScpO1xuICAgICAgICBjb25zdCBtb3VzZURvd25FdmVudCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5yZXNpemVIYW5kbGVSZWZlcmVuY2UuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJyk7XG5cbiAgICAgICAgY29uc3QgcmVzaXplQWN0aXZlJCA9IG1lcmdlKFxuICAgICAgICAgICAgbW91c2VEb3duRXZlbnQkLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG1vdmVPZmZzZXQgPSB0aGlzLl9nZXRNb3ZlT2Zmc2V0RnVuY3Rpb24oKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1vdXNlVXBFdmVudCQucGlwZShtYXAoKCkgPT4gZmFsc2UpKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBlbWl0UmVzaXphYmxlRXZlbnRzJCA9IHRoaXMuX2dldFJlc2l6ZUV2ZW50c05vdGlmaWVycyhyZXNpemVBY3RpdmUkKTtcbiAgICAgICAgY29uc3QgcHJldmVudE90aGVyUG9pbnRlckV2ZW50cyQgPSB0aGlzLl9ibG9ja090aGVyUG9pbnRlckV2ZW50cyhyZXNpemVBY3RpdmUkKTtcblxuICAgICAgICBjb25zdCByZXNpemluZ0N1cnNvck1vdmVtZW50JCA9IG1vdXNlTW92ZUV2ZW50JC5waXBlKFxuICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgIG1hcCgoW2V2ZW50MSwgZXZlbnQyXTogW01vdXNlRXZlbnQsIE1vdXNlRXZlbnRdKSA9PiBtb3ZlT2Zmc2V0KGV2ZW50MSwgZXZlbnQyKSksXG4gICAgICAgICAgICBmaWx0ZXIoKG1vdmUpID0+IGlzQm91bmRhcnlPdmVyZmxvdyhtb3ZlKSlcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzZXR1cFJlc2l6ZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICByZXNpemluZ0N1cnNvck1vdmVtZW50JC5waXBlKHRha2VVbnRpbChtb3VzZVVwRXZlbnQkKSkuc3Vic2NyaWJlKChldmVudCkgPT4gcmVzaXplKGV2ZW50KSk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldHVwUmVzaXplJCA9IHJlc2l6ZUFjdGl2ZSQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoaXNBY3RpdmUpID0+IGlzQWN0aXZlKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiBzZXR1cFJlc2l6ZXIoKSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb25zLmFkZChzZXR1cFJlc2l6ZSQuc3Vic2NyaWJlKCkpO1xuICAgICAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb25zLmFkZChlbWl0UmVzaXphYmxlRXZlbnRzJC5zdWJzY3JpYmUoKSk7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbnMuYWRkKHByZXZlbnRPdGhlclBvaW50ZXJFdmVudHMkLnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBDcmVhdGVzIHJlc2l6ZSBmdW5jdGlvbiovXG4gICAgcHJpdmF0ZSBfZ2V0UmVzaXplRnVuY3Rpb24oKTogKG1vdmU6IFJlc2l6ZU1vdmUpID0+IHZvaWQge1xuICAgICAgICByZXR1cm4gKG1vdmU6IFJlc2l6ZU1vdmUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IGAke3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArIG1vdmUueH1weGA7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArIG1vdmUueX1weGA7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQ3JlYXRlcyBtb3ZlIGZ1bmN0aW9uICovXG4gICAgcHJpdmF0ZSBfZ2V0TW92ZU9mZnNldEZ1bmN0aW9uKCk6IChldmVudDE6IE1vdXNlRXZlbnQsIGV2ZW50MjogTW91c2VFdmVudCkgPT4gUmVzaXplTW92ZSB7XG4gICAgICAgIGxldCB2ZXJ0aWNhbE1vZGlmaWVyOiAxIHwgLTE7XG4gICAgICAgIGxldCBob3Jpem9udGFsTW9kaWZpZXI6IDEgfCAtMTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMucmVzaXplSGFuZGxlTG9jYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsTW9kaWZpZXIgPSAtMTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbE1vZGlmaWVyID0gLTE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd0b3AtcmlnaHQnOlxuICAgICAgICAgICAgICAgIGhvcml6b250YWxNb2RpZmllciA9IC0xO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsTW9kaWZpZXIgPSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYm90dG9tLWxlZnQnOlxuICAgICAgICAgICAgICAgIGhvcml6b250YWxNb2RpZmllciA9IDE7XG4gICAgICAgICAgICAgICAgdmVydGljYWxNb2RpZmllciA9IC0xO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYm90dG9tLXJpZ2h0JzpcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsTW9kaWZpZXIgPSAxO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsTW9kaWZpZXIgPSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChldmVudDE6IE1vdXNlRXZlbnQsIGV2ZW50MjogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeCA9IChldmVudDIuc2NyZWVuWCAtIGV2ZW50MS5zY3JlZW5YKSAqIHRoaXMuX2RpcmVjdGlvbiQoKTtcbiAgICAgICAgICAgIGNvbnN0IHkgPSBldmVudDIuc2NyZWVuWSAtIGV2ZW50MS5zY3JlZW5ZO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHg6IHggKiB2ZXJ0aWNhbE1vZGlmaWVyLFxuICAgICAgICAgICAgICAgIHk6IHkgKiBob3Jpem9udGFsTW9kaWZpZXJcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gUmV0dXJuIGJvdW5kYXJ5IGNvbnRhaW5lciAqL1xuICAgIHByaXZhdGUgX2ZpbmRSZXNpemVDb250YWluZXIoKTogRWxlbWVudCB8IG51bGwge1xuICAgICAgICBsZXQgcmVzaXplQ29udGFpbmVyOiBFbGVtZW50IHwgbnVsbDtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnJlc2l6ZUJvdW5kYXJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaWYgKHRoaXMucmVzaXplQm91bmRhcnkgPT09ICdib2R5Jykge1xuICAgICAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5ib2R5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzaXplQ29udGFpbmVyID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsb3Nlc3QodGhpcy5yZXNpemVCb3VuZGFyeSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNpemVDb250YWluZXIgPSB0aGlzLnJlc2l6ZUJvdW5kYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc2l6ZUNvbnRhaW5lcikge1xuICAgICAgICAgICAgcmV0dXJuIHJlc2l6ZUNvbnRhaW5lcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgZmRSZXNpemUgLSBDYW5ub3QgZmluZCBcIiR7dGhpcy5yZXNpemVCb3VuZGFyeX1cIiwgZmFsbGluZyBiYWNrIHRvIFwiYm9keVwiYCk7XG4gICAgICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIENoZWNrIHdoZXRoZXIgcmVzaXphYmxlIGNvbnRhaW5lciBpcyBvdmVyZmxvd2luZyBib3VuZGFyeSBjb250YWluZXIgKi9cbiAgICBwcml2YXRlIF9nZXRCb3VuZGFyeU92ZXJmbG93RnVuY3Rpb24ocmVzaXplQ29udGFpbmVyOiBFbGVtZW50KTogKG1vdmU6IFJlc2l6ZU1vdmUpID0+IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKG1vdmU6IFJlc2l6ZU1vdmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lclBvc2l0aW9uID0gcmVzaXplQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudFBvc2l0aW9uID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMucmVzaXplSGFuZGxlTG9jYXRpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi50b3AgPCBlbGVtZW50UG9zaXRpb24udG9wICsgbW92ZS55ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi5sZWZ0IDwgZWxlbWVudFBvc2l0aW9uLmxlZnQgKyBtb3ZlLnhcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyUG9zaXRpb24udG9wIDwgZWxlbWVudFBvc2l0aW9uLnRvcCArIG1vdmUueSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyUG9zaXRpb24ucmlnaHQgPiBlbGVtZW50UG9zaXRpb24ucmlnaHQgKyBtb3ZlLnhcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20tbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gPiBlbGVtZW50UG9zaXRpb24uYm90dG9tICsgbW92ZS55ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQb3NpdGlvbi5sZWZ0IDwgZWxlbWVudFBvc2l0aW9uLmxlZnQgKyBtb3ZlLnhcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20tcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyUG9zaXRpb24uYm90dG9tID4gZWxlbWVudFBvc2l0aW9uLmJvdHRvbSArIG1vdmUueSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyUG9zaXRpb24ucmlnaHQgPiBlbGVtZW50UG9zaXRpb24ucmlnaHQgKyBtb3ZlLnhcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBDcmVhdGUgT2JzZXJ2YWJsZSBub3RpZnlpbmcgb24gcmVzaXplIGFjdGlvbnMgKi9cbiAgICBwcml2YXRlIF9nZXRSZXNpemVFdmVudHNOb3RpZmllcnModHJpZ2dlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCBlbWl0UmVzaXphYmxlU3RhcnQkID0gdHJpZ2dlciQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoaXNBY3RpdmUpID0+IGlzQWN0aXZlKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLm9uUmVzaXplU3RhcnQuZW1pdCgpKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGVtaXRSZXNpemFibGVFbmQkID0gdHJpZ2dlciQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoaXNBY3RpdmUpID0+ICFpc0FjdGl2ZSksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5vblJlc2l6ZUVuZC5lbWl0KCkpXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG1lcmdlKGVtaXRSZXNpemFibGVTdGFydCQsIGVtaXRSZXNpemFibGVFbmQkKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBCbG9jayByZXNpemFibGUgY29udGFpbmVyIHBvaW50ZXIgZXZlbnRzIHdoZW4gcmVzaXppbmcgICovXG4gICAgcHJpdmF0ZSBfYmxvY2tPdGhlclBvaW50ZXJFdmVudHModHJpZ2dlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdHJpZ2dlciQucGlwZShcbiAgICAgICAgICAgIHRhcCgoaXNBY3RpdmUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmRrUmVzaXplQ2xhc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIWlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuZmRrUmVzaXplQ2xhc3MpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuZmRrUmVzaXplQ2xhc3MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKChpc0FjdGl2ZSkgPT4gKGlzQWN0aXZlID8gJ25vbmUnIDogJ2F1dG8nKSksXG4gICAgICAgICAgICB0YXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgPSB2YWx1ZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|