asksuite-citrus 1.5.7 → 1.5.9
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.
@@ -2,6 +2,7 @@ import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/c
|
|
2
2
|
import { DropdownContainerComponent } from "../components/dropdown-container/dropdown-container.component";
|
3
3
|
import { ComponentPortal } from "@angular/cdk/portal";
|
4
4
|
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
|
5
|
+
import { fromEvent } from "rxjs";
|
5
6
|
import * as i0 from "@angular/core";
|
6
7
|
import * as i1 from "@angular/cdk/overlay";
|
7
8
|
export class AskDropdownDirective {
|
@@ -12,7 +13,10 @@ export class AskDropdownDirective {
|
|
12
13
|
this._destroyRef = _destroyRef;
|
13
14
|
this.dropdownName = '';
|
14
15
|
this.dropdownDisabled = false;
|
16
|
+
this.dropdownOpenOnHover = false;
|
17
|
+
this.mouseThreshold = 300;
|
15
18
|
this.askDropdownOnClose = new EventEmitter();
|
19
|
+
this.mouseLocation = { mouseX: 0, mouseY: 0 };
|
16
20
|
this._isRendered = false;
|
17
21
|
this.overlayConfig = {};
|
18
22
|
this.AVAILABLE_POSITIONS = {
|
@@ -31,7 +35,7 @@ export class AskDropdownDirective {
|
|
31
35
|
const positionStrategy = this.overlayPositionBuilder
|
32
36
|
.flexibleConnectedTo(this.elementRef)
|
33
37
|
.withPositions(this.getOverlayPosition());
|
34
|
-
const scrollStrategy = this.overlay.scrollStrategies.
|
38
|
+
const scrollStrategy = this.overlay.scrollStrategies.reposition();
|
35
39
|
this.overlayConfig = {
|
36
40
|
hasBackdrop: true,
|
37
41
|
backdropClass: 'cdk-overlay-transparent-backdrop',
|
@@ -70,6 +74,19 @@ export class AskDropdownDirective {
|
|
70
74
|
event.stopPropagation();
|
71
75
|
});
|
72
76
|
}
|
77
|
+
showOnHoverIn() {
|
78
|
+
if (this.dropdownOpenOnHover) {
|
79
|
+
this.show();
|
80
|
+
this.mouseLocation = this.onMouseMove(event);
|
81
|
+
this.mouseDistanceSubscription = fromEvent(document.body, 'mousemove').subscribe((e) => {
|
82
|
+
const mouseYCloseOn = Math.abs(this.mouseLocation.mouseY - e.pageY) <= this.mouseThreshold;
|
83
|
+
const mouseXCloseOn = Math.abs(this.mouseLocation.mouseX - e.pageX) <= this.mouseThreshold;
|
84
|
+
if (!(mouseYCloseOn && mouseXCloseOn)) {
|
85
|
+
this.close();
|
86
|
+
}
|
87
|
+
});
|
88
|
+
}
|
89
|
+
}
|
73
90
|
show() {
|
74
91
|
if (!this.askDropdown || this.isRendered || this.dropdownDisabled) {
|
75
92
|
this.close();
|
@@ -77,19 +94,40 @@ export class AskDropdownDirective {
|
|
77
94
|
}
|
78
95
|
this.containerRef = this.overlayRef.attach(new ComponentPortal(DropdownContainerComponent));
|
79
96
|
this.containerRef.instance.content = this.askDropdown;
|
97
|
+
if (this.dropdownOpenOnHover) {
|
98
|
+
this.mouseOutSubscription = fromEvent(this.containerRef.location.nativeElement, 'mouseout')
|
99
|
+
.subscribe((event) => {
|
100
|
+
if (event.relatedTarget?.classList.contains('cdk-overlay-backdrop')) {
|
101
|
+
this.close();
|
102
|
+
}
|
103
|
+
});
|
104
|
+
}
|
80
105
|
this._isRendered = true;
|
81
106
|
}
|
107
|
+
onMouseMove(event) {
|
108
|
+
const location = {
|
109
|
+
mouseX: event.clientX,
|
110
|
+
mouseY: event.pageY
|
111
|
+
};
|
112
|
+
return location;
|
113
|
+
}
|
82
114
|
close() {
|
83
115
|
this.containerRef = undefined;
|
84
116
|
this.overlayRef.detach();
|
85
117
|
this._isRendered = false;
|
86
118
|
this.askDropdownOnClose.emit();
|
119
|
+
if (this.mouseOutSubscription) {
|
120
|
+
this.mouseOutSubscription.unsubscribe();
|
121
|
+
}
|
122
|
+
if (this.mouseDistanceSubscription) {
|
123
|
+
this.mouseDistanceSubscription.unsubscribe();
|
124
|
+
}
|
87
125
|
}
|
88
126
|
get isRendered() {
|
89
127
|
return this._isRendered;
|
90
128
|
}
|
91
129
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AskDropdownDirective, deps: [{ token: i1.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
92
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.6", type: AskDropdownDirective, selector: "[askDropdown]", inputs: { askDropdown: "askDropdown", dropdownName: "dropdownName", positions: "positions", dropdownDisabled: "dropdownDisabled" }, outputs: { askDropdownOnClose: "askDropdownOnClose" }, host: { listeners: { "click": "show()" } }, ngImport: i0 }); }
|
130
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.6", type: AskDropdownDirective, selector: "[askDropdown]", inputs: { askDropdown: "askDropdown", dropdownName: "dropdownName", positions: "positions", dropdownDisabled: "dropdownDisabled", dropdownOpenOnHover: "dropdownOpenOnHover", mouseThreshold: "mouseThreshold" }, outputs: { askDropdownOnClose: "askDropdownOnClose" }, host: { listeners: { "mouseenter": "showOnHoverIn()", "click": "show()" } }, ngImport: i0 }); }
|
93
131
|
}
|
94
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AskDropdownDirective, decorators: [{
|
95
133
|
type: Directive,
|
@@ -104,10 +142,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
104
142
|
type: Input
|
105
143
|
}], dropdownDisabled: [{
|
106
144
|
type: Input
|
145
|
+
}], dropdownOpenOnHover: [{
|
146
|
+
type: Input
|
147
|
+
}], mouseThreshold: [{
|
148
|
+
type: Input
|
107
149
|
}], askDropdownOnClose: [{
|
108
150
|
type: Output
|
151
|
+
}], showOnHoverIn: [{
|
152
|
+
type: HostListener,
|
153
|
+
args: ['mouseenter']
|
109
154
|
}], show: [{
|
110
155
|
type: HostListener,
|
111
156
|
args: ['click']
|
112
157
|
}] } });
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNrLWRyb3Bkb3duLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL2RpcmVjdGl2ZXMvYXNrLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUV6RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7OztBQUs5RCxNQUFNLE9BQU8sb0JBQW9CO0lBcUIvQixZQUNVLHNCQUE4QyxFQUM5QyxVQUFzQixFQUN0QixPQUFnQixFQUNoQixXQUF1QjtRQUh2QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXRCeEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRXhCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0Isa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBSXpCLHdCQUFtQixHQUFvSTtZQUN0SyxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUN2SCxRQUFRLEVBQUUsRUFB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QUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRztZQUNsRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksZUFBZSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN0RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7OEdBNUdVLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjtxTEFHVSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNO2dCQWlGQSxJQUFJO3NCQURWLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgRGVzdHJveVJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEcm9wZG93bkNvbnRhaW5lckNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvZHJvcGRvd24tY29udGFpbmVyL2Ryb3Bkb3duLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmltcG9ydCB7Q29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsIE92ZXJsYXlSZWZ9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHtDb21wb25lbnRQb3J0YWx9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thc2tEcm9wZG93bl0nXG59KVxuZXhwb3J0IGNsYXNzIEFza0Ryb3Bkb3duRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBhc2tEcm9wZG93bj86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGRyb3Bkb3duTmFtZSA9ICcnO1xuICBASW5wdXQoKSBwb3NpdGlvbnM/OiBBcnJheTxDb25uZWN0ZWRQb3NpdGlvbj4gfCAnVE9QX1JJR0hUJyB8ICdUT1BfTEVGVCcgfCAnQk9UVE9NX1JJR0hUJyB8ICdCT1RUT01fTEVGVCc7XG4gIEBJbnB1dCgpIGRyb3Bkb3duRGlzYWJsZWQgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgYXNrRHJvcGRvd25PbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgX2lzUmVuZGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBvdmVybGF5Q29uZmlnOiBPdmVybGF5Q29uZmlnID0ge307XG4gIHByaXZhdGUgb3ZlcmxheVJlZiE6IE92ZXJsYXlSZWY7XG4gIHByaXZhdGUgY29udGFpbmVyUmVmITogQ29tcG9uZW50UmVmPERyb3Bkb3duQ29udGFpbmVyQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIHJlYWRvbmx5IEFWQUlMQUJMRV9QT1NJVElPTlM6IHsgVE9QX1JJR0hUOiBDb25uZWN0ZWRQb3NpdGlvbjsgVE9QX0xFRlQ6IENvbm5lY3RlZFBvc2l0aW9uOyBCT1RUT01fUklHSFQ6IENvbm5lY3RlZFBvc2l0aW9uOyBCT1RUT01fTEVGVDogQ29ubmVjdGVkUG9zaXRpb247IH0gPSB7XG4gICAgVE9QX1JJR0hUOiB7IHBhbmVsQ2xhc3M6ICdhc2stZHJvcGRvd24tdG9wLXJpZ2h0Jywgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnIH0sXG4gICAgVE9QX0xFRlQ6IHsgcGFuZWxDbGFzczogJ2Fzay1kcm9wZG93bi10b3AtbGVmdCcsIG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIEJPVFRPTV9SSUdIVDogeyBwYW5lbENsYXNzOiAnYXNrLWRyb3Bkb3duLWJvdHRvbS1yaWdodCcsIG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICBCT1RUT01fTEVGVDogeyBwYW5lbENsYXNzOiAnYXNrLWRyb3Bkb3duLWJvdHRvbS1sZWZ0Jywgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRPdmVybGF5Q29uZmlnKCk7XG4gICAgdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgdGhpcy5saXN0ZW5PdXRzaWRlQ2xpY2tzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldE92ZXJsYXlDb25maWcoKSB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVBvc2l0aW9uQnVpbGRlclxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKVxuICAgICAgLndpdGhQb3NpdGlvbnModGhpcy5nZXRPdmVybGF5UG9zaXRpb24oKSk7XG5cbiAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCk7XG5cbiAgICB0aGlzLm92ZXJsYXlDb25maWcgPSB7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3lcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUodGhpcy5vdmVybGF5Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheVBvc2l0aW9uKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuICAgIGlmICh0aGlzLnBvc2l0aW9ucykge1xuICAgICAgbGV0IGNob3NlblBvc2l0aW9uczogQXJyYXk8Q29ubmVjdGVkUG9zaXRpb24+ID0gW107XG5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3NpdGlvbnMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNob3NlblBvc2l0aW9ucy5wdXNoKHRoaXMuQVZBSUxBQkxFX1BPU0lUSU9OU1t0aGlzLnBvc2l0aW9uc10pO1xuICAgICAgfVxuXG4gICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMucG9zaXRpb25zKSkge1xuICAgICAgICBjaG9zZW5Qb3NpdGlvbnMgPSBbLi4udGhpcy5wb3NpdGlvbnNdO1xuICAgICAgfVxuXG4gICAgICBjaG9zZW5Qb3NpdGlvbnMgPSBjaG9zZW5Qb3NpdGlvbnMuZmlsdGVyKHAgPT4gISFwKTtcblxuICAgICAgaWYgKGNob3NlblBvc2l0aW9ucy5sZW5ndGgpIHJldHVybiBjaG9zZW5Qb3NpdGlvbnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuQVZBSUxBQkxFX1BPU0lUSU9OUy5CT1RUT01fUklHSFQsXG4gICAgICB0aGlzLkFWQUlMQUJMRV9QT1NJVElPTlMuQk9UVE9NX0xFRlQsXG4gICAgICB0aGlzLkFWQUlMQUJMRV9QT1NJVElPTlMuVE9QX1JJR0hULFxuICAgICAgdGhpcy5BVkFJTEFCTEVfUE9TSVRJT05TLlRPUF9MRUZULFxuICAgIF1cbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuT3V0c2lkZUNsaWNrcygpIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB9KVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBwdWJsaWMgc2hvdygpIHtcbiAgICBpZiAoIXRoaXMuYXNrRHJvcGRvd24gfHwgdGhpcy5pc1JlbmRlcmVkIHx8IHRoaXMuZHJvcGRvd25EaXNhYmxlZCApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRhaW5lclJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChEcm9wZG93bkNvbnRhaW5lckNvbXBvbmVudCkpO1xuICAgIHRoaXMuY29udGFpbmVyUmVmLmluc3RhbmNlLmNvbnRlbnQgPSB0aGlzLmFza0Ryb3Bkb3duO1xuICAgIHRoaXMuX2lzUmVuZGVyZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCkge1xuICAgIHRoaXMuY29udGFpbmVyUmVmID0gdW5kZWZpbmVkO1xuICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICB0aGlzLl9pc1JlbmRlcmVkID0gZmFsc2U7XG4gICAgdGhpcy5hc2tEcm9wZG93bk9uQ2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1JlbmRlcmVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pc1JlbmRlcmVkO1xuICB9XG5cbn1cbiJdfQ==
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNrLWRyb3Bkb3duLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fza3N1aXRlLWNpdHJ1cy9zcmMvbGliL2RpcmVjdGl2ZXMvYXNrLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUV6RyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFNBQVMsRUFBMkIsTUFBTSxNQUFNLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sb0JBQW9CO0lBd0IvQixZQUNVLHNCQUE4QyxFQUM5QyxVQUFzQixFQUN0QixPQUFnQixFQUNoQixXQUF1QjtRQUh2QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXpCeEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUNyQyxtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNwQix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFDLGtCQUFhLEdBQXFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFDekUsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0Isa0JBQWEsR0FBa0IsRUFBRSxD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QUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDOzhHQXRKVSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7cUxBR1UsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFtRkEsYUFBYTtzQkFEbkIsWUFBWTt1QkFBQyxZQUFZO2dCQWtCbkIsSUFBSTtzQkFEVixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RHJvcGRvd25Db250YWluZXJDb21wb25lbnR9IGZyb20gXCIuLi9jb21wb25lbnRzL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi1jb250YWluZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0Nvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBPdmVybGF5UmVmfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuaW1wb3J0IHtmcm9tRXZlbnQsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Fza0Ryb3Bkb3duXSdcbn0pXG5leHBvcnQgY2xhc3MgQXNrRHJvcGRvd25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGFza0Ryb3Bkb3duPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgZHJvcGRvd25OYW1lID0gJyc7XG4gIEBJbnB1dCgpIHBvc2l0aW9ucz86IEFycmF5PENvbm5lY3RlZFBvc2l0aW9uPiB8ICdUT1BfUklHSFQnIHwgJ1RPUF9MRUZUJyB8ICdCT1RUT01fUklHSFQnIHwgJ0JPVFRPTV9MRUZUJztcbiAgQElucHV0KCkgZHJvcGRvd25EaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkcm9wZG93bk9wZW5PbkhvdmVyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1vdXNlVGhyZXNob2xkID0gMzAwO1xuICBAT3V0cHV0KCkgYXNrRHJvcGRvd25PbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwcml2YXRlIG1vdXNlTG9jYXRpb246IHttb3VzZVg6IG51bWJlcjsgbW91c2VZOiBudW1iZXJ9ID0ge21vdXNlWDogMCwgbW91c2VZOiAwfTtcbiAgcHJpdmF0ZSBfaXNSZW5kZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIG92ZXJsYXlDb25maWc6IE92ZXJsYXlDb25maWcgPSB7fTtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmITogT3ZlcmxheVJlZjtcbiAgcHJpdmF0ZSBjb250YWluZXJSZWYhOiBDb21wb25lbnRSZWY8RHJvcGRvd25Db250YWluZXJDb21wb25lbnQ+IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIG1vdXNlT3V0U3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIG1vdXNlRGlzdGFuY2VTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBBVkFJTEFCTEVfUE9TSVRJT05TOiB7IFRPUF9SSUdIVDogQ29ubmVjdGVkUG9zaXRpb247IFRPUF9MRUZUOiBDb25uZWN0ZWRQb3NpdGlvbjsgQk9UVE9NX1JJR0hUOiBDb25uZWN0ZWRQb3NpdGlvbjsgQk9UVE9NX0xFRlQ6IENvbm5lY3RlZFBvc2l0aW9uOyB9ID0ge1xuICAgIFRPUF9SSUdIVDogeyBwYW5lbENsYXNzOiAnYXNrLWRyb3Bkb3duLXRvcC1yaWdodCcsIG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIFRPUF9MRUZUOiB7IHBhbmVsQ2xhc3M6ICdhc2stZHJvcGRvd24tdG9wLWxlZnQnLCBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICBCT1RUT01fUklHSFQ6IHsgcGFuZWxDbGFzczogJ2Fzay1kcm9wZG93bi1ib3R0b20tcmlnaHQnLCBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnIH0sXG4gICAgQk9UVE9NX0xFRlQ6IHsgcGFuZWxDbGFzczogJ2Fzay1kcm9wZG93bi1ib3R0b20tbGVmdCcsIG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnIH0sXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXlQb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF9kZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0T3ZlcmxheUNvbmZpZygpO1xuICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgIHRoaXMubGlzdGVuT3V0c2lkZUNsaWNrcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRPdmVybGF5Q29uZmlnKCkge1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXJcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZilcbiAgICAgIC53aXRoUG9zaXRpb25zKHRoaXMuZ2V0T3ZlcmxheVBvc2l0aW9uKCkpO1xuXG4gICAgY29uc3Qgc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG5cbiAgICB0aGlzLm92ZXJsYXlDb25maWcgPSB7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3lcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUodGhpcy5vdmVybGF5Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheVBvc2l0aW9uKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xuICAgIGlmICh0aGlzLnBvc2l0aW9ucykge1xuICAgICAgbGV0IGNob3NlblBvc2l0aW9uczogQXJyYXk8Q29ubmVjdGVkUG9zaXRpb24+ID0gW107XG5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3NpdGlvbnMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNob3NlblBvc2l0aW9ucy5wdXNoKHRoaXMuQVZBSUxBQkxFX1BPU0lUSU9OU1t0aGlzLnBvc2l0aW9uc10pO1xuICAgICAgfVxuXG4gICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMucG9zaXRpb25zKSkge1xuICAgICAgICBjaG9zZW5Qb3NpdGlvbnMgPSBbLi4udGhpcy5wb3NpdGlvbnNdO1xuICAgICAgfVxuXG4gICAgICBjaG9zZW5Qb3NpdGlvbnMgPSBjaG9zZW5Qb3NpdGlvbnMuZmlsdGVyKHAgPT4gISFwKTtcblxuICAgICAgaWYgKGNob3NlblBvc2l0aW9ucy5sZW5ndGgpIHJldHVybiBjaG9zZW5Qb3NpdGlvbnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuQVZBSUxBQkxFX1BPU0lUSU9OUy5CT1RUT01fUklHSFQsXG4gICAgICB0aGlzLkFWQUlMQUJMRV9QT1NJVElPTlMuQk9UVE9NX0xFRlQsXG4gICAgICB0aGlzLkFWQUlMQUJMRV9QT1NJVElPTlMuVE9QX1JJR0hULFxuICAgICAgdGhpcy5BVkFJTEFCTEVfUE9TSVRJT05TLlRPUF9MRUZULFxuICAgIF1cbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuT3V0c2lkZUNsaWNrcygpIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB9KVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIHB1YmxpYyBzaG93T25Ib3ZlckluKCkge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duT3Blbk9uSG92ZXIpIHtcblxuICAgICAgdGhpcy5zaG93KCk7XG4gICAgICB0aGlzLm1vdXNlTG9jYXRpb24gPSB0aGlzLm9uTW91c2VNb3ZlKGV2ZW50KVxuICAgICAgdGhpcy5tb3VzZURpc3RhbmNlU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KGRvY3VtZW50LmJvZHksICdtb3VzZW1vdmUnKS5zdWJzY3JpYmUoKGU6IGFueSkgPT4ge1xuXG4gICAgICAgIGNvbnN0IG1vdXNlWUNsb3NlT24gPSBNYXRoLmFicyh0aGlzLm1vdXNlTG9jYXRpb24ubW91c2VZIC0gZS5wYWdlWSkgPD0gdGhpcy5tb3VzZVRocmVzaG9sZDtcbiAgICAgICAgY29uc3QgbW91c2VYQ2xvc2VPbiA9IE1hdGguYWJzKHRoaXMubW91c2VMb2NhdGlvbi5tb3VzZVggLSBlLnBhZ2VYKSA8PSB0aGlzLm1vdXNlVGhyZXNob2xkO1xuICAgICAgICBpZiAoIShtb3VzZVlDbG9zZU9uICYmIG1vdXNlWENsb3NlT24pKXtcbiAgICAgICAgICB0aGlzLmNsb3NlKCk7XG5cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHVibGljIHNob3coKSB7XG4gICAgaWYgKCF0aGlzLmFza0Ryb3Bkb3duIHx8IHRoaXMuaXNSZW5kZXJlZCB8fCB0aGlzLmRyb3Bkb3duRGlzYWJsZWQgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jb250YWluZXJSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBDb21wb25lbnRQb3J0YWwoRHJvcGRvd25Db250YWluZXJDb21wb25lbnQpKTtcbiAgICB0aGlzLmNvbnRhaW5lclJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5hc2tEcm9wZG93bjtcbiAgICBpZiAodGhpcy5kcm9wZG93bk9wZW5PbkhvdmVyKSB7XG4gICAgICB0aGlzLm1vdXNlT3V0U3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHRoaXMuY29udGFpbmVyUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICdtb3VzZW91dCcpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQucmVsYXRlZFRhcmdldD8uY2xhc3NMaXN0LmNvbnRhaW5zKCdjZGstb3ZlcmxheS1iYWNrZHJvcCcpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5faXNSZW5kZXJlZCA9IHRydWU7XG4gIH1cbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50OiBhbnkpOiB7bW91c2VYOiBudW1iZXI7IG1vdXNlWTogbnVtYmVyfSB7XG4gICAgY29uc3QgbG9jYXRpb24gPSB7XG4gICAgICBtb3VzZVg6IGV2ZW50LmNsaWVudFgsXG4gICAgICBtb3VzZVk6IGV2ZW50LnBhZ2VZXG4gICAgfVxuXG4gICAgcmV0dXJuIGxvY2F0aW9uO1xuICB9XG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICB0aGlzLmNvbnRhaW5lclJlZiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgdGhpcy5faXNSZW5kZXJlZCA9IGZhbHNlO1xuICAgIHRoaXMuYXNrRHJvcGRvd25PbkNsb3NlLmVtaXQoKTtcblxuICAgIGlmICh0aGlzLm1vdXNlT3V0U3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLm1vdXNlT3V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1vdXNlRGlzdGFuY2VTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMubW91c2VEaXN0YW5jZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNSZW5kZXJlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNSZW5kZXJlZDtcbiAgfVxuXG59XG4iXX0=
|
@@ -6,7 +6,7 @@ import * as i1$2 from '@angular/material/tooltip';
|
|
6
6
|
import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
|
7
7
|
import * as i1$1 from '@angular/forms';
|
8
8
|
import { NG_VALUE_ACCESSOR, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
9
|
-
import { debounceTime, tap, map, Subject } from 'rxjs';
|
9
|
+
import { debounceTime, tap, map, fromEvent, Subject } from 'rxjs';
|
10
10
|
import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
|
11
11
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
12
12
|
import * as i1$3 from '@angular/cdk/overlay';
|
@@ -1592,7 +1592,10 @@ class AskDropdownDirective {
|
|
1592
1592
|
this._destroyRef = _destroyRef;
|
1593
1593
|
this.dropdownName = '';
|
1594
1594
|
this.dropdownDisabled = false;
|
1595
|
+
this.dropdownOpenOnHover = false;
|
1596
|
+
this.mouseThreshold = 300;
|
1595
1597
|
this.askDropdownOnClose = new EventEmitter();
|
1598
|
+
this.mouseLocation = { mouseX: 0, mouseY: 0 };
|
1596
1599
|
this._isRendered = false;
|
1597
1600
|
this.overlayConfig = {};
|
1598
1601
|
this.AVAILABLE_POSITIONS = {
|
@@ -1611,7 +1614,7 @@ class AskDropdownDirective {
|
|
1611
1614
|
const positionStrategy = this.overlayPositionBuilder
|
1612
1615
|
.flexibleConnectedTo(this.elementRef)
|
1613
1616
|
.withPositions(this.getOverlayPosition());
|
1614
|
-
const scrollStrategy = this.overlay.scrollStrategies.
|
1617
|
+
const scrollStrategy = this.overlay.scrollStrategies.reposition();
|
1615
1618
|
this.overlayConfig = {
|
1616
1619
|
hasBackdrop: true,
|
1617
1620
|
backdropClass: 'cdk-overlay-transparent-backdrop',
|
@@ -1650,6 +1653,19 @@ class AskDropdownDirective {
|
|
1650
1653
|
event.stopPropagation();
|
1651
1654
|
});
|
1652
1655
|
}
|
1656
|
+
showOnHoverIn() {
|
1657
|
+
if (this.dropdownOpenOnHover) {
|
1658
|
+
this.show();
|
1659
|
+
this.mouseLocation = this.onMouseMove(event);
|
1660
|
+
this.mouseDistanceSubscription = fromEvent(document.body, 'mousemove').subscribe((e) => {
|
1661
|
+
const mouseYCloseOn = Math.abs(this.mouseLocation.mouseY - e.pageY) <= this.mouseThreshold;
|
1662
|
+
const mouseXCloseOn = Math.abs(this.mouseLocation.mouseX - e.pageX) <= this.mouseThreshold;
|
1663
|
+
if (!(mouseYCloseOn && mouseXCloseOn)) {
|
1664
|
+
this.close();
|
1665
|
+
}
|
1666
|
+
});
|
1667
|
+
}
|
1668
|
+
}
|
1653
1669
|
show() {
|
1654
1670
|
if (!this.askDropdown || this.isRendered || this.dropdownDisabled) {
|
1655
1671
|
this.close();
|
@@ -1657,19 +1673,40 @@ class AskDropdownDirective {
|
|
1657
1673
|
}
|
1658
1674
|
this.containerRef = this.overlayRef.attach(new ComponentPortal(DropdownContainerComponent));
|
1659
1675
|
this.containerRef.instance.content = this.askDropdown;
|
1676
|
+
if (this.dropdownOpenOnHover) {
|
1677
|
+
this.mouseOutSubscription = fromEvent(this.containerRef.location.nativeElement, 'mouseout')
|
1678
|
+
.subscribe((event) => {
|
1679
|
+
if (event.relatedTarget?.classList.contains('cdk-overlay-backdrop')) {
|
1680
|
+
this.close();
|
1681
|
+
}
|
1682
|
+
});
|
1683
|
+
}
|
1660
1684
|
this._isRendered = true;
|
1661
1685
|
}
|
1686
|
+
onMouseMove(event) {
|
1687
|
+
const location = {
|
1688
|
+
mouseX: event.clientX,
|
1689
|
+
mouseY: event.pageY
|
1690
|
+
};
|
1691
|
+
return location;
|
1692
|
+
}
|
1662
1693
|
close() {
|
1663
1694
|
this.containerRef = undefined;
|
1664
1695
|
this.overlayRef.detach();
|
1665
1696
|
this._isRendered = false;
|
1666
1697
|
this.askDropdownOnClose.emit();
|
1698
|
+
if (this.mouseOutSubscription) {
|
1699
|
+
this.mouseOutSubscription.unsubscribe();
|
1700
|
+
}
|
1701
|
+
if (this.mouseDistanceSubscription) {
|
1702
|
+
this.mouseDistanceSubscription.unsubscribe();
|
1703
|
+
}
|
1667
1704
|
}
|
1668
1705
|
get isRendered() {
|
1669
1706
|
return this._isRendered;
|
1670
1707
|
}
|
1671
1708
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AskDropdownDirective, deps: [{ token: i1$3.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i1$3.Overlay }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
1672
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.6", type: AskDropdownDirective, selector: "[askDropdown]", inputs: { askDropdown: "askDropdown", dropdownName: "dropdownName", positions: "positions", dropdownDisabled: "dropdownDisabled" }, outputs: { askDropdownOnClose: "askDropdownOnClose" }, host: { listeners: { "click": "show()" } }, ngImport: i0 }); }
|
1709
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.6", type: AskDropdownDirective, selector: "[askDropdown]", inputs: { askDropdown: "askDropdown", dropdownName: "dropdownName", positions: "positions", dropdownDisabled: "dropdownDisabled", dropdownOpenOnHover: "dropdownOpenOnHover", mouseThreshold: "mouseThreshold" }, outputs: { askDropdownOnClose: "askDropdownOnClose" }, host: { listeners: { "mouseenter": "showOnHoverIn()", "click": "show()" } }, ngImport: i0 }); }
|
1673
1710
|
}
|
1674
1711
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AskDropdownDirective, decorators: [{
|
1675
1712
|
type: Directive,
|
@@ -1684,8 +1721,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
1684
1721
|
type: Input
|
1685
1722
|
}], dropdownDisabled: [{
|
1686
1723
|
type: Input
|
1724
|
+
}], dropdownOpenOnHover: [{
|
1725
|
+
type: Input
|
1726
|
+
}], mouseThreshold: [{
|
1727
|
+
type: Input
|
1687
1728
|
}], askDropdownOnClose: [{
|
1688
1729
|
type: Output
|
1730
|
+
}], showOnHoverIn: [{
|
1731
|
+
type: HostListener,
|
1732
|
+
args: ['mouseenter']
|
1689
1733
|
}], show: [{
|
1690
1734
|
type: HostListener,
|
1691
1735
|
args: ['click']
|