From 477e8ea5ae97244703dbfe04a4ee98daa8d5f185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Mon, 18 Jul 2022 16:30:30 +0300 Subject: [PATCH] getParam utils --- src/lib/services/entities-map.service.ts | 2 +- src/lib/utils/functions.ts | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/lib/services/entities-map.service.ts b/src/lib/services/entities-map.service.ts index 9db2413..220d47f 100644 --- a/src/lib/services/entities-map.service.ts +++ b/src/lib/services/entities-map.service.ts @@ -77,7 +77,7 @@ export abstract class EntitiesMapService, I> { } replace(entities: E[]) { - /** Return true if files were replaced or false if not **/ + /** Return true if entities were replaced or false if not **/ const key = this._pluckPrimaryKey(entities[0]); const entityIds = entities.map(entity => entity.id); const existingEntities = this.get(key).filter(entity => entityIds.includes(entity.id)); diff --git a/src/lib/utils/functions.ts b/src/lib/utils/functions.ts index 3fa8a1a..e1da318 100644 --- a/src/lib/utils/functions.ts +++ b/src/lib/utils/functions.ts @@ -171,7 +171,14 @@ Array.prototype.filterTruthy = function (this: T[], predicate: (value: T) => /** * Use this in field initialization or in constructor of a service / component * @param param + * @param route */ -export function getParam(param: string): string | null { - return inject(ActivatedRoute).snapshot.paramMap.get(param); +export function getParam(param: string, route = inject(ActivatedRoute)): string | null { + if (route.snapshot.paramMap.has(param)) { + return route.snapshot.paramMap.get(param); + } + if (route.parent) { + return getParam(param, route.parent); + } + return null; }