added progress spinner for spreadsheet upload

added progress spinner for spreadsheet upload in test.component,ts

Issue-ID: APPC-1102
Change-Id: I9d030da990eae2e8efe5ae82cd1afd3c675aa286
Signed-off-by: Sandeep J <sandeejh@in.ibm.com>
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 2be6544..fcff1d5 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -5,7 +5,8 @@
 
 Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
 ===================================================================
-
+Copyright (C) 2018 IBM.
+===================================================================
 Unless otherwise specified, all software contained herein is licensed
 under the Apache License, Version 2.0 (the License);
 you may not use this software except in compliance with the License.
@@ -39,11 +40,12 @@
 import { NgProgressModule } from 'ngx-progressbar';
 import { LoginGuardService } from './vnfs/LoginGuardService/Login-guard-service';
 import { ConfirmComponent } from './shared/confirmModal/confirm.component';
+import { NgxSpinnerModule } from 'ngx-spinner';
 
 @NgModule({
     declarations: [AppComponent, TestComponent, AboutUsComponent, ConfirmComponent],
     imports: [BrowserModule, FormsModule, HomeModule, SharedModule.forRoot(),
-        NgbModule.forRoot(), NoopAnimationsModule, AppRoutingModule, SimpleNotificationsModule, NgProgressModule, BootstrapModalModule],
+        NgbModule.forRoot(), NoopAnimationsModule, AppRoutingModule, SimpleNotificationsModule, NgProgressModule, BootstrapModalModule, NgxSpinnerModule],
     exports: [RouterModule],
     providers: [{ provide: LocationStrategy, useClass: HashLocationStrategy }, LoginGuardService],
     entryComponents: [ConfirmComponent],
diff --git a/src/app/test/test.component.html b/src/app/test/test.component.html
index 5e65435..8147f05 100644
--- a/src/app/test/test.component.html
+++ b/src/app/test/test.component.html
@@ -20,6 +20,11 @@
 ============LICENSE_END============================================
 -->
 <simple-notifications [options]="options"></simple-notifications>
+<ngx-spinner bdColor="rgba(51,51,51,0.8)"
+  size="large"
+  color="orange"
+  loadingText="Uploading test spreadsheet..."
+  type="ball-scale-multiple"></ngx-spinner>
 <ng-progress [positionUsing]="'marginLeft'" [minimum]="0.15" [maximum]="1" [speed]="200" [showSpinner]="false" [direction]="'leftToRightIncreased'" [color]="'#6ab344'"
     [trickleSpeed]="250" [thick]="true" [ease]="'linear'"></ng-progress>
 
diff --git a/src/app/test/test.component.ts b/src/app/test/test.component.ts
index 7560e7b..52b5d8a 100644
--- a/src/app/test/test.component.ts
+++ b/src/app/test/test.component.ts
@@ -3,7 +3,8 @@
 ===================================================================
 Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
 ===================================================================
-
+Copyright (C) 2018 IBM.
+===================================================================
 Unless otherwise specified, all software contained herein is licensed
 under the Apache License, Version 2.0 (the License);
 you may not use this software except in compliance with the License.
@@ -20,7 +21,7 @@
 */
 
 import { Component, OnInit } from '@angular/core';
-
+import { NgxSpinnerService } from 'ngx-spinner';
 import { saveAs } from 'file-saver';
 import { Location } from '@angular/common';
 import { ActivatedRoute, Router } from '@angular/router';
@@ -90,7 +91,7 @@
     public outputTimeStamp;
     public status;
     public statusReason;
-    public errorResponse;
+    public errorResponse; 
     public timer;
     public subscribe;
     public enableTestButton: boolean = false;
@@ -101,8 +102,19 @@
     public enableCounterDiv: boolean = false;
     public enableDownload: boolean = false;
     private userId = localStorage['userId'];
-    constructor (private location: Location, private activeRoutes: ActivatedRoute, private notificationService: NotificationService, private nService: NotificationsService, private router: Router, private paramShareService: ParamShareService, private mappingEditorService: MappingEditorService, private httpUtil: HttpUtilService,
-        private utiltiy: UtilityService, private ngProgress: NgProgress) {
+    constructor (
+    private location: Location, 
+    private activeRoutes: ActivatedRoute, 
+    private notificationService: NotificationService, 
+    private nService: NotificationsService, 
+    private router: Router, 
+    private paramShareService: ParamShareService, 
+    private mappingEditorService: MappingEditorService, 
+    private httpUtil: HttpUtilService,
+    private utiltiy: UtilityService, 
+    private ngProgress: NgProgress,
+    private spinner: NgxSpinnerService
+    ) {
 
     }
 
@@ -168,6 +180,7 @@
             throw new Error('Cannot upload multiple files on the entry');
         }
         if (fileExtension.toUpperCase() === 'XLS' || fileExtension.toUpperCase() === 'XLSX') {
+            this.spinner.show();
             const reader = new FileReader();
             reader.onload = (e: any) => {
                 /* read workbook */
@@ -210,7 +223,10 @@
             };
 
             reader.readAsBinaryString(target.files[0]);
-
+            setTimeout(() => {
+                        /** spinner ends after 2.5 seconds */
+                        this.spinner.hide();
+          }, 2500);
 
         }
         else {