npm-uimapping
Version:
UI mapping data transform
100 lines • 12.1 kB
JavaScript
import { HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
import * as i2 from "ngx-cookie-service";
export class UiMapLibService {
constructor(httpClient, cookieService) {
this.httpClient = httpClient;
this.cookieService = cookieService;
}
init(conf) {
this.initService(conf);
}
isConfigured() {
let configuredData = this.cookieService.get('UIMapConfigured');
return configuredData !== undefined && configuredData !== null;
}
getConf() {
if (!this.isConfigured()) {
return null;
}
let confString = localStorage.getItem('ui_map_conf_data');
if (confString === null) {
return null;
}
return JSON.parse(confString);
}
initService(conf) {
if (!this.isConfigured()) {
console.error('UIMap Service not configured!');
return;
}
const url = conf.basePath + '/project/' + conf.project;
this.get(url, conf);
}
get(url, conf) {
let headerList = new HttpHeaders();
headerList = headerList.set('Accept', '*/*');
this.httpClient
.get(url, {
responseType: 'json',
withCredentials: false,
headers: headerList,
observe: 'body',
reportProgress: false,
})
.subscribe((data) => {
if (data !== undefined) {
localStorage.setItem('ui_map_project_data', JSON.stringify(data));
localStorage.setItem('ui_map_conf_data', JSON.stringify(conf));
this.cookieService.set('UIMapConfigured', 'true');
}
});
}
transform(value, ...args) {
let uiMapStringdata = localStorage.getItem('ui_map_project_data');
if (uiMapStringdata === null) {
console.error('UI Map data not loaded!');
return '[' + value + ' not found!]';
}
let rv = JSON.parse(uiMapStringdata);
if (args !== null &&
args.length == 1 &&
rv.pages !== undefined &&
rv.pages.length > 0) {
const param = args[0][0];
let filteredPage = null;
for (let i = 0; i < rv.pages.length; i++) {
const pageName = rv.pages[i].name;
if (pageName === pageName) {
filteredPage = rv.pages[i];
break;
}
}
if (filteredPage !== null && filteredPage[param.lang] !== undefined) {
rv = filteredPage[param.lang].values;
}
}
if (rv === undefined) {
return '[' + value + ' not found!]';
}
const parts = value.split('.');
for (let i = 0; i < parts.length; i++) {
rv = rv[parts[i]];
if (rv === undefined) {
return '[' + value + ' not found!]';
}
}
return rv;
}
}
UiMapLibService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UiMapLibService, deps: [{ token: i1.HttpClient }, { token: i2.CookieService }], target: i0.ɵɵFactoryTarget.Injectable });
UiMapLibService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UiMapLibService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: UiMapLibService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.CookieService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktbWFwLWxpYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktbWFwLWxpYi9zcmMvbGliL3VpLW1hcC1saWIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQXlCLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFLM0MsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFDRyxJQUFJLENBQUMsSUFBZTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDTSxZQUFZO1FBQ2pCLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0QsT0FBTyxjQUFjLEtBQUssU0FBUyxJQUFJLGNBQWMsS0FBSyxJQUFJLENBQUM7SUFDakUsQ0FBQztJQUNNLE9BQU87UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLFVBQVUsR0FBa0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3pFLElBQUksVUFBVSxLQUFLLElBQUksRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxXQUFXLENBQUMsSUFBZTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxLQUFL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QUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNyQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLElBQUksRUFBRSxLQUFLLFNBQVMsRUFBRTtnQkFDcEIsT0FBTyxHQUFHLEdBQUcsS0FBSyxHQUFHLGNBQWMsQ0FBQzthQUNyQztTQUNGO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzs0R0F2RlUsZUFBZTtnSEFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuL21vZGVscy9wcm9qZWN0JztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFVpTWFwQ29uZiB9IGZyb20gJy4vdWktbWFwLWNvbmYnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVWlNYXBMaWJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZVxuICApIHt9XG4gIHB1YmxpYyBpbml0KGNvbmY6IFVpTWFwQ29uZik6IHZvaWQge1xuICAgIHRoaXMuaW5pdFNlcnZpY2UoY29uZik7XG4gIH1cbiAgcHVibGljIGlzQ29uZmlndXJlZCgpOiBib29sZWFuIHtcbiAgICBsZXQgY29uZmlndXJlZERhdGEgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCdVSU1hcENvbmZpZ3VyZWQnKTtcbiAgICByZXR1cm4gY29uZmlndXJlZERhdGEgIT09IHVuZGVmaW5lZCAmJiBjb25maWd1cmVkRGF0YSAhPT0gbnVsbDtcbiAgfVxuICBwdWJsaWMgZ2V0Q29uZigpOiBVaU1hcENvbmYgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuaXNDb25maWd1cmVkKCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBsZXQgY29uZlN0cmluZzogc3RyaW5nIHwgbnVsbCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1aV9tYXBfY29uZl9kYXRhJyk7XG4gICAgaWYgKGNvbmZTdHJpbmcgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gSlNPTi5wYXJzZShjb25mU3RyaW5nKTtcbiAgfVxuICBpbml0U2VydmljZShjb25mOiBVaU1hcENvbmYpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNDb25maWd1cmVkKCkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1VJTWFwIFNlcnZpY2Ugbm90IGNvbmZpZ3VyZWQhJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHVybCA9IGNvbmYuYmFzZVBhdGggKyAnL3Byb2plY3QvJyArIGNvbmYucHJvamVjdDtcbiAgICB0aGlzLmdldCh1cmwsIGNvbmYpO1xuICB9XG4gIHByaXZhdGUgZ2V0KHVybDogc3RyaW5nLCBjb25mOiBVaU1hcENvbmYpOiB2b2lkIHtcbiAgICBsZXQgaGVhZGVyTGlzdCA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIGhlYWRlckxpc3QgPSBoZWFkZXJMaXN0LnNldCgnQWNjZXB0JywgJyovKicpO1xuXG4gICAgdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PEh0dHBFdmVudDxQcm9qZWN0Pj4odXJsLCB7XG4gICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT4nanNvbicsXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogZmFsc2UsXG4gICAgICAgIGhlYWRlcnM6IGhlYWRlckxpc3QsXG4gICAgICAgIG9ic2VydmU6IDxhbnk+J2JvZHknLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogZmFsc2UsXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGlmIChkYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndWlfbWFwX3Byb2plY3RfZGF0YScsIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndWlfbWFwX2NvbmZfZGF0YScsIEpTT04uc3RyaW5naWZ5KGNvbmYpKTtcbiAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KCdVSU1hcENvbmZpZ3VyZWQnLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICBsZXQgdWlNYXBTdHJpbmdkYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VpX21hcF9wcm9qZWN0X2RhdGEnKTtcbiAgICBpZiAodWlNYXBTdHJpbmdkYXRhID09PSBudWxsKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdVSSBNYXAgZGF0YSBub3QgbG9hZGVkIScpO1xuICAgICAgcmV0dXJuICdbJyArIHZhbHVlICsgJyBub3QgZm91bmQhXSc7XG4gICAgfVxuICAgIGxldCBydiA9IEpTT04ucGFyc2UodWlNYXBTdHJpbmdkYXRhKTtcbiAgICBpZiAoXG4gICAgICBhcmdzICE9PSBudWxsICYmXG4gICAgICBhcmdzLmxlbmd0aCA9PSAxICYmXG4gICAgICBydi5wYWdlcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBydi5wYWdlcy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBjb25zdCBwYXJhbTogYW55ID0gYXJnc1swXVswXTtcbiAgICAgIGxldCBmaWx0ZXJlZFBhZ2UgPSBudWxsO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBydi5wYWdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBwYWdlTmFtZSA9IHJ2LnBhZ2VzW2ldLm5hbWU7XG4gICAgICAgIGlmIChwYWdlTmFtZSA9PT0gcGFnZU5hbWUpIHtcbiAgICAgICAgICBmaWx0ZXJlZFBhZ2UgPSBydi5wYWdlc1tpXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcmVkUGFnZSAhPT0gbnVsbCAmJiBmaWx0ZXJlZFBhZ2VbcGFyYW0ubGFuZ10gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBydiA9IGZpbHRlcmVkUGFnZVtwYXJhbS5sYW5nXS52YWx1ZXM7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChydiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gJ1snICsgdmFsdWUgKyAnIG5vdCBmb3VuZCFdJztcbiAgICB9XG4gICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gdmFsdWUuc3BsaXQoJy4nKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBydiA9IHJ2W3BhcnRzW2ldXTtcbiAgICAgIGlmIChydiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiAnWycgKyB2YWx1ZSArICcgbm90IGZvdW5kIV0nO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcnY7XG4gIH1cbn1cbiJdfQ==