aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/components
diff options
context:
space:
mode:
authorIdan Amit <ia096e@intl.att.com>2018-04-15 19:19:08 +0300
committerIdan Amit <ia096e@intl.att.com>2018-04-15 19:19:08 +0300
commit6187c942bedebeb2f452ed0856652f90cd5c5772 (patch)
tree9c3463873e34d9097f2119b9ed35900f6ecab733 /catalog-ui/src/app/ng2/components
parent821b76c6b81ebf96e8fd8340ac5f6ed79f8ed22a (diff)
New observable notify design in pubsub
Implemented the new subscription mechanism for the pub sub notify function Change-Id: I5e6484adf1a0413d48b54b55048cda1a59b387ee Issue-ID: SDC-1178 Signed-off-by: Idan Amit <ia096e@intl.att.com>
Diffstat (limited to 'catalog-ui/src/app/ng2/components')
-rw-r--r--catalog-ui/src/app/ng2/components/ui/plugin/plugin-frame.component.ts13
1 files changed, 8 insertions, 5 deletions
diff --git a/catalog-ui/src/app/ng2/components/ui/plugin/plugin-frame.component.ts b/catalog-ui/src/app/ng2/components/ui/plugin/plugin-frame.component.ts
index 2ba784727f..4759721034 100644
--- a/catalog-ui/src/app/ng2/components/ui/plugin/plugin-frame.component.ts
+++ b/catalog-ui/src/app/ng2/components/ui/plugin/plugin-frame.component.ts
@@ -43,13 +43,16 @@ export class PluginFrameComponent implements OnInit {
this.pluginUrl += this.urlSearchParams.toString();
}
- this.eventBusService.on((eventData) => {
+ let readyEvent = (eventData) => {
if (eventData.originId === this.plugin.pluginId) {
if (eventData.type == "READY") {
this.onLoadingDone.emit();
+ this.eventBusService.off(readyEvent)
}
}
- });
+ };
+
+ this.eventBusService.on(readyEvent);
// Listening to the stateChangeStart event in order to notify the plugin about it being closed
// before moving to a new state
@@ -58,11 +61,11 @@ export class PluginFrameComponent implements OnInit {
if (!this.isClosed) {
event.preventDefault();
- this.eventBusService.notify("WINDOW_OUT");
+ this.eventBusService.notify("WINDOW_OUT").subscribe(() => {
+ this.isClosed = true;
- this.isClosed = true;
+ this.eventBusService.unregister(this.plugin.pluginId);
- setTimeout(() => {
this.$state.go(toState.name, toParams);
});
}