UNPKG

ngx-monitorias-uniandes-lib

Version:

This library is used for Monitorias-Uniandes system.

51 lines 2.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var rxjs_1 = require("rxjs"); var core_1 = require("@angular/core"); var FrontendDataBusService = /** @class */ (function () { function FrontendDataBusService() { } FrontendDataBusService.toChildren = function (message, targetOrigin, transfer) { for (var i = 0; i < window.frames.length; i++) window.frames[i].postMessage(message, targetOrigin, transfer); }; FrontendDataBusService.toParent = function (message, targetOrigin, transfer) { window.parent.postMessage(message, targetOrigin, transfer); }; FrontendDataBusService.Topics = { SELECTED_ACTIVE_PERIOD: new rxjs_1.BehaviorSubject(null), UPDATED_PERIOD_DATES: new rxjs_1.BehaviorSubject(null), DEACTIVATED_PERIOD: new rxjs_1.BehaviorSubject(null), ACTIVATED_PERIOD: new rxjs_1.BehaviorSubject(null), }; FrontendDataBusService.__constructor__ = (function () { window.addEventListener("message", function (ev) { var message = ev.data; switch (message.topic) { case 'SYNC_REQ': var sync = { topic: 'SYNC', payload: {} }; for (var topic in FrontendDataBusService.Topics) sync.payload[topic] = FrontendDataBusService.Topics[topic].value; for (var i = 0; i < window.frames.length; i++) window.frames[i].postMessage(sync); break; case 'SYNC': for (var topic in FrontendDataBusService.Topics) FrontendDataBusService.Topics[topic].next(message.payload[topic]); break; case 'SELECTED_ACTIVE_PERIOD': case 'UPDATED_PERIOD_DATES': case 'DEACTIVATED_PERIOD': case 'ACTIVATED_PERIOD': FrontendDataBusService.Topics[message.topic].next(message.payload); break; } }); })(); FrontendDataBusService.decorators = [ { type: core_1.Injectable }, ]; return FrontendDataBusService; }()); exports.FrontendDataBusService = FrontendDataBusService; //# sourceMappingURL=frontend-data-bus.service.js.map