Skip to content
Snippets Groups Projects
Commit 7d39e9bc authored by Florent POITTEVIN's avatar Florent POITTEVIN
Browse files

fix: avoid 3 call to getById on aip detail

parent 1847e026
No related branches found
No related tags found
No related merge requests found
......@@ -21,9 +21,9 @@ import {RoutesEnum} from "@shared/enums/routes.enum";
import {RouterExtService} from "@shared/services/router-ext.service";
import {SecurityService} from "@shared/services/security.service";
import {
MARK_AS_TRANSLATABLE,
OrderEnum,
Override,
MARK_AS_TRANSLATABLE,
} from "solidify-frontend";
@Component({
......
......@@ -78,6 +78,9 @@ export class AipDetailEditRoutable extends SharedAbstractDetailEditCommonRoutabl
isLoadingHistoryObs: Observable<boolean> = MemoizedUtil.isLoading(this._store, PreservationAipStatusHistoryState);
queryParametersObs: Observable<QueryParameters> = MemoizedUtil.select(this._store, PreservationAipStatusHistoryState, state => state.queryParameters);
@OverrideProperty()
getByIdIfAlreadyInState: boolean = false;
readonly KEY_PARAM_NAME: keyof Aip & string = "archiveId";
tabSelected: AipTabEnum;
......@@ -172,12 +175,11 @@ export class AipDetailEditRoutable extends SharedAbstractDetailEditCommonRoutabl
}
ngOnInit(): void {
super.ngOnInit();
this.mode = AipHelper.determineMode(this._store);
if (this.mode === AipMode.AIP) {
this.storagion_number = +this._route.snapshot.parent.paramMap.get(PreservationPlanningRoutesEnum.storagionNumberWithoutPrefixParam);
}
this.retrieveCurrentModelWithUrl();
super.ngOnInit();
this._computeCurrentTab();
......
......@@ -72,6 +72,7 @@ export abstract class SharedAbstractDetailEditRoutable<TResourceModel extends Ba
isEditObs: Observable<boolean>;
urlQueryParameters: MappingObject<string | undefined>;
getByIdIfAlreadyInState: boolean = true;
readonly editAvailable: boolean = true;
readonly deleteAvailable: boolean = true;
......@@ -118,7 +119,9 @@ export abstract class SharedAbstractDetailEditRoutable<TResourceModel extends Ba
protected retrieveCurrentModelWithUrl(): void {
this.retrieveResIdFromUrl();
this.getById(this._resId);
if (this.getByIdIfAlreadyInState || isNullOrUndefined(this.current) || this.current?.resId !== this._resId) {
this.getById(this._resId);
}
}
protected getById(id: string): void {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment