@tethys/cdk 14.2.0-next.6 → 14.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/event/click-dispatcher.mjs +25 -0
- package/esm2020/event/event-dispatcher.mjs +59 -0
- package/esm2020/event/index.mjs +4 -0
- package/esm2020/event/keyboard-dispatcher.mjs +32 -0
- package/esm2020/event/tethys-cdk-event.mjs +5 -0
- package/esm2020/hotkey/hotkey-dispatcher.mjs +55 -0
- package/esm2020/hotkey/hotkey.directive.mjs +55 -0
- package/esm2020/hotkey/hotkey.mjs +23 -0
- package/esm2020/hotkey/index.mjs +5 -0
- package/esm2020/hotkey/module.mjs +18 -0
- package/esm2020/hotkey/tethys-cdk-hotkey.mjs +5 -0
- package/esm2020/immutable/immutable.mjs +9 -3
- package/esm2020/immutable/index.mjs +2 -1
- package/esm2020/immutable/object-producer.mjs +25 -0
- package/esm2020/is/utils.mjs +14 -1
- package/esm2020/public-api.mjs +3 -1
- package/event/click-dispatcher.d.ts +10 -0
- package/event/event-dispatcher.d.ts +19 -0
- package/event/index.d.ts +3 -0
- package/event/keyboard-dispatcher.d.ts +10 -0
- package/fesm2015/tethys-cdk-event.mjs +120 -0
- package/fesm2015/tethys-cdk-event.mjs.map +1 -0
- package/fesm2015/tethys-cdk-hotkey.mjs +153 -0
- package/fesm2015/tethys-cdk-hotkey.mjs.map +1 -0
- package/fesm2015/tethys-cdk-immutable.mjs +33 -3
- package/fesm2015/tethys-cdk-immutable.mjs.map +1 -1
- package/fesm2015/tethys-cdk-is.mjs +14 -1
- package/fesm2015/tethys-cdk-is.mjs.map +1 -1
- package/fesm2015/tethys-cdk.mjs +2 -0
- package/fesm2015/tethys-cdk.mjs.map +1 -1
- package/fesm2020/tethys-cdk-event.mjs +116 -0
- package/fesm2020/tethys-cdk-event.mjs.map +1 -0
- package/fesm2020/tethys-cdk-hotkey.mjs +148 -0
- package/fesm2020/tethys-cdk-hotkey.mjs.map +1 -0
- package/fesm2020/tethys-cdk-immutable.mjs +33 -3
- package/fesm2020/tethys-cdk-immutable.mjs.map +1 -1
- package/fesm2020/tethys-cdk-is.mjs +14 -1
- package/fesm2020/tethys-cdk-is.mjs.map +1 -1
- package/fesm2020/tethys-cdk.mjs +2 -0
- package/fesm2020/tethys-cdk.mjs.map +1 -1
- package/hotkey/hotkey-dispatcher.d.ts +15 -0
- package/hotkey/hotkey.d.ts +2 -0
- package/hotkey/hotkey.directive.d.ts +29 -0
- package/hotkey/index.d.ts +4 -0
- package/hotkey/module.d.ts +7 -0
- package/immutable/immutable.d.ts +2 -0
- package/immutable/index.d.ts +1 -0
- package/immutable/object-producer.d.ts +11 -0
- package/is/utils.d.ts +1 -0
- package/package.json +17 -1
- package/public-api.d.ts +2 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Injectable, Inject, NgZone } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { ThyEventDispatcher } from './event-dispatcher';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const DEFAULT_CLICKED_TIME = 100;
|
|
6
|
+
export class ThyClickDispatcher extends ThyEventDispatcher {
|
|
7
|
+
constructor(document, ngZone) {
|
|
8
|
+
super(document, ngZone, 'click');
|
|
9
|
+
}
|
|
10
|
+
clicked(auditTimeInMs = DEFAULT_CLICKED_TIME) {
|
|
11
|
+
return this.subscribe(auditTimeInMs);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
ThyClickDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyClickDispatcher, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
|
+
ThyClickDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyClickDispatcher, providedIn: 'root' });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyClickDispatcher, decorators: [{
|
|
17
|
+
type: Injectable,
|
|
18
|
+
args: [{
|
|
19
|
+
providedIn: 'root'
|
|
20
|
+
}]
|
|
21
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
22
|
+
type: Inject,
|
|
23
|
+
args: [DOCUMENT]
|
|
24
|
+
}] }, { type: i0.NgZone }]; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9ldmVudC9jbGljay1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXhELE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBS2pDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7SUFDdEQsWUFBOEIsUUFBYSxFQUFFLE1BQWM7UUFDdkQsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE9BQU8sQ0FBQyxnQkFBd0Isb0JBQW9CO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDOzsrR0FQUSxrQkFBa0Isa0JBQ1AsUUFBUTttSEFEbkIsa0JBQWtCLGNBRmYsTUFBTTsyRkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFFZ0IsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBOZ1pvbmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGh5RXZlbnREaXNwYXRjaGVyIH0gZnJvbSAnLi9ldmVudC1kaXNwYXRjaGVyJztcblxuY29uc3QgREVGQVVMVF9DTElDS0VEX1RJTUUgPSAxMDA7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2xpY2tEaXNwYXRjaGVyIGV4dGVuZHMgVGh5RXZlbnREaXNwYXRjaGVyIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LCBuZ1pvbmU6IE5nWm9uZSkge1xuICAgICAgICBzdXBlcihkb2N1bWVudCwgbmdab25lLCAnY2xpY2snKTtcbiAgICB9XG5cbiAgICBjbGlja2VkKGF1ZGl0VGltZUluTXM6IG51bWJlciA9IERFRkFVTFRfQ0xJQ0tFRF9USU1FKTogT2JzZXJ2YWJsZTxFdmVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpYmUoYXVkaXRUaW1lSW5Ncyk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { fromEvent, Observable, Subject } from 'rxjs';
|
|
2
|
+
import { auditTime } from 'rxjs/operators';
|
|
3
|
+
import { Directive, NgZone } from '@angular/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const DEFAULT_EVENT_TIME = 100;
|
|
6
|
+
export class ThyEventDispatcher {
|
|
7
|
+
constructor(document, ngZone, eventName) {
|
|
8
|
+
this.document = document;
|
|
9
|
+
this.ngZone = ngZone;
|
|
10
|
+
this.eventName = eventName;
|
|
11
|
+
this._globalSubscription = null;
|
|
12
|
+
this._event$ = new Subject();
|
|
13
|
+
this._subscriptionCount = 0;
|
|
14
|
+
}
|
|
15
|
+
_addGlobalListener() {
|
|
16
|
+
this._globalSubscription = this.ngZone.runOutsideAngular(() => {
|
|
17
|
+
return fromEvent(this.document, this.eventName).subscribe((event) => {
|
|
18
|
+
this._event$.next(event);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
_removeGlobalListener() {
|
|
23
|
+
if (this._globalSubscription) {
|
|
24
|
+
this._globalSubscription.unsubscribe();
|
|
25
|
+
this._globalSubscription = null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
get globalSubscription() {
|
|
29
|
+
return this._globalSubscription;
|
|
30
|
+
}
|
|
31
|
+
subscribe(auditTimeInMs = DEFAULT_EVENT_TIME) {
|
|
32
|
+
return new Observable(observer => {
|
|
33
|
+
if (!this._globalSubscription) {
|
|
34
|
+
this._addGlobalListener();
|
|
35
|
+
}
|
|
36
|
+
// In the case of a 0ms delay, use an observable without auditTime
|
|
37
|
+
// since it does add a perceptible delay in processing overhead.
|
|
38
|
+
const subscription = auditTimeInMs > 0 ? this._event$.pipe(auditTime(auditTimeInMs)).subscribe(observer) : this._event$.subscribe(observer);
|
|
39
|
+
this._subscriptionCount++;
|
|
40
|
+
return () => {
|
|
41
|
+
subscription.unsubscribe();
|
|
42
|
+
this._subscriptionCount--;
|
|
43
|
+
if (!this._subscriptionCount) {
|
|
44
|
+
this._removeGlobalListener();
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
ngOnDestroy() {
|
|
50
|
+
this._removeGlobalListener();
|
|
51
|
+
this._event$.complete();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
ThyEventDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyEventDispatcher, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
55
|
+
ThyEventDispatcher.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: ThyEventDispatcher, ngImport: i0 });
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyEventDispatcher, decorators: [{
|
|
57
|
+
type: Directive
|
|
58
|
+
}], ctorParameters: function () { return [{ type: Document }, { type: i0.NgZone }, { type: undefined }]; } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQUU3RCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztBQUcvQixNQUFNLE9BQWdCLGtCQUFrQjtJQTBCcEMsWUFBc0IsUUFBa0IsRUFBVSxNQUFjLEVBQVUsU0FBaUI7UUFBckUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBekJuRix3QkFBbUIsR0FBaUIsSUFBSSxDQUFDO1FBRXpDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBSyxDQUFDO1FBRTNCLHVCQUFrQixHQUFHLENBQUMsQ0FBQztJQXFCK0QsQ0FBQztJQW5CdkYsa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMxRCxPQUFPLFNBQVMsQ0FBSSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRTtnQkFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUlTLFNBQVMsQ0FBQyxnQkFBd0Isa0JBQWtCO1FBQzFELE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDN0I7WUFDRCxrRUFBa0U7WUFDbEUsZ0VBQWdFO1lBQ2hFLE1BQU0sWUFBWSxHQUNkLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFM0gsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsT0FBTyxHQUFHLEVBQUU7Z0JBQ1IsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFFMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7aUJBQ2hDO1lBQ0wsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7K0dBckRpQixrQkFBa0I7bUdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUR2QyxTQUFTOzBEQTJCMEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhdWRpdFRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgREVGQVVMVF9FVkVOVF9USU1FID0gMTAwO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUaHlFdmVudERpc3BhdGNoZXI8VCA9IEV2ZW50PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBfZ2xvYmFsU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBfZXZlbnQkID0gbmV3IFN1YmplY3Q8VD4oKTtcblxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbkNvdW50ID0gMDtcblxuICAgIHByaXZhdGUgX2FkZEdsb2JhbExpc3RlbmVyKCkge1xuICAgICAgICB0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb24gPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZnJvbUV2ZW50PFQ+KHRoaXMuZG9jdW1lbnQsIHRoaXMuZXZlbnROYW1lKS5zdWJzY3JpYmUoKGV2ZW50OiBUKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZXZlbnQkLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlbW92ZUdsb2JhbExpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5fZ2xvYmFsU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuX2dsb2JhbFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgZ2xvYmFsU3Vic2NyaXB0aW9uKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGRvY3VtZW50OiBEb2N1bWVudCwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSBldmVudE5hbWU6IHN0cmluZykge31cblxuICAgIHByb3RlY3RlZCBzdWJzY3JpYmUoYXVkaXRUaW1lSW5NczogbnVtYmVyID0gREVGQVVMVF9FVkVOVF9USU1FKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2dsb2JhbFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuX2FkZEdsb2JhbExpc3RlbmVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBJbiB0aGUgY2FzZSBvZiBhIDBtcyBkZWxheSwgdXNlIGFuIG9ic2VydmFibGUgd2l0aG91dCBhdWRpdFRpbWVcbiAgICAgICAgICAgIC8vIHNpbmNlIGl0IGRvZXMgYWRkIGEgcGVyY2VwdGlibGUgZGVsYXkgaW4gcHJvY2Vzc2luZyBvdmVyaGVhZC5cbiAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9XG4gICAgICAgICAgICAgICAgYXVkaXRUaW1lSW5NcyA+IDAgPyB0aGlzLl9ldmVudCQucGlwZShhdWRpdFRpbWUoYXVkaXRUaW1lSW5NcykpLnN1YnNjcmliZShvYnNlcnZlcikgOiB0aGlzLl9ldmVudCQuc3Vic2NyaWJlKG9ic2VydmVyKTtcblxuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uQ291bnQrKztcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uQ291bnQtLTtcblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fc3Vic2NyaXB0aW9uQ291bnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlR2xvYmFsTGlzdGVuZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlR2xvYmFsTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy5fZXZlbnQkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './event-dispatcher';
|
|
2
|
+
export * from './click-dispatcher';
|
|
3
|
+
export * from './keyboard-dispatcher';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvZXZlbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2V2ZW50LWRpc3BhdGNoZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jbGljay1kaXNwYXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4va2V5Ym9hcmQtZGlzcGF0Y2hlcic7XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import { DOCUMENT } from '@angular/common';
|
|
9
|
+
import { Inject, Injectable, NgZone } from '@angular/core';
|
|
10
|
+
import { ThyEventDispatcher } from './event-dispatcher';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
const DEFAULT_KEYDOWN_TIME = 100;
|
|
13
|
+
export class ThyKeyboardDispatcher extends ThyEventDispatcher {
|
|
14
|
+
constructor(document, ngZone) {
|
|
15
|
+
super(document, ngZone, 'keydown');
|
|
16
|
+
}
|
|
17
|
+
keydown(auditTimeInMs = DEFAULT_KEYDOWN_TIME) {
|
|
18
|
+
return this.subscribe(auditTimeInMs);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ThyKeyboardDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyKeyboardDispatcher, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
ThyKeyboardDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyKeyboardDispatcher, providedIn: 'root' });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyKeyboardDispatcher, decorators: [{
|
|
24
|
+
type: Injectable,
|
|
25
|
+
args: [{
|
|
26
|
+
providedIn: 'root'
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
29
|
+
type: Inject,
|
|
30
|
+
args: [DOCUMENT]
|
|
31
|
+
}] }, { type: i0.NgZone }]; } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9ldmVudC9rZXlib2FyZC1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXhELE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBS2pDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxrQkFBa0I7SUFDekQsWUFBOEIsUUFBYSxFQUFFLE1BQWM7UUFDdkQsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU8sQ0FBQyxnQkFBd0Isb0JBQW9CO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDOztrSEFQUSxxQkFBcUIsa0JBQ1YsUUFBUTtzSEFEbkIscUJBQXFCLGNBRmxCLE1BQU07MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBRWdCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGh5RXZlbnREaXNwYXRjaGVyIH0gZnJvbSAnLi9ldmVudC1kaXNwYXRjaGVyJztcblxuY29uc3QgREVGQVVMVF9LRVlET1dOX1RJTUUgPSAxMDA7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGh5S2V5Ym9hcmREaXNwYXRjaGVyIGV4dGVuZHMgVGh5RXZlbnREaXNwYXRjaGVyIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LCBuZ1pvbmU6IE5nWm9uZSkge1xuICAgICAgICBzdXBlcihkb2N1bWVudCwgbmdab25lLCAna2V5ZG93bicpO1xuICAgIH1cblxuICAgIGtleWRvd24oYXVkaXRUaW1lSW5NczogbnVtYmVyID0gREVGQVVMVF9LRVlET1dOX1RJTUUpOiBPYnNlcnZhYmxlPEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmliZShhdWRpdFRpbWVJbk1zKTtcbiAgICB9XG59XG5cbi8vIEBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG4vLyBleHBvcnQgY2xhc3MgVGh5S2V5Ym9hcmREaXNwYXRjaGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbi8vICAgICAvKiogQ3VycmVudGx5IGF0dGFjaGVkIGtleWRvd24gcmVmcyBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIGF0dGFjaGVkLiAqL1xuLy8gICAgIF9hdHRhY2hlZEtleWRvd25TdWJqZWN0czogU3ViamVjdDxLZXlib2FyZEV2ZW50PltdID0gW107XG5cbi8vICAgICBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQ7XG5cbi8vICAgICBwcml2YXRlIF9pc0F0dGFjaGVkOiBib29sZWFuO1xuXG4vLyAgICAgLyoqIEtleWJvYXJkIGV2ZW50IGxpc3RlbmVyIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUgYm9keS4gKi9cbi8vICAgICBwcml2YXRlIF9rZXlkb3duTGlzdGVuZXIgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbi8vICAgICAgICAgY29uc3Qga2V5ZG93blJlZnMgPSB0aGlzLl9hdHRhY2hlZEtleWRvd25TdWJqZWN0cztcblxuLy8gICAgICAgICBmb3IgKGxldCBpID0ga2V5ZG93blJlZnMubGVuZ3RoIC0gMTsgaSA+IC0xOyBpLS0pIHtcbi8vICAgICAgICAgICAgIGtleWRvd25SZWZzW2ldLm5leHQoZXZlbnQpO1xuLy8gICAgICAgICAgICAgYnJlYWs7XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAvKiogRGV0YWNoZXMgdGhlIGdsb2JhbCBrZXlib2FyZCBldmVudCBsaXN0ZW5lci4gKi9cbi8vICAgICBwcml2YXRlIF9kZXRhY2goKSB7XG4vLyAgICAgICAgIGlmICh0aGlzLl9pc0F0dGFjaGVkKSB7XG4vLyAgICAgICAgICAgICB0aGlzLl9kb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4vLyAgICAgICAgICAgICAgICAgJ2tleWRvd24nLFxuLy8gICAgICAgICAgICAgICAgIHRoaXMuX2tleWRvd25MaXN0ZW5lcixcbi8vICAgICAgICAgICAgICAgICB0cnVlXG4vLyAgICAgICAgICAgICApO1xuLy8gICAgICAgICAgICAgdGhpcy5faXNBdHRhY2hlZCA9IGZhbHNlO1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xuLy8gICAgICAgICB0aGlzLl9kb2N1bWVudCA9IGRvY3VtZW50O1xuLy8gICAgIH1cblxuLy8gICAgIG5nT25EZXN0cm95KCkge1xuLy8gICAgICAgICB0aGlzLl9kZXRhY2goKTtcbi8vICAgICB9XG5cbi8vICAgICAvKiogQWRkIGEgbmV3IG92ZXJsYXkgdG8gdGhlIGxpc3Qgb2YgYXR0YWNoZWQgb3ZlcmxheSByZWZzLiAqL1xuLy8gICAgIGFkZChrZXlkb3duU3ViamVjdDogU3ViamVjdDxLZXlib2FyZEV2ZW50Pik6IHZvaWQge1xuLy8gICAgICAgICAvLyBFbnN1cmUgdGhhdCB3ZSBkb24ndCBnZXQgdGhlIHNhbWUgb3ZlcmxheSBtdWx0aXBsZSB0aW1lcy5cbi8vICAgICAgICAgdGhpcy5yZW1vdmUoa2V5ZG93blN1YmplY3QpO1xuXG4vLyAgICAgICAgIC8vIExhemlseSBzdGFydCBkaXNwYXRjaGVyIG9uY2UgZmlyc3Qgb3ZlcmxheSBpcyBhZGRlZFxuLy8gICAgICAgICBpZiAoIXRoaXMuX2lzQXR0YWNoZWQpIHtcbi8vICAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcihcbi8vICAgICAgICAgICAgICAgICAna2V5ZG93bicsXG4vLyAgICAgICAgICAgICAgICAgdGhpcy5fa2V5ZG93bkxpc3RlbmVyLFxuLy8gICAgICAgICAgICAgICAgIHRydWVcbi8vICAgICAgICAgICAgICk7XG4vLyAgICAgICAgICAgICB0aGlzLl9pc0F0dGFjaGVkID0gdHJ1ZTtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgIHRoaXMuX2F0dGFjaGVkS2V5ZG93blN1YmplY3RzLnB1c2goa2V5ZG93blN1YmplY3QpO1xuLy8gICAgIH1cblxuLy8gICAgIC8qKiBSZW1vdmUgYW4ga2V5ZG93biByZWYgZnJvbSB0aGUgbGlzdCBvZiBhdHRhY2hlZCBrZXlkb3duIHJlZnMuICovXG4vLyAgICAgcmVtb3ZlKGtleWRvd25SZWY6IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4pOiB2b2lkIHtcbi8vICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9hdHRhY2hlZEtleWRvd25TdWJqZWN0cy5pbmRleE9mKGtleWRvd25SZWYpO1xuXG4vLyAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4vLyAgICAgICAgICAgICB0aGlzLl9hdHRhY2hlZEtleWRvd25TdWJqZWN0cy5zcGxpY2UoaW5kZXgsIDEpO1xuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgLy8gUmVtb3ZlIHRoZSBnbG9iYWwgbGlzdGVuZXIgb25jZSB0aGVyZSBhcmUgbm8gbW9yZSByZWZzLlxuLy8gICAgICAgICBpZiAodGhpcy5fYXR0YWNoZWRLZXlkb3duU3ViamVjdHMubGVuZ3RoID09PSAwKSB7XG4vLyAgICAgICAgICAgICB0aGlzLl9kZXRhY2goKTtcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV0aHlzLWNkay1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9ldmVudC90ZXRoeXMtY2RrLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { coerceElement } from '@angular/cdk/coercion';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { Inject, Injectable, NgZone } from '@angular/core';
|
|
4
|
+
import { ThyEventDispatcher } from '@tethys/cdk/event';
|
|
5
|
+
import { fromEvent, Observable } from 'rxjs';
|
|
6
|
+
import { filter } from 'rxjs/operators';
|
|
7
|
+
import { isString, isUndefinedOrNull } from '@tethys/cdk/is';
|
|
8
|
+
import { isHotkey } from './hotkey';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class ThyHotkeyDispatcher extends ThyEventDispatcher {
|
|
11
|
+
constructor(document, ngZone) {
|
|
12
|
+
super(document, ngZone, 'keydown');
|
|
13
|
+
}
|
|
14
|
+
createKeydownObservable(scope) {
|
|
15
|
+
if (scope === this.document) {
|
|
16
|
+
return this.subscribe(null);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return fromEvent(scope, 'keydown');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 热键事件订阅
|
|
24
|
+
*/
|
|
25
|
+
keydown(hotkey, scope) {
|
|
26
|
+
const hotkeys = isString(hotkey) ? hotkey.split(',') : hotkey;
|
|
27
|
+
const scopeElement = coerceElement(isUndefinedOrNull(scope) ? this.document : scope);
|
|
28
|
+
const keydown = this.createKeydownObservable(scopeElement);
|
|
29
|
+
return new Observable(subscriber => {
|
|
30
|
+
const subscription = keydown
|
|
31
|
+
.pipe(filter((event) => hotkeys.some(key => isHotkey(event, key))))
|
|
32
|
+
.subscribe((event) => {
|
|
33
|
+
this.keydownSubscriber = subscriber;
|
|
34
|
+
// setTimeout 是为了解决 Hotkey 冲突时仅执行最后订阅的事件
|
|
35
|
+
setTimeout(() => {
|
|
36
|
+
this.keydownSubscriber?.next(event);
|
|
37
|
+
this.keydownSubscriber = null;
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
return () => {
|
|
41
|
+
subscription.unsubscribe();
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
ThyHotkeyDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyDispatcher, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
+
ThyHotkeyDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyDispatcher, providedIn: 'root' });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyDispatcher, decorators: [{
|
|
49
|
+
type: Injectable,
|
|
50
|
+
args: [{ providedIn: 'root' }]
|
|
51
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
52
|
+
type: Inject,
|
|
53
|
+
args: [DOCUMENT]
|
|
54
|
+
}] }, { type: i0.NgZone }]; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5LWRpc3BhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaG90a2V5L2hvdGtleS1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHcEMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQUd2RCxZQUE4QixRQUFhLEVBQUUsTUFBYztRQUN2RCxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sdUJBQXVCLENBQUMsS0FBeUI7UUFDckQsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7YUFBTTtZQUNILE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxNQUF5QixFQUFFLEtBQWdEO1FBQy9FLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzlELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxVQUFVLENBQWdCLFVBQVUsQ0FBQyxFQUFFO1lBQzlDLE1BQU0sWUFBWSxHQUFHLE9BQU87aUJBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2pGLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztnQkFDcEMsd0NBQXdDO2dCQUN4QyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7WUFDUCxPQUFPLEdBQUcsRUFBRTtnQkFDUixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztnSEFyQ1EsbUJBQW1CLGtCQUdSLFFBQVE7b0hBSG5CLG1CQUFtQixjQUROLE1BQU07MkZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUlqQixNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlFdmVudERpc3BhdGNoZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9ldmVudCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUsIFN1YnNjcmliZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGlzU3RyaW5nLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJ0B0ZXRoeXMvY2RrL2lzJztcbmltcG9ydCB7IGlzSG90a2V5IH0gZnJvbSAnLi9ob3RrZXknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRoeUhvdGtleURpc3BhdGNoZXIgZXh0ZW5kcyBUaHlFdmVudERpc3BhdGNoZXIge1xuICAgIHByaXZhdGUga2V5ZG93blN1YnNjcmliZXI6IFN1YnNjcmliZXI8S2V5Ym9hcmRFdmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LCBuZ1pvbmU6IE5nWm9uZSkge1xuICAgICAgICBzdXBlcihkb2N1bWVudCwgbmdab25lLCAna2V5ZG93bicpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlS2V5ZG93bk9ic2VydmFibGUoc2NvcGU6IEVsZW1lbnQgfCBEb2N1bWVudCkge1xuICAgICAgICBpZiAoc2NvcGUgPT09IHRoaXMuZG9jdW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmliZShudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmcm9tRXZlbnQoc2NvcGUsICdrZXlkb3duJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAg54Ot6ZSu5LqL5Lu26K6i6ZiFXG4gICAgICovXG4gICAga2V5ZG93bihob3RrZXk6IHN0cmluZyB8IHN0cmluZ1tdLCBzY29wZT86IEVsZW1lbnRSZWY8RWxlbWVudD4gfCBFbGVtZW50IHwgRG9jdW1lbnQpOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+IHtcbiAgICAgICAgY29uc3QgaG90a2V5cyA9IGlzU3RyaW5nKGhvdGtleSkgPyBob3RrZXkuc3BsaXQoJywnKSA6IGhvdGtleTtcbiAgICAgICAgY29uc3Qgc2NvcGVFbGVtZW50ID0gY29lcmNlRWxlbWVudChpc1VuZGVmaW5lZE9yTnVsbChzY29wZSkgPyB0aGlzLmRvY3VtZW50IDogc2NvcGUpO1xuICAgICAgICBjb25zdCBrZXlkb3duID0gdGhpcy5jcmVhdGVLZXlkb3duT2JzZXJ2YWJsZShzY29wZUVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8S2V5Ym9hcmRFdmVudD4oc3Vic2NyaWJlciA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBrZXlkb3duXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlsdGVyKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gaG90a2V5cy5zb21lKGtleSA9PiBpc0hvdGtleShldmVudCwga2V5KSkpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMua2V5ZG93blN1YnNjcmliZXIgPSBzdWJzY3JpYmVyO1xuICAgICAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0IOaYr+S4uuS6huino+WGsyBIb3RrZXkg5Yay56qB5pe25LuF5omn6KGM5pyA5ZCO6K6i6ZiF55qE5LqL5Lu2XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5rZXlkb3duU3Vic2NyaWJlcj8ubmV4dChldmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmtleWRvd25TdWJzY3JpYmVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Directive, ElementRef, EventEmitter, Inject, Input, Output } from '@angular/core';
|
|
3
|
+
import { isFormElement, isString } from '@tethys/cdk/is';
|
|
4
|
+
import { ThyHotkeyDispatcher } from './hotkey-dispatcher';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./hotkey-dispatcher";
|
|
7
|
+
/**
|
|
8
|
+
* @name thyHotkey
|
|
9
|
+
*/
|
|
10
|
+
export class ThyHotkeyDirective {
|
|
11
|
+
constructor(document, hotkeyDispatcher, elementRef) {
|
|
12
|
+
this.document = document;
|
|
13
|
+
this.hotkeyDispatcher = hotkeyDispatcher;
|
|
14
|
+
this.elementRef = elementRef;
|
|
15
|
+
/**
|
|
16
|
+
* 热键触发后的事件
|
|
17
|
+
*/
|
|
18
|
+
this.thyHotkeyListener = new EventEmitter();
|
|
19
|
+
this.subscription = null;
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
const scope = isString(this.thyHotkeyScope) ? this.document.querySelector(this.thyHotkeyScope) : this.thyHotkeyScope;
|
|
23
|
+
this.subscription = this.hotkeyDispatcher.keydown(this.thyHotkey, scope).subscribe(event => {
|
|
24
|
+
event.preventDefault();
|
|
25
|
+
if (isFormElement(this.elementRef)) {
|
|
26
|
+
this.elementRef.nativeElement.focus();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.elementRef.nativeElement.click();
|
|
30
|
+
}
|
|
31
|
+
this.thyHotkeyListener.emit(event);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
if (this.subscription) {
|
|
36
|
+
this.subscription.unsubscribe();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
ThyHotkeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyDirective, deps: [{ token: DOCUMENT }, { token: i1.ThyHotkeyDispatcher }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
41
|
+
ThyHotkeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: ThyHotkeyDirective, selector: "[thyHotkey]", inputs: { thyHotkey: "thyHotkey", thyHotkeyScope: "thyHotkeyScope" }, outputs: { thyHotkeyListener: "thyHotkeyListener" }, ngImport: i0 });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyDirective, decorators: [{
|
|
43
|
+
type: Directive,
|
|
44
|
+
args: [{ selector: '[thyHotkey]' }]
|
|
45
|
+
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
46
|
+
type: Inject,
|
|
47
|
+
args: [DOCUMENT]
|
|
48
|
+
}] }, { type: i1.ThyHotkeyDispatcher }, { type: i0.ElementRef }]; }, propDecorators: { thyHotkey: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], thyHotkeyScope: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], thyHotkeyListener: [{
|
|
53
|
+
type: Output
|
|
54
|
+
}] } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9ob3RrZXkvaG90a2V5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUUxRDs7R0FFRztBQUVILE1BQU0sT0FBTyxrQkFBa0I7SUFrQjNCLFlBQzhCLFFBQWtCLEVBQ3BDLGdCQUFxQyxFQUNyQyxVQUFtQztRQUZqQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBcUI7UUFDckMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFWL0M7O1dBRUc7UUFDTyxzQkFBaUIsR0FBZ0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV0RSxpQkFBWSxHQUFpQixJQUFJLENBQUM7SUFNdkMsQ0FBQztJQUVKLFFBQVE7UUFDSixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDckgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZGLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3pDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3pDO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDOzsrR0F6Q1Esa0JBQWtCLGtCQW1CZixRQUFRO21HQW5CWCxrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7MERBb0JNLFFBQVE7MEJBQTNDLE1BQU07MkJBQUMsUUFBUTt1R0FmWCxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0ksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNGb3JtRWxlbWVudCwgaXNTdHJpbmcgfSBmcm9tICdAdGV0aHlzL2Nkay9pcyc7XG5pbXBvcnQgeyBUaHlIb3RrZXlEaXNwYXRjaGVyIH0gZnJvbSAnLi9ob3RrZXktZGlzcGF0Y2hlcic7XG5cbi8qKlxuICogQG5hbWUgdGh5SG90a2V5XG4gKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1t0aHlIb3RrZXldJyB9KVxuZXhwb3J0IGNsYXNzIFRoeUhvdGtleURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiAg54Ot6ZSu5a+55bqUIENvZGXvvIzlpJrkuKrng63plK7nu4TlkIjmlK/mjIHpgJrov4fmlbDnu4TmiJbpgJflj7fliIblibLnmoTlvaLlvI/kvKDlhaVcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlIb3RrZXk6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgLyoqXG4gICAgICogIOmFjee9rueDremUruinpuWPkeiMg+WbtO+8jOm7mOiupOe7keWumuWcqCBkb2N1bWVudCDkuIpcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlIb3RrZXlTY29wZT86IHN0cmluZyB8IEVsZW1lbnQgfCBFbGVtZW50UmVmPEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogIOeDremUruinpuWPkeWQjueahOS6i+S7tlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlIb3RrZXlMaXN0ZW5lcjogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIHByaXZhdGUgaG90a2V5RGlzcGF0Y2hlcjogVGh5SG90a2V5RGlzcGF0Y2hlcixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzY29wZSA9IGlzU3RyaW5nKHRoaXMudGh5SG90a2V5U2NvcGUpID8gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMudGh5SG90a2V5U2NvcGUpIDogdGhpcy50aHlIb3RrZXlTY29wZTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmhvdGtleURpc3BhdGNoZXIua2V5ZG93bih0aGlzLnRoeUhvdGtleSwgc2NvcGUpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKGlzRm9ybUVsZW1lbnQodGhpcy5lbGVtZW50UmVmKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRoeUhvdGtleUxpc3RlbmVyLmVtaXQoZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const modifierKeyNames = [`Control`, 'Alt', 'Meta', 'Shift'];
|
|
2
|
+
// We don't want to show `Shift` when `event.key` is capital
|
|
3
|
+
function showShift(event) {
|
|
4
|
+
const { shiftKey, code, key } = event;
|
|
5
|
+
return shiftKey && !(code.startsWith('Key') && key.toUpperCase() === key);
|
|
6
|
+
}
|
|
7
|
+
export function hotkey(event) {
|
|
8
|
+
const { ctrlKey, altKey, metaKey, key } = event;
|
|
9
|
+
const hotkeyString = [];
|
|
10
|
+
const modifiers = [ctrlKey, altKey, metaKey, showShift(event)];
|
|
11
|
+
for (const [i, mod] of modifiers.entries()) {
|
|
12
|
+
if (mod)
|
|
13
|
+
hotkeyString.push(modifierKeyNames[i]);
|
|
14
|
+
}
|
|
15
|
+
if (!modifierKeyNames.includes(key)) {
|
|
16
|
+
hotkeyString.push(key);
|
|
17
|
+
}
|
|
18
|
+
return hotkeyString.join('+');
|
|
19
|
+
}
|
|
20
|
+
export function isHotkey(event, key) {
|
|
21
|
+
return key.toUpperCase() === hotkey(event).toUpperCase();
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2hvdGtleS9ob3RrZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxnQkFBZ0IsR0FBYSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRXZFLDREQUE0RDtBQUM1RCxTQUFTLFNBQVMsQ0FBQyxLQUFvQjtJQUNuQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDdEMsT0FBTyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQW9CO0lBQ3ZDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDaEQsTUFBTSxZQUFZLEdBQWEsRUFBRSxDQUFDO0lBQ2xDLE1BQU0sU0FBUyxHQUFjLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUUsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUN4QyxJQUFJLEdBQUc7WUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbkQ7SUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2pDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDMUI7SUFFRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBb0IsRUFBRSxHQUFXO0lBQ3RELE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbW9kaWZpZXJLZXlOYW1lczogc3RyaW5nW10gPSBbYENvbnRyb2xgLCAnQWx0JywgJ01ldGEnLCAnU2hpZnQnXTtcblxuLy8gV2UgZG9uJ3Qgd2FudCB0byBzaG93IGBTaGlmdGAgd2hlbiBgZXZlbnQua2V5YCBpcyBjYXBpdGFsXG5mdW5jdGlvbiBzaG93U2hpZnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCB7IHNoaWZ0S2V5LCBjb2RlLCBrZXkgfSA9IGV2ZW50O1xuICAgIHJldHVybiBzaGlmdEtleSAmJiAhKGNvZGUuc3RhcnRzV2l0aCgnS2V5JykgJiYga2V5LnRvVXBwZXJDYXNlKCkgPT09IGtleSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBob3RrZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCBrZXkgfSA9IGV2ZW50O1xuICAgIGNvbnN0IGhvdGtleVN0cmluZzogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBtb2RpZmllcnM6IGJvb2xlYW5bXSA9IFtjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIHNob3dTaGlmdChldmVudCldO1xuICAgIGZvciAoY29uc3QgW2ksIG1vZF0gb2YgbW9kaWZpZXJzLmVudHJpZXMoKSkge1xuICAgICAgICBpZiAobW9kKSBob3RrZXlTdHJpbmcucHVzaChtb2RpZmllcktleU5hbWVzW2ldKTtcbiAgICB9XG5cbiAgICBpZiAoIW1vZGlmaWVyS2V5TmFtZXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICBob3RrZXlTdHJpbmcucHVzaChrZXkpO1xuICAgIH1cblxuICAgIHJldHVybiBob3RrZXlTdHJpbmcuam9pbignKycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNIb3RrZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGtleS50b1VwcGVyQ2FzZSgpID09PSBob3RrZXkoZXZlbnQpLnRvVXBwZXJDYXNlKCk7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './module';
|
|
2
|
+
export * from './hotkey';
|
|
3
|
+
export * from './hotkey-dispatcher';
|
|
4
|
+
export * from './hotkey.directive';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaG90a2V5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaG90a2V5JztcbmV4cG9ydCAqIGZyb20gJy4vaG90a2V5LWRpc3BhdGNoZXInO1xuZXhwb3J0ICogZnJvbSAnLi9ob3RrZXkuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ThyHotkeyDirective } from './hotkey.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ThyHotkeyModule {
|
|
5
|
+
}
|
|
6
|
+
ThyHotkeyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
ThyHotkeyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyModule, declarations: [ThyHotkeyDirective], exports: [ThyHotkeyDirective] });
|
|
8
|
+
ThyHotkeyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyModule });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
imports: [],
|
|
13
|
+
exports: [ThyHotkeyDirective],
|
|
14
|
+
declarations: [ThyHotkeyDirective],
|
|
15
|
+
providers: []
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2hvdGtleS9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFReEQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFIVCxrQkFBa0IsYUFEdkIsa0JBQWtCOzZHQUluQixlQUFlOzJGQUFmLGVBQWU7a0JBTjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNsQyxTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5SG90a2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9ob3RrZXkuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBleHBvcnRzOiBbVGh5SG90a2V5RGlyZWN0aXZlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUaHlIb3RrZXlEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgVGh5SG90a2V5TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV0aHlzLWNkay1ob3RrZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaG90a2V5L3RldGh5cy1jZGstaG90a2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { coerceArray } from '@angular/cdk/coercion';
|
|
2
|
-
import { isFunction, isUndefinedOrNull } from '@tethys/cdk/is';
|
|
2
|
+
import { isFunction, isUndefinedOrNull, isArray } from '@tethys/cdk/is';
|
|
3
|
+
import { ObjectProducer } from './object-producer';
|
|
3
4
|
export class Producer {
|
|
4
5
|
constructor(entities, options) {
|
|
5
6
|
this.idKey = '_id';
|
|
@@ -104,6 +105,11 @@ export class Producer {
|
|
|
104
105
|
}
|
|
105
106
|
}
|
|
106
107
|
export function produce(entities, options) {
|
|
107
|
-
|
|
108
|
+
if (isArray(entities)) {
|
|
109
|
+
return new Producer(entities, options);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return new ObjectProducer(entities);
|
|
113
|
+
}
|
|
108
114
|
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1tdXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2ltbXV0YWJsZS9pbW11dGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXFCL0QsTUFBTSxPQUFPLFFBQVE7SUFLakIsWUFBWSxRQUFtQixFQUFFLE9BQWtDO1FBSjNELFVBQUssR0FBRyxLQUFLLENBQUM7UUFLbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBZSxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsR0FBRyxDQUFDLE1BQTJCLEVBQUUsVUFBNkI7UUFDMUQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3BCLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLE1BQU0sS0FBSyxHQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssVUFBVSxD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QU8sQ0FBVSxRQUFtQixFQUFFLE9BQWtDO0lBQ3BGLE9BQU8sSUFBSSxRQUFRLENBQVUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VBcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJ0B0ZXRoeXMvY2RrL2lzJztcblxuZXhwb3J0IHR5cGUgSWQgPSBzdHJpbmcgfCBudW1iZXI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5QWRkT3B0aW9ucyB7XG4gICAgcHJlcGVuZD86IGJvb2xlYW47XG5cbiAgICBhZnRlcklkPzogSWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5TW92ZU9wdGlvbnMge1xuICAgIGFmdGVySWQ/OiBJZDtcblxuICAgIHRvSW5kZXg/OiBudW1iZXI7XG59XG5cbnR5cGUgRXh0cmFjdEtleXNPZlZhbHVlVHlwZTxULCBLPiA9IHsgW0kgaW4ga2V5b2YgVF06IFRbSV0gZXh0ZW5kcyBLID8gSSA6IG5ldmVyIH1ba2V5b2YgVF07XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y2VyT3B0aW9uczxURW50aXR5PiB7XG4gICAgaWRLZXk/OiBFeHRyYWN0S2V5c09mVmFsdWVUeXBlPFRFbnRpdHksIElkPjtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2R1Y2VyPFRFbnRpdHk+IHtcbiAgICBwcml2YXRlIGlkS2V5ID0gJ19pZCc7XG5cbiAgICBwcml2YXRlIGVudGl0aWVzOiBURW50aXR5W107XG5cbiAgICBjb25zdHJ1Y3RvcihlbnRpdGllczogVEVudGl0eVtdLCBvcHRpb25zPzogUHJvZHVjZXJPcHRpb25zPFRFbnRpdHk+KSB7XG4gICAgICAgIHRoaXMuZW50aXRpZXMgPSBlbnRpdGllcyB8fCBbXTtcbiAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5pZEtleSkge1xuICAgICAgICAgICAgdGhpcy5pZEtleSA9IG9wdGlvbnMuaWRLZXkgYXMgc3RyaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIGFuIGVudGl0eSBvciBlbnRpdGllcy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogcHJvZHVjZShbdXNlcnNdKS5hZGQoRW50aXR5KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChbRW50aXR5LCBFbnRpdHldKTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChFbnRpdHksIHsgcHJlcGVuZDogdHJ1ZSB9KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChFbnRpdHksIHsgYWZ0ZXJJZDogJycgfSk7XG4gICAgICovXG4gICAgYWRkKGVudGl0eTogVEVudGl0eSB8IFRFbnRpdHlbXSwgYWRkT3B0aW9ucz86IEVudGl0eUFkZE9wdGlvbnMpOiBURW50aXR5W10ge1xuICAgICAgICBjb25zdCBhZGRFbnRpdGllcyA9IGNvZXJjZUFycmF5KGVudGl0eSk7XG4gICAgICAgIGlmIChhZGRFbnRpdGllcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVudGl0aWVzO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhZGRPcHRpb25zICYmIChhZGRPcHRpb25zLmFmdGVySWQgfHwgYWRkT3B0aW9ucy5wcmVwZW5kKSkge1xuICAgICAgICAgICAgaWYgKGFkZE9wdGlvbnMuYWZ0ZXJJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVudGl0aWVzID0gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllcy5maW5kSW5kZXgoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVt0aGlzLmlkS2V5XSA9PT0gYWRkT3B0aW9ucy5hZnRlcklkO1xuICAgICAgICAgICAgICAgICAgICB9KSArIDE7XG4gICAgICAgICAgICAgICAgZW50aXRpZXMuc3BsaWNlKGluZGV4LCAwLCAuLi5hZGRFbnRpdGllcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IFsuLi5lbnRpdGllc107XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGFkZE9wdGlvbnMucHJlcGVuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXMgPSBbLi4uYWRkRW50aXRpZXMsIC4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IFsuLi50aGlzLmVudGl0aWVzLCAuLi5hZGRFbnRpdGllc107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBVcGRhdGUgYW4gZW50aXR5IG9yIGVudGl0aWVzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnVwZGF0ZSgzLCB7XG4gICAgICogICBuYW1lOiAnTmV3IE5hbWUnXG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnVwZGF0ZSgzLCBlbnRpdHkgPT4ge1xuICAgICAqICAgIHJldHVybiB7XG4gICAgICogICAgICAuLi5lbnRpdHksXG4gICAgICogICAgICBuYW1lOiAnTmV3IE5hbWUnXG4gICAgICogICAgfVxuICAgICAqICB9KTtcbiAgICAgKlxuICAgICAqIHByb2R1Y2UoW3VzZXJzXSkudXBkYXRlKFsxLDIsM10sIHtcbiAgICAgKiAgIG5hbWU6ICdOZXcgTmFtZSdcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICB1cGRhdGUoaWQ6IElkIHwgSWRbXSB8IG51bGwsIG5ld1N0YXRlRm46IChlbnRpdHk6IFJlYWRvbmx5PFRFbnRpdHk+KSA9PiBQYXJ0aWFsPFRFbnRpdHk+KTogVEVudGl0eVtdO1xuICAgIHVwZGF0ZShpZDogSWQgfCBJZFtdIHwgbnVsbCwgbmV3U3RhdGU/OiBQYXJ0aWFsPFRFbnRpdHk+KTogVEVudGl0eVtdO1xuICAgIHVwZGF0ZShcbiAgICAgICAgaWRzT3JGbjogSWQgfCBJZFtdIHwgbnVsbCB8IFBhcnRpYWw8VEVudGl0eT4gfCAoKGVudGl0eTogUmVhZG9ubHk8VEVudGl0eT4pID0+IGJvb2xlYW4pLFxuICAgICAgICBuZXdTdGF0ZU9yRm4/OiAoKGVudGl0eTogUmVhZG9ubHk8VEVudGl0eT4pID0+IFBhcnRpYWw8VEVudGl0eT4pIHwgUGFydGlhbDxURW50aXR5PlxuICAgICk6IFRFbnRpdHlbXSB7XG4gICAgICAgIGNvbnN0IGlkcyA9IGNvZXJjZUFycmF5KGlkc09yRm4pO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5lbnRpdGllcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgb2xkRW50aXR5ID0gdGhpcy5lbnRpdGllc1tpXTtcbiAgICAgICAgICAgIGlmIChpZHMuaW5kZXhPZihvbGRFbnRpdHlbdGhpcy5pZEtleV0pID49IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IGlzRnVuY3Rpb24obmV3U3RhdGVPckZuKSA/IG5ld1N0YXRlT3JGbihvbGRFbnRpdHkpIDogbmV3U3RhdGVPckZuO1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0gPSB7IC4uLm9sZEVudGl0eSwgLi4ubmV3U3RhdGUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogUmVtb3ZlIG9uZSBvciBtb3JlIGVudGl0aWVzOlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZSg1KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZShbMSwyLDNdKTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZShlbnRpdHkgPT4gZW50aXR5LmlkID09PSAxKTtcbiAgICAgKi9cbiAgICByZW1vdmUoaWQ6IElkIHwgSWRbXSk6IFRFbnRpdHlbXTtcbiAgICByZW1vdmUocHJlZGljYXRlOiAoZW50aXR5OiBSZWFkb25seTxURW50aXR5PikgPT4gYm9vbGVhbik6IFRFbnRpdHlbXTtcbiAgICByZW1vdmUoaWRzT3JGbj86IElkIHwgSWRbXSB8ICgoZW50aXR5OiBSZWFkb25seTxURW50aXR5PikgPT4gYm9vbGVhbikpOiBURW50aXR5W10ge1xuICAgICAgICBpZiAoaXNGdW5jdGlvbihpZHNPckZuKSkge1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IHRoaXMuZW50aXRpZXMuZmlsdGVyKGVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEoaWRzT3JGbiBhcyBhbnkpKGVudGl0eSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGlkcyA9IGNvZXJjZUFycmF5KGlkc09yRm4pO1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IHRoaXMuZW50aXRpZXMuZmlsdGVyKGVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlkcy5pbmRleE9mKGVudGl0eVt0aGlzLmlkS2V5XSkgPT09IC0xO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBNb3ZlIG9uZSBvciBtb3JlIGVudGl0aWVzOlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLm1vdmUoNSwge2FmdGVySWQ6IDJ9KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLm1vdmUoNSwge3RvSW5kZXg6IDB9KTtcbiAgICAgKi9cbiAgICBtb3ZlKGlkOiBJZCwgbW92ZU9wdGlvbnM/OiBFbnRpdHlNb3ZlT3B0aW9ucyk6IFRFbnRpdHlbXSB7XG4gICAgICAgIGNvbnN0IGZyb21JbmRleCA9IHRoaXMuZW50aXRpZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbVt0aGlzLmlkS2V5XSA9PT0gaWQpO1xuICAgICAgICBsZXQgdG9JbmRleCA9IDA7XG4gICAgICAgIGNvbnN0IG5ld0VudGl0aWVzID0gWy4uLnRoaXMuZW50aXRpZXNdO1xuXG4gICAgICAgIGlmICghaWQgfHwgZnJvbUluZGV4IDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIFsuLi50aGlzLmVudGl0aWVzXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb3ZlT3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChtb3ZlT3B0aW9ucy5hZnRlcklkKSkge1xuICAgICAgICAgICAgICAgIHRvSW5kZXggPSB0aGlzLmVudGl0aWVzLmZpbmRJbmRleChpdGVtID0+IGl0ZW1bdGhpcy5pZEtleV0gPT09IG1vdmVPcHRpb25zLmFmdGVySWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChtb3ZlT3B0aW9ucy50b0luZGV4KSB7XG4gICAgICAgICAgICAgICAgdG9JbmRleCA9IG1vdmVPcHRpb25zLnRvSW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdG9JbmRleCA9IE1hdGgubWF4KDAsIE1hdGgubWluKHRoaXMuZW50aXRpZXMubGVuZ3RoIC0gMSwgdG9JbmRleCkpO1xuICAgICAgICBpZiAodG9JbmRleCA9PT0gZnJvbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5lbnRpdGllc1tmcm9tSW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgZGVsdGEgPSB0b0luZGV4IDwgZnJvbUluZGV4ID8gLTEgOiAxO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gZnJvbUluZGV4OyBpICE9PSB0b0luZGV4OyBpICs9IGRlbHRhKSB7XG4gICAgICAgICAgICAgICAgbmV3RW50aXRpZXNbaV0gPSBuZXdFbnRpdGllc1tpICsgZGVsdGFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3RW50aXRpZXNbdG9JbmRleF0gPSB0YXJnZXQ7XG4gICAgICAgICAgICByZXR1cm4gWy4uLm5ld0VudGl0aWVzXTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2R1Y2U8VEVudGl0eT4oZW50aXRpZXM6IFRFbnRpdHlbXSwgb3B0aW9ucz86IFByb2R1Y2VyT3B0aW9uczxURW50aXR5Pikge1xuICAgIHJldHVybiBuZXcgUHJvZHVjZXI8VEVudGl0eT4oZW50aXRpZXMsIG9wdGlvbnMpO1xufVxuIl19
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1tdXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2ltbXV0YWJsZS9pbW11dGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBcUJuRCxNQUFNLE9BQU8sUUFBUTtJQUtqQixZQUFZLFFBQW1CLEVBQUUsT0FBa0M7UUFKM0QsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUtsQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFlLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxHQUFHLENBQUMsTUFBMkIsRUFBRSxVQUE2QjtRQUMxRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDeEI7UUFDRCxJQUFJLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRTtnQkFDcEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEMsTUFBTSxLQUFLLEdBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7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V0FBVyxDQUFDLENBQUM7U0FDM0I7SUFDTCxDQUFDO0NBQ0o7QUFJRCxNQUFNLFVBQVUsT0FBTyxDQUFVLFFBQTZCLEVBQUUsT0FBa0M7SUFDOUYsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDbkIsT0FBTyxJQUFJLFFBQVEsQ0FBVSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDbkQ7U0FBTTtRQUNILE9BQU8sSUFBSSxjQUFjLENBQVUsUUFBUSxDQUFDLENBQUM7S0FDaEQ7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNVbmRlZmluZWRPck51bGwsIGlzQXJyYXkgfSBmcm9tICdAdGV0aHlzL2Nkay9pcyc7XG5pbXBvcnQgeyBPYmplY3RQcm9kdWNlciB9IGZyb20gJy4vb2JqZWN0LXByb2R1Y2VyJztcblxuZXhwb3J0IHR5cGUgSWQgPSBzdHJpbmcgfCBudW1iZXI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5QWRkT3B0aW9ucyB7XG4gICAgcHJlcGVuZD86IGJvb2xlYW47XG5cbiAgICBhZnRlcklkPzogSWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5TW92ZU9wdGlvbnMge1xuICAgIGFmdGVySWQ/OiBJZDtcblxuICAgIHRvSW5kZXg/OiBudW1iZXI7XG59XG5cbnR5cGUgRXh0cmFjdEtleXNPZlZhbHVlVHlwZTxULCBLPiA9IHsgW0kgaW4ga2V5b2YgVF06IFRbSV0gZXh0ZW5kcyBLID8gSSA6IG5ldmVyIH1ba2V5b2YgVF07XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y2VyT3B0aW9uczxURW50aXR5PiB7XG4gICAgaWRLZXk/OiBFeHRyYWN0S2V5c09mVmFsdWVUeXBlPFRFbnRpdHksIElkPjtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2R1Y2VyPFRFbnRpdHk+IHtcbiAgICBwcml2YXRlIGlkS2V5ID0gJ19pZCc7XG5cbiAgICBwcml2YXRlIGVudGl0aWVzOiBURW50aXR5W107XG5cbiAgICBjb25zdHJ1Y3RvcihlbnRpdGllczogVEVudGl0eVtdLCBvcHRpb25zPzogUHJvZHVjZXJPcHRpb25zPFRFbnRpdHk+KSB7XG4gICAgICAgIHRoaXMuZW50aXRpZXMgPSBlbnRpdGllcyB8fCBbXTtcbiAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5pZEtleSkge1xuICAgICAgICAgICAgdGhpcy5pZEtleSA9IG9wdGlvbnMuaWRLZXkgYXMgc3RyaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIGFuIGVudGl0eSBvciBlbnRpdGllcy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogcHJvZHVjZShbdXNlcnNdKS5hZGQoRW50aXR5KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChbRW50aXR5LCBFbnRpdHldKTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChFbnRpdHksIHsgcHJlcGVuZDogdHJ1ZSB9KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChFbnRpdHksIHsgYWZ0ZXJJZDogJycgfSk7XG4gICAgICovXG4gICAgYWRkKGVudGl0eTogVEVudGl0eSB8IFRFbnRpdHlbXSwgYWRkT3B0aW9ucz86IEVudGl0eUFkZE9wdGlvbnMpOiBURW50aXR5W10ge1xuICAgICAgICBjb25zdCBhZGRFbnRpdGllcyA9IGNvZXJjZUFycmF5KGVudGl0eSk7XG4gICAgICAgIGlmIChhZGRFbnRpdGllcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVudGl0aWVzO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhZGRPcHRpb25zICYmIChhZGRPcHRpb25zLmFmdGVySWQgfHwgYWRkT3B0aW9ucy5wcmVwZW5kKSkge1xuICAgICAgICAgICAgaWYgKGFkZE9wdGlvbnMuYWZ0ZXJJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVudGl0aWVzID0gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllcy5maW5kSW5kZXgoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVt0aGlzLmlkS2V5XSA9PT0gYWRkT3B0aW9ucy5hZnRlcklkO1xuICAgICAgICAgICAgICAgICAgICB9KSArIDE7XG4gICAgICAgICAgICAgICAgZW50aXRpZXMuc3BsaWNlKGluZGV4LCAwLCAuLi5hZGRFbnRpdGllcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IFsuLi5lbnRpdGllc107XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGFkZE9wdGlvbnMucHJlcGVuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXMgPSBbLi4uYWRkRW50aXRpZXMsIC4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IFsuLi50aGlzLmVudGl0aWVzLCAuLi5hZGRFbnRpdGllc107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBVcGRhdGUgYW4gZW50aXR5IG9yIGVudGl0aWVzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnVwZGF0ZSgzLCB7XG4gICAgICogICBuYW1lOiAnTmV3IE5hbWUnXG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnVwZGF0ZSgzLCBlbnRpdHkgPT4ge1xuICAgICAqICAgIHJldHVybiB7XG4gICAgICogICAgICAuLi5lbnRpdHksXG4gICAgICogICAgICBuYW1lOiAnTmV3IE5hbWUnXG4gICAgICogICAgfVxuICAgICAqICB9KTtcbiAgICAgKlxuICAgICAqIHByb2R1Y2UoW3VzZXJzXSkudXBkYXRlKFsxLDIsM10sIHtcbiAgICAgKiAgIG5hbWU6ICdOZXcgTmFtZSdcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICB1cGRhdGUoaWQ6IElkIHwgSWRbXSB8IG51bGwsIG5ld1N0YXRlRm46IChlbnRpdHk6IFJlYWRvbmx5PFRFbnRpdHk+KSA9PiBQYXJ0aWFsPFRFbnRpdHk+KTogVEVudGl0eVtdO1xuICAgIHVwZGF0ZShpZDogSWQgfCBJZFtdIHwgbnVsbCwgbmV3U3RhdGU/OiBQYXJ0aWFsPFRFbnRpdHk+KTogVEVudGl0eVtdO1xuICAgIHVwZGF0ZShcbiAgICAgICAgaWRzT3JGbjogSWQgfCBJZFtdIHwgbnVsbCB8IFBhcnRpYWw8VEVudGl0eT4gfCAoKGVudGl0eTogUmVhZG9ubHk8VEVudGl0eT4pID0+IGJvb2xlYW4pLFxuICAgICAgICBuZXdTdGF0ZU9yRm4/OiAoKGVudGl0eTogUmVhZG9ubHk8VEVudGl0eT4pID0+IFBhcnRpYWw8VEVudGl0eT4pIHwgUGFydGlhbDxURW50aXR5PlxuICAgICk6IFRFbnRpdHlbXSB7XG4gICAgICAgIGNvbnN0IGlkcyA9IGNvZXJjZUFycmF5KGlkc09yRm4pO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5lbnRpdGllcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgb2xkRW50aXR5ID0gdGhpcy5lbnRpdGllc1tpXTtcbiAgICAgICAgICAgIGlmIChpZHMuaW5kZXhPZihvbGRFbnRpdHlbdGhpcy5pZEtleV0pID49IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IGlzRnVuY3Rpb24obmV3U3RhdGVPckZuKSA/IG5ld1N0YXRlT3JGbihvbGRFbnRpdHkpIDogbmV3U3RhdGVPckZuO1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0gPSB7IC4uLm9sZEVudGl0eSwgLi4ubmV3U3RhdGUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogUmVtb3ZlIG9uZSBvciBtb3JlIGVudGl0aWVzOlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZSg1KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZShbMSwyLDNdKTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZShlbnRpdHkgPT4gZW50aXR5LmlkID09PSAxKTtcbiAgICAgKi9cbiAgICByZW1vdmUoaWQ6IElkIHwgSWRbXSk6IFRFbnRpdHlbXTtcbiAgICByZW1vdmUocHJlZGljYXRlOiAoZW50aXR5OiBSZWFkb25seTxURW50aXR5PikgPT4gYm9vbGVhbik6IFRFbnRpdHlbXTtcbiAgICByZW1vdmUoaWRzT3JGbj86IElkIHwgSWRbXSB8ICgoZW50aXR5OiBSZWFkb25seTxURW50aXR5PikgPT4gYm9vbGVhbikpOiBURW50aXR5W10ge1xuICAgICAgICBpZiAoaXNGdW5jdGlvbihpZHNPckZuKSkge1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IHRoaXMuZW50aXRpZXMuZmlsdGVyKGVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEoaWRzT3JGbiBhcyBhbnkpKGVudGl0eSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGlkcyA9IGNvZXJjZUFycmF5KGlkc09yRm4pO1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IHRoaXMuZW50aXRpZXMuZmlsdGVyKGVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlkcy5pbmRleE9mKGVudGl0eVt0aGlzLmlkS2V5XSkgPT09IC0xO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBNb3ZlIG9uZSBvciBtb3JlIGVudGl0aWVzOlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLm1vdmUoNSwge2FmdGVySWQ6IDJ9KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLm1vdmUoNSwge3RvSW5kZXg6IDB9KTtcbiAgICAgKi9cbiAgICBtb3ZlKGlkOiBJZCwgbW92ZU9wdGlvbnM/OiBFbnRpdHlNb3ZlT3B0aW9ucyk6IFRFbnRpdHlbXSB7XG4gICAgICAgIGNvbnN0IGZyb21JbmRleCA9IHRoaXMuZW50aXRpZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbVt0aGlzLmlkS2V5XSA9PT0gaWQpO1xuICAgICAgICBsZXQgdG9JbmRleCA9IDA7XG4gICAgICAgIGNvbnN0IG5ld0VudGl0aWVzID0gWy4uLnRoaXMuZW50aXRpZXNdO1xuXG4gICAgICAgIGlmICghaWQgfHwgZnJvbUluZGV4IDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIFsuLi50aGlzLmVudGl0aWVzXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb3ZlT3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChtb3ZlT3B0aW9ucy5hZnRlcklkKSkge1xuICAgICAgICAgICAgICAgIHRvSW5kZXggPSB0aGlzLmVudGl0aWVzLmZpbmRJbmRleChpdGVtID0+IGl0ZW1bdGhpcy5pZEtleV0gPT09IG1vdmVPcHRpb25zLmFmdGVySWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChtb3ZlT3B0aW9ucy50b0luZGV4KSB7XG4gICAgICAgICAgICAgICAgdG9JbmRleCA9IG1vdmVPcHRpb25zLnRvSW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdG9JbmRleCA9IE1hdGgubWF4KDAsIE1hdGgubWluKHRoaXMuZW50aXRpZXMubGVuZ3RoIC0gMSwgdG9JbmRleCkpO1xuICAgICAgICBpZiAodG9JbmRleCA9PT0gZnJvbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5lbnRpdGllc1tmcm9tSW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgZGVsdGEgPSB0b0luZGV4IDwgZnJvbUluZGV4ID8gLTEgOiAxO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gZnJvbUluZGV4OyBpICE9PSB0b0luZGV4OyBpICs9IGRlbHRhKSB7XG4gICAgICAgICAgICAgICAgbmV3RW50aXRpZXNbaV0gPSBuZXdFbnRpdGllc1tpICsgZGVsdGFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3RW50aXRpZXNbdG9JbmRleF0gPSB0YXJnZXQ7XG4gICAgICAgICAgICByZXR1cm4gWy4uLm5ld0VudGl0aWVzXTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2R1Y2U8VEVudGl0eT4oZW50aXRpZXM6IFRFbnRpdHlbXSwgb3B0aW9ucz86IFByb2R1Y2VyT3B0aW9uczxURW50aXR5Pik6IFByb2R1Y2VyPFRFbnRpdHk+O1xuZXhwb3J0IGZ1bmN0aW9uIHByb2R1Y2U8VEVudGl0eT4oZW50aXRpZXM6IFRFbnRpdHkpOiBPYmplY3RQcm9kdWNlcjxURW50aXR5PjtcbmV4cG9ydCBmdW5jdGlvbiBwcm9kdWNlPFRFbnRpdHk+KGVudGl0aWVzOiBURW50aXR5IHwgVEVudGl0eVtdLCBvcHRpb25zPzogUHJvZHVjZXJPcHRpb25zPFRFbnRpdHk+KSB7XG4gICAgaWYgKGlzQXJyYXkoZW50aXRpZXMpKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjZXI8VEVudGl0eT4oZW50aXRpZXMsIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JqZWN0UHJvZHVjZXI8VEVudGl0eT4oZW50aXRpZXMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './immutable';
|
|
2
|
-
|
|
2
|
+
export { ObjectProducer } from './object-producer';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaW1tdXRhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW1tdXRhYmxlJztcbmV4cG9ydCB7IE9iamVjdFByb2R1Y2VyIH0gZnJvbSAnLi9vYmplY3QtcHJvZHVjZXInO1xuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export class ObjectProducer {
|
|
2
|
+
constructor(entity) {
|
|
3
|
+
this.entity = entity;
|
|
4
|
+
}
|
|
5
|
+
get(propPath) {
|
|
6
|
+
return propPath.split('.').reduce((previousValue, part) => previousValue && previousValue[part], this.entity);
|
|
7
|
+
}
|
|
8
|
+
set(propPath, value) {
|
|
9
|
+
const newEntity = { ...this.entity };
|
|
10
|
+
const split = propPath.split('.');
|
|
11
|
+
const lastIndex = split.length - 1;
|
|
12
|
+
split.reduce((previousValue, part, index) => {
|
|
13
|
+
if (index === lastIndex) {
|
|
14
|
+
previousValue[part] = value;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
previousValue[part] = Array.isArray(previousValue[part]) ? previousValue[part].slice() : { ...previousValue[part] };
|
|
18
|
+
}
|
|
19
|
+
return previousValue && previousValue[part];
|
|
20
|
+
}, newEntity);
|
|
21
|
+
this.entity = newEntity;
|
|
22
|
+
return newEntity;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXByb2R1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2ltbXV0YWJsZS9vYmplY3QtcHJvZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0NBLE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQVksTUFBZTtRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRUQsR0FBRyxDQUF1QixRQUFlO1FBQ3JDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFrQixFQUFFLElBQVksRUFBRSxFQUFFLENBQUMsYUFBYSxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0gsQ0FBQztJQUVELEdBQUcsQ0FBdUIsUUFBZSxFQUFFLEtBQW1DO1FBQzFFLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFckMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVuQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN4QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7Z0JBQ3JCLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7YUFDL0I7aUJBQU07Z0JBQ0gsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ3ZIO1lBRUQsT0FBTyxhQUFhLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVkLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFBO1FBQ3ZCLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHByZXR0aWVyL3ByZXR0aWVyICovXG50eXBlIEdldEluZGV4ZWRGaWVsZDxULCBLPiA9IEsgZXh0ZW5kcyBrZXlvZiBUXG4gID8gVFtLXVxuICA6IEsgZXh0ZW5kcyBgJHtudW1iZXJ9YFxuICAgID8gJzAnIGV4dGVuZHMga2V5b2YgVFxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogbnVtYmVyIGV4dGVuZHMga2V5b2YgVFxuICAgICAgICA/IFRbbnVtYmVyXVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgIDogdW5kZWZpbmVkXG50eXBlIEZpZWxkV2l0aFBvc3NpYmx5VW5kZWZpbmVkPFQsIEtleT4gPVxuICB8IEdldEZpZWxkVHlwZTxFeGNsdWRlPFQsIHVuZGVmaW5lZD4sIEtleT5cbiAgfCBFeHRyYWN0PFQsIHVuZGVmaW5lZD5cbnR5cGUgSW5kZXhlZEZpZWxkV2l0aFBvc3NpYmx5VW5kZWZpbmVkPFQsIEtleT4gPVxuICB8IEdldEluZGV4ZWRGaWVsZDxFeGNsdWRlPFQsIHVuZGVmaW5lZD4sIEtleT5cbiAgfCBFeHRyYWN0PFQsIHVuZGVmaW5lZD5cbmV4cG9ydCB0eXBlIEdldEZpZWxkVHlwZTxULCBQPiA9IFAgZXh0ZW5kcyBgJHtpbmZlciBMZWZ0fS4ke2luZmVyIFJpZ2h0fWBcbiAgPyBMZWZ0IGV4dGVuZHMga2V5b2YgVFxuICAgID8gRmllbGRXaXRoUG9zc2libHlVbmRlZmluZWQ8VFtMZWZ0XSwgUmlnaHQ+XG4gICAgOiBMZWZ0IGV4dGVuZHMgYCR7aW5mZXIgRmllbGRLZXl9WyR7aW5mZXIgSW5kZXhLZXl9XWBcbiAgICAgID8gRmllbGRLZXkgZXh0ZW5kcyBrZXlvZiBUXG4gICAgICAgID8gRmllbGRXaXRoUG9zc2libHlVbmRlZmluZWQ8SW5kZXhlZEZpZWxkV2l0aFBvc3NpYmx5VW5kZWZpbmVkPFRbRmllbGRLZXldLCBJbmRleEtleT4sIFJpZ2h0PlxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgOiB1bmRlZmluZWRcbiAgOiBQIGV4dGVuZHMga2V5b2YgVFxuICAgID8gVFtQXVxuICAgIDogUCBleHRlbmRzIGAke2luZmVyIEZpZWxkS2V5fVske2luZmVyIEluZGV4S2V5fV1gXG4gICAgICA/IEZpZWxkS2V5IGV4dGVuZHMga2V5b2YgVFxuICAgICAgICA/IEluZGV4ZWRGaWVsZFdpdGhQb3NzaWJseVVuZGVmaW5lZDxUW0ZpZWxkS2V5XSwgSW5kZXhLZXk+XG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICA6IHVuZGVmaW5lZDtcblxuZXhwb3J0IGNsYXNzIE9iamVjdFByb2R1Y2VyPFRFbnRpdHk+IHtcbiAgICBlbnRpdHk6IFRFbnRpdHk7XG5cbiAgICBjb25zdHJ1Y3RvcihlbnRpdHk6IFRFbnRpdHkpIHtcbiAgICAgICAgdGhpcy5lbnRpdHkgPSBlbnRpdHk7XG4gICAgfVxuXG4gICAgZ2V0PFRQYXRoIGV4dGVuZHMgc3RyaW5nPihwcm9wUGF0aDogVFBhdGgpOiBHZXRGaWVsZFR5cGU8VEVudGl0eSwgVFBhdGg+IHtcbiAgICAgICAgcmV0dXJuIHByb3BQYXRoLnNwbGl0KCcuJykucmVkdWNlKChwcmV2aW91c1ZhbHVlOiBhbnksIHBhcnQ6IHN0cmluZykgPT4gcHJldmlvdXNWYWx1ZSAmJiBwcmV2aW91c1ZhbHVlW3BhcnRdLCB0aGlzLmVudGl0eSk7XG4gICAgfVxuXG4gICAgc2V0PFRQYXRoIGV4dGVuZHMgc3RyaW5nPihwcm9wUGF0aDogVFBhdGgsIHZhbHVlOiBHZXRGaWVsZFR5cGU8VEVudGl0eSwgVFBhdGg+KSB7XG4gICAgICAgIGNvbnN0IG5ld0VudGl0eSA9IHsgLi4udGhpcy5lbnRpdHkgfTtcblxuICAgICAgICBjb25zdCBzcGxpdCA9IHByb3BQYXRoLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGxhc3RJbmRleCA9IHNwbGl0Lmxlbmd0aCAtIDE7XG5cbiAgICAgICAgc3BsaXQucmVkdWNlKChwcmV2aW91c1ZhbHVlLCBwYXJ0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSBsYXN0SW5kZXgpIHtcbiAgICAgICAgICAgICAgICBwcmV2aW91c1ZhbHVlW3BhcnRdID0gdmFsdWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHByZXZpb3VzVmFsdWVbcGFydF0gPSBBcnJheS5pc0FycmF5KHByZXZpb3VzVmFsdWVbcGFydF0pID8gcHJldmlvdXNWYWx1ZVtwYXJ0XS5zbGljZSgpIDogeyAuLi5wcmV2aW91c1ZhbHVlW3BhcnRdIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlICYmIHByZXZpb3VzVmFsdWVbcGFydF07XG4gICAgICAgIH0sIG5ld0VudGl0eSk7XG5cbiAgICAgICAgdGhpcy5lbnRpdHkgPSBuZXdFbnRpdHlcbiAgICAgICAgcmV0dXJuIG5ld0VudGl0eTtcbiAgICB9XG59XG4iXX0=
|
package/esm2020/is/utils.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { coerceElement } from '@angular/cdk/coercion';
|
|
1
2
|
import { ElementRef, TemplateRef } from '@angular/core';
|
|
2
3
|
export function isUndefined(value) {
|
|
3
4
|
return value === undefined;
|
|
@@ -94,4 +95,16 @@ export function isHTMLElement(value) {
|
|
|
94
95
|
export function isElementRef(value) {
|
|
95
96
|
return value instanceof ElementRef;
|
|
96
97
|
}
|
|
97
|
-
|
|
98
|
+
export function isFormElement(elementOrRef) {
|
|
99
|
+
const element = coerceElement(elementOrRef);
|
|
100
|
+
if (!(element instanceof HTMLElement)) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
const name = element.nodeName.toLowerCase();
|
|
104
|
+
const type = (element.getAttribute('type') || '').toLowerCase();
|
|
105
|
+
return (name === 'select' ||
|
|
106
|
+
name === 'textarea' ||
|
|
107
|
+
(name === 'input' && type !== 'submit' && type !== 'reset' && type !== 'checkbox' && type !== 'radio' && type !== 'file') ||
|
|
108
|
+
element.isContentEditable);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhELE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBVTtJQUNsQyxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsS0FBVTtJQUM3QixPQUFPLEtBQUssS0FBSyxJQUFJLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFVO0lBQ3hDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBVSxLQUFVO0lBQ3ZDLE9BQU8sS0FBSyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQztBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFXO0lBQy9CLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0tBQ3hCO0lBQ0QsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLElBQUksR0FBRyxJQUFJLGNBQWMsSUFBSSxHQUFHLElBQUksY0FBYyxFQUFFO1FBQ2hELE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0tBQ3RCO0lBQ0QsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUU7UUFD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QUFDLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLElBQUksS0FBSyxVQUFVLElBQUksSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDO1FBQ3pILE9BQU8sQ0FBQyxpQkFBaUIsQ0FDNUIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWx1ZTogYW55KTogdmFsdWUgaXMgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbCh2YWx1ZTogYW55KTogdmFsdWUgaXMgbnVsbCB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbmRlZmluZWRPck51bGwodmFsdWU6IGFueSk6IHZhbHVlIGlzIHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiBpc1VuZGVmaW5lZCh2YWx1ZSkgfHwgaXNOdWxsKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXk8VCA9IGFueT4odmFsdWU6IGFueSk6IHZhbHVlIGlzIEFycmF5PFQ+IHtcbiAgICByZXR1cm4gdmFsdWUgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT09ICdbb2JqZWN0IEFycmF5XSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5KHZhbHVlPzogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKGlzVW5kZWZpbmVkT3JOdWxsKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAhdmFsdWUubGVuZ3RoO1xuICAgIH1cbiAgICBjb25zdCB0YWcgPSBiYXNlR2V0VGFnKHZhbHVlKTtcbiAgICBpZiAodGFnID09ICdbb2JqZWN0IE1hcF0nIHx8IHRhZyA9PSAnW29iamVjdCBTZXRdJykge1xuICAgICAgICByZXR1cm4gIXZhbHVlLnNpemU7XG4gICAgfVxuICAgIGZvciAoY29uc3Qga2V5IGluIHZhbHVlKSB7XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwga2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsdWU/OiBhbnkpOiB2YWx1ZSBpcyBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgfHwgKCFpc0FycmF5KHZhbHVlKSAmJiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09PSAnW29iamVjdCBTdHJpbmddJyk7XG59XG5cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgb2JqZWN0IHtcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jztcbn1cblxuZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuICAgIGNvbnN0IGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG4gICAgY29uc3QgdG9TdHJpbmcgPSBvYmplY3RQcm90by50b1N0cmluZztcbiAgICBjb25zdCBzeW1Ub1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnID8gU3ltYm9sLnRvU3RyaW5nVGFnIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgPyAnW29iamVjdCBVbmRlZmluZWRdJyA6ICdbb2JqZWN0IE51bGxdJztcbiAgICB9XG4gICAgaWYgKCEoc3ltVG9TdHJpbmdUYWcgJiYgc3ltVG9TdHJpbmdUYWcgaW4gT2JqZWN0KHZhbHVlKSkpIHtcbiAgICAgICAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgIH1cbiAgICBjb25zdCBpc093biA9IGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIHN5bVRvU3RyaW5nVGFnKTtcbiAgICBjb25zdCB0YWcgPSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgbGV0IHVubWFza2VkID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgICAgdmFsdWVbc3ltVG9TdHJpbmdUYWddID0gdW5kZWZpbmVkO1xuICAgICAgICB1bm1hc2tlZCA9IHRydWU7XG4gICAgfSBjYXRjaCAoZSkge31cblxuICAgIGNvbnN0IHJlc3VsdCA9IHRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgIGlmICh1bm1hc2tlZCkge1xuICAgICAgICBpZiAoaXNPd24pIHtcbiAgICAgICAgICAgIHZhbHVlW3N5bVRvU3RyaW5nVGFnXSA9IHRhZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBudW1iZXIge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IChpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09PSAnW29iamVjdCBOdW1iZXJdJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdCh2YWx1ZTogYW55KTogdmFsdWUgaXMgb2JqZWN0IHtcbiAgICAvLyBBdm9pZCBhIFY4IEpJVCBidWcgaW4gQ2hyb21lIDE5LTIwLlxuICAgIC8vIFNlZSBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9MjI5MSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgcmV0dXJuICEhdmFsdWUgJiYgKHR5cGUgPT09ICdvYmplY3QnIHx8IHR5cGUgPT09ICdmdW5jdGlvbicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZTogYW55KTogdmFsdWUgaXMgRnVuY3Rpb24ge1xuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgcmV0dXJuICEhdmFsdWUgJiYgdHlwZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgRGF0ZSB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICByZXR1cm4gISF2YWx1ZSAmJiB0eXBlID09PSAnb2JqZWN0JyAmJiAhIXZhbHVlLmdldFRpbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWU6IGFueSk6IHZhbHVlIGlzIGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UgfHwgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT09ICdbb2JqZWN0IEJvb2xlYW5dJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1RlbXBsYXRlUmVmPEMgPSBhbnk+KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBUZW1wbGF0ZVJlZjxDPiB7XG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0hUTUxFbGVtZW50KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VsZW1lbnRSZWYodmFsdWU6IGFueSk6IHZhbHVlIGlzIEVsZW1lbnRSZWYge1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnRSZWY7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Zvcm1FbGVtZW50PFQgPSBFbGVtZW50PihlbGVtZW50T3JSZWY6IEVsZW1lbnRSZWY8VD4gfCBUKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoZWxlbWVudE9yUmVmKTtcbiAgICBpZiAoIShlbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCB0eXBlID0gKGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0eXBlJykgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgbmFtZSA9PT0gJ3NlbGVjdCcgfHxcbiAgICAgICAgbmFtZSA9PT0gJ3RleHRhcmVhJyB8fFxuICAgICAgICAobmFtZSA9PT0gJ2lucHV0JyAmJiB0eXBlICE9PSAnc3VibWl0JyAmJiB0eXBlICE9PSAncmVzZXQnICYmIHR5cGUgIT09ICdjaGVja2JveCcgJiYgdHlwZSAhPT0gJ3JhZGlvJyAmJiB0eXBlICE9PSAnZmlsZScpIHx8XG4gICAgICAgIGVsZW1lbnQuaXNDb250ZW50RWRpdGFibGVcbiAgICApO1xufVxuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -4,4 +4,6 @@
|
|
|
4
4
|
export * from '@tethys/cdk/is';
|
|
5
5
|
export * from '@tethys/cdk/logger';
|
|
6
6
|
export * from '@tethys/cdk/immutable';
|
|
7
|
-
|
|
7
|
+
export * from '@tethys/cdk/event';
|
|
8
|
+
export * from '@tethys/cdk/hotkey';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Nkay9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjZGtcbiAqL1xuXG5leHBvcnQgKiBmcm9tICdAdGV0aHlzL2Nkay9pcyc7XG5leHBvcnQgKiBmcm9tICdAdGV0aHlzL2Nkay9sb2dnZXInO1xuZXhwb3J0ICogZnJvbSAnQHRldGh5cy9jZGsvaW1tdXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJ0B0ZXRoeXMvY2RrL2V2ZW50JztcbmV4cG9ydCAqIGZyb20gJ0B0ZXRoeXMvY2RrL2hvdGtleSc7XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NgZone } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { ThyEventDispatcher } from './event-dispatcher';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ThyClickDispatcher extends ThyEventDispatcher {
|
|
6
|
+
constructor(document: any, ngZone: NgZone);
|
|
7
|
+
clicked(auditTimeInMs?: number): Observable<Event>;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThyClickDispatcher, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ThyClickDispatcher>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Observable, Subscription } from 'rxjs';
|
|
2
|
+
import { NgZone, OnDestroy } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare abstract class ThyEventDispatcher<T = Event> implements OnDestroy {
|
|
5
|
+
protected document: Document;
|
|
6
|
+
private ngZone;
|
|
7
|
+
private eventName;
|
|
8
|
+
private _globalSubscription;
|
|
9
|
+
private _event$;
|
|
10
|
+
private _subscriptionCount;
|
|
11
|
+
private _addGlobalListener;
|
|
12
|
+
private _removeGlobalListener;
|
|
13
|
+
get globalSubscription(): Subscription;
|
|
14
|
+
constructor(document: Document, ngZone: NgZone, eventName: string);
|
|
15
|
+
protected subscribe(auditTimeInMs?: number): Observable<T>;
|
|
16
|
+
ngOnDestroy(): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThyEventDispatcher<any>, never>;
|
|
18
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ThyEventDispatcher<any>, never, never, {}, {}, never, never, false>;
|
|
19
|
+
}
|
package/event/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NgZone } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { ThyEventDispatcher } from './event-dispatcher';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ThyKeyboardDispatcher extends ThyEventDispatcher {
|
|
6
|
+
constructor(document: any, ngZone: NgZone);
|
|
7
|
+
keydown(auditTimeInMs?: number): Observable<Event>;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThyKeyboardDispatcher, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ThyKeyboardDispatcher>;
|
|
10
|
+
}
|