UNPKG

@alfresco/adf-content-services

Version:
76 lines 9.55 kB
/*! * @license * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Injectable } from '@angular/core'; import { AppConfigService, LogService } from '@alfresco/adf-core'; import { AspectOrientedConfigService } from './aspect-oriented-config.service'; import { IndifferentConfigService } from './indifferent-config.service'; import { LayoutOrientedConfigService } from './layout-oriented-config.service'; import * as i0 from "@angular/core"; import * as i1 from "@alfresco/adf-core"; const INDIFFERENT_PRESET = '*'; const DEFAULT_PRESET_NAME = 'default'; export class ContentMetadataConfigFactory { constructor(appConfigService, logService) { this.appConfigService = appConfigService; this.logService = logService; } get(presetName = 'default') { let presetConfig; try { presetConfig = this.appConfigService.config['content-metadata'].presets[presetName]; } catch { if (presetName !== DEFAULT_PRESET_NAME) { this.logService.error(`No content-metadata preset for: ${presetName}`); } presetConfig = INDIFFERENT_PRESET; } return this.createConfig(presetConfig); } createConfig(presetConfig) { let config; if (this.isLayoutOrientedPreset(presetConfig)) { config = new LayoutOrientedConfigService(presetConfig); } else if (this.isAspectOrientedPreset(presetConfig)) { config = new AspectOrientedConfigService(presetConfig); } else { config = new IndifferentConfigService(); } Object.freeze(config); return config; } isAspectOrientedPreset(presetConfig) { return this.isObject(presetConfig); } isLayoutOrientedPreset(presetConfig) { return Array.isArray(presetConfig); } isObject(x) { return x != null && typeof x === 'object'; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContentMetadataConfigFactory, deps: [{ token: i1.AppConfigService }, { token: i1.LogService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContentMetadataConfigFactory, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContentMetadataConfigFactory, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.AppConfigService }, { type: i1.LogService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1tZXRhZGF0YS1jb25maWcuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC1tZXRhZGF0YS9zZXJ2aWNlcy9jb25maWcvY29udGVudC1tZXRhZGF0YS1jb25maWcuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRy9FLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0FBQy9CLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDO0FBS3RDLE1BQU0sT0FBTyw0QkFBNEI7SUFDckMsWUFBb0IsZ0JBQWtDLEVBQVUsVUFBc0I7UUFBbEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRW5GLEdBQUcsQ0FBQyxhQUFxQixTQUFTO1FBQ3JDLElBQUksWUFBMEIsQ0FBQztRQUMvQixJQUFJLENBQUM7WUFDRCxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ0wsSUFBSSxVQUFVLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsbUNBQW1DLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDM0UsQ0FBQztZQUNELFlBQVksR0FBRyxrQkFBa0IsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxZQUFZLENBQUMsWUFBMEI7UUFDMUMsSUFBSSxNQUE2QixDQUFDO1FBRWxDLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDNUMsTUFBTSxHQUFHLElBQUksMkJBQTJCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxHQUFHLElBQUksMkJBQTJCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBQzVDLENBQUM7UUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxZQUEwQjtRQUNyRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFlBQTBCO1FBQ3JELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sUUFBUSxDQUFDLENBQU07UUFDbkIsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUM5QyxDQUFDOzhHQTFDUSw0QkFBNEI7a0hBQTVCLDRCQUE0QixjQUZ6QixNQUFNOzsyRkFFVCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBMb2dTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEFzcGVjdE9yaWVudGVkQ29uZmlnU2VydmljZSB9IGZyb20gJy4vYXNwZWN0LW9yaWVudGVkLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEluZGlmZmVyZW50Q29uZmlnU2VydmljZSB9IGZyb20gJy4vaW5kaWZmZXJlbnQtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGF5b3V0T3JpZW50ZWRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9sYXlvdXQtb3JpZW50ZWQtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJlc2V0Q29uZmlnLCBDb250ZW50TWV0YWRhdGFDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbnRlbnQtbWV0YWRhdGEuaW50ZXJmYWNlcyc7XG5cbmNvbnN0IElORElGRkVSRU5UX1BSRVNFVCA9ICcqJztcbmNvbnN0IERFRkFVTFRfUFJFU0VUX05BTUUgPSAnZGVmYXVsdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudE1ldGFkYXRhQ29uZmlnRmFjdG9yeSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHBDb25maWdTZXJ2aWNlOiBBcHBDb25maWdTZXJ2aWNlLCBwcml2YXRlIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgZ2V0KHByZXNldE5hbWU6IHN0cmluZyA9ICdkZWZhdWx0Jyk6IENvbnRlbnRNZXRhZGF0YUNvbmZpZyB7XG4gICAgICAgIGxldCBwcmVzZXRDb25maWc6IFByZXNldENvbmZpZztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHByZXNldENvbmZpZyA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5jb25maWdbJ2NvbnRlbnQtbWV0YWRhdGEnXS5wcmVzZXRzW3ByZXNldE5hbWVdO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIGlmIChwcmVzZXROYW1lICE9PSBERUZBVUxUX1BSRVNFVF9OQU1FKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmVycm9yKGBObyBjb250ZW50LW1ldGFkYXRhIHByZXNldCBmb3I6ICR7cHJlc2V0TmFtZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZXNldENvbmZpZyA9IElORElGRkVSRU5UX1BSRVNFVDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbmZpZyhwcmVzZXRDb25maWcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVDb25maWcocHJlc2V0Q29uZmlnOiBQcmVzZXRDb25maWcpOiBDb250ZW50TWV0YWRhdGFDb25maWcge1xuICAgICAgICBsZXQgY29uZmlnOiBDb250ZW50TWV0YWRhdGFDb25maWc7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNMYXlvdXRPcmllbnRlZFByZXNldChwcmVzZXRDb25maWcpKSB7XG4gICAgICAgICAgICBjb25maWcgPSBuZXcgTGF5b3V0T3JpZW50ZWRDb25maWdTZXJ2aWNlKHByZXNldENvbmZpZyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0FzcGVjdE9yaWVudGVkUHJlc2V0KHByZXNldENvbmZpZykpIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IG5ldyBBc3BlY3RPcmllbnRlZENvbmZpZ1NlcnZpY2UocHJlc2V0Q29uZmlnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IG5ldyBJbmRpZmZlcmVudENvbmZpZ1NlcnZpY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIE9iamVjdC5mcmVlemUoY29uZmlnKTtcbiAgICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQXNwZWN0T3JpZW50ZWRQcmVzZXQocHJlc2V0Q29uZmlnOiBQcmVzZXRDb25maWcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPYmplY3QocHJlc2V0Q29uZmlnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTGF5b3V0T3JpZW50ZWRQcmVzZXQocHJlc2V0Q29uZmlnOiBQcmVzZXRDb25maWcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocHJlc2V0Q29uZmlnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzT2JqZWN0KHg6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4geCAhPSBudWxsICYmIHR5cGVvZiB4ID09PSAnb2JqZWN0JztcbiAgICB9XG59XG4iXX0=