UNPKG

@hpe/angular-toolkit

Version:

Hewlett-Packard Enterprise : Angular toolkit for rapid project development

168 lines (167 loc) 13.8 kB
/** * @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 { Injectable } from '@angular/core'; import { HttpService } from "./http-service"; var LabelService = /** @class */ (function () { //------------------------------------------------------------------------- //--- //--- Constructor //--- //------------------------------------------------------------------------- function LabelService(httpService) { var _this = this; this.httpService = httpService; this.languages = ["en", "it"]; this.labelSet = new Map(); this.language = "en"; //--- Load language files this.languages.forEach(function (language) { _this.initLanguage(language); }); } /** * @param {?} language * @return {?} */ LabelService.prototype.setLanguage = /** * @param {?} language * @return {?} */ function (language) { this.language = language; }; /** * @param {?} entity * @param {?} code * @return {?} */ LabelService.prototype.getLabel = /** * @param {?} entity * @param {?} code * @return {?} */ function (entity, code) { if (code == null) { return null; } var /** @type {?} */ entitySet = this.getMapping(entity); if (entitySet == null) { return "?" + entity + "?"; } var /** @type {?} */ label = entitySet[code]; if (label == null) { return entity + ".?" + code + "?"; } return label; }; /** * @param {?} entity * @return {?} */ LabelService.prototype.getMapping = /** * @param {?} entity * @return {?} */ function (entity) { var /** @type {?} */ labels = this.labelSet.get(this.language); if (labels != null) { return labels.get(entity); } //--- Probably, we are still loading data return null; }; /** * @param {?} language * @return {?} */ LabelService.prototype.initLanguage = /** * @param {?} language * @return {?} */ function (language) { this.loadLanguageFile(language, LabelService.TOOLKIT_FILE); this.loadLanguageFile(language, LabelService.APPLICATION_FILE); }; /** * @param {?} language * @param {?} name * @return {?} */ LabelService.prototype.loadLanguageFile = /** * @param {?} language * @param {?} name * @return {?} */ function (language, name) { var _this = this; var /** @type {?} */ file = name + "-" + language + ".json"; this.httpService.getObject("asset/lang/" + file) .subscribe(function (result) { return _this.processFile(language, file, result); }, function (error) { return console.log("Cannot load labels file : " + file); }); }; /** * @param {?} language * @param {?} file * @param {?} data * @return {?} */ LabelService.prototype.processFile = /** * @param {?} language * @param {?} file * @param {?} data * @return {?} */ function (language, file, data) { console.log("Loaded labels file : " + file); var /** @type {?} */ labels = this.labelSet.get(language); if (labels == null) { labels = new Map(); this.labelSet.set(language, labels); } for (var /** @type {?} */ key in data) { labels.set(key, data[key]); } }; LabelService.TOOLKIT_FILE = "toolkit"; LabelService.APPLICATION_FILE = "application"; LabelService.decorators = [ { type: Injectable }, ]; /** @nocollapse */ LabelService.ctorParameters = function () { return [ { type: HttpService, }, ]; }; return LabelService; }()); export { LabelService }; function LabelService_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ LabelService.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ LabelService.ctorParameters; /** @type {?} */ LabelService.TOOLKIT_FILE; /** @type {?} */ LabelService.APPLICATION_FILE; /** @type {?} */ LabelService.prototype.labelSet; /** @type {?} */ LabelService.prototype.language; /** @type {?} */ LabelService.prototype.languages; /** @type {?} */ LabelService.prototype.httpService; } //============================================================================= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BocGUvYW5ndWxhci10b29sa2l0L3NlcnZpY2UvIiwic291cmNlcyI6WyJsYWJlbC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFPLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0lBeUIxQywyRUFBMkU7SUFDM0UsS0FBSztJQUNMLGlCQUFpQjtJQUNqQixLQUFLO0lBQ0wsMkVBQTJFO0lBRTNFLHNCQUFvQixXQUF5QjtRQUE3QyxpQkFVQztRQVZtQixnQkFBVyxHQUFYLFdBQVcsQ0FBYzt5QkFSZCxDQUFFLElBQUksRUFBRSxJQUFJLENBQUU7UUFVNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDOztRQUlyQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBRSxVQUFDLFFBQWlCO1lBQ3pDLEtBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUIsQ0FBQyxDQUFDO0tBQ0g7Ozs7O0lBUU0sa0NBQVc7Ozs7Y0FBQyxRQUFpQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzs7Ozs7OztJQUtuQiwrQkFBUTs7Ozs7Y0FBQyxNQUFlLEVBQUUsSUFBYTtRQUU3QyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDO1NBQ1o7UUFFRCxxQkFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4QyxFQUFFLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxHQUFDLE1BQU0sR0FBQyxHQUFHLENBQUM7U0FDdEI7UUFFRCxxQkFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxNQUFNLEdBQUMsSUFBSSxHQUFFLElBQUksR0FBRSxHQUFHLENBQUM7U0FDOUI7UUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDOzs7Ozs7SUFLUCxpQ0FBVTs7OztjQUFDLE1BQWU7UUFFaEMscUJBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QyxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxQjs7UUFHRCxNQUFNLENBQUMsSUFBSSxDQUFDOzs7Ozs7SUFTTCxtQ0FBWTs7OztjQUFDLFFBQWlCO1FBRXJDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Ozs7Ozs7SUFLeEQsdUNBQWdCOzs7OztjQUFDLFFBQWlCLEVBQUUsSUFBYTs7UUFFeEQscUJBQUksSUFBSSxHQUFZLElBQUksR0FBRSxHQUFHLEdBQUUsUUFBUSxHQUFFLE9BQU8sQ0FBQztRQUVqRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUUsSUFBSSxDQUFDO2FBQzFDLFNBQVMsQ0FBRSxVQUFBLE1BQU0sSUFBSSxPQUFBLEtBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsRUFBeEMsQ0FBd0MsRUFDM0QsVUFBQSxLQUFLLElBQUksT0FBQSxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixHQUFFLElBQUksQ0FBQyxFQUEvQyxDQUErQyxDQUFDLENBQUM7Ozs7Ozs7O0lBSzFELGtDQUFXOzs7Ozs7Y0FBQyxRQUFpQixFQUFFLElBQVcsRUFBRSxJQUFhO1FBRWhFLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEdBQUUsSUFBSSxDQUFDLENBQUM7UUFFM0MscUJBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNwQztRQUVELEdBQUcsQ0FBQyxDQUFDLHFCQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzNCOztnQ0FuSHlDLFNBQVM7b0NBQ1QsYUFBYTs7Z0JBVnhELFVBQVU7Ozs7Z0JBSkgsV0FBVzs7dUJBVm5COztTQWVhLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLz09PVxuLy89PT0gKEMpIENvcHlyaWdodCAyMDE4IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQLlxuLy89PT1cbi8vPT09IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4vLz09PSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0h0dHBTZXJ2aWNlfSBmcm9tIFwiLi9odHRwLXNlcnZpY2VcIjtcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGFiZWxTZXJ2aWNlIHtcblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS1cblx0Ly8tLS0gVmFyaWFibGVzXG5cdC8vLS0tXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHByaXZhdGUgc3RhdGljIFRPT0xLSVRfRklMRSAgICAgOiBzdHJpbmcgPSBcInRvb2xraXRcIjtcblx0cHJpdmF0ZSBzdGF0aWMgQVBQTElDQVRJT05fRklMRSA6IHN0cmluZyA9IFwiYXBwbGljYXRpb25cIjtcblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwcml2YXRlIGxhYmVsU2V0IDogTWFwPFN0cmluZywgTWFwPHN0cmluZywgYW55Pj47XG5cdHByaXZhdGUgbGFuZ3VhZ2UgOiBzdHJpbmc7XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHJpdmF0ZSBsYW5ndWFnZXMgOiBzdHJpbmdbXSA9IFsgXCJlblwiLCBcIml0XCIgXTtcblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS1cblx0Ly8tLS0gQ29uc3RydWN0b3Jcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZSA6IEh0dHBTZXJ2aWNlKSB7XG5cblx0XHR0aGlzLmxhYmVsU2V0ID0gbmV3IE1hcCgpO1xuXHRcdHRoaXMubGFuZ3VhZ2UgPSBcImVuXCI7XG5cblx0XHQvLy0tLSBMb2FkIGxhbmd1YWdlIGZpbGVzXG5cblx0XHR0aGlzLmxhbmd1YWdlcy5mb3JFYWNoKCAobGFuZ3VhZ2UgOiBzdHJpbmcpID0+IHtcblx0XHRcdHRoaXMuaW5pdExhbmd1YWdlKGxhbmd1YWdlKTtcblx0XHR9KTtcblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLy0tLVxuXHQvLy0tLSBBUEkgbWV0aG9kc1xuXHQvLy0tLVxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwdWJsaWMgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2UgOiBzdHJpbmcpIDogdm9pZCB7XG5cdFx0dGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuXHR9XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHVibGljIGdldExhYmVsKGVudGl0eSA6IHN0cmluZywgY29kZSA6IHN0cmluZykgOiBhbnkge1xuXG5cdFx0aWYgKGNvZGUgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0bGV0IGVudGl0eVNldCA9IHRoaXMuZ2V0TWFwcGluZyhlbnRpdHkpO1xuXG5cdFx0aWYgKGVudGl0eVNldCA9PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gXCI/XCIrZW50aXR5K1wiP1wiO1xuXHRcdH1cblxuXHRcdGxldCBsYWJlbCA9IGVudGl0eVNldFtjb2RlXTtcblxuXHRcdGlmIChsYWJlbCA9PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4gZW50aXR5K1wiLj9cIisgY29kZSArXCI/XCI7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGxhYmVsO1xuXHR9XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHVibGljIGdldE1hcHBpbmcoZW50aXR5IDogc3RyaW5nKSA6IE9iamVjdCB7XG5cblx0XHRsZXQgbGFiZWxzID0gdGhpcy5sYWJlbFNldC5nZXQodGhpcy5sYW5ndWFnZSk7XG5cblx0XHRpZiAobGFiZWxzICE9IG51bGwpIHtcblx0XHRcdHJldHVybiBsYWJlbHMuZ2V0KGVudGl0eSk7XG5cdFx0fVxuXG5cdFx0Ly8tLS0gUHJvYmFibHksIHdlIGFyZSBzdGlsbCBsb2FkaW5nIGRhdGFcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLy0tLVxuXHQvLy0tLSBQcml2YXRlIG1ldGhvZHNcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHJpdmF0ZSBpbml0TGFuZ3VhZ2UobGFuZ3VhZ2UgOiBzdHJpbmcpIDogdm9pZCB7XG5cblx0XHR0aGlzLmxvYWRMYW5ndWFnZUZpbGUobGFuZ3VhZ2UsIExhYmVsU2VydmljZS5UT09MS0lUX0ZJTEUpO1xuXHRcdHRoaXMubG9hZExhbmd1YWdlRmlsZShsYW5ndWFnZSwgTGFiZWxTZXJ2aWNlLkFQUExJQ0FUSU9OX0ZJTEUpO1xuXHR9XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHJpdmF0ZSBsb2FkTGFuZ3VhZ2VGaWxlKGxhbmd1YWdlIDogc3RyaW5nLCBuYW1lIDogc3RyaW5nKSB7XG5cblx0XHRsZXQgZmlsZSA6IHN0cmluZyA9IG5hbWUgK1wiLVwiKyBsYW5ndWFnZSArXCIuanNvblwiO1xuXG5cdFx0dGhpcy5odHRwU2VydmljZS5nZXRPYmplY3QoXCJhc3NldC9sYW5nL1wiKyBmaWxlKVxuXHRcdFx0XHRcdFx0LnN1YnNjcmliZShcdHJlc3VsdCA9PiB0aGlzLnByb2Nlc3NGaWxlKGxhbmd1YWdlLCBmaWxlLCByZXN1bHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0ZXJyb3IgPT4gY29uc29sZS5sb2coXCJDYW5ub3QgbG9hZCBsYWJlbHMgZmlsZSA6IFwiKyBmaWxlKSk7XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwcml2YXRlIHByb2Nlc3NGaWxlKGxhbmd1YWdlIDogc3RyaW5nLCBmaWxlOnN0cmluZywgZGF0YSA6IE9iamVjdCkgOiB2b2lkIHtcblxuXHRcdGNvbnNvbGUubG9nKFwiTG9hZGVkIGxhYmVscyBmaWxlIDogXCIrIGZpbGUpO1xuXG5cdFx0bGV0IGxhYmVscyA9IHRoaXMubGFiZWxTZXQuZ2V0KGxhbmd1YWdlKTtcblxuXHRcdGlmIChsYWJlbHMgPT0gbnVsbCkge1xuXHRcdFx0bGFiZWxzID0gbmV3IE1hcCgpO1xuXHRcdFx0dGhpcy5sYWJlbFNldC5zZXQobGFuZ3VhZ2UsIGxhYmVscyk7XG5cdFx0fVxuXG5cdFx0Zm9yIChsZXQga2V5IGluIGRhdGEpIHtcblx0XHRcdGxhYmVscy5zZXQoa2V5LCBkYXRhW2tleV0pO1xuXHRcdH1cblx0fVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iXX0=