Skip to content
Snippets Groups Projects
Commit a8b25f2a authored by Alicia.DeDiosFuente's avatar Alicia.DeDiosFuente
Browse files

fix: refresh AipDetailEdit component when routing change

parent 688b8c06
No related branches found
No related tags found
1 merge request!121Adf 999 aip history
...@@ -93,7 +93,6 @@ export class AipDetailEditRoutable extends SharedAbstractDetailEditCommonRoutabl ...@@ -93,7 +93,6 @@ export class AipDetailEditRoutable extends SharedAbstractDetailEditCommonRoutabl
protected route: ActivatedRoute, protected route: ActivatedRoute,
protected readonly _actions$: Actions, protected readonly _actions$: Actions,
protected readonly _changeDetector: ChangeDetectorRef, protected readonly _changeDetector: ChangeDetectorRef,
private location: Location,
protected readonly _router: Router, protected readonly _router: Router,
protected readonly dialog: MatDialog) { protected readonly dialog: MatDialog) {
super(_store, route, _actions$, _changeDetector, dialog, LocalStateEnum.preservation_aip, preservationAipActionNameSpace, LocalStateEnum.preservation); super(_store, route, _actions$, _changeDetector, dialog, LocalStateEnum.preservation_aip, preservationAipActionNameSpace, LocalStateEnum.preservation);
...@@ -111,6 +110,7 @@ export class AipDetailEditRoutable extends SharedAbstractDetailEditCommonRoutabl ...@@ -111,6 +110,7 @@ export class AipDetailEditRoutable extends SharedAbstractDetailEditCommonRoutabl
filter( event => event instanceof NavigationCancel || event instanceof NavigationEnd), filter( event => event instanceof NavigationCancel || event instanceof NavigationEnd),
distinctUntilChanged(), distinctUntilChanged(),
tap( event => { tap( event => {
this.retrieveResIdFromUrl();
this._computeCurrentTab(); this._computeCurrentTab();
this.matTabGroup.selectedIndex = this.tabSelected; this.matTabGroup.selectedIndex = this.tabSelected;
}) })
...@@ -122,7 +122,7 @@ export class AipDetailEditRoutable extends SharedAbstractDetailEditCommonRoutabl ...@@ -122,7 +122,7 @@ export class AipDetailEditRoutable extends SharedAbstractDetailEditCommonRoutabl
} }
backToList(): void { backToList(): void {
this.location.back(); this._store.dispatch(new Navigate([RoutesEnum.preservationAip + urlSeparator + this.storagion_number]));
} }
simpleChecksum(): void { simpleChecksum(): void {
......
...@@ -283,7 +283,6 @@ export class PreservationAipState extends ResourceState<PreservationAipStateMode ...@@ -283,7 +283,6 @@ export class PreservationAipState extends ResourceState<PreservationAipStateMode
}); });
const pathAipDetail = RoutesEnum.preservationAip + urlSeparator + action.storagion_number + urlSeparator + PreservationPlanningRoutesEnum.aipDetail + AppRoutesEnum.separator ; const pathAipDetail = RoutesEnum.preservationAip + urlSeparator + action.storagion_number + urlSeparator + PreservationPlanningRoutesEnum.aipDetail + AppRoutesEnum.separator ;
const path = [pathAipDetail, action.aip.resId]; const path = [pathAipDetail, action.aip.resId];
console.error(path);
ctx.dispatch(new Navigate(path)); ctx.dispatch(new Navigate(path));
} }
} }
<h1 mat-dialog-title
[matTooltip]="data.name"
>{{'deposit.file.details.title' | translate:paramMessage}}</h1>
<div mat-dialog-content>
<div class="button-wrapper">
<ng-container *ngFor="let button of data.buttons">
<button mat-button
*ngIf="button.displayCondition ? button.displayCondition(data.aip) : true"
[disabled]="button.disableCondition ? button.disableCondition(data.aip) : false"
[color]="button.color"
(click)="button.callback ? button.callback(data.aip) : undefined"
>
<mat-icon>{{button.icon}}</mat-icon>
{{button.labelToTranslate | translate}}
</button>
</ng-container>
<button mat-button
color="accent"
(click)="showHistory()"
>
<fa-icon icon="history"></fa-icon>
{{'deposit.file.button.showHistory' | translate}}
</button>
</div>
<mat-list>
<h2 mat-dialog-title>{{'deposit.file.details.delimiter.fileInfo' | translate}} </h2>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.fileName' | translate}}</span>
<span class="value">{{data.aip.info.name}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.smartSize' | translate}}</span>
<span class="value">{{data.aip.smartSize}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<div *ngIf="data.aip.fileFormat !== null">
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.mimeType' | translate}}</span>
<span class="value">{{data.aip.fileFormat.contentType}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.fileFormat' | translate}}</span>
<span class="value">{{data.aip.fileFormat.format}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.puid' | translate}}</span>
<span class="value">{{data.aip.fileFormat.puid}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
</div>
<div *ngIf="data.aip.info.complianceLevel !== null">
<h2 mat-dialog-title>{{'deposit.file.details.delimiter.complianceLevel' | translate }}</h2>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.complianceLevel' | translate}}</span>
<span class="value">
<dlcm-shared-compliance-level-rating [value]="data.aip.info.complianceLevel"
[withLabel]="false"
></dlcm-shared-compliance-level-rating>
</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
</div>
<div *ngIf="data.aip.fileFormat?.tool !== null">
<h2 mat-dialog-title>{{'deposit.file.details.delimiter.analyticalTool' | translate }}</h2>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.tool.name' | translate}}</span>
<span class="value">{{data.aip.fileFormat.tool.name}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.tool.version' | translate}}</span>
<span class="value">{{data.aip.fileFormat.tool.version}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.tool.description' | translate}}</span>
<span class="value">{{data.aip.fileFormat.tool.description}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.tool.puid' | translate}}</span>
<span class="value">{{data.aip.fileFormat.tool.puid}}</span>
</div>
</mat-list-item>
</div>
<div *ngIf="data.aip.virusCheck !== null">
<h2 mat-dialog-title>{{'deposit.file.details.delimiter.antivirus' | translate }}</h2>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.tool.name' | translate}}</span>
<span class="value">{{data.aip.virusCheck.tool.name}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.tool.description' | translate}}</span>
<span class="value">{{data.aip.virusCheck.tool.description}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.tool.version' | translate}}</span>
<span class="value">{{data.aip.virusCheck.tool.version}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.tool.puid' | translate}}</span>
<span class="value">{{data.aip.virusCheck.tool.puid}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.virusCheck.checkDate' | translate}}</span>
<span class="value">{{data.aip.virusCheck.checkDate}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<div class="item-content">
<span class="key">{{'deposit.file.detail.data.virusCheck.details' | translate}}</span>
<span class="value">{{data.aip.virusCheck.details}}</span>
</div>
</mat-list-item>
<mat-divider></mat-divider>
</div>
<div *ngIf="data.aip.checksums !== undefined && data.aip.checksums !== null && data.aip.checksums.length > 0">
<h2 mat-dialog-title>{{'deposit.file.details.delimiter.checksum' | translate }}</h2>
<mat-list-item>
<div class="item-content">
<span class="value">
<ul class="value-list">
<li *ngFor="let checksum of data.aip.checksums">
{{checksum.checksumAlgo}}: {{checksum.checksum}}
</li>
</ul>
</span>
</div>
</mat-list-item>
</div>
</mat-list>
</div>
<div mat-dialog-actions>
<button mat-button
cdkFocusInitial
(click)="close()"
>{{'deposit.file.details.close' | translate}}</button>
</div>
import { import {
ChangeDetectionStrategy,
Component,
Inject, Inject,
OnInit, OnInit,
} from "@angular/core"; } from "@angular/core";
...@@ -26,20 +24,14 @@ import { ...@@ -26,20 +24,14 @@ import {
QueryParameters, QueryParameters,
} from "solidify-frontend"; } from "solidify-frontend";
@Component({ export abstract class SharedDetailDialog<TResource extends BaseResource> extends SharedAbstractContainer implements OnInit {
selector: "dlcm-shared-detail-dialog",
templateUrl: "./shared-detail.dialog.html",
styleUrls: ["./shared-detail.dialog.scss"],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class SharedDetailDialog<TResource extends BaseResource> extends SharedAbstractContainer implements OnInit {
paramMessage: { name: string } = {name: ""}; paramMessage: { name: string } = {name: ""};
constructor(protected readonly _store: Store, protected constructor(protected readonly _store: Store,
protected readonly _dialog: MatDialog, protected readonly _dialog: MatDialog,
protected readonly _actions$: Actions, protected readonly _actions$: Actions,
protected dialogRef: MatDialogRef<SharedDetailDialog<TResource>>, protected dialogRef: MatDialogRef<SharedDetailDialog<TResource>>,
@Inject(MAT_DIALOG_DATA) public data: SharedDetailDialogData<TResource>) { @Inject(MAT_DIALOG_DATA) public data: SharedDetailDialogData<TResource>) {
super(); super();
} }
......
...@@ -35,7 +35,6 @@ import {fas} from "@fortawesome/free-solid-svg-icons"; ...@@ -35,7 +35,6 @@ import {fas} from "@fortawesome/free-solid-svg-icons";
import {TranslateModule} from "@ngx-translate/core"; import {TranslateModule} from "@ngx-translate/core";
import {NgxsModule} from "@ngxs/store"; import {NgxsModule} from "@ngxs/store";
import {SharedAipDetailDialog} from "@shared/components/dialogs/shared-aip-detail/shared-aip-detail.dialog"; import {SharedAipDetailDialog} from "@shared/components/dialogs/shared-aip-detail/shared-aip-detail.dialog";
import {SharedDetailDialog} from "@shared/components/dialogs/shared-detail-dialog/shared-detail.dialog";
import {SharedFileDetailDialog} from "@shared/components/dialogs/shared-file-detail/shared-file-detail.dialog"; import {SharedFileDetailDialog} from "@shared/components/dialogs/shared-file-detail/shared-file-detail.dialog";
import {SharedHistoryDialog} from "@shared/components/dialogs/shared-history/shared-history.dialog"; import {SharedHistoryDialog} from "@shared/components/dialogs/shared-history/shared-history.dialog";
import {AipStatusSummaryPresentational} from "@shared/components/presentationals/aip-status-summary/aip-status-summary.presentational"; import {AipStatusSummaryPresentational} from "@shared/components/presentationals/aip-status-summary/aip-status-summary.presentational";
...@@ -73,8 +72,7 @@ const routables = []; ...@@ -73,8 +72,7 @@ const routables = [];
const dialogs = [ const dialogs = [
SharedHistoryDialog, SharedHistoryDialog,
SharedFileDetailDialog, SharedFileDetailDialog,
SharedAipDetailDialog, SharedAipDetailDialog
SharedDetailDialog
]; ];
const presentationals = [ const presentationals = [
ButtonToolbarDetailPresentational, ButtonToolbarDetailPresentational,
......
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