@hpe/angular-toolkit
Version:
Hewlett-Packard Enterprise : Angular toolkit for rapid project development
111 lines (110 loc) • 9.68 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
//=============================================================================
//===
//=== (C) Copyright 2018 Hewlett Packard Enterprise Development LP.
//===
//=== Use of this source code is governed by an MIT-style license that can be
//=== found in the LICENSE file
//=============================================================================
import { EventEmitter, Injectable } from "@angular/core";
import { AppEvent } from "@hpe/angular-toolkit/model";
var EventBusService = /** @class */ (function () {
//-------------------------------------------------------------------------
//---
//--- Constructor
//---
//-------------------------------------------------------------------------
function EventBusService() {
this.eventEmitterMap = new Map();
this.errorEvents = new EventEmitter();
}
/**
* @param {?} eventCode
* @param {?} handler
* @return {?}
*/
EventBusService.prototype.subscribeToApp = /**
* @param {?} eventCode
* @param {?} handler
* @return {?}
*/
function (eventCode, handler) {
var /** @type {?} */ emitter = this.eventEmitterMap.get(eventCode);
if (emitter == null) {
emitter = new EventEmitter();
this.eventEmitterMap.set(eventCode, emitter);
}
return emitter.subscribe(handler, null, null);
};
/**
* @param {?} event
* @return {?}
*/
EventBusService.prototype.emitToApp = /**
* @param {?} event
* @return {?}
*/
function (event) {
var /** @type {?} */ emitter = this.eventEmitterMap.get(event.code);
if (emitter != null) {
console.log("Emitting event : " + JSON.stringify(event));
emitter.emit(event);
}
else {
console.log("WARNING : Emitting an event without any handler : " + JSON.stringify(event));
}
//--- Emitting to global handlers
emitter = this.eventEmitterMap.get(AppEvent.ANY);
if (emitter != null) {
emitter.emit(event);
}
};
/**
* @param {?} handler
* @return {?}
*/
EventBusService.prototype.subscribeToError = /**
* @param {?} handler
* @return {?}
*/
function (handler) {
return this.errorEvents.subscribe(handler, null, null);
};
/**
* @param {?} event
* @return {?}
*/
EventBusService.prototype.emitToError = /**
* @param {?} event
* @return {?}
*/
function (event) {
console.log("Emitting error event : " + JSON.stringify(event));
this.errorEvents.emit(event);
};
EventBusService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
EventBusService.ctorParameters = function () { return []; };
return EventBusService;
}());
export { EventBusService };
function EventBusService_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
EventBusService.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
EventBusService.ctorParameters;
/** @type {?} */
EventBusService.prototype.eventEmitterMap;
/** @type {?} */
EventBusService.prototype.errorEvents;
}
//=============================================================================
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRidXMtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BocGUvYW5ndWxhci10b29sa2l0L3NlcnZpY2UvIiwic291cmNlcyI6WyJldmVudGJ1cy1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJdkQsT0FBTyxFQUFDLFFBQVEsRUFBeUMsTUFBTSw0QkFBNEIsQ0FBQzs7SUFnQjNGLDJFQUEyRTtJQUMzRSxLQUFLO0lBQ0wsaUJBQWlCO0lBQ2pCLEtBQUs7SUFDTCwyRUFBMkU7SUFFM0U7K0JBVGdFLElBQUksR0FBRyxFQUFFOzJCQUNwQixJQUFJLFlBQVksRUFBRTtLQVN0RTs7Ozs7O0lBUU0sd0NBQWM7Ozs7O2NBQUMsU0FBa0IsRUFBRSxPQUFzQjtRQUUvRCxxQkFBSSxPQUFPLEdBQTRCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTNFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM3QztRQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Ozs7OztJQUt4QyxtQ0FBUzs7OztjQUFDLEtBQWdCO1FBRWhDLHFCQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkQsRUFBRSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsR0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDeEQsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQjtRQUNELElBQUksQ0FBQyxDQUFDO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvREFBb0QsR0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDekY7O1FBSUQsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqRCxFQUFFLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCOzs7Ozs7SUFLSywwQ0FBZ0I7Ozs7Y0FBQyxPQUFzQjtRQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzs7Ozs7O0lBS2pELHFDQUFXOzs7O2NBQUMsS0FBa0I7UUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsR0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7OztnQkF4RTlCLFVBQVU7Ozs7MEJBaEJYOztTQWlCYSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy89PT1cbi8vPT09IChDKSBDb3B5cmlnaHQgMjAxOCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUC5cbi8vPT09XG4vLz09PSBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuLy89PT0gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5pbXBvcnQge0V2ZW50RW1pdHRlciwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7QXBwRXZlbnQsIEVycm9yRXZlbnQsIEVycm9ySGFuZGxlciwgRXZlbnRIYW5kbGVyfSBmcm9tIFwiQGhwZS9hbmd1bGFyLXRvb2xraXQvbW9kZWxcIjtcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXZlbnRCdXNTZXJ2aWNlIHtcblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS1cblx0Ly8tLS0gVmFyaWFibGVzXG5cdC8vLS0tXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHByaXZhdGUgZXZlbnRFbWl0dGVyTWFwIDogTWFwPHN0cmluZywgRXZlbnRFbWl0dGVyPEFwcEV2ZW50Pj4gPSBuZXcgTWFwKCk7XG5cdHByaXZhdGUgZXJyb3JFdmVudHMgICAgIDogRXZlbnRFbWl0dGVyPEVycm9yRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLy0tLVxuXHQvLy0tLSBDb25zdHJ1Y3RvclxuXHQvLy0tLVxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLy0tLVxuXHQvLy0tLSBBUEkgbWV0aG9kc1xuXHQvLy0tLVxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwdWJsaWMgc3Vic2NyaWJlVG9BcHAoZXZlbnRDb2RlIDogc3RyaW5nLCBoYW5kbGVyIDogRXZlbnRIYW5kbGVyKSA6IFN1YnNjcmlwdGlvbiB7XG5cblx0XHRsZXQgZW1pdHRlciA6IEV2ZW50RW1pdHRlcjxBcHBFdmVudD4gPSB0aGlzLmV2ZW50RW1pdHRlck1hcC5nZXQoZXZlbnRDb2RlKTtcblxuXHRcdGlmIChlbWl0dGVyID09IG51bGwpIHtcblx0XHRcdGVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cdFx0XHR0aGlzLmV2ZW50RW1pdHRlck1hcC5zZXQoZXZlbnRDb2RlLCBlbWl0dGVyKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gZW1pdHRlci5zdWJzY3JpYmUoaGFuZGxlciwgbnVsbCwgbnVsbCk7XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwdWJsaWMgZW1pdFRvQXBwKGV2ZW50IDogQXBwRXZlbnQpIDogdm9pZCB7XG5cblx0XHRsZXQgZW1pdHRlciA9IHRoaXMuZXZlbnRFbWl0dGVyTWFwLmdldChldmVudC5jb2RlKTtcblxuXHRcdGlmIChlbWl0dGVyICE9IG51bGwpIHtcblx0XHRcdGNvbnNvbGUubG9nKFwiRW1pdHRpbmcgZXZlbnQgOiBcIisgSlNPTi5zdHJpbmdpZnkoZXZlbnQpKTtcblx0XHRcdGVtaXR0ZXIuZW1pdChldmVudCk7XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0Y29uc29sZS5sb2coXCJXQVJOSU5HIDogRW1pdHRpbmcgYW4gZXZlbnQgd2l0aG91dCBhbnkgaGFuZGxlciA6IFwiKyBKU09OLnN0cmluZ2lmeShldmVudCkpO1xuXHRcdH1cblxuXHRcdC8vLS0tIEVtaXR0aW5nIHRvIGdsb2JhbCBoYW5kbGVyc1xuXG5cdFx0ZW1pdHRlciA9IHRoaXMuZXZlbnRFbWl0dGVyTWFwLmdldChBcHBFdmVudC5BTlkpO1xuXG5cdFx0aWYgKGVtaXR0ZXIgIT0gbnVsbCkge1xuXHRcdFx0ZW1pdHRlci5lbWl0KGV2ZW50KTtcblx0XHR9XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwdWJsaWMgc3Vic2NyaWJlVG9FcnJvcihoYW5kbGVyIDogRXJyb3JIYW5kbGVyKSA6IFN1YnNjcmlwdGlvbiB7XG5cdFx0cmV0dXJuIHRoaXMuZXJyb3JFdmVudHMuc3Vic2NyaWJlKGhhbmRsZXIsIG51bGwsIG51bGwpO1xuXHR9XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHVibGljIGVtaXRUb0Vycm9yKGV2ZW50IDogRXJyb3JFdmVudCkgOiB2b2lkIHtcblx0XHRjb25zb2xlLmxvZyhcIkVtaXR0aW5nIGVycm9yIGV2ZW50IDogXCIrIEpTT04uc3RyaW5naWZ5KGV2ZW50KSk7XG5cdFx0dGhpcy5lcnJvckV2ZW50cy5lbWl0KGV2ZW50KTtcblx0fVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iXX0=