From fa9af027db1fd23bd6f50b44b33ce155a73b09d8 Mon Sep 17 00:00:00 2001 From: anandtiwary <52081890+anandtiwary@users.noreply.github.com> Date: Tue, 3 Nov 2020 17:33:15 -0800 Subject: [PATCH] refactor: adding a debouce to table datasource --- projects/components/src/table/data/table-cdk-data-source.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/components/src/table/data/table-cdk-data-source.ts b/projects/components/src/table/data/table-cdk-data-source.ts index 03ef8e194..e7e6d160e 100644 --- a/projects/components/src/table/data/table-cdk-data-source.ts +++ b/projects/components/src/table/data/table-cdk-data-source.ts @@ -1,7 +1,7 @@ import { DataSource } from '@angular/cdk/collections'; import { forkJoinSafeEmpty, isEqualIgnoreFunctions, RequireBy, sortUnknown } from '@hypertrace/common'; import { combineLatest, NEVER, Observable, of, Subject, throwError } from 'rxjs'; -import { catchError, map, mergeMap, startWith, switchMap, tap } from 'rxjs/operators'; +import { catchError, map, mergeMap, startWith, switchMap, tap, debounceTime } from 'rxjs/operators'; import { PageEvent } from '../../paginator/page.event'; import { PaginationProvider } from '../../paginator/paginator-api'; import { RowStateChange, StatefulTableRow, StatefulTreeTableRow, TableFilter, TableRow } from '../table-api'; @@ -54,6 +54,7 @@ export class TableCdkDataSource implements DataSource { this.buildChangeObservable() .pipe( tap(() => this.loadingStateSubject.next({ loading$: NEVER })), + debounceTime(100), mergeMap(([columnConfigs, pageEvent, filters, changedColumn, changedRow]) => this.buildDataObservable(columnConfigs, pageEvent, filters, changedColumn, changedRow) )