diff options
author | crupest <crupest@outlook.com> | 2019-04-13 13:03:18 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-04-13 13:03:18 +0800 |
commit | 72890735ced2edc8ccecfed811393e951de5c091 (patch) | |
tree | 39cf181a18a3dc443dbab5669a04d0a23cdefd00 /Timeline/ClientApp/src/app/utilities/debounce-click.directive.ts | |
parent | 19cae15eba2bcede41b818e1b8ab7fd5ac92eb05 (diff) | |
download | timeline-72890735ced2edc8ccecfed811393e951de5c091.tar.gz timeline-72890735ced2edc8ccecfed811393e951de5c091.tar.bz2 timeline-72890735ced2edc8ccecfed811393e951de5c091.zip |
Init separate.
Diffstat (limited to 'Timeline/ClientApp/src/app/utilities/debounce-click.directive.ts')
-rw-r--r-- | Timeline/ClientApp/src/app/utilities/debounce-click.directive.ts | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/Timeline/ClientApp/src/app/utilities/debounce-click.directive.ts b/Timeline/ClientApp/src/app/utilities/debounce-click.directive.ts deleted file mode 100644 index 1d01b671..00000000 --- a/Timeline/ClientApp/src/app/utilities/debounce-click.directive.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Directive, Output, Input, EventEmitter, ElementRef, OnInit, OnDestroy } from '@angular/core'; -import { fromEvent, Subscription } from 'rxjs'; -import { debounceTime } from 'rxjs/operators'; - -@Directive({ - selector: '[appDebounceClick]' -}) -export class DebounceClickDirective implements OnInit, OnDestroy { - - private subscription: Subscription | undefined; - - @Output('appDebounceClick') clickEvent = new EventEmitter<any>(); - - // tslint:disable-next-line:no-input-rename - @Input('appDebounceClickTime') - set debounceTime(value: number) { - if (this.subscription) { - this.subscription.unsubscribe(); - } - this.subscription = fromEvent(<HTMLElement>this.element.nativeElement, 'click').pipe( - debounceTime(value) - ).subscribe(o => this.clickEvent.emit(o)); - } - - constructor(private element: ElementRef) { - } - - ngOnInit() { - if (!this.subscription) { - this.subscription = fromEvent(<HTMLElement>this.element.nativeElement, 'click').pipe( - debounceTime(500) - ).subscribe(o => this.clickEvent.emit(o)); - } - } - - ngOnDestroy() { - if (this.subscription) { - this.subscription.unsubscribe(); - } - } -} |