UNPKG

ontimize-web-ngx

Version:
96 lines 13.2 kB
import { InjectionToken } from '@angular/core'; import { Util } from '../util/util'; const DEFAULT_LOCAL_STORAGE_KEY = undefined; const DEFAULT_CONFIG = { uuid: DEFAULT_LOCAL_STORAGE_KEY, title: 'Ontimize Web App' }; export const O_INPUTS_OPTIONS = new InjectionToken('o-inputs-options'); export const APP_CONFIG = new InjectionToken('app.config'); export class AppConfig { constructor(config) { this._config = (config && Util.isObject(config) && !Array.isArray(config)) ? config : {}; } getConfiguration() { return Object.assign(DEFAULT_CONFIG, this._config); } getServiceConfiguration() { return this._config.servicesConfiguration || {}; } getMenuConfiguration() { return this._config.appMenuConfiguration || []; } useRemoteBundle() { return Util.isDefined(this._config.bundle); } getBundleEndpoint() { let result; const existsBundleConf = this.useRemoteBundle(); if (existsBundleConf && Util.isDefined(this._config.bundle.endpoint)) { result = this._config.bundle.endpoint; } else if (existsBundleConf && Util.isDefined(this._config.bundle.path)) { result = this._config.apiEndpoint + '/' + this._config.bundle.path; } return result; } getI18nAssetsConfiguration() { if (Util.isDefined(this._config.assets) && Util.isDefined(this._config.assets.i18n)) { return this._config.assets.i18n; } return undefined; } getCssAssetsConfiguration() { if (Util.isDefined(this._config.assets) && Util.isDefined(this._config.assets.css)) { return this._config.assets.css; } return undefined; } getImagesAssetsConfiguration() { if (Util.isDefined(this._config.assets) && Util.isDefined(this._config.assets.images)) { return this._config.assets.images; } return undefined; } getJsAssetsConfiguration() { if (Util.isDefined(this._config.assets) && Util.isDefined(this._config.assets.js)) { return this._config.assets.js; } return undefined; } getRemoteConfigurationConfig() { return this._config.remoteConfig; } useRemoteConfiguration() { return Util.isDefined(this._config.remoteConfig); } getRemoteConfigurationEndpoint() { let result; const existsRemoteConf = this.useRemoteConfiguration(); if (existsRemoteConf && Util.isDefined(this._config.remoteConfig.endpoint)) { result = this._config.remoteConfig.endpoint; } else if (existsRemoteConf && Util.isDefined(this._config.remoteConfig.path)) { result = this._config.apiEndpoint + '/' + this._config.remoteConfig.path; } return result; } useExportConfiguration() { return Util.isDefined(this._config.exportConfiguration); } getExportPath() { let result; const existsRemoteConf = this.useExportConfiguration(); if (existsRemoteConf && Util.isDefined(this._config.exportConfiguration.path)) { result = this._config.exportConfiguration.path; } else { result = this._config.apiEndpoint + '/export'; } return result; } getNameConvention() { return this._config.nameConvention || 'database'; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb25maWcvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFcEMsTUFBTSx5QkFBeUIsR0FBRyxTQUFTLENBQUM7QUFDNUMsTUFBTSxjQUFjLEdBQVc7SUFDN0IsSUFBSSxFQUFFLHlCQUF5QjtJQUMvQixLQUFLLEVBQUUsa0JBQWtCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsa0JBQWtCLENBQUMsQ0FBQztBQUV2RixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVMsWUFBWSxDQUFDLENBQUM7QUFFbkUsTUFBTSxPQUFPLFNBQVM7SUFHcEIsWUFBWSxNQUFPO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDM0YsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLElB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Q0FBQyxFQUFFO1lBQzFFLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7U0FDN0M7YUFBTSxJQUFJLGdCQUFnQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0UsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDMUU7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxNQUFjLENBQUM7UUFDbkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN2RCxJQUFJLGdCQUFnQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3RSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7U0FDaEQ7YUFBTTtZQUNMLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7U0FDL0M7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsSUFBSSxVQUFVLENBQUM7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMvY29uZmlnLnR5cGUnO1xuaW1wb3J0IHsgTWVudVJvb3RJdGVtIH0gZnJvbSAnLi4vdHlwZXMvbWVudS1yb290LWl0ZW0udHlwZSc7XG5pbXBvcnQgeyBPSW5wdXRzT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzL28taW5wdXRzLW9wdGlvbnMudHlwZSc7XG5pbXBvcnQgeyBPUmVtb3RlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL3R5cGVzL3JlbW90ZS1jb25maWd1cmF0aW9uLnR5cGUnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5cbmNvbnN0IERFRkFVTFRfTE9DQUxfU1RPUkFHRV9LRVkgPSB1bmRlZmluZWQ7XG5jb25zdCBERUZBVUxUX0NPTkZJRzogQ29uZmlnID0ge1xuICB1dWlkOiBERUZBVUxUX0xPQ0FMX1NUT1JBR0VfS0VZLFxuICB0aXRsZTogJ09udGltaXplIFdlYiBBcHAnXG59O1xuXG5leHBvcnQgY29uc3QgT19JTlBVVFNfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPSW5wdXRzT3B0aW9ucz4oJ28taW5wdXRzLW9wdGlvbnMnKTtcblxuZXhwb3J0IGNvbnN0IEFQUF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uZmlnPignYXBwLmNvbmZpZycpO1xuXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnOiBDb25maWc7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnPykge1xuICAgIHRoaXMuX2NvbmZpZyA9IChjb25maWcgJiYgVXRpbC5pc09iamVjdChjb25maWcpICYmICFBcnJheS5pc0FycmF5KGNvbmZpZykpID8gY29uZmlnIDoge307XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlndXJhdGlvbigpOiBDb25maWcge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKERFRkFVTFRfQ09ORklHLCB0aGlzLl9jb25maWcpO1xuICB9XG5cbiAgcHVibGljIGdldFNlcnZpY2VDb25maWd1cmF0aW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5zZXJ2aWNlc0NvbmZpZ3VyYXRpb24gfHwge307XG4gIH1cblxuICBwdWJsaWMgZ2V0TWVudUNvbmZpZ3VyYXRpb24oKTogTWVudVJvb3RJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcuYXBwTWVudUNvbmZpZ3VyYXRpb24gfHwgW107XG4gIH1cblxuICBwdWJsaWMgdXNlUmVtb3RlQnVuZGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYnVuZGxlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCdW5kbGVFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQ6IHN0cmluZztcbiAgICBjb25zdCBleGlzdHNCdW5kbGVDb25mID0gdGhpcy51c2VSZW1vdGVCdW5kbGUoKTtcbiAgICBpZiAoZXhpc3RzQnVuZGxlQ29uZiAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYnVuZGxlLmVuZHBvaW50KSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLmJ1bmRsZS5lbmRwb2ludDtcbiAgICB9IGVsc2UgaWYgKGV4aXN0c0J1bmRsZUNvbmYgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLmJ1bmRsZS5wYXRoKSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLmFwaUVuZHBvaW50ICsgJy8nICsgdGhpcy5fY29uZmlnLmJ1bmRsZS5wYXRoO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGdldEkxOG5Bc3NldHNDb25maWd1cmF0aW9uKCk6IGFueSB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMpICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMuaTE4bikpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcuYXNzZXRzLmkxOG47XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3NzQXNzZXRzQ29uZmlndXJhdGlvbigpOiBhbnkge1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzKSAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzLmNzcykpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcuYXNzZXRzLmNzcztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbWFnZXNBc3NldHNDb25maWd1cmF0aW9uKCk6IGFueSB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMpICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5hc3NldHMuaW1hZ2VzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5hc3NldHMuaW1hZ2VzO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldEpzQXNzZXRzQ29uZmlndXJhdGlvbigpOiBhbnkge1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzKSAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcuYXNzZXRzLmpzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5hc3NldHMuanM7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVtb3RlQ29uZmlndXJhdGlvbkNvbmZpZygpOiBPUmVtb3RlQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZW1vdGVDb25maWc7XG4gIH1cblxuICBwdWJsaWMgdXNlUmVtb3RlQ29uZmlndXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVtb3RlQ29uZmlndXJhdGlvbkVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xuICAgIGNvbnN0IGV4aXN0c1JlbW90ZUNvbmYgPSB0aGlzLnVzZVJlbW90ZUNvbmZpZ3VyYXRpb24oKTtcbiAgICBpZiAoZXhpc3RzUmVtb3RlQ29uZiAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLl9jb25maWcucmVtb3RlQ29uZmlnLmVuZHBvaW50KSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZy5lbmRwb2ludDtcbiAgICB9IGVsc2UgaWYgKGV4aXN0c1JlbW90ZUNvbmYgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZy5wYXRoKSkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fY29uZmlnLmFwaUVuZHBvaW50ICsgJy8nICsgdGhpcy5fY29uZmlnLnJlbW90ZUNvbmZpZy5wYXRoO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHVzZUV4cG9ydENvbmZpZ3VyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHRoaXMuX2NvbmZpZy5leHBvcnRDb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeHBvcnRQYXRoKCkge1xuICAgIGxldCByZXN1bHQ6IHN0cmluZztcbiAgICBjb25zdCBleGlzdHNSZW1vdGVDb25mID0gdGhpcy51c2VFeHBvcnRDb25maWd1cmF0aW9uKCk7XG4gICAgaWYgKGV4aXN0c1JlbW90ZUNvbmYgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5fY29uZmlnLmV4cG9ydENvbmZpZ3VyYXRpb24ucGF0aCkpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2NvbmZpZy5leHBvcnRDb25maWd1cmF0aW9uLnBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2NvbmZpZy5hcGlFbmRwb2ludCArICcvZXhwb3J0JztcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldE5hbWVDb252ZW50aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcubmFtZUNvbnZlbnRpb24gfHwgJ2RhdGFiYXNlJztcbiAgfVxufVxuIl19