GUI2 Changed loading screen display to be a component

Change-Id: Id1592b498e6827ec4cd3544dec92e46f00e8d378
diff --git a/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.html b/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.html
index 98b2084..040b3c2 100644
--- a/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.html
+++ b/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.html
@@ -14,6 +14,7 @@
 ~ limitations under the License.
 -->
 <div id="ov-intent" xmlns="http://www.w3.org/1999/html">
+    <onos-loading [theme]="'light'" [running]="loadingIconShown"></onos-loading>
     <div class="tabular-header">
         <onos-flash id="intentActionFlash" message="{{ intentActionMsg }}"></onos-flash>
         <onos-confirm message="{{ warnMsg }}" (chosen)="dOk($event)"></onos-confirm>
@@ -106,4 +107,4 @@
             </table>
         </div>
     </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.spec.ts b/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.spec.ts
index 9a0a082..8a5a9a5 100644
--- a/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.spec.ts
+++ b/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.spec.ts
@@ -25,10 +25,9 @@
     IconComponent,
     ConfirmComponent,
     FlashComponent,
-    LoadingService,
     LogService,
     TableFilterPipe,
-    WebSocketService
+    WebSocketService, LoadingComponent
 } from 'gui2-fw-lib';
 
 import { of } from 'rxjs';
@@ -47,12 +46,6 @@
     loadIconDef() { }
 }
 
-class MockLoadingService {
-    startAnim() { }
-    stop() { }
-    waiting() { }
-}
-
 class MockWebSocketService {
     createWebSocket() { }
     isConnected() { return false; }
@@ -92,11 +85,17 @@
         fs = new FnService(ar, logSpy, windowMock);
         TestBed.configureTestingModule({
             imports: [BrowserAnimationsModule, FormsModule],
-            declarations: [IntentComponent, IconComponent, TableFilterPipe, ConfirmComponent, FlashComponent],
+            declarations: [
+                IntentComponent,
+                IconComponent,
+                TableFilterPipe,
+                ConfirmComponent,
+                FlashComponent,
+                LoadingComponent
+            ],
             providers: [
                 { provide: FnService, useValue: fs },
                 { provide: IconService, useClass: MockIconService },
-                { provide: LoadingService, useClass: MockLoadingService },
                 { provide: LogService, useValue: logSpy },
                 { provide: WebSocketService, useClass: MockWebSocketService },
                 { provide: 'Window', useValue: windowMock },
diff --git a/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.ts b/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.ts
index 6719564..585514d 100644
--- a/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.ts
+++ b/web/gui2/src/main/webapp/app/view/intent/intent/intent.component.ts
@@ -16,7 +16,6 @@
 import { Component, OnInit, OnDestroy } from '@angular/core';
 import {
     FnService,
-    LoadingService,
     LogService,
     WebSocketService,
     SortDir, TableBaseImpl, TableResponse
@@ -88,10 +87,9 @@
     constructor(
         protected log: LogService,
         protected fs: FnService,
-        protected ls: LoadingService,
         protected wss: WebSocketService,
     ) {
-        super(fs, ls, log, wss, 'intent', 'key');
+        super(fs, log, wss, 'intent', 'key');
         this.responseCallback = this.intentResponseCb;
         this.parentSelCb = this.rowSelection;
         this.brief = true;