Browse Source

avoid debounce when LIST_QUERY_DEBOUNCE_TIME is 0

pull/6824/head
Arman Ozak 6 years ago
parent
commit
186081fcdd
  1. 19
      npm/ng-packs/packages/core/src/lib/services/list.service.ts

19
npm/ng-packs/packages/core/src/lib/services/list.service.ts

@ -1,5 +1,12 @@
import { Inject, Injectable, OnDestroy, Optional } from '@angular/core';
import { BehaviorSubject, Observable, of, ReplaySubject, Subject } from 'rxjs';
import { Injectable, Injector, OnDestroy } from '@angular/core';
import {
BehaviorSubject,
MonoTypeOperatorFunction,
Observable,
of,
ReplaySubject,
Subject,
} from 'rxjs';
import {
catchError,
debounceTime,
@ -68,7 +75,7 @@ export class ListService<QueryParamsType = ABP.PageQueryParams> implements OnDes
get query$(): Observable<QueryParamsType> {
return this._query$
.asObservable()
.pipe(debounceTime(this.delay || 300), shareReplay({ bufferSize: 1, refCount: true }));
.pipe(this.delay, shareReplay({ bufferSize: 1, refCount: true }));
}
private _isLoading$ = new BehaviorSubject(false);
@ -89,7 +96,11 @@ export class ListService<QueryParamsType = ABP.PageQueryParams> implements OnDes
} as any) as QueryParamsType);
};
constructor(@Optional() @Inject(LIST_QUERY_DEBOUNCE_TIME) private delay: number) {
private delay: MonoTypeOperatorFunction<QueryParamsType>;
constructor(injector: Injector) {
const delay = injector.get(LIST_QUERY_DEBOUNCE_TIME, 300);
this.delay = delay ? debounceTime(delay) : tap();
this.get();
}

Loading…
Cancel
Save