Files
cms_thermo_active/Step/wwwroot/src/_base/messageService.ts
T
2019-06-06 11:52:54 +02:00

31 lines
774 B
TypeScript

import Factory from "./factoryService";
import Vue from "vue";
// --------------------------------------------------
// Message Service Definition
// --------------------------------------------------
class MessageService {
private _events: Vue = new Vue({});
subscribeToChannel(name: string, callback: Function, once: boolean = false) {
if (once)
this._events.$once(name, callback);
else
this._events.$on(name, callback);
}
deleteChannel(name: string) {
this._events.$off(name);
}
unsubscribeFromChannel(name: string, callback: Function) {
this._events.$off(name, callback);
}
publishToChannel<T>(name: string, ...args: any[]) {
this._events.$emit(name, args);
}
}
export const messageService = new MessageService();