diff --git a/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-edit/admin-funding-agencies-edit.routable.html b/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-edit/admin-funding-agencies-edit.routable.html index b7560496ac8b5f942901a240a54328a1cf83026d..3eab8111a897fbfa080b4b9a7742f490448af274 100644 --- a/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-edit/admin-funding-agencies-edit.routable.html +++ b/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-edit/admin-funding-agencies-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingWithDependencyObs | async" > diff --git a/src/app/features/admin/institution/components/routables/admin-institution-edit/admin-institution-edit.routable.html b/src/app/features/admin/institution/components/routables/admin-institution-edit/admin-institution-edit.routable.html index dfe25921bfaa78e0716ed89226565f60c3d73a72..ed2637316338b8b597cfbdfb8b0e7d11ad531884 100644 --- a/src/app/features/admin/institution/components/routables/admin-institution-edit/admin-institution-edit.routable.html +++ b/src/app/features/admin/institution/components/routables/admin-institution-edit/admin-institution-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingWithDependencyObs | async" > diff --git a/src/app/features/admin/license/components/routables/admin-license-edit/admin-license-edit.routable.html b/src/app/features/admin/license/components/routables/admin-license-edit/admin-license-edit.routable.html index f36c7841578c63fd65eda19b007693ceb76e7e9c..cca5521588d7e5d89e6b6ce12838bc9d414a4ac6 100644 --- a/src/app/features/admin/license/components/routables/admin-license-edit/admin-license-edit.routable.html +++ b/src/app/features/admin/license/components/routables/admin-license-edit/admin-license-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingWithDependencyObs | async" > diff --git a/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-edit/admin-oauth2-client-edit.routable.html b/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-edit/admin-oauth2-client-edit.routable.html index 402101cd07d35d43dde25f85fbb14f237f3576fd..b3cbdadbd68114b3fde951e196c6319a8117aab1 100644 --- a/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-edit/admin-oauth2-client-edit.routable.html +++ b/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-edit/admin-oauth2-client-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingWithDependencyObs | async" > diff --git a/src/app/features/admin/orgunit/components/routables/admin-orgunit-edit/admin-orgunit-edit.routable.html b/src/app/features/admin/orgunit/components/routables/admin-orgunit-edit/admin-orgunit-edit.routable.html index 054bba2ba7f7364d95cab813bdd998fdee76e707..e7ed34ba80ed33c07f3bde76a6c8e3bbe91d3ebc 100644 --- a/src/app/features/admin/orgunit/components/routables/admin-orgunit-edit/admin-orgunit-edit.routable.html +++ b/src/app/features/admin/orgunit/components/routables/admin-orgunit-edit/admin-orgunit-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingWithDependencyObs | async" > diff --git a/src/app/features/admin/person/components/routables/admin-person-edit/admin-person-edit.routable.html b/src/app/features/admin/person/components/routables/admin-person-edit/admin-person-edit.routable.html index 45bf63321731b0a7aee7afdf3a1e78d62a75ee58..44720b5e9c8212e0d716483e6f82968637298004 100644 --- a/src/app/features/admin/person/components/routables/admin-person-edit/admin-person-edit.routable.html +++ b/src/app/features/admin/person/components/routables/admin-person-edit/admin-person-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingWithDependencyObs | async" > diff --git a/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-edit/admin-preservation-policy-edit.routable.html b/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-edit/admin-preservation-policy-edit.routable.html index e4f2f24618da360c0a5f2806d05ea0a042df564a..cc7e17d2da70df2e51bf2475c7e1f53b584c0411 100644 --- a/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-edit/admin-preservation-policy-edit.routable.html +++ b/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-edit/admin-preservation-policy-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingWithDependencyObs | async" > diff --git a/src/app/features/admin/role/components/routables/admin-role-edit/admin-role-edit.routable.html b/src/app/features/admin/role/components/routables/admin-role-edit/admin-role-edit.routable.html index 0c1ad6a886f9ff6539747d23a338f0ab4084391b..beb6005a8edf50d7f93920461c1a77908251355e 100644 --- a/src/app/features/admin/role/components/routables/admin-role-edit/admin-role-edit.routable.html +++ b/src/app/features/admin/role/components/routables/admin-role-edit/admin-role-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingWithDependencyObs | async" > diff --git a/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-edit/admin-submission-policy-edit.routable.html b/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-edit/admin-submission-policy-edit.routable.html index 0ba635f26a43d6ca5003950ae47f57d70da790da..2323c3dac842efd09a090506119433fca6ff9f3b 100644 --- a/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-edit/admin-submission-policy-edit.routable.html +++ b/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-edit/admin-submission-policy-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingWithDependencyObs | async" > diff --git a/src/app/features/admin/user/components/routables/admin-user-edit/admin-user-edit.routable.html b/src/app/features/admin/user/components/routables/admin-user-edit/admin-user-edit.routable.html index 3c142ae6c1225c791ab77d5317e2deebcb113092..4bf291cd41b904b4750ea22e47af954298fd3945 100644 --- a/src/app/features/admin/user/components/routables/admin-user-edit/admin-user-edit.routable.html +++ b/src/app/features/admin/user/components/routables/admin-user-edit/admin-user-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingWithDependencyObs | async" > diff --git a/src/app/features/deposit/components/routables/deposit-edit/deposit-edit.routable.html b/src/app/features/deposit/components/routables/deposit-edit/deposit-edit.routable.html index eb7c884a05787ed3a26dfceeb681b4f2e58b314f..20091146c1e56fdda6531a6c771c037166a88249 100644 --- a/src/app/features/deposit/components/routables/deposit-edit/deposit-edit.routable.html +++ b/src/app/features/deposit/components/routables/deposit-edit/deposit-edit.routable.html @@ -4,7 +4,7 @@ (click)="backToDetail()" > <mat-icon>navigate_before</mat-icon> - {{'deposit.backToDetail' | translate}} + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} </button> </div> diff --git a/src/app/features/organizational-unit/components/routables/orgunit-edit/orgunit-edit.routable.html b/src/app/features/organizational-unit/components/routables/orgunit-edit/orgunit-edit.routable.html index 011ffeaa0a278af5021c2446ee62bee206cf1633..68660c06af64a7e956e2cc7428f6b1aafa9ac634 100644 --- a/src/app/features/organizational-unit/components/routables/orgunit-edit/orgunit-edit.routable.html +++ b/src/app/features/organizational-unit/components/routables/orgunit-edit/orgunit-edit.routable.html @@ -1,3 +1,13 @@ +<div class="button-toolbar"> + <button mat-button + color="accent" + (click)="backToDetail()" + > + <mat-icon>navigate_before</mat-icon> + {{KEY_BACK_TO_DETAIL_BUTTON | translate}} + </button> +</div> + <div class="wrapper" [dlcmSpinner]="isLoadingObs | async" > diff --git a/src/app/shared/components/routables/shared-abstract-edit/shared-abstract-edit.routable.ts b/src/app/shared/components/routables/shared-abstract-edit/shared-abstract-edit.routable.ts index 66b8548d1a11951e2fdf6745649cf47019c76b7f..3e9ac4d51227bded720ec0fdaae53e62d6557657 100644 --- a/src/app/shared/components/routables/shared-abstract-edit/shared-abstract-edit.routable.ts +++ b/src/app/shared/components/routables/shared-abstract-edit/shared-abstract-edit.routable.ts @@ -5,8 +5,10 @@ import { } from "@angular/core"; import {ActivatedRoute} from "@angular/router"; import {SharedAbstractCrudRoutable} from "@app/shared/components/routables/shared-abstract-crud/shared-abstract-crud.routable"; +import {Navigate} from "@ngxs/router-plugin"; import {Store} from "@ngxs/store"; import {SharedAbstractFormPresentational} from "@shared/components/presentationals/shared-abstract-form/shared-abstract-form.presentational"; +import {StoreRouteLocalUtil} from "@shared/utils/store-route-local.util"; import {Observable} from "rxjs"; import { isFalse, @@ -16,6 +18,7 @@ import { ResourceNameSpace, ResourceStateModel, StoreUtil, + TRANSLATE, } from "solidify-frontend"; import {LocalStateEnum} from "../../../enums/local-state.enum"; @@ -23,6 +26,8 @@ export abstract class SharedAbstractEditRoutable<TResourceModel, UResourceStateM isLoadingObs: Observable<boolean>; currentObs: Observable<TResourceModel>; + readonly KEY_BACK_TO_DETAIL_BUTTON: string = TRANSLATE("app.navigation.button.backToDetail"); + @ViewChild("formPresentational", {static: false}) readonly formPresentational: SharedAbstractFormPresentational<any>; @@ -65,15 +70,19 @@ export abstract class SharedAbstractEditRoutable<TResourceModel, UResourceStateM } abstract getSubResourceWithParentId(id: string): void; + getResId(): string { return this._resId; } - update(model: ModelFormControlEvent<TResourceModel>): void { super.saveInProgress(); this.store.dispatch(ResourceActionHelper.update<TResourceModel>(this.resourceNameSpace, model)); } + + backToDetail(): void { + this.store.dispatch(new Navigate([StoreRouteLocalUtil.getDetailRoute(this.state), this._resId])); + } } export interface OptionSharedAbstractEditRoutable { diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 81a0d07fc04d7d17551a140a215f4b3601a2154f..03e216747d90e0fda9f7f50d488b261dc8aff546 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -474,6 +474,11 @@ }, "title": "{{name}}: Status history" }, + "navigation": { + "button": { + "backToDetail": "Leave edit mode" + } + }, "person": { "notification": { "resource": { @@ -635,7 +640,6 @@ "placeholder": "Click here to add authors", "title": "Authors" }, - "backToDetail": "Leave edit mode", "backToEdit": "Return to editing", "backToList": "Deposit list", "collectionBegin": "Data Collection Start Date", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 81a0d07fc04d7d17551a140a215f4b3601a2154f..03e216747d90e0fda9f7f50d488b261dc8aff546 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -474,6 +474,11 @@ }, "title": "{{name}}: Status history" }, + "navigation": { + "button": { + "backToDetail": "Leave edit mode" + } + }, "person": { "notification": { "resource": { @@ -635,7 +640,6 @@ "placeholder": "Click here to add authors", "title": "Authors" }, - "backToDetail": "Leave edit mode", "backToEdit": "Return to editing", "backToList": "Deposit list", "collectionBegin": "Data Collection Start Date", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 1c8a69633645e87f2396dea36704618b5b4ab20d..e110e4de4bff01da2709c8316ce42ed03a29d30a 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -474,6 +474,11 @@ }, "title": "{{name}} : Historique des status" }, + "navigation": { + "button": { + "backToDetail": "Quitter le mode édition" + } + }, "person": { "notification": { "resource": { @@ -635,7 +640,6 @@ "placeholder": "Cliquer ici pour ajouter des auteurs", "title": "Auteurs" }, - "backToDetail": "Quitter le mode édition", "backToEdit": "Retour en édition", "backToList": "Liste des dépôts", "collectionBegin": "Début de la collecte des données",