DCAE-D fe initial commit

DCAE-D fe initial commit

Change-Id: Ica8ccb7c7ef769c969664d1e168d205eb9fc67f2
Issue-ID: SDC-1218
Signed-off-by: Stone, Avi (as206k) <as206k@att.com>
diff --git a/public/src/app/host/host.service.ts b/public/src/app/host/host.service.ts
new file mode 100644
index 0000000..31c4746
--- /dev/null
+++ b/public/src/app/host/host.service.ts
@@ -0,0 +1,44 @@
+import { Injectable } from '@angular/core';
+
+interface HostParams {
+  readonly userId: string;
+  readonly contextType: string;
+  readonly vfcmtUuid: string;
+  readonly lifecycleState: string;
+  readonly isOwner: string;
+}
+
+@Injectable()
+export class HostService {
+  /* Public Members */
+  public static getParams(): HostParams {
+    return this.getQueryParamsObj(window.location.hash) as HostParams;
+  }
+
+  public static disableLoader(): void {
+    this.postMessage('READY', null);
+  }
+
+  /* Private Methods */
+  private static postMessage(eventName: string, data: string): void {
+    window.parent.postMessage(
+      {
+        type: eventName,
+        data: data
+      },
+      '*'
+    );
+  }
+
+  private static getQueryParamsObj(query: string): object {
+    return query
+      .substring(7) // removes '?' that always appears as prefix to the query-string
+      .split('&') // splits query-string to "key=value" strings
+      .map(p => p.split('=')) // splits each "key=value" string to [key,value] array
+      .reduce((res, p) => {
+        // converts to a dictionary (object) of params
+        res[p[0]] = p[1];
+        return res;
+      }, {});
+  }
+}