UNPKG

@alfresco/adf-content-services

Version:
81 lines 14.5 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 { TreeNodeType, TreeService } from '../../tree'; import { CategoryService } from './category.service'; import { from } from 'rxjs'; import { map, mergeMap, toArray } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "./category.service"; export class CategoryTreeDatasourceService extends TreeService { constructor(categoryService) { super(); this.categoryService = categoryService; } getSubNodes(parentNodeId, skipCount, maxItems, name) { return !name ? this.categoryService.getSubcategories(parentNodeId, skipCount, maxItems).pipe(map((response) => { const parentNode = this.getParentNode(parentNodeId); const nodesList = response.list.entries.map((entry) => ({ id: entry.entry.id, nodeName: entry.entry.name, parentId: entry.entry.parentId, hasChildren: entry.entry.hasChildren, level: parentNode ? parentNode.level + 1 : 0, isLoading: false, nodeType: TreeNodeType.RegularNode })); if (response.list.pagination.hasMoreItems && parentNode) { const loadMoreNode = { id: 'loadMore', nodeName: '', parentId: parentNode.id, hasChildren: false, level: parentNode.level + 1, isLoading: false, nodeType: TreeNodeType.LoadMoreNode }; nodesList.push(loadMoreNode); } const treeResponse = { entries: nodesList, pagination: response.list.pagination }; return treeResponse; })) : this.categoryService.searchCategories(name, skipCount, maxItems).pipe(mergeMap((pagingResult) => { const nextAfterGeneralPathPartIndex = 3; const pathSeparator = '/'; return from(pagingResult.list.entries).pipe(mergeMap((category) => { const path = category.entry.path.name.split(pathSeparator).slice(nextAfterGeneralPathPartIndex).join(pathSeparator); return this.categoryService.getCategory(category.entry.id).pipe(map((res) => ({ id: category.entry.id, nodeName: path ? `${path}/${category.entry.name}` : category.entry.name, parentId: category.entry.parentId, level: 0, nodeType: TreeNodeType.RegularNode, hasChildren: res.entry.hasChildren, isLoading: false }))); }), toArray(), map((res) => ({ entries: res, pagination: pagingResult.list.pagination }))); })); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CategoryTreeDatasourceService, deps: [{ token: i1.CategoryService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CategoryTreeDatasourceService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CategoryTreeDatasourceService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.CategoryService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktdHJlZS1kYXRhc291cmNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NhdGVnb3J5L3NlcnZpY2VzL2NhdGVnb3J5LXRyZWUtZGF0YXNvdXJjZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBZ0IsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHeEQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFdBQXlCO0lBQ3hFLFlBQW9CLGVBQWdDO1FBQ2hELEtBQUssRUFBRSxDQUFDO1FBRFEsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBRXBELENBQUM7SUFFTSxXQUFXLENBQUMsWUFBb0IsRUFBRSxTQUFrQixFQUFFLFFBQWlCLEVBQUUsSUFBYTtRQUN6RixPQUFPLENBQUMsSUFBSTtZQUNSLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUN6RSxHQUFHLENBQUMsQ0FBQyxRQUF3QixFQUFFLEVBQUU7Z0JBQzdCLE1BQU0sVUFBVSxHQUFpQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNsRSxNQUFNLFNBQVMsR0FBbUIsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMs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QyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FDN0UsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDWixDQUFDOzhHQTVEUSw2QkFBNkI7a0hBQTdCLDZCQUE2QixjQURoQixNQUFNOzsyRkFDbkIsNkJBQTZCO2tCQUR6QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZU5vZGVUeXBlLCBUcmVlUmVzcG9uc2UsIFRyZWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdHJlZSc7XG5pbXBvcnQgeyBDYXRlZ29yeU5vZGUgfSBmcm9tICcuLi9tb2RlbHMvY2F0ZWdvcnktbm9kZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2F0ZWdvcnlTZXJ2aWNlIH0gZnJvbSAnLi9jYXRlZ29yeS5zZXJ2aWNlJztcbmltcG9ydCB7IENhdGVnb3J5RW50cnksIENhdGVnb3J5UGFnaW5nIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwLCB0b0FycmF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENhdGVnb3J5VHJlZURhdGFzb3VyY2VTZXJ2aWNlIGV4dGVuZHMgVHJlZVNlcnZpY2U8Q2F0ZWdvcnlOb2RlPiB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTdWJOb2RlcyhwYXJlbnROb2RlSWQ6IHN0cmluZywgc2tpcENvdW50PzogbnVtYmVyLCBtYXhJdGVtcz86IG51bWJlciwgbmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8VHJlZVJlc3BvbnNlPENhdGVnb3J5Tm9kZT4+IHtcbiAgICAgICAgcmV0dXJuICFuYW1lXG4gICAgICAgICAgICA/IHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmdldFN1YmNhdGVnb3JpZXMocGFyZW50Tm9kZUlkLCBza2lwQ291bnQsIG1heEl0ZW1zKS5waXBlKFxuICAgICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZTogQ2F0ZWdvcnlQYWdpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlOiBDYXRlZ29yeU5vZGUgPSB0aGlzLmdldFBhcmVudE5vZGUocGFyZW50Tm9kZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBub2Rlc0xpc3Q6IENhdGVnb3J5Tm9kZVtdID0gcmVzcG9uc2UubGlzdC5lbnRyaWVzLm1hcCgoZW50cnk6IENhdGVnb3J5RW50cnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBlbnRyeS5lbnRyeS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZU5hbWU6IGVudHJ5LmVudHJ5Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBlbnRyeS5lbnRyeS5wYXJlbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ2hpbGRyZW46IGVudHJ5LmVudHJ5Lmhhc0NoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDogcGFyZW50Tm9kZSA/IHBhcmVudE5vZGUubGV2ZWwgKyAxIDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVR5cGU6IFRyZWVOb2RlVHlwZS5SZWd1bGFyTm9kZVxuICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UubGlzdC5wYWdpbmF0aW9uLmhhc01vcmVJdGVtcyAmJiBwYXJlbnROb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvYWRNb3JlTm9kZTogQ2F0ZWdvcnlOb2RlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdsb2FkTW9yZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlTmFtZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50Tm9kZS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NoaWxkcmVuOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsOiBwYXJlbnROb2RlLmxldmVsICsgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlVHlwZTogVHJlZU5vZGVUeXBlLkxvYWRNb3JlTm9kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rlc0xpc3QucHVzaChsb2FkTW9yZU5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0cmVlUmVzcG9uc2U6IFRyZWVSZXNwb25zZTxDYXRlZ29yeU5vZGU+ID0geyBlbnRyaWVzOiBub2Rlc0xpc3QsIHBhZ2luYXRpb246IHJlc3BvbnNlLmxpc3QucGFnaW5hdGlvbiB9O1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cmVlUmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLnNlYXJjaENhdGVnb3JpZXMobmFtZSwgc2tpcENvdW50LCBtYXhJdGVtcykucGlwZShcbiAgICAgICAgICAgICAgICAgIG1lcmdlTWFwKChwYWdpbmdSZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0QWZ0ZXJHZW5lcmFsUGF0aFBhcnRJbmRleCA9IDM7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aFNlcGFyYXRvciA9ICcvJztcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnJvbShwYWdpbmdSZXN1bHQubGlzdC5lbnRyaWVzKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtZXJnZU1hcCgoY2F0ZWdvcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBjYXRlZ29yeS5lbnRyeS5wYXRoLm5hbWUuc3BsaXQocGF0aFNlcGFyYXRvcikuc2xpY2UobmV4dEFmdGVyR2VuZXJhbFBhdGhQYXJ0SW5kZXgpLmpvaW4ocGF0aFNlcGFyYXRvcik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNhdGVnb3J5U2VydmljZS5nZXRDYXRlZ29yeShjYXRlZ29yeS5lbnRyeS5pZCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHJlcykgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGNhdGVnb3J5LmVudHJ5LmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlTmFtZTogcGF0aCA/IGAke3BhdGh9LyR7Y2F0ZWdvcnkuZW50cnkubmFtZX1gIDogY2F0ZWdvcnkuZW50cnkubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IGNhdGVnb3J5LmVudHJ5LnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVR5cGU6IFRyZWVOb2RlVHlwZS5SZWd1bGFyTm9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ2hpbGRyZW46IHJlcy5lbnRyeS5oYXNDaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvQXJyYXkoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChyZXMpID0+ICh7IGVudHJpZXM6IHJlcywgcGFnaW5hdGlvbjogcGFnaW5nUmVzdWx0Lmxpc3QucGFnaW5hdGlvbiB9KSlcbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=