fix: Fix bugs reported after deleting all customers of management page 18/106718/1
authorcyuamber <xuranyjy@chinamobile.com>
Tue, 28 Apr 2020 03:01:42 +0000 (11:01 +0800)
committercyuamber <xuranyjy@chinamobile.com>
Tue, 28 Apr 2020 03:02:01 +0000 (11:02 +0800)
Change-Id: I6182cab33998860e4b53ace8b394655457f82170
Issue-ID: USECASEUI-305
Signed-off-by: cyuamber <xuranyjy@chinamobile.com>
usecaseui-portal/src/app/views/management/customer/customer.component.ts
usecaseui-portal/src/app/views/management/management.component.html
usecaseui-portal/src/app/views/management/management.component.ts

index 78d4f14..6858987 100644 (file)
     See the License for the specific language governing permissions and
     limitations under the License.
 */
-import { Component, OnInit, ViewChild } from '@angular/core'
-import { ManagemencsService } from '../../../core/services/managemencs.service'
-import { Observable } from 'rxjs'
+import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';
+import { ManagemencsService } from '../../../core/services/managemencs.service';
+import { Observable } from 'rxjs';
+import {NzMessageService} from "ng-zorro-antd";
 
 @Component({
   selector: 'app-customer',
@@ -29,8 +30,12 @@ export class CustomerComponent implements OnInit {
   public chose = ''
 
   resizeMark
-  constructor (private managemencs: ManagemencsService) {}
-
+    constructor(
+        private managemencs: ManagemencsService,
+        private message: NzMessageService,
+    ) {
+    }
+    @Output() closeCustomer = new EventEmitter();
   ngOnInit () {
     this.getAllCustomers()
     this.resizeMark = Observable.fromEvent(window, 'resize').subscribe(
@@ -47,7 +52,7 @@ export class CustomerComponent implements OnInit {
   ngOnDestroy () {
     this.resizeMark.unsubscribe()
   }
-
+    isCustomerEmpty = false;
   AllCustomersdata = []
   AllServiceTypes = []
   customerber = []
@@ -61,16 +66,24 @@ export class CustomerComponent implements OnInit {
   deleteCustomerModelVisible = false
   deleteServiceTypeModelVisible = false
   getAllCustomers () {
-    this.managemencs.getAllCustomers().subscribe(data => {
-      this.AllCustomersdata = data.map(item => {
-        return { name: item['subscriber-name'], id: item['global-customer-id'] }
-      })
-      this.selectCustomer = this.AllCustomersdata[0]
-      this.serviceInit['customer'] = this.AllCustomersdata[0].name
-      this.getCustomersPie()
-      this.getServiceTypes(this.selectCustomer)
-      this.getCustomersColumn(this.selectCustomer)
-    })
+        this.managemencs.getAllCustomers().subscribe((data) => {
+            if(data.length!==0){
+                this.AllCustomersdata = data.map((item) => {
+                    return { name: item["subscriber-name"], id: item["global-customer-id"] }
+                });
+                this.selectCustomer = this.AllCustomersdata[0];
+                this.serviceInit["customer"] = this.AllCustomersdata[0].name;
+                this.getCustomersPie();
+                this.getServiceTypes(this.selectCustomer);
+                this.getCustomersColumn(this.selectCustomer);
+            }else {
+                this.message.info('Customer has not been created in ONAP.' +
+                    'Please create customer and its service type!');
+                setTimeout(()=>{
+                    this.closeCustomer.emit(this.isCustomerEmpty = true);
+                },1000)
+            }
+        })
   }
 
   // Get all servicetype
index 4e0ac36..3b42d20 100644 (file)
@@ -33,6 +33,6 @@
     </div>
   </div>
   <div *ngIf="!nocuster">
-    <app-customer></app-customer>
+    <app-customer (closeCustomer)="closeCustomer($event)"></app-customer>
   </div>
 </div>
\ No newline at end of file
index 727de63..75ce4de 100644 (file)
     See the License for the specific language governing permissions and
     limitations under the License.
 */
-import { Component, OnInit, HostBinding } from '@angular/core'
-import { showHideAnimate, slideToRight } from '../../shared/utils/animates'
-import { ManagemencsService } from '../../core/services/managemencs.service'
+import { Component, OnInit, HostBinding } from '@angular/core';
+import { showHideAnimate, slideToRight } from '../../shared/utils/animates';
+import { ManagemencsService } from '../../core/services/managemencs.service';
+import {NzMessageService} from "ng-zorro-antd";
 
 @Component({
   selector: 'app-management',
@@ -26,10 +27,13 @@ import { ManagemencsService } from '../../core/services/managemencs.service'
 export class ManagementComponent implements OnInit {
   @HostBinding('@routerAnimate') routerAnimateState //Routing animation
 
-  nocuster: boolean
-  firstCustomer: string
+    nocuster: boolean = true;
+    firstCustomer: string = "";
 
-  constructor (private managemencs: ManagemencsService) {}
+    constructor(
+        private managemencs: ManagemencsService,
+        private message: NzMessageService,
+    ) { }
 
   ngOnInit () {
     this.getAllCustomers()
@@ -38,7 +42,7 @@ export class ManagementComponent implements OnInit {
   // Get all customers
   getAllCustomers () {
     this.managemencs.getAllCustomers().subscribe(data => {
-      this.nocuster = data.length > 0 ? false : true
+       this.nocuster = data.length !== 0 ? false : true;
     })
   }
   createNewCustomer (customer) {
@@ -51,13 +55,17 @@ export class ManagementComponent implements OnInit {
     this.managemencs.createCustomer(customer, createParams).subscribe(data => {
       if (data['status'] == 'SUCCESS') {
         this.nocuster = false
-      } else {
-        this.nocuster = true
-        console.log(data, 'Interface returned error')
+            } else {
+                this.nocuster = true;
+                this.clearCustomerInput();
+                this.message.error(data["errorMessage"]);
       }
     })
   }
   clearCustomerInput () {
     this.firstCustomer = ''
   }
+    closeCustomer(isClose){
+        this.nocuster = isClose;
+    }
 }