@@ -66,10 +67,9 @@ export class SearchInputComponent implements OnInit {
}
}
- @HostListener('document:click', ['$event'])
- click(event) {
- if(event.isTrusted && this.expandable && !this.disabled) {
- this.expand(this.searchInput && this.searchInput.nativeElement.contains(event.target));
+ click(event: ClickEvent) {
+ if(this.expandable && !this.disabled) {
+ this.expand(!event.clicked);
}
}
diff --git a/sharedComponents/search-input/search-input.module.ts b/sharedComponents/search-input/search-input.module.ts
index 845a0f77..4097c05d 100644
--- a/sharedComponents/search-input/search-input.module.ts
+++ b/sharedComponents/search-input/search-input.module.ts
@@ -4,9 +4,10 @@ import {SearchInputComponent} from './search-input.component';
import {MatAutocompleteModule} from '@angular/material/autocomplete';
import {IconsModule} from '../../utils/icons/icons.module';
import {InputModule} from "../input/input.module";
+import {ClickModule} from "../../utils/click/click.module";
@NgModule({
- imports: [SharedModule, MatAutocompleteModule, IconsModule, InputModule],
+ imports: [SharedModule, MatAutocompleteModule, IconsModule, InputModule, ClickModule],
declarations: [SearchInputComponent],
exports: [SearchInputComponent]
})
diff --git a/utils/click/click-outside-or-esc.directive.ts b/utils/click/click-outside-or-esc.directive.ts
index 420d48fa..48b906d1 100644
--- a/utils/click/click-outside-or-esc.directive.ts
+++ b/utils/click/click-outside-or-esc.directive.ts
@@ -1,79 +1,35 @@
-import {Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';
-import {fromEvent, Subscriber} from 'rxjs';
-import {delay, tap} from 'rxjs/operators';
+import {Directive, ElementRef, EventEmitter, HostListener, Output} from '@angular/core';
+
+export interface ClickEvent {
+ event: any,
+ clicked: boolean;
+}
@Directive({
selector: '[click-outside-or-esc]'
})
+export class ClickOutsideOrEsc {
+ @Output('clickOutside') clickOutside: EventEmitter
= new EventEmitter();
-export class ClickOutsideOrEsc implements OnInit, OnDestroy {
- private listening: boolean;
- private subscriptions: any[] = [];
- @Input()
- public targetId = null;
- @Input()
- public escClose = true;
- @Input()
- public clickClose = true;
- @Output('clickOutside') clickOutside: EventEmitter