From 8530f5aa66997d3c68d224070b5539fa8b18fd4e Mon Sep 17 00:00:00 2001 From: Florent Poittevin <florent.poittevin@unige.ch> Date: Fri, 25 Oct 2019 15:40:54 +0200 Subject: [PATCH] feat: redirect to go to pertinent page after action like create, update or delete --- package-lock.json | 51 ++++++------------- package.json | 2 +- .../stores/admin-funding-agencies.state.ts | 5 +- .../stores/admin-institution.state.ts | 5 +- .../license/stores/admin-license.state.ts | 5 +- .../stores/admin-oauth2-client.state.ts | 5 +- .../stores/admin-organizational-unit.state.ts | 8 +-- .../admin/person/stores/admin-person.state.ts | 5 +- .../stores/admin-preservation-policy.state.ts | 5 +- .../admin/role/stores/admin-role.state.ts | 5 +- .../stores/admin-submission-policy.state.ts | 5 +- .../admin/user/stores/admin-user.state.ts | 5 +- .../features/deposit/stores/deposit.state.ts | 5 +- .../home-organizational-unit.state.ts | 6 --- .../stores/organizational-unit.state.ts | 5 +- .../shared-funding-agency.state.ts | 11 +--- .../institution/shared-institution.state.ts | 6 --- .../stores/language/shared-language.state.ts | 6 --- .../stores/license/shared-license.state.ts | 6 --- .../shared-organizational-unit.state.ts | 4 -- .../stores/person/shared-person.state.ts | 26 +++------- .../shared-preservation-policy.state.ts | 6 --- .../shared/stores/role/shared-role.state.ts | 6 --- .../shared-submission-policy.state.ts | 6 --- ...pp-authorized-organizational-unit.state.ts | 4 -- src/app/stores/person/app-person.state.ts | 6 --- src/app/stores/user/app-user.state.ts | 6 --- 27 files changed, 75 insertions(+), 140 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e67085b9..648c6538b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1731,7 +1731,7 @@ "@angular/compiler": "^8.1.3", "boxen": "^4.1.0", "colorette": "^1.1.0", - "flat": "git://github.com/lenchvolodymyr/flat.git#ffe77ef", + "flat": "git://github.com/lenchvolodymyr/flat.git#ffe77efe8c33bc80ffb2f7a465537610dea4f611", "gettext-parser": "^4.0.1", "glob": "^7.1.4", "mkdirp": "^0.5.1", @@ -2406,7 +2406,7 @@ }, "ansi-escapes": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "resolved": "https://packages.dlcm.ch/repository/npm-group/ansi-escapes/-/ansi-escapes-3.2.0.tgz", "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, @@ -5638,8 +5638,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -5660,14 +5659,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5682,20 +5679,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -5812,8 +5806,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -5825,7 +5818,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -5840,7 +5832,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5848,14 +5839,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -5874,7 +5863,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -5955,8 +5943,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -5968,7 +5955,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -6054,8 +6040,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -6091,7 +6076,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -6111,7 +6095,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6155,14 +6138,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -11345,9 +11326,9 @@ } }, "solidify-frontend": { - "version": "0.1.20", - "resolved": "https://packages.dlcm.ch/repository/npm-group/solidify-frontend/-/solidify-frontend-0.1.20.tgz", - "integrity": "sha512-bYAvff1M0DCuWw2AX2q002YEi4yVZeMtmKX/9yS0zNfTeOsMkBA2aS9zIDDhsmuwBskLQhBZv8ZWRnvRQ7620g==", + "version": "0.1.21", + "resolved": "https://packages.dlcm.ch/repository/npm-group/solidify-frontend/-/solidify-frontend-0.1.21.tgz", + "integrity": "sha512-Lth9eDtspnq3gzyjjmngxkMkSkMjqD3R3U0xxmkznFE2H7KjUy5+okE7PStuJU4eoJHAP9oo4W7jujHILMrV1A==", "requires": { "tslib": "^1.9.0" } diff --git a/package.json b/package.json index 4098078af..645c3f139 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "primeicons": "2.0.0", "primeng": "8.0.4", "rxjs": "6.5.3", - "solidify-frontend": "0.1.20", + "solidify-frontend": "0.1.21", "sync-pom-version-to-package": "1.3.1", "ts-key-enum": "2.0.0", "tslib": "1.10.0", diff --git a/src/app/features/admin/funding-agencies/stores/admin-funding-agencies.state.ts b/src/app/features/admin/funding-agencies/stores/admin-funding-agencies.state.ts index 2d17c96cf..e49c51f50 100644 --- a/src/app/features/admin/funding-agencies/stores/admin-funding-agencies.state.ts +++ b/src/app/features/admin/funding-agencies/stores/admin-funding-agencies.state.ts @@ -39,6 +39,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; export interface AdminFundingAgenciesStateModel extends ResourceStateModel<FundingAgencyExtended> { @@ -62,7 +63,9 @@ export class AdminFundingAgenciesState extends ResourceState<FundingAgencyExtend protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: adminFundingAgenciesActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.admin, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.adminFundingAgenciesDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.adminFundingAgenciesDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.adminFundingAgencies, notificationResourceCreateTextToTranslate: TRANSLATE("admin.funding-agencies.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("admin.funding-agencies.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("admin.funding-agencies.notification.resource.update"), diff --git a/src/app/features/admin/institution/stores/admin-institution.state.ts b/src/app/features/admin/institution/stores/admin-institution.state.ts index 645650ebb..eab72b9f0 100644 --- a/src/app/features/admin/institution/stores/admin-institution.state.ts +++ b/src/app/features/admin/institution/stores/admin-institution.state.ts @@ -18,6 +18,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; export interface AdminInstitutionStateModel extends ResourceStateModel<Institution> { @@ -37,7 +38,9 @@ export class AdminInstitutionState extends ResourceState<Institution> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: adminInstitutionActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.adminInstitution, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.adminInstitutionDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.adminInstitutionDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.adminInstitution, notificationResourceCreateTextToTranslate: TRANSLATE("admin.institution.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("admin.institution.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("admin.institution.notification.resource.update"), diff --git a/src/app/features/admin/license/stores/admin-license.state.ts b/src/app/features/admin/license/stores/admin-license.state.ts index 4ba423fd0..dd8e99f6f 100644 --- a/src/app/features/admin/license/stores/admin-license.state.ts +++ b/src/app/features/admin/license/stores/admin-license.state.ts @@ -18,6 +18,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; export interface AdminLicenseStateModel extends ResourceStateModel<License> { @@ -36,7 +37,9 @@ export class AdminLicenseState extends ResourceState<License> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: adminLicenseActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.adminLicense, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.adminLicenseDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.adminLicenseDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.adminLicense, notificationResourceCreateTextToTranslate: TRANSLATE("admin.license.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("admin.license.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("admin.license.notification.resource.update"), diff --git a/src/app/features/admin/oauth2-client/stores/admin-oauth2-client.state.ts b/src/app/features/admin/oauth2-client/stores/admin-oauth2-client.state.ts index ecf040f1c..bab4b71be 100644 --- a/src/app/features/admin/oauth2-client/stores/admin-oauth2-client.state.ts +++ b/src/app/features/admin/oauth2-client/stores/admin-oauth2-client.state.ts @@ -18,6 +18,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; export interface AdminOAuth2ClientStateModel extends ResourceStateModel<Oauth2Client> { @@ -36,7 +37,9 @@ export class AdminOAuth2ClientState extends ResourceState<Oauth2Client> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: adminOAuth2ClientActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.admin, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.adminOAuth2clientDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.adminOAuth2clientDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.adminOAuth2client, notificationResourceCreateTextToTranslate: TRANSLATE("admin.oauth2.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("admin.oauth2.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("admin.oauth2.notification.resource.update"), diff --git a/src/app/features/admin/orgunit/stores/admin-organizational-unit.state.ts b/src/app/features/admin/orgunit/stores/admin-organizational-unit.state.ts index 2bfb86e4f..4e2c0a6ed 100644 --- a/src/app/features/admin/orgunit/stores/admin-organizational-unit.state.ts +++ b/src/app/features/admin/orgunit/stores/admin-organizational-unit.state.ts @@ -64,6 +64,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; export interface AdminOrganizationalUnitStateModel extends ResourceStateModel<OrganizationalUnitExtended> { @@ -89,7 +90,7 @@ export interface AdminOrganizationalUnitStateModel extends ResourceStateModel<Or AdminOrganizationalUnitPreservationPolicyState, AdminOrganizationalUnitPersonRoleState, AdminOrganizationalUnitFundingAgencyState, - AdminOrganizationalUnitInstitutionState + AdminOrganizationalUnitInstitutionState, ], }) export class AdminOrganizationalUnitState extends ResourceState<OrganizationalUnitExtended> { @@ -100,7 +101,9 @@ export class AdminOrganizationalUnitState extends ResourceState<OrganizationalUn protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: adminOrgUnitActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.adminOrganizationalUnit, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.adminOrganizationalUnitDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.adminOrganizationalUnitDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.adminOrganizationalUnit, notificationResourceCreateTextToTranslate: TRANSLATE("admin.organizationalUnit.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("admin.organizationalUnit.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("admin.organizationalUnit.notification.resource.update"), @@ -251,7 +254,6 @@ export class AdminOrganizationalUnitState extends ResourceState<OrganizationalUn const newInstitutionsIds = action.modelFormControlEvent.model.institutions.map(p => p.resId); - if (!isNullOrUndefined(ctx.getState().current)) { oldDefaultPreservationPolicyId = ObjectUtil.getValue(ctx.getState().current.defaultPreservationPolicy, ModelAttributeEnum.resId) as string; oldDefaultSubmissionPolicyId = ObjectUtil.getValue(ctx.getState().current.defaultSubmissionPolicy, ModelAttributeEnum.resId) as string; diff --git a/src/app/features/admin/person/stores/admin-person.state.ts b/src/app/features/admin/person/stores/admin-person.state.ts index 5d0107763..ab8b3b12f 100644 --- a/src/app/features/admin/person/stores/admin-person.state.ts +++ b/src/app/features/admin/person/stores/admin-person.state.ts @@ -43,6 +43,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; export interface AdminPersonStateModel extends ResourceStateModel<PersonExtended> { @@ -69,7 +70,9 @@ export class AdminPersonState extends ResourceState<PersonExtended> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: adminPersonActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.adminPerson, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.adminPersonDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.adminPersonDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.adminPerson, notificationResourceCreateTextToTranslate: TRANSLATE("admin.person.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("admin.person.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("admin.person.notification.resource.update"), diff --git a/src/app/features/admin/preservation-policy/stores/admin-preservation-policy.state.ts b/src/app/features/admin/preservation-policy/stores/admin-preservation-policy.state.ts index 44e98737e..50df90a93 100644 --- a/src/app/features/admin/preservation-policy/stores/admin-preservation-policy.state.ts +++ b/src/app/features/admin/preservation-policy/stores/admin-preservation-policy.state.ts @@ -17,6 +17,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; import {adminPreservationPolicyActionNameSpace} from "./admin-preservation-policy.action"; @@ -36,7 +37,9 @@ export class AdminPreservationPolicyState extends ResourceState<PreservationPoli protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: adminPreservationPolicyActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.adminPreservationPolicy, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.adminPreservationPolicyDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.adminPreservationPolicyDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.adminPreservationPolicy, notificationResourceCreateTextToTranslate: TRANSLATE("admin.preservationPolicy.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("admin.preservationPolicy.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("admin.preservationPolicy.notification.resource.update"), diff --git a/src/app/features/admin/role/stores/admin-role.state.ts b/src/app/features/admin/role/stores/admin-role.state.ts index f7dfa9ffd..5ff38d841 100644 --- a/src/app/features/admin/role/stores/admin-role.state.ts +++ b/src/app/features/admin/role/stores/admin-role.state.ts @@ -18,6 +18,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; export interface AdminRoleStateModel extends ResourceStateModel<Role> { @@ -37,7 +38,9 @@ export class AdminRoleState extends ResourceState<Role> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: adminRoleActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.admin, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.adminRoleDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.adminRoleDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.adminRole, notificationResourceCreateTextToTranslate: TRANSLATE("admin.roles.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("admin.roles.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("admin.roles.notification.resource.update"), diff --git a/src/app/features/admin/submission-policy/stores/admin-submission-policy.state.ts b/src/app/features/admin/submission-policy/stores/admin-submission-policy.state.ts index b2d97ed11..6ed96f16e 100644 --- a/src/app/features/admin/submission-policy/stores/admin-submission-policy.state.ts +++ b/src/app/features/admin/submission-policy/stores/admin-submission-policy.state.ts @@ -17,6 +17,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; import {adminSubmissionPolicyActionNameSpace} from "./admin-submission-policy.action"; @@ -36,7 +37,9 @@ export class AdminSubmissionPolicyState extends ResourceState<SubmissionPolicy> protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: adminSubmissionPolicyActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.adminSubmissionPolicy, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.adminSubmissionPolicyDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.adminSubmissionPolicyDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.adminSubmissionPolicy, notificationResourceCreateTextToTranslate: TRANSLATE("admin.submissionPolicy.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("admin.submissionPolicy.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("admin.submissionPolicy.notification.resource.update"), diff --git a/src/app/features/admin/user/stores/admin-user.state.ts b/src/app/features/admin/user/stores/admin-user.state.ts index d490a7844..588596f88 100644 --- a/src/app/features/admin/user/stores/admin-user.state.ts +++ b/src/app/features/admin/user/stores/admin-user.state.ts @@ -25,6 +25,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; export interface AdminUserStateModel extends ResourceStateModel<UserExtended> { @@ -44,7 +45,9 @@ export class AdminUserState extends ResourceState<UserExtended> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: adminUserActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.adminUser, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.adminUserDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.adminUserDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.adminUser, notificationResourceCreateTextToTranslate: TRANSLATE("admin.user.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("admin.user.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("admin.user.notification.resource.update"), diff --git a/src/app/features/deposit/stores/deposit.state.ts b/src/app/features/deposit/stores/deposit.state.ts index f334edd9c..4ba28d9b9 100644 --- a/src/app/features/deposit/stores/deposit.state.ts +++ b/src/app/features/deposit/stores/deposit.state.ts @@ -73,6 +73,7 @@ import { ResourceStateModel, StoreUtil, TRANSLATE, + urlSeparator, } from "solidify-frontend"; import {environment} from "../../../../environments/environment"; @@ -112,7 +113,9 @@ export class DepositState extends ResourceState<DepositExtended> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: depositActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.deposit, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.depositEdit + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.depositDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.deposit, notificationResourceCreateTextToTranslate: TRANSLATE("deposit.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("deposit.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("deposit.notification.resource.update"), diff --git a/src/app/features/home/stores/organizational-unit/home-organizational-unit.state.ts b/src/app/features/home/stores/organizational-unit/home-organizational-unit.state.ts index 12e87cb95..2d7c8a440 100644 --- a/src/app/features/home/stores/organizational-unit/home-organizational-unit.state.ts +++ b/src/app/features/home/stores/organizational-unit/home-organizational-unit.state.ts @@ -9,7 +9,6 @@ import { import {AccessOrganizationalUnit} from "@app/generated-api"; import {AccessResourceApiEnum} from "@app/shared/enums/api.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; -import {RoutesEnum} from "@app/shared/enums/routes.enum"; import {Navigate} from "@ngxs/router-plugin"; import { Action, @@ -34,7 +33,6 @@ import { ResourceState, ResourceStateModel, StoreUtil, - TRANSLATE, } from "solidify-frontend"; import {environment} from "../../../../../environments/environment"; @@ -65,10 +63,6 @@ export class HomeOrganizationalUnitState extends ResourceState<AccessOrganizatio protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: homeOrgUnitActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.homePage, - notificationResourceCreateTextToTranslate: TRANSLATE("home.orgunit.notification.resource.create"), - notificationResourceDeleteTextToTranslate: TRANSLATE("home.orgunit.notification.resource.delete"), - notificationResourceUpdateTextToTranslate: TRANSLATE("home.orgunit.notification.resource.update"), }); } diff --git a/src/app/features/organizational-unit/stores/organizational-unit.state.ts b/src/app/features/organizational-unit/stores/organizational-unit.state.ts index 383560e3c..18c47f9b3 100644 --- a/src/app/features/organizational-unit/stores/organizational-unit.state.ts +++ b/src/app/features/organizational-unit/stores/organizational-unit.state.ts @@ -15,6 +15,7 @@ import { ResourceState, ResourceStateModel, TRANSLATE, + urlSeparator, } from "solidify-frontend"; export interface OrganizationalUnitStateModel extends ResourceStateModel<OrganizationalUnitExtended> { @@ -35,7 +36,9 @@ export class OrganizationalUnitState extends ResourceState<OrganizationalUnitExt protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: orgUnitActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.organizationalUnit, + routeRedirectUrlAfterSuccessCreateAction: (resId: string) => RoutesEnum.organizationalUnitDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessUpdateAction: (resId: string) => RoutesEnum.organizationalUnitDetail + urlSeparator + resId, + routeRedirectUrlAfterSuccessDeleteAction: RoutesEnum.organizationalUnit, notificationResourceCreateTextToTranslate: TRANSLATE("organizationalUnit.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("organizationalUnit.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("organizationalUnit.notification.resource.update"), diff --git a/src/app/shared/stores/funding-agency/shared-funding-agency.state.ts b/src/app/shared/stores/funding-agency/shared-funding-agency.state.ts index 0ca402ae4..f99eb15b1 100644 --- a/src/app/shared/stores/funding-agency/shared-funding-agency.state.ts +++ b/src/app/shared/stores/funding-agency/shared-funding-agency.state.ts @@ -1,10 +1,6 @@ -import { - FundingAgency, - Institution, -} from "@app/generated-api"; +import {FundingAgency} from "@app/generated-api"; import {AdminResourceApiEnum} from "@app/shared/enums/api.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; -import {RoutesEnum} from "@app/shared/enums/routes.enum"; import { Actions, State, @@ -18,7 +14,6 @@ import { QueryParameters, ResourceState, ResourceStateModel, - TRANSLATE, } from "solidify-frontend"; import {environment} from "../../../../environments/environment"; @@ -39,10 +34,6 @@ export class SharedFundingAgencyState extends ResourceState<FundingAgency> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: sharedFundingAgencyActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.homePage, - notificationResourceCreateTextToTranslate: TRANSLATE("shared.fundingAgency.notification.resource.create"), - notificationResourceDeleteTextToTranslate: TRANSLATE("shared.fundingAgency.notification.resource.delete"), - notificationResourceUpdateTextToTranslate: TRANSLATE("shared.fundingAgency.notification.resource.update"), }); } diff --git a/src/app/shared/stores/institution/shared-institution.state.ts b/src/app/shared/stores/institution/shared-institution.state.ts index 8d36498d2..79d8784b8 100644 --- a/src/app/shared/stores/institution/shared-institution.state.ts +++ b/src/app/shared/stores/institution/shared-institution.state.ts @@ -1,7 +1,6 @@ import {Institution} from "@app/generated-api"; import {AdminResourceApiEnum} from "@app/shared/enums/api.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; -import {RoutesEnum} from "@app/shared/enums/routes.enum"; import {sharedInstitutionActionNameSpace} from "@app/shared/stores/institution/shared-institution.action"; import { Actions, @@ -15,7 +14,6 @@ import { QueryParameters, ResourceState, ResourceStateModel, - TRANSLATE, } from "solidify-frontend"; import {environment} from "../../../../environments/environment"; @@ -36,10 +34,6 @@ export class SharedInstitutionState extends ResourceState<Institution> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: sharedInstitutionActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.homePage, - notificationResourceCreateTextToTranslate: TRANSLATE("shared.institution.notification.resource.create"), - notificationResourceDeleteTextToTranslate: TRANSLATE("shared.institution.notification.resource.delete"), - notificationResourceUpdateTextToTranslate: TRANSLATE("shared.institution.notification.resource.update"), }); } diff --git a/src/app/shared/stores/language/shared-language.state.ts b/src/app/shared/stores/language/shared-language.state.ts index aaf8df0d2..abb53184e 100644 --- a/src/app/shared/stores/language/shared-language.state.ts +++ b/src/app/shared/stores/language/shared-language.state.ts @@ -1,6 +1,5 @@ import {Language} from "@app/generated-api"; import {AdminResourceApiEnum} from "@app/shared/enums/api.enum"; -import {RoutesEnum} from "@app/shared/enums/routes.enum"; import {sharedLanguageActionNameSpace} from "@app/shared/stores/language/shared-language.action"; import { Actions, @@ -14,7 +13,6 @@ import { QueryParameters, ResourceState, ResourceStateModel, - TRANSLATE, } from "solidify-frontend"; import {environment} from "../../../../environments/environment"; import {LocalStateEnum} from "../../enums/local-state.enum"; @@ -36,10 +34,6 @@ export class SharedLanguageState extends ResourceState<Language> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: sharedLanguageActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.homePage, - notificationResourceCreateTextToTranslate: TRANSLATE("shared.language.notification.resource.create"), - notificationResourceDeleteTextToTranslate: TRANSLATE("shared.language.notification.resource.delete"), - notificationResourceUpdateTextToTranslate: TRANSLATE("shared.language.notification.resource.update"), }); } diff --git a/src/app/shared/stores/license/shared-license.state.ts b/src/app/shared/stores/license/shared-license.state.ts index b33095341..81e0ba47d 100644 --- a/src/app/shared/stores/license/shared-license.state.ts +++ b/src/app/shared/stores/license/shared-license.state.ts @@ -1,7 +1,6 @@ import {License} from "@app/generated-api"; import {AdminResourceApiEnum} from "@app/shared/enums/api.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; -import {RoutesEnum} from "@app/shared/enums/routes.enum"; import {sharedLicenseActionNameSpace} from "@app/shared/stores/license/shared-license.action"; import { Actions, @@ -17,7 +16,6 @@ import { ResourceState, ResourceStateModel, StoreUtil, - TRANSLATE, } from "solidify-frontend"; import {environment} from "../../../../environments/environment"; @@ -38,10 +36,6 @@ export class SharedLicenseState extends ResourceState<License> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: sharedLicenseActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.homePage, - notificationResourceCreateTextToTranslate: TRANSLATE("shared.license.notification.resource.create"), - notificationResourceDeleteTextToTranslate: TRANSLATE("shared.license.notification.resource.delete"), - notificationResourceUpdateTextToTranslate: TRANSLATE("shared.license.notification.resource.update"), }); } diff --git a/src/app/shared/stores/organizational-unit/shared-organizational-unit.state.ts b/src/app/shared/stores/organizational-unit/shared-organizational-unit.state.ts index 321584ce3..b721a6adc 100644 --- a/src/app/shared/stores/organizational-unit/shared-organizational-unit.state.ts +++ b/src/app/shared/stores/organizational-unit/shared-organizational-unit.state.ts @@ -52,10 +52,6 @@ export class SharedOrganizationalUnitState extends ResourceState<OrganizationalU protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: sharedOrgUnitActionNameSpace, - routeRedirectUrlAfterSuccessAction: undefined, - notificationResourceCreateTextToTranslate: undefined, - notificationResourceDeleteTextToTranslate: undefined, - notificationResourceUpdateTextToTranslate: undefined, }); } diff --git a/src/app/shared/stores/person/shared-person.state.ts b/src/app/shared/stores/person/shared-person.state.ts index bf05f2bea..d9e3eb547 100644 --- a/src/app/shared/stores/person/shared-person.state.ts +++ b/src/app/shared/stores/person/shared-person.state.ts @@ -1,15 +1,11 @@ import {PersonExtended} from "@admin/models/person-extended.model"; -import { - Institution, - Person, -} from "@app/generated-api"; +import {Institution} from "@app/generated-api"; import {AdminResourceApiEnum} from "@app/shared/enums/api.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; import { SharedPersonAction, sharedPersonActionNameSpace, } from "@app/shared/stores/person/shared-person.action"; -import {DepositPersonAction} from "@deposit/stores/people/deposit-person.action"; import { Action, Actions, @@ -21,13 +17,9 @@ import { } from "@ngxs/store"; import {ApiActionEnum} from "@shared/enums/api-action.enum"; import {ApiResourceNameEnum} from "@shared/enums/api-resource-name.enum"; -import { - Observable, - pipe, -} from "rxjs"; +import {Observable} from "rxjs"; import { catchError, - take, tap, } from "rxjs/operators"; import { @@ -35,7 +27,6 @@ import { CollectionTyped, defaultResourceStateInitValue, isNullOrUndefined, - isTrue, isWhiteString, NotificationService, ObjectUtil, @@ -69,7 +60,6 @@ export class SharedPersonState extends ResourceState<PersonExtended> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: sharedPersonActionNameSpace, - routeRedirectUrlAfterSuccessAction: undefined, notificationResourceCreateTextToTranslate: TRANSLATE("shared.person.notification.resource.create"), notificationResourceDeleteTextToTranslate: TRANSLATE("shared.person.notification.resource.delete"), notificationResourceUpdateTextToTranslate: TRANSLATE("shared.person.notification.resource.update"), @@ -111,15 +101,15 @@ export class SharedPersonState extends ResourceState<PersonExtended> { subActionCompletions: [ this.actions$.pipe(ofActionCompleted(SharedPersonAction.SearchPersonSuccess)), this.actions$.pipe(ofActionCompleted(SharedPersonAction.SearchPersonFail)), - ] + ], }, { action: new SharedPersonAction.SearchInstitutions(), subActionCompletions: [ this.actions$.pipe(ofActionCompleted(SharedPersonAction.SearchInstitutionsSuccess)), this.actions$.pipe(ofActionCompleted(SharedPersonAction.SearchInstitutionsFail)), - ] - } + ], + }, ]).pipe( tap(success => { if (success) { @@ -127,7 +117,7 @@ export class SharedPersonState extends ResourceState<PersonExtended> { } else { ctx.dispatch(new SharedPersonAction.SearchFail(action)); } - }) + }), ); } @@ -184,7 +174,7 @@ export class SharedPersonState extends ResourceState<PersonExtended> { subActionCompletions: [ this.actions$.pipe(ofActionCompleted(SharedPersonAction.SearchPersonInstitutionSuccess)), this.actions$.pipe(ofActionCompleted(SharedPersonAction.SearchPersonInstitutionFail)), - ] + ], } as ActionSubActionCompletionsWrapper); }); @@ -196,7 +186,7 @@ export class SharedPersonState extends ResourceState<PersonExtended> { } else { ctx.dispatch(new SharedPersonAction.SearchInstitutionsFail(action)); } - }) + }), ).subscribe(); } ctx.dispatch(new SharedPersonAction.SearchInstitutionsSuccess(action)); diff --git a/src/app/shared/stores/preservation-policy/shared-preservation-policy.state.ts b/src/app/shared/stores/preservation-policy/shared-preservation-policy.state.ts index 9a483b113..1c3f0879c 100644 --- a/src/app/shared/stores/preservation-policy/shared-preservation-policy.state.ts +++ b/src/app/shared/stores/preservation-policy/shared-preservation-policy.state.ts @@ -1,6 +1,5 @@ import {PreservationPolicy} from "@app/generated-api"; import {AdminResourceApiEnum} from "@app/shared/enums/api.enum"; -import {RoutesEnum} from "@app/shared/enums/routes.enum"; import {sharedPreservationPolicyActionNameSpace} from "@app/shared/stores/preservation-policy/shared-preservation-policy.action"; import { Actions, @@ -14,7 +13,6 @@ import { QueryParameters, ResourceState, ResourceStateModel, - TRANSLATE, } from "solidify-frontend"; import {environment} from "../../../../environments/environment"; import {LocalStateEnum} from "../../enums/local-state.enum"; @@ -36,10 +34,6 @@ export class SharedPreservationPolicyState extends ResourceState<PreservationPol protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: sharedPreservationPolicyActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.homePage, - notificationResourceCreateTextToTranslate: TRANSLATE("shared.preservationPolicy.notification.resource.create"), - notificationResourceDeleteTextToTranslate: TRANSLATE("shared.preservationPolicy.notification.resource.delete"), - notificationResourceUpdateTextToTranslate: TRANSLATE("shared.preservationPolicy.notification.resource.update"), }); } diff --git a/src/app/shared/stores/role/shared-role.state.ts b/src/app/shared/stores/role/shared-role.state.ts index 87d250733..4b3ee247c 100644 --- a/src/app/shared/stores/role/shared-role.state.ts +++ b/src/app/shared/stores/role/shared-role.state.ts @@ -1,7 +1,6 @@ import {Role} from "@app/generated-api"; import {AdminResourceApiEnum} from "@app/shared/enums/api.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; -import {RoutesEnum} from "@app/shared/enums/routes.enum"; import { Actions, State, @@ -15,7 +14,6 @@ import { QueryParameters, ResourceState, ResourceStateModel, - TRANSLATE, } from "solidify-frontend"; import {environment} from "../../../../environments/environment"; @@ -36,10 +34,6 @@ export class SharedRoleState extends ResourceState<Role> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: sharedRoleActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.homePage, - notificationResourceCreateTextToTranslate: TRANSLATE("shared.role.notification.resource.create"), - notificationResourceDeleteTextToTranslate: TRANSLATE("shared.role.notification.resource.delete"), - notificationResourceUpdateTextToTranslate: TRANSLATE("shared.role.notification.resource.update"), }); } diff --git a/src/app/shared/stores/submission-policy/shared-submission-policy.state.ts b/src/app/shared/stores/submission-policy/shared-submission-policy.state.ts index 739006d43..3e01622f3 100644 --- a/src/app/shared/stores/submission-policy/shared-submission-policy.state.ts +++ b/src/app/shared/stores/submission-policy/shared-submission-policy.state.ts @@ -1,6 +1,5 @@ import {SubmissionPolicy} from "@app/generated-api"; import {AdminResourceApiEnum} from "@app/shared/enums/api.enum"; -import {RoutesEnum} from "@app/shared/enums/routes.enum"; import {sharedSubmissionPolicyActionNameSpace} from "@app/shared/stores/submission-policy/shared-submission-policy.action"; import { Actions, @@ -14,7 +13,6 @@ import { QueryParameters, ResourceState, ResourceStateModel, - TRANSLATE, } from "solidify-frontend"; import {environment} from "../../../../environments/environment"; import {LocalStateEnum} from "../../enums/local-state.enum"; @@ -36,10 +34,6 @@ export class SharedSubmissionPolicyState extends ResourceState<SubmissionPolicy> protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: sharedSubmissionPolicyActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.homePage, - notificationResourceCreateTextToTranslate: TRANSLATE("shared.submissionPolicy.notification.resource.create"), - notificationResourceDeleteTextToTranslate: TRANSLATE("shared.submissionPolicy.notification.resource.delete"), - notificationResourceUpdateTextToTranslate: TRANSLATE("shared.submissionPolicy.notification.resource.update"), }); } diff --git a/src/app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state.ts b/src/app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state.ts index 05a49d19d..aa1d2e3e2 100644 --- a/src/app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state.ts +++ b/src/app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state.ts @@ -35,10 +35,6 @@ export class AppAuthorizedOrganizationalUnitState extends ResourceState<Organiza protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: appAuthorizedOrganizationalUnit, - routeRedirectUrlAfterSuccessAction: undefined, - notificationResourceCreateTextToTranslate: undefined, - notificationResourceDeleteTextToTranslate: undefined, - notificationResourceUpdateTextToTranslate: undefined, }); } diff --git a/src/app/stores/person/app-person.state.ts b/src/app/stores/person/app-person.state.ts index 6016dcf4e..364725ef8 100644 --- a/src/app/stores/person/app-person.state.ts +++ b/src/app/stores/person/app-person.state.ts @@ -2,7 +2,6 @@ import {PersonExtended} from "@admin/models/person-extended.model"; import {Person} from "@app/generated-api"; import {AdminResourceApiEnum} from "@app/shared/enums/api.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; -import {RoutesEnum} from "@app/shared/enums/routes.enum"; import { AppPersonAction, appPersonActionNameSpace, @@ -27,7 +26,6 @@ import { QueryParameters, ResourceState, ResourceStateModel, - TRANSLATE, } from "solidify-frontend"; import {environment} from "../../../environments/environment"; @@ -48,10 +46,6 @@ export class AppPersonState extends ResourceState<Person> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: appPersonActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.homePage, - notificationResourceCreateTextToTranslate: TRANSLATE("app.person.notification.resource.create"), - notificationResourceDeleteTextToTranslate: TRANSLATE("app.person.notification.resource.delete"), - notificationResourceUpdateTextToTranslate: TRANSLATE("app.person.notification.resource.update"), keepCurrentStateAfterUpdate: true, }); } diff --git a/src/app/stores/user/app-user.state.ts b/src/app/stores/user/app-user.state.ts index 9c7b1945c..4d4872873 100644 --- a/src/app/stores/user/app-user.state.ts +++ b/src/app/stores/user/app-user.state.ts @@ -1,6 +1,5 @@ import {AdminResourceApiEnum} from "@app/shared/enums/api.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; -import {RoutesEnum} from "@app/shared/enums/routes.enum"; import {AppPersonAction} from "@app/stores/person/app-person.action"; import { AppUserAction, @@ -28,7 +27,6 @@ import { QueryParameters, ResourceState, ResourceStateModel, - TRANSLATE, urlSeparator, } from "solidify-frontend"; import {environment} from "../../../environments/environment"; @@ -50,10 +48,6 @@ export class AppUserState extends ResourceState<UserExtended> { protected actions$: Actions) { super(apiService, store, notificationService, actions$, { nameSpace: appUserActionNameSpace, - routeRedirectUrlAfterSuccessAction: RoutesEnum.homePage, - notificationResourceCreateTextToTranslate: TRANSLATE("app.user.notification.resource.create"), - notificationResourceDeleteTextToTranslate: TRANSLATE("app.user.notification.resource.delete"), - notificationResourceUpdateTextToTranslate: TRANSLATE("app.user.notification.resource.update"), }); } -- GitLab