Browse Source

feature(tenant-management): add debounce event modifier to search input

pull/1601/head
TheDiaval 7 years ago
parent
commit
b8b3289859
  1. 2
      npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html
  2. 14
      npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts

2
npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html

@ -27,7 +27,7 @@
type="search" type="search"
class="form-control form-control-sm" class="form-control form-control-sm"
[placeholder]="'AbpUi::PagerSearch' | abpLocalization" [placeholder]="'AbpUi::PagerSearch' | abpLocalization"
(input)="search$.next($event.target.value)" (input.debounce)="onSearch($event.target.value)"
/></label> /></label>
</div> </div>
<p-table <p-table

14
npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts

@ -1,6 +1,6 @@
import { ABP } from '@abp/ng.core'; import { ABP } from '@abp/ng.core';
import { ConfirmationService, Toaster } from '@abp/ng.theme.shared'; import { ConfirmationService, Toaster } from '@abp/ng.theme.shared';
import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; import { Component, TemplateRef, ViewChild } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { Select, Store } from '@ngxs/store'; import { Select, Store } from '@ngxs/store';
import { Observable, Subject } from 'rxjs'; import { Observable, Subject } from 'rxjs';
@ -25,7 +25,7 @@ type SelectedModalContent = {
selector: 'abp-tenants', selector: 'abp-tenants',
templateUrl: './tenants.component.html', templateUrl: './tenants.component.html',
}) })
export class TenantsComponent implements OnInit { export class TenantsComponent {
@Select(TenantManagementState.get) @Select(TenantManagementState.get)
data$: Observable<ABP.BasicItem[]>; data$: Observable<ABP.BasicItem[]>;
@ -52,8 +52,6 @@ export class TenantsComponent implements OnInit {
loading: boolean = false; loading: boolean = false;
search$ = new Subject<string>();
get useSharedDatabase(): boolean { get useSharedDatabase(): boolean {
return this.defaultConnectionStringForm.get('useSharedDatabase').value; return this.defaultConnectionStringForm.get('useSharedDatabase').value;
} }
@ -75,11 +73,9 @@ export class TenantsComponent implements OnInit {
private store: Store, private store: Store,
) {} ) {}
ngOnInit() { onSearch(value) {
this.search$.pipe(debounceTime(300)).subscribe(value => { this.pageQuery.filter = value;
this.pageQuery.filter = value; this.get();
this.get();
});
} }
private createTenantForm() { private createTenantForm() {

Loading…
Cancel
Save