From 990a211110ef4f305f6def55637a7fbd3eb30954 Mon Sep 17 00:00:00 2001 From: masumulu28 Date: Tue, 28 Mar 2023 14:08:55 +0300 Subject: [PATCH] tree-util & routes.service updated --- .../core/src/lib/services/routes.service.ts | 13 ++++++++++--- .../packages/core/src/lib/utils/tree-utils.ts | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/routes.service.ts b/npm/ng-packs/packages/core/src/lib/services/routes.service.ts index 27a01beecf..80ee56765e 100644 --- a/npm/ng-packs/packages/core/src/lib/services/routes.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/routes.service.ts @@ -61,7 +61,7 @@ export abstract class AbstractTreeService[]): RouteGroup[] | undefined { const map = createGroupMap(list, this.othersGroup); - return !map ? undefined : Array.from(map, ([key, items]) => ({ group: key, items })); + return Boolean(map) ? Array.from(map, ([key, items]) => ({ group: key, items })) : undefined; } private filterWith(setOrMap: Set | Map): T[] { @@ -196,11 +196,18 @@ export abstract class AbstractNavTreeService @Injectable({ providedIn: 'root' }) export class RoutesService extends AbstractNavTreeService { + private hasPathOrChild(item: TreeNode): boolean { + return Boolean(item.path) || Boolean(item.children?.length); + } + get groupedVisible(): RouteGroup[] | undefined { - return this.createGroupedTree(this.visible.filter(f => f.path || f.children?.length > 0)); + return this.createGroupedTree(this.visible.filter(item => this.hasPathOrChild(item))); } get groupedVisible$(): Observable[] | undefined> { - return this.visible$.pipe(map(visible => this.createGroupedTree(visible))); + return this.visible$.pipe( + map(items => items.filter(item => this.hasPathOrChild(item))), + map(visible => this.createGroupedTree(visible)), + ); } } diff --git a/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts b/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts index 0195a81112..8ea8cc504c 100644 --- a/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts +++ b/npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts @@ -76,7 +76,7 @@ export function createTreeNodeFilterCreator( }; } -export function createGroupMap( +export function createGroupMap( list: TreeNode[], othersGroupKey: string, ) {