feat:Optimize the writing of tab switching, remove the writing of Ngif 00/102200/1
authorcyuamber <xuranyjy@chinamobile.com>
Mon, 24 Feb 2020 07:42:52 +0000 (15:42 +0800)
committercyuamber <xuranyjy@chinamobile.com>
Mon, 24 Feb 2020 07:43:01 +0000 (15:43 +0800)
Change-Id: I1a315a363d75ac5b18d05b20337f63c32cd7a5d9
Issue-ID: USECASEUI-368
Signed-off-by: cyuamber <xuranyjy@chinamobile.com>
usecaseui-portal/src/app/views/services/slicing-management/csmf-slicing-business-management/csmf-slicing-business-management.component.ts
usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html
usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/nsi-management/nsi-table/nsi-table.component.ts
usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/nssi-management/nssi-table/nssi-table.component.ts
usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-business-management/slicing-business-table/slicing-business-table.component.ts
usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html
usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts
usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts

index 272a84a..36a089c 100644 (file)
@@ -1,4 +1,4 @@
-import { Component, OnInit } from '@angular/core';
+import {Component, Input, OnInit, SimpleChanges} from '@angular/core';
 import { BUSINESS_STATUS } from "../../../../../constants/constants";
 import { SlicingTaskServices } from '.././../../../core/services/slicingTaskServices';
 import { NzModalService, NzMessageService } from 'ng-zorro-antd';
@@ -16,17 +16,21 @@ export class CsmfSlicingBusinessManagementComponent implements OnInit {
         private message: NzMessageService
     ) {
     }
+    @Input() currentTabTitle;
 
-    ngOnInit() {
-        this.getCSMFBusinessList()
-    }
-    ngOnDestroy() {
-        this.progressingTimer.forEach((item) => {
-            clearInterval(item.timer);
-        });
-        this.progressingTimer = [];
+    ngOnChanges(changes: SimpleChanges) {
+        if(changes.currentTabTitle.currentValue === 'Communication Service'){
+            this.getCSMFBusinessList()
+        }else {
+            this.progressingTimer.forEach((item) => {
+                clearInterval(item.timer);
+            });
+            this.progressingTimer = [];
+        }
     }
 
+    ngOnInit() {}
+
     selectedValue: string = BUSINESS_STATUS[0];
     listOfData: any[] = [];
     pageIndex: number = 1;
index 6d55ea1..5a1dd3f 100644 (file)
@@ -1,17 +1,11 @@
 <nz-tabset (nzSelectChange)="handleTabChange($event)" class="slicing">
     <nz-tab nzTitle="Communication Service">
-        <app-csmf-slicing-business-management
-                *ngIf="currentTab ==='Communication Service'"
-        ></app-csmf-slicing-business-management>
+        <app-csmf-slicing-business-management [currentTabTitle]="currentTab"></app-csmf-slicing-business-management>
+    </nz-tab>
+    <nz-tab nzTitle="Slicing Task Management">
+        <app-slicing-task-management [currentTabTitle]="currentTab"></app-slicing-task-management>
+    </nz-tab>
+    <nz-tab nzTitle="Slicing Resource Management">
+        <app-slicing-resource-management [currentTabTitle]="currentTab"></app-slicing-resource-management>
     </nz-tab>
-  <nz-tab nzTitle="Slicing Task Management">
-    <app-slicing-task-management
-            *ngIf="currentTab ==='Slicing Task Management'"
-    ></app-slicing-task-management>
-  </nz-tab>
-  <nz-tab nzTitle="Slicing Resource Management" >
-    <app-slicing-resource-management
-            *ngIf="currentTab ==='Slicing Resource Management'"
-    ></app-slicing-resource-management>
-  </nz-tab>
 </nz-tabset>
\ No newline at end of file
index 6ac2941..3c08463 100644 (file)
@@ -1,12 +1,13 @@
-import { Component, OnInit } from '@angular/core';
+import {Component, Input, OnInit,SimpleChanges} from '@angular/core';
 import {BUSINESS_STATUS} from '../../../../../../../constants/constants';
 import {SlicingTaskServices} from "../../../../../../core/services/slicingTaskServices";
 import {NsiModelComponent} from "../nsi-model/nsi-model.component";
-import { NzModalService } from 'ng-zorro-antd';
+import {NzModalService} from 'ng-zorro-antd';
+
 @Component({
-  selector: 'app-nsi-table',
-  templateUrl: './nsi-table.component.html',
-  styleUrls: ['./nsi-table.component.less']
+    selector: 'app-nsi-table',
+    templateUrl: './nsi-table.component.html',
+    styleUrls: ['./nsi-table.component.less']
 })
 export class NsiTableComponent implements OnInit {
 
@@ -16,10 +17,16 @@ export class NsiTableComponent implements OnInit {
     ) {
     }
 
-  ngOnInit() {
-      this.getNsiList()
-  }
-    selectedValue:string = BUSINESS_STATUS[0];
+    @Input() currentTabName;
+
+    ngOnChanges(changes: SimpleChanges) {
+        if (changes.currentTabName.currentValue === 'Slicing Instance Management') {
+            this.getNsiList()
+        }
+    }
+    ngOnInit() {}
+
+    selectedValue: string = BUSINESS_STATUS[0];
     listOfData: any[] = [];
     pageIndex: number = 1;
     pageSize: number = 10;
@@ -28,7 +35,7 @@ export class NsiTableComponent implements OnInit {
     isSelect: boolean = false;
     statusOptions: any[] = BUSINESS_STATUS;
 
-    getNsiList (): void{
+    getNsiList(): void {
         this.loading = true;
         this.isSelect = false;
         this.listOfData = [];
@@ -36,17 +43,17 @@ export class NsiTableComponent implements OnInit {
             pageNo: this.pageIndex,
             pageSize: this.pageSize
         };
-        if(this.selectedValue !== BUSINESS_STATUS[0]){
+        if (this.selectedValue !== BUSINESS_STATUS[0]) {
             paramsObj["instanceStatus"] = this.selectedValue.toLocaleLowerCase();
             this.isSelect = true;
         }
-        this.myhttp.getSlicingNsiList(paramsObj,this.isSelect).subscribe (res => {
-            const { result_header: { result_code }, result_body: { nsi_service_instances,record_number } } = res;
+        this.myhttp.getSlicingNsiList(paramsObj, this.isSelect).subscribe(res => {
+            const {result_header: {result_code}, result_body: {nsi_service_instances, record_number}} = res;
             this.loading = false;
             if (+result_code === 200) {
                 this.total = record_number;
                 this.loading = false;
-                if(nsi_service_instances !== null  && nsi_service_instances.length >0) {
+                if (nsi_service_instances !== null && nsi_service_instances.length > 0) {
                     this.listOfData = nsi_service_instances;
                 }
             }
@@ -55,23 +62,26 @@ export class NsiTableComponent implements OnInit {
             console.error(res);
         })
     }
-    getListOfProcessingStatus(){
+
+    getListOfProcessingStatus() {
         this.pageIndex = 1;
         this.pageSize = 10;
         this.getNsiList();
     }
+
     searchData(reset: boolean = false) {
         this.getNsiList();
     }
+
     showdetail(data) {
         const nsiModal = this.modalService.create({
-            nzTitle:"Detail",
+            nzTitle: "Detail",
             nzContent: NsiModelComponent,
-            nzWidth:"70%",
+            nzWidth: "70%",
             nzOkText: null,
             nzCancelText: null,
-            nzComponentParams:{
-                nsiId:data.service_instance_id
+            nzComponentParams: {
+                nsiId: data.service_instance_id
             }
         })
     }
index 5e90bce..6dec5c7 100644 (file)
@@ -1,12 +1,13 @@
-import { Component, OnInit } from '@angular/core';
+import {Component, Input, OnInit,SimpleChanges} from '@angular/core';
 import {BUSINESS_STATUS} from '../../../../../../../constants/constants';
 import {SlicingTaskServices} from "../../../../../../core/services/slicingTaskServices";
-import { NzModalService } from 'ng-zorro-antd';
+import {NzModalService} from 'ng-zorro-antd';
 import {NssiModelComponent} from "../nssi-model/nssi-model.component";
+
 @Component({
-  selector: 'app-nssi-table',
-  templateUrl: './nssi-table.component.html',
-  styleUrls: ['./nssi-table.component.less']
+    selector: 'app-nssi-table',
+    templateUrl: './nssi-table.component.html',
+    styleUrls: ['./nssi-table.component.less']
 })
 export class NssiTableComponent implements OnInit {
 
@@ -16,10 +17,16 @@ export class NssiTableComponent implements OnInit {
     ) {
     }
 
-  ngOnInit() {
-      this.getNssiList()
-  }
-    selectedValue:string = BUSINESS_STATUS[0];
+    @Input() currentTabName;
+
+    ngOnChanges(changes: SimpleChanges) {
+        if (changes.currentTabName.currentValue === 'Slicing Subnet Instance Management') {
+            this.getNssiList()
+        }
+    }
+    ngOnInit() {}
+
+    selectedValue: string = BUSINESS_STATUS[0];
     listOfData: any[] = [];
     pageIndex: number = 1;
     pageSize: number = 10;
@@ -28,7 +35,7 @@ export class NssiTableComponent implements OnInit {
     isSelect: boolean = false;
     statusOptions: any[] = BUSINESS_STATUS;
 
-    getNssiList (): void{
+    getNssiList(): void {
         this.loading = true;
         this.isSelect = false;
         this.listOfData = [];
@@ -36,42 +43,45 @@ export class NssiTableComponent implements OnInit {
             pageNo: this.pageIndex,
             pageSize: this.pageSize
         };
-        if(this.selectedValue !== BUSINESS_STATUS[0]){
+        if (this.selectedValue !== BUSINESS_STATUS[0]) {
             paramsObj["instanceStatus"] = this.selectedValue.toLocaleLowerCase();
             this.isSelect = true;
         }
-        this.myhttp.getSlicingNssiList(paramsObj,this.isSelect).subscribe (res => {
-            const { result_header: { result_code }, result_body: { nssi_service_instances,record_number } } = res;
+        this.myhttp.getSlicingNssiList(paramsObj, this.isSelect).subscribe(res => {
+            const {result_header: {result_code}, result_body: {nssi_service_instances, record_number}} = res;
             this.loading = false;
             if (+result_code === 200) {
                 this.total = record_number;
                 this.loading = false;
-                if(nssi_service_instances !== null && nssi_service_instances.length >0) {
+                if (nssi_service_instances !== null && nssi_service_instances.length > 0) {
                     this.listOfData = nssi_service_instances;
                 }
             }
-        },(res) => {
+        }, (res) => {
             this.loading = false;
             console.error(res);
         })
     }
-    getListOfProcessingStatus(){
+
+    getListOfProcessingStatus() {
         this.pageIndex = 1;
         this.pageSize = 10;
         this.getNssiList();
     }
+
     searchData(reset: boolean = false) {
         this.getNssiList();
     }
+
     showdetail(data) {
         const nssiModal = this.modalService.create({
-            nzTitle:"Detail",
+            nzTitle: "Detail",
             nzContent: NssiModelComponent,
-            nzWidth:"70%",
+            nzWidth: "70%",
             nzOkText: null,
             nzCancelText: null,
-            nzComponentParams:{
-                nssiId:data.service_instance_id
+            nzComponentParams: {
+                nssiId: data.service_instance_id
             }
         })
     }
index fc07efc..fbce729 100644 (file)
@@ -1,4 +1,4 @@
-import { Component, OnInit, ViewChild } from '@angular/core';
+import {Component, Input, OnInit, ViewChild,SimpleChanges} from '@angular/core';
 import { SlicingTaskServices } from '.././../../../../../core/services/slicingTaskServices';
 import { BUSINESS_STATUS } from '../../../../../../../constants/constants';
 import { NzModalService, NzMessageService } from 'ng-zorro-antd';
@@ -17,14 +17,20 @@ export class SlicingBusinessTableComponent implements OnInit {
     ) {
     }
 
-    ngOnInit() {
-        this.getBusinessList()
+    @Input() currentTabName;
+
+    ngOnChanges(changes: SimpleChanges) {
+        if(changes.currentTabName.currentValue === 'Slicing Business Management'){
+            this.getBusinessList()
+        }else {
+            this.progressingTimer.forEach((item) => {
+                clearInterval(item.timer);
+            });
+            this.progressingTimer = [];
+        }
     }
-    ngOnDestroy() {
-        this.progressingTimer.forEach((item) => {
-            clearInterval(item.timer);
-        })
-        this.progressingTimer = [];
+    ngOnInit() {
+
     }
     selectedValue: string = BUSINESS_STATUS[0];
     listOfData: any[] = [];
index eed187e..adbe769 100644 (file)
@@ -1,11 +1,11 @@
-<nz-tabset class="slicing-resource_tab"  (nzSelectChange)="handleTabChange($event)">
-  <nz-tab nzTitle="Slicing Business Management">
-      <app-slicing-business-table *ngIf="currentTab ==='Slicing Business Management'"></app-slicing-business-table>
-  </nz-tab>
-  <nz-tab nzTitle="Slicing Instance Management">
-      <app-nsi-table *ngIf="currentTab ==='Slicing Instance Management'"></app-nsi-table>
-  </nz-tab>
-  <nz-tab nzTitle="Slicing Subnet Instance Management">
-      <app-nssi-table *ngIf="currentTab ==='Slicing Subnet Instance Management'"></app-nssi-table>
-  </nz-tab>
+<nz-tabset class="slicing-resource_tab" (nzSelectChange)="handleTabChange($event)">
+    <nz-tab nzTitle="Slicing Business Management">
+        <app-slicing-business-table [currentTabName]="currentTab"></app-slicing-business-table>
+    </nz-tab>
+    <nz-tab nzTitle="Slicing Instance Management">
+        <app-nsi-table [currentTabName]="currentTab"></app-nsi-table>
+    </nz-tab>
+    <nz-tab nzTitle="Slicing Subnet Instance Management">
+        <app-nssi-table [currentTabName]="currentTab"></app-nssi-table>
+    </nz-tab>
 </nz-tabset>
\ No newline at end of file
index b88b907..a2a0aaf 100644 (file)
@@ -1,19 +1,29 @@
-import { Component, OnInit } from '@angular/core';
+import {Component, Input, OnInit, SimpleChanges} from '@angular/core';
 
 @Component({
-  selector: 'app-slicing-resource-management',
-  templateUrl: './slicing-resource-management.component.html',
-  styleUrls: ['./slicing-resource-management.component.less']
+    selector: 'app-slicing-resource-management',
+    templateUrl: './slicing-resource-management.component.html',
+    styleUrls: ['./slicing-resource-management.component.less']
 })
 export class SlicingResourceManagementComponent implements OnInit {
 
-  constructor() { }
+    constructor() {}
+
+    @Input() currentTabTitle;
+
+    ngOnChanges(changes: SimpleChanges) {
+        if (changes.currentTabTitle.currentValue === 'Slicing Resource Management') {
+            this.currentTab = 'Slicing Business Management'
+        }else {
+            this.currentTab = ''
+        }
+    }
+
+    ngOnInit() {}
+
+    currentTab = '';
 
-  ngOnInit() {
-  }
-    currentTab = 'Slicing Business Management';
     handleTabChange($event): void {
-       console.log($event,"$event");
-       this.currentTab = $event.tab._title;
+        this.currentTab = $event.tab._title;
     }
 }
index 05f06e3..39e5f1d 100644 (file)
@@ -1,4 +1,4 @@
-import { Component, OnInit } from '@angular/core';
+import {Component, OnInit, Input, SimpleChanges} from '@angular/core';
 import { NzMessageService } from 'ng-zorro-antd';
 import { SlicingTaskServices } from '.././../../../core/services/slicingTaskServices';
 import { TASK_PROCESSING_STATUS } from '../../../../../constants/constants';
@@ -12,6 +12,8 @@ export class SlicingTaskManagementComponent implements OnInit {
 
   constructor(private myhttp: SlicingTaskServices, private message: NzMessageService) { }
 
+  @Input() currentTabTitle;
+
   showDetail: boolean = false;
   showProcess: boolean = false;
   selectedValue = 'all';
@@ -25,9 +27,13 @@ export class SlicingTaskManagementComponent implements OnInit {
   pageSize: string = '10';
   pageNum: string = '1';
 
-  ngOnInit() {
-    this.getTaskList();
-  }
+    ngOnChanges(changes: SimpleChanges) {
+        if(changes.currentTabTitle.currentValue === 'Slicing Task Management'){
+            this.getTaskList();
+        }
+    }
+
+  ngOnInit() {}
 
   getTaskList(): void {
     const { pageNum, pageSize } = this;