瀏覽代碼

[web-app]bugfix: filter is missing when alert-center pageSize change (#97)

tomsun28 3 年之前
父節點
當前提交
589d178586

+ 1 - 1
web-app/src/app/layout/basic/widgets/notify.component.ts

@@ -54,7 +54,7 @@ export class HeaderNotifyComponent implements OnInit {
       return;
     }
     this.loading = true;
-    let loadAlerts$ = this.alertSvc.searchAlerts(0, undefined, undefined, 0, 5).subscribe(
+    let loadAlerts$ = this.alertSvc.loadAlerts(0, undefined, undefined, 0, 5).subscribe(
       message => {
         loadAlerts$.unsubscribe();
         if (message.code === 0) {

+ 2 - 2
web-app/src/app/routes/alert/alert-center/alert-center.component.html

@@ -30,7 +30,7 @@
     <i nz-icon nzType="sync" nzTheme="outline"></i>
   </button>
 
-  <button style="margin-right: 25px; float: right" nz-button nzType="primary" (click)="onFilterSearchAlerts()">
+  <button style="margin-right: 25px; float: right" nz-button nzType="primary" (click)="loadAlertsTable()">
     {{ 'common.search' | i18n }}
   </button>
   <input
@@ -39,7 +39,7 @@
     type="text"
     [placeholder]="'alert.center.search' | i18n"
     nzSize="default"
-    (keyup.enter)="onFilterSearchAlerts()"
+    (keyup.enter)="loadAlertsTable()"
     [(ngModel)]="filterContent"
   />
   <nz-select

+ 9 - 34
web-app/src/app/routes/alert/alert-center/alert-center.component.ts

@@ -36,13 +36,16 @@ export class AlertCenterComponent implements OnInit {
     this.loadAlertsTable();
   }
 
-  onFilterSearchAlerts() {
+  sync() {
+    this.loadAlertsTable();
+  }
+
+  loadAlertsTable() {
     this.tableLoading = true;
-    let filterAlerts$ = this.alertSvc
-      .searchAlerts(this.filterStatus, this.filterPriority, this.filterContent, this.pageIndex - 1, this.pageSize)
+    let alertsInit$ = this.alertSvc
+      .loadAlerts(this.filterStatus, this.filterPriority, this.filterContent, this.pageIndex - 1, this.pageSize)
       .subscribe(
         message => {
-          filterAlerts$.unsubscribe();
           this.tableLoading = false;
           this.checkedAll = false;
           this.checkedAlertIds.clear();
@@ -54,44 +57,16 @@ export class AlertCenterComponent implements OnInit {
           } else {
             console.warn(message.msg);
           }
+          alertsInit$.unsubscribe();
         },
         error => {
           this.tableLoading = false;
-          filterAlerts$.unsubscribe();
+          alertsInit$.unsubscribe();
           console.error(error.msg);
         }
       );
   }
 
-  sync() {
-    this.loadAlertsTable();
-  }
-
-  loadAlertsTable() {
-    this.tableLoading = true;
-    let alertsInit$ = this.alertSvc.getAlerts(this.pageIndex - 1, this.pageSize).subscribe(
-      message => {
-        this.tableLoading = false;
-        this.checkedAll = false;
-        this.checkedAlertIds.clear();
-        if (message.code === 0) {
-          let page = message.data;
-          this.alerts = page.content;
-          this.pageIndex = page.number + 1;
-          this.total = page.totalElements;
-        } else {
-          console.warn(message.msg);
-        }
-        alertsInit$.unsubscribe();
-      },
-      error => {
-        this.tableLoading = false;
-        alertsInit$.unsubscribe();
-        console.error(error.msg);
-      }
-    );
-  }
-
   onDeleteAlerts() {
     if (this.checkedAlertIds == null || this.checkedAlertIds.size === 0) {
       this.notifySvc.warning(this.i18nSvc.fanyi('alert.center.notify.no-delete'), '');

+ 1 - 1
web-app/src/app/routes/dashboard/dashboard.component.ts

@@ -347,7 +347,7 @@ export class DashboardComponent implements OnInit, OnDestroy {
   alertsDealLoading: boolean = true;
 
   refreshAlertContentList(): void {
-    let alertsInit$ = this.alertSvc.getAlerts(0, 4).subscribe(
+    let alertsInit$ = this.alertSvc.loadAlerts(undefined, undefined, undefined, 0, 4).subscribe(
       message => {
         if (message.code === 0) {
           let page = message.data;

+ 1 - 16
web-app/src/app/service/alert.service.ts

@@ -16,22 +16,7 @@ const alerts_status_uri = '/alerts/status';
 export class AlertService {
   constructor(private http: HttpClient) {}
 
-  public getAlerts(pageIndex: number, pageSize: number): Observable<Message<Page<Alert>>> {
-    pageIndex = pageIndex ? pageIndex : 0;
-    pageSize = pageSize ? pageSize : 8;
-    // 注意HttpParams是不可变对象 需要保存set后返回的对象为最新对象
-    let httpParams = new HttpParams();
-    httpParams = httpParams.appendAll({
-      sort: 'id',
-      order: 'desc',
-      pageIndex: pageIndex,
-      pageSize: pageSize
-    });
-    const options = { params: httpParams };
-    return this.http.get<Message<Page<Alert>>>(alerts_uri, options);
-  }
-
-  public searchAlerts(
+  public loadAlerts(
     status: number | undefined,
     priority: number | undefined,
     content: string | undefined,