mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-31 09:37:15 +01:00
#2342 #2358 Autocomplete Adjust DebounceTime Values based on current Section
This commit is contained in:
committed by
Andreas Schickinger
parent
9078c57909
commit
e7eef7f169
@@ -6,7 +6,7 @@ import { catchError, map } from 'rxjs/operators';
|
||||
|
||||
@Injectable()
|
||||
export class ArticleSearchMainAutocompleteProvider extends UiFilterAutocompleteProvider {
|
||||
for = 'main';
|
||||
for = 'catalog';
|
||||
|
||||
constructor(private domainCatalogSearch: DomainCatalogService) {
|
||||
super();
|
||||
|
||||
@@ -168,7 +168,7 @@ export abstract class CustomerSearch implements OnInit, OnDestroy {
|
||||
private initAutocomplete() {
|
||||
this.autocompleteResult$ = this.inputChange$.pipe(
|
||||
takeUntil(this.destroy$),
|
||||
debounceTime(350),
|
||||
debounceTime(300),
|
||||
distinctUntilChanged(),
|
||||
switchMap((queryString) => {
|
||||
if (queryString.length >= 3) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import { catchError, map } from 'rxjs/operators';
|
||||
|
||||
@Injectable()
|
||||
export class GoodsInSearchMainAutocompleteProvider extends UiFilterAutocompleteProvider {
|
||||
for = 'main';
|
||||
for = 'goods-in';
|
||||
|
||||
constructor(private domainGoodsInService: DomainGoodsService) {
|
||||
super();
|
||||
|
||||
@@ -6,7 +6,7 @@ import { catchError, map } from 'rxjs/operators';
|
||||
|
||||
@Injectable()
|
||||
export class GoodsOutSearchMainAutocompleteProvider extends UiFilterAutocompleteProvider {
|
||||
for = 'main';
|
||||
for = 'goods-out';
|
||||
|
||||
constructor(private domainGoodsInService: DomainGoodsService) {
|
||||
super();
|
||||
|
||||
@@ -80,7 +80,7 @@ export class UiFilterInputGroupMainComponent implements OnInit, OnDestroy, After
|
||||
) {}
|
||||
|
||||
ngOnInit() {
|
||||
this._autocompleteProvider = this.autocompleteProviders?.find((provider) => provider.for === 'main');
|
||||
this._autocompleteProvider = this.autocompleteProviders.find((provider) => !!provider);
|
||||
this._scanProvider = this.scanProviders?.find((provider) => provider.for === 'main');
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ export class UiFilterInputGroupMainComponent implements OnInit, OnDestroy, After
|
||||
|
||||
initAutocomplete() {
|
||||
this.autocompleteResults$ = this.complete.asObservable().pipe(
|
||||
debounceTime(350),
|
||||
debounceTime(this._debounceTimeAutocompleteMilliseconds()),
|
||||
distinctUntilChanged(),
|
||||
switchMap(() => this.autocompleteProvider.complete(this.uiInput)),
|
||||
tap((complete) => {
|
||||
@@ -125,4 +125,27 @@ export class UiFilterInputGroupMainComponent implements OnInit, OnDestroy, After
|
||||
setAutocompleteProvider(provider: UiFilterAutocompleteProvider) {
|
||||
this._autocompleteProvider = provider;
|
||||
}
|
||||
|
||||
private _debounceTimeAutocompleteMilliseconds(): number {
|
||||
if (!this.autocompleteProvider) {
|
||||
return;
|
||||
}
|
||||
|
||||
let debounceTimeMilliseconds: number;
|
||||
switch (this.autocompleteProvider.for) {
|
||||
case 'catalog':
|
||||
debounceTimeMilliseconds = 250;
|
||||
break;
|
||||
case 'goods-in':
|
||||
debounceTimeMilliseconds = 300;
|
||||
break;
|
||||
case 'goods-out':
|
||||
debounceTimeMilliseconds = 300;
|
||||
break;
|
||||
default:
|
||||
debounceTimeMilliseconds = 300;
|
||||
break;
|
||||
}
|
||||
return debounceTimeMilliseconds;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user