From 8e7a221ce0de863b325f70ac4b0db51926664b60 Mon Sep 17 00:00:00 2001 From: ashanmugavel Date: Fri, 2 Aug 2024 13:51:06 +0200 Subject: [PATCH 1/2] chore[XXXX]: fixed bug --- .../parts/detail/parts-detail.component.html | 2 +- .../parts/detail/parts-detail.component.ts | 2 +- .../part-details/core/partDetails.facade.ts | 17 ++++++++---- .../presentation/part-relation.component.ts | 3 ++- .../modules/shared/service/parts.service.ts | 27 +++++++++++++++++++ 5 files changed, 43 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/modules/page/parts/detail/parts-detail.component.html b/frontend/src/app/modules/page/parts/detail/parts-detail.component.html index 55d085ed32..7f4f6583ce 100644 --- a/frontend/src/app/modules/page/parts/detail/parts-detail.component.html +++ b/frontend/src/app/modules/page/parts/detail/parts-detail.component.html @@ -201,7 +201,7 @@ - + open_in_new diff --git a/frontend/src/app/modules/page/parts/detail/parts-detail.component.ts b/frontend/src/app/modules/page/parts/detail/parts-detail.component.ts index 0291bd6fc5..0f351f9f0d 100644 --- a/frontend/src/app/modules/page/parts/detail/parts-detail.component.ts +++ b/frontend/src/app/modules/page/parts/detail/parts-detail.component.ts @@ -63,7 +63,7 @@ export class PartsDetailComponent { public currentPartId: string; public pageIndexHistory: {AS_BUILT_PAGE: string, AS_PLANNED_PAGE: string} - private isAsBuiltPart: boolean; + public isAsBuiltPart: boolean; constructor(public readonly partDetailsFacade: PartDetailsFacade, private readonly router: Router, private readonly route: ActivatedRoute, public roleService: RoleService, private location: Location, private sharedPartService: SharedPartService) { diff --git a/frontend/src/app/modules/shared/modules/part-details/core/partDetails.facade.ts b/frontend/src/app/modules/shared/modules/part-details/core/partDetails.facade.ts index c78c66392f..c0cb225d94 100644 --- a/frontend/src/app/modules/shared/modules/part-details/core/partDetails.facade.ts +++ b/frontend/src/app/modules/shared/modules/part-details/core/partDetails.facade.ts @@ -70,11 +70,18 @@ export class PartDetailsFacade { ); } - public getRootPart(id: string): Observable> { - return this.partsService.getPart(id).pipe( - map((part: Part) => ({ data: part })), - catchError((error: Error) => of({ error })), - ); + public getRootPart(id: string, isAsBuilt: boolean): Observable> { + if (isAsBuilt){ + return this.partsService.getPartByIdAsBuilt(id).pipe( + map((part: Part) => ({ data: part })), + catchError((error: Error) => of({ error })), + ); + }else { + return this.partsService.getPartByIdAsPlanned(id).pipe( + map((part: Part) => ({ data: part })), + catchError((error: Error) => of({ error })), + ); + } } public getChildPartDetails(part): Observable { diff --git a/frontend/src/app/modules/shared/modules/relations/presentation/part-relation.component.ts b/frontend/src/app/modules/shared/modules/relations/presentation/part-relation.component.ts index a5af65b874..45992c60de 100644 --- a/frontend/src/app/modules/shared/modules/relations/presentation/part-relation.component.ts +++ b/frontend/src/app/modules/shared/modules/relations/presentation/part-relation.component.ts @@ -50,6 +50,7 @@ import { delay, switchMap, takeWhile, tap } from 'rxjs/operators'; export class PartRelationComponent implements OnInit, OnDestroy { @Input() isStandalone = true; @Input() showMiniMap = true; + @Input() isAsBuilt = true; public readonly htmlIdBase = 'app-part-relation-'; public readonly subscriptions = new Subscription(); @@ -78,7 +79,7 @@ export class PartRelationComponent implements OnInit, OnDestroy { if (this.partDetailsFacade.selectedPart) return this.partDetailsFacade.selectedPart$; const partId = params.get('partId'); - return partId ? this.partDetailsFacade.getRootPart(partId) : this.partDetailsFacade.selectedPart$; + return partId ? this.partDetailsFacade.getRootPart(partId, this.isAsBuilt) : this.partDetailsFacade.selectedPart$; }), tap(viewData => this._rootPart$.update(viewData)), takeWhile(({ data }) => !data, true), diff --git a/frontend/src/app/modules/shared/service/parts.service.ts b/frontend/src/app/modules/shared/service/parts.service.ts index fcecef0bbb..a936e2bd37 100644 --- a/frontend/src/app/modules/shared/service/parts.service.ts +++ b/frontend/src/app/modules/shared/service/parts.service.ts @@ -125,7 +125,34 @@ export class PartsService { ); } + public getPartByIdAsBuilt(id: string): Observable { + if (!id || typeof id !== 'string') { + throw new Error('invalid ID'); + } + + const encodedId = encodeURIComponent(id); + + return this.apiService.get(`${ this.url }/assets/as-built/${ encodedId }`).pipe( + map(part => PartsAssembler.assemblePart(part, MainAspectType.AS_BUILT)), + catchError(() => of(null)), + ); + + + } + public getPartByIdAsPlanned(id: string): Observable { + if (!id || typeof id !== 'string') { + throw new Error('invalid ID'); + } + + const encodedId = encodeURIComponent(id); + + return this.apiService.get(`${ this.url }/assets/as-planned/${ encodedId }`).pipe( + map(part => PartsAssembler.assemblePart(part, MainAspectType.AS_PLANNED)), + catchError(() => of(null)), + ); + + } public getPartDetailOfIds(assetIds: string[], isAsBuilt?: boolean): Observable { if (isAsBuilt !== undefined) { From aad76d7219f56d8514837df736f318b2c2a924be Mon Sep 17 00:00:00 2001 From: ashanmugavel Date: Mon, 5 Aug 2024 09:18:13 +0200 Subject: [PATCH 2/2] chore[XXXX]: fixed fullscreen bug --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 909f5f5bec..df8f73c248 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ _**For better traceability add the corresponding GitHub issue number in each cha - #1328 Fixed semanticDataModel translation and part name within notification detail / edit view. - #908 Renamed header in notification detail for parts from Supplier Parts to Affected parts - #1151 Display of null values within contracts in datepicker to be empty if null +- #1310 fixed part tree fullscreen error message ### Removed - #1227 Removed scrollbar on approval dialog