UNPKG

@alfresco/adf-content-services

Version:
52 lines 7.31 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 { AlfrescoApiService } from '../../services/alfresco-api.service'; import { defer, forkJoin } from 'rxjs'; import { map } from 'rxjs/operators'; import { ClassesApi } from '@alfresco/js-api'; import * as i0 from "@angular/core"; import * as i1 from "../../services/alfresco-api.service"; export class PropertyDescriptorsService { get classesApi() { this._classesApi = this._classesApi ?? new ClassesApi(this.alfrescoApiService.getInstance()); return this._classesApi; } constructor(alfrescoApiService) { this.alfrescoApiService = alfrescoApiService; } load(groupNames) { const groupFetchStreams = groupNames .map((groupName) => groupName.replace(':', '_')) .map((groupName) => defer(() => this.classesApi.getClass(groupName))); return forkJoin(groupFetchStreams).pipe(map(this.convertToObject)); } convertToObject(propertyGroupsArray) { return propertyGroupsArray.reduce((propertyGroups, propertyGroup) => Object.assign({}, propertyGroups, { [propertyGroup.name]: propertyGroup }), {}); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PropertyDescriptorsService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PropertyDescriptorsService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PropertyDescriptorsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.AlfrescoApiService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZGVzY3JpcHRvcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC1tZXRhZGF0YS9zZXJ2aWNlcy9wcm9wZXJ0eS1kZXNjcmlwdG9ycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFjLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBSzlDLE1BQU0sT0FBTywwQkFBMEI7SUFFbkMsSUFBSSxVQUFVO1FBQ1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFBRyxDQUFDO0lBRTlELElBQUksQ0FBQyxVQUFvQjtRQUNyQixNQUFNLGlCQUFpQixHQUFHLFVBQVU7YUFDL0IsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUMvQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUUsT0FBTyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxlQUFlLENBQUMsbUJBQW9DO1FBQ3hELE9BQU8sbUJBQW1CLENBQUMsTUFBTSxDQUM3QixDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsRUFBRSxDQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUU7WUFDOUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYTtTQUN0QyxDQUFDLEVBQ04sRUFBRSxDQUNMLENBQUM7SUFDTixDQUFDOzhHQXpCUSwwQkFBMEI7a0hBQTFCLDBCQUEwQixjQUZ2QixNQUFNOzsyRkFFVCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGZyZXNjby1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBkZWZlciwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByb3BlcnR5R3JvdXAsIFByb3BlcnR5R3JvdXBDb250YWluZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbnRlbnQtbWV0YWRhdGEuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDbGFzc2VzQXBpIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlEZXNjcmlwdG9yc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgX2NsYXNzZXNBcGk6IENsYXNzZXNBcGk7XG4gICAgZ2V0IGNsYXNzZXNBcGkoKTogQ2xhc3Nlc0FwaSB7XG4gICAgICAgIHRoaXMuX2NsYXNzZXNBcGkgPSB0aGlzLl9jbGFzc2VzQXBpID8/IG5ldyBDbGFzc2VzQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xhc3Nlc0FwaTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZnJlc2NvQXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlKSB7fVxuXG4gICAgbG9hZChncm91cE5hbWVzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8UHJvcGVydHlHcm91cENvbnRhaW5lcj4ge1xuICAgICAgICBjb25zdCBncm91cEZldGNoU3RyZWFtcyA9IGdyb3VwTmFtZXNcbiAgICAgICAgICAgIC5tYXAoKGdyb3VwTmFtZSkgPT4gZ3JvdXBOYW1lLnJlcGxhY2UoJzonLCAnXycpKVxuICAgICAgICAgICAgLm1hcCgoZ3JvdXBOYW1lKSA9PiBkZWZlcigoKSA9PiB0aGlzLmNsYXNzZXNBcGkuZ2V0Q2xhc3MoZ3JvdXBOYW1lKSkpO1xuXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihncm91cEZldGNoU3RyZWFtcykucGlwZShtYXAodGhpcy5jb252ZXJ0VG9PYmplY3QpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnZlcnRUb09iamVjdChwcm9wZXJ0eUdyb3Vwc0FycmF5OiBQcm9wZXJ0eUdyb3VwW10pOiBQcm9wZXJ0eUdyb3VwQ29udGFpbmVyIHtcbiAgICAgICAgcmV0dXJuIHByb3BlcnR5R3JvdXBzQXJyYXkucmVkdWNlKFxuICAgICAgICAgICAgKHByb3BlcnR5R3JvdXBzLCBwcm9wZXJ0eUdyb3VwKSA9PlxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sIHByb3BlcnR5R3JvdXBzLCB7XG4gICAgICAgICAgICAgICAgICAgIFtwcm9wZXJ0eUdyb3VwLm5hbWVdOiBwcm9wZXJ0eUdyb3VwXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7fVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==