diff --git a/src/app/features/admin/dissemination-policy/components/routables/admin-dissemination-policy-list/admin-dissemination-policy-list.routable.ts b/src/app/features/admin/dissemination-policy/components/routables/admin-dissemination-policy-list/admin-dissemination-policy-list.routable.ts index 942ca981b817638df601f6193ea89eb60761ef4a..883fa3c0ed06d22b9f72e7e57240057fddab6ec4 100644 --- a/src/app/features/admin/dissemination-policy/components/routables/admin-dissemination-policy-list/admin-dissemination-policy-list.routable.ts +++ b/src/app/features/admin/dissemination-policy/components/routables/admin-dissemination-policy-list/admin-dissemination-policy-list.routable.ts @@ -15,6 +15,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminDisseminationPolicyListRoutable extends SharedAbstractListRout constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_disseminationPolicy, adminDisseminationPolicyActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_disseminationPolicy, adminDisseminationPolicyActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: DisseminationPolicy | undefined): boolean { diff --git a/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-list/admin-funding-agencies-list.routable.ts b/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-list/admin-funding-agencies-list.routable.ts index 34b7ff7c9d45d532ed2d5b7625c3dc5bf66a3d69..f769667c421c1d211e57a18b83bef83dfa06333a 100644 --- a/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-list/admin-funding-agencies-list.routable.ts +++ b/src/app/features/admin/funding-agencies/components/routables/admin-funding-agencies-list/admin-funding-agencies-list.routable.ts @@ -15,6 +15,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminFundingAgenciesListRoutable extends SharedAbstractListRoutable constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_fundingAgencies, adminFundingAgenciesActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_fundingAgencies, adminFundingAgenciesActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: FundingAgency | undefined): boolean { diff --git a/src/app/features/admin/institution/components/routables/admin-institution-list/admin-institution-list.routable.ts b/src/app/features/admin/institution/components/routables/admin-institution-list/admin-institution-list.routable.ts index 129fff0a70fcdaa6b2b6c06665b3db6a9cea49e5..dc22921ce4f47466fc41960e0d024127ee072211 100644 --- a/src/app/features/admin/institution/components/routables/admin-institution-list/admin-institution-list.routable.ts +++ b/src/app/features/admin/institution/components/routables/admin-institution-list/admin-institution-list.routable.ts @@ -15,6 +15,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminInstitutionListRoutable extends SharedAbstractListRoutable<Ins constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_institution, adminInstitutionActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_institution, adminInstitutionActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: Institution | undefined): boolean { diff --git a/src/app/features/admin/language/components/routables/admin-language-list/admin-language-list.routable.ts b/src/app/features/admin/language/components/routables/admin-language-list/admin-language-list.routable.ts index 1164c4d45e2a7a737f6793ecb0c12219e8bef239..fbc624f079bc37f138634e22084a093dbc3c4342 100644 --- a/src/app/features/admin/language/components/routables/admin-language-list/admin-language-list.routable.ts +++ b/src/app/features/admin/language/components/routables/admin-language-list/admin-language-list.routable.ts @@ -18,6 +18,7 @@ import {SharedAbstractListRoutable} from "@shared/components/routables/shared-ab import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; import {CreateEditDialog} from "@shared/models/detail-edit-dialog.model"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {tap} from "rxjs/operators"; import { isNullOrUndefined, @@ -43,9 +44,10 @@ export class AdminLanguageListRoutable extends SharedAbstractListRoutable<Langua constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_language, adminLanguageActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_language, adminLanguageActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: Language | undefined): boolean { diff --git a/src/app/features/admin/license/components/routables/admin-license-list/admin-license-list.routable.ts b/src/app/features/admin/license/components/routables/admin-license-list/admin-license-list.routable.ts index d73038c97b18e6a940f96d71cac04ae9be4757e4..6aff6a22fff9608fcf871c6c3a2f887d1ea2eb2a 100644 --- a/src/app/features/admin/license/components/routables/admin-license-list/admin-license-list.routable.ts +++ b/src/app/features/admin/license/components/routables/admin-license-list/admin-license-list.routable.ts @@ -15,6 +15,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminLicenseListRoutable extends SharedAbstractListRoutable<License constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_license, adminLicenseActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_license, adminLicenseActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: License | undefined): boolean { diff --git a/src/app/features/admin/metadata-type/components/routables/admin-metadata-type-list/admin-metadata-type-list.routable.ts b/src/app/features/admin/metadata-type/components/routables/admin-metadata-type-list/admin-metadata-type-list.routable.ts index 5a91e1ab713298cbada28a3d81c76af4836dcc64..c26fab5f217d746c1ddb6c9a99e854f2a8ffc597 100644 --- a/src/app/features/admin/metadata-type/components/routables/admin-metadata-type-list/admin-metadata-type-list.routable.ts +++ b/src/app/features/admin/metadata-type/components/routables/admin-metadata-type-list/admin-metadata-type-list.routable.ts @@ -16,6 +16,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -36,9 +37,10 @@ export class AdminMetadataTypeListRoutable extends SharedAbstractListRoutable<Me constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_metadataType, adminMetadataTypeActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_metadataType, adminMetadataTypeActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: MetadataType | undefined): boolean { diff --git a/src/app/features/admin/notification/components/routables/admin-notification-list/admin-notification-list.routable.ts b/src/app/features/admin/notification/components/routables/admin-notification-list/admin-notification-list.routable.ts index b2246eb41e018e8eb2b45db188be86ef8593e5ca..6c0e12e03cc05d4bf612e64dbe31bde52b4e88fb 100644 --- a/src/app/features/admin/notification/components/routables/admin-notification-list/admin-notification-list.routable.ts +++ b/src/app/features/admin/notification/components/routables/admin-notification-list/admin-notification-list.routable.ts @@ -17,6 +17,7 @@ import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; import {NotificationStatusEnumHelper} from "@shared/enums/notification-status.enum"; import {NotificationTypeEnumHelper} from "@shared/enums/notification-type.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -37,9 +38,10 @@ export class AdminNotificationListRoutable extends SharedAbstractListRoutable<No constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_notification, adminNotificationActionNameSpace, {canCreate: false}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_notification, adminNotificationActionNameSpace, {canCreate: false}, LocalStateEnum.admin); } conditionDisplayEditButton(model: NotificationDlcm | undefined): boolean { diff --git a/src/app/features/admin/oai-set/components/routables/admin-oai-set-list/admin-oai-set-list.routable.ts b/src/app/features/admin/oai-set/components/routables/admin-oai-set-list/admin-oai-set-list.routable.ts index 03b590d826ab4684730be506cc9d7ec4dc22d930..c02b418211aad50a318be8abf1deb9d9317e3d5f 100644 --- a/src/app/features/admin/oai-set/components/routables/admin-oai-set-list/admin-oai-set-list.routable.ts +++ b/src/app/features/admin/oai-set/components/routables/admin-oai-set-list/admin-oai-set-list.routable.ts @@ -16,6 +16,7 @@ import {SharedAbstractListRoutable} from "@shared/components/routables/shared-ab import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; import {RoutesEnum} from "@shared/enums/routes.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -36,9 +37,10 @@ export class AdminOaiSetListRoutable extends SharedAbstractListRoutable<OaiSet, constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_oaiSet, adminOaiSetActionNameSpace, { + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_oaiSet, adminOaiSetActionNameSpace, { listExtraButtons: [ { color: "primary", diff --git a/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-list/admin-oauth2-client-list.routable.ts b/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-list/admin-oauth2-client-list.routable.ts index 74403d3ab7f624f06c43d497eb26cc7093101b33..888b37397b5668852200ec403bc30697b186ede5 100644 --- a/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-list/admin-oauth2-client-list.routable.ts +++ b/src/app/features/admin/oauth2-client/components/routables/admin-oauth2-client-list/admin-oauth2-client-list.routable.ts @@ -15,6 +15,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminOAuth2ClientListRoutable extends SharedAbstractListRoutable<Oa constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_oauth2Client, adminOAuth2ClientActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_oauth2Client, adminOAuth2ClientActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: Oauth2Client | undefined): boolean { diff --git a/src/app/features/admin/orgunit/components/routables/admin-orgunit-list/admin-orgunit-list.routable.ts b/src/app/features/admin/orgunit/components/routables/admin-orgunit-list/admin-orgunit-list.routable.ts index f1d89ec2b141e9824c971807f8c7ffdbbeeb4ed8..b889f8d16363b6f16cdbf99c7743b1db9d7ffa12 100644 --- a/src/app/features/admin/orgunit/components/routables/admin-orgunit-list/admin-orgunit-list.routable.ts +++ b/src/app/features/admin/orgunit/components/routables/admin-orgunit-list/admin-orgunit-list.routable.ts @@ -15,6 +15,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminOrgunitListRoutable extends SharedAbstractListRoutable<Organiz constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_organizationalUnit, adminOrgUnitActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_organizationalUnit, adminOrgUnitActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: OrganizationalUnit | undefined): boolean { diff --git a/src/app/features/admin/person/components/routables/admin-person-list/admin-person-list.routable.ts b/src/app/features/admin/person/components/routables/admin-person-list/admin-person-list.routable.ts index 820e677e0ec4a242eaa4202ab74c67bd47bb7102..b4d0c3137aa8f1080b022cc8d217a5541fdf403b 100644 --- a/src/app/features/admin/person/components/routables/admin-person-list/admin-person-list.routable.ts +++ b/src/app/features/admin/person/components/routables/admin-person-list/admin-person-list.routable.ts @@ -15,6 +15,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminPersonListRoutable extends SharedAbstractListRoutable<PersonEx constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_person, adminPersonActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_person, adminPersonActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: PersonExtended | undefined): boolean { diff --git a/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-list/admin-preservation-policy-list.routable.ts b/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-list/admin-preservation-policy-list.routable.ts index a00dd1c8ec58cbb3a29b0912ff0385d540a0563c..b706f6a835a4640acd9ef66ab788c2bf32dbd853 100644 --- a/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-list/admin-preservation-policy-list.routable.ts +++ b/src/app/features/admin/preservation-policy/components/routables/admin-preservation-policy-list/admin-preservation-policy-list.routable.ts @@ -15,6 +15,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminPreservationPolicyListRoutable extends SharedAbstractListRouta constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_preservationPolicy, adminPreservationPolicyActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_preservationPolicy, adminPreservationPolicyActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: PreservationPolicy | undefined): boolean { diff --git a/src/app/features/admin/research-domain/components/routables/admin-research-domain-list/admin-research-domain-list.routable.ts b/src/app/features/admin/research-domain/components/routables/admin-research-domain-list/admin-research-domain-list.routable.ts index 53740a3b2106b085931b29647d3f916eb7dbf6bb..bf98797c22b94f4398bdb3e6e498c13209723dd4 100644 --- a/src/app/features/admin/research-domain/components/routables/admin-research-domain-list/admin-research-domain-list.routable.ts +++ b/src/app/features/admin/research-domain/components/routables/admin-research-domain-list/admin-research-domain-list.routable.ts @@ -25,6 +25,7 @@ import {LocalStateEnum} from "@shared/enums/local-state.enum"; import {ResearchDomainExtended} from "@shared/models/business/research-domain-extended.model"; import {DataTableColumns} from "@shared/models/data-table-columns.model"; import {CreateEditDialog} from "@shared/models/detail-edit-dialog.model"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {SharedLanguageAction} from "@shared/stores/language/shared-language.action"; import {SharedLanguageState} from "@shared/stores/language/shared-language.state"; import {Observable} from "rxjs"; @@ -60,9 +61,10 @@ export class AdminResearchDomainListRoutable extends SharedAbstractListRoutable< constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_researchDomain, adminResearchDomainActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_researchDomain, adminResearchDomainActionNameSpace, {}, LocalStateEnum.admin); } ngOnInit(): void { diff --git a/src/app/features/admin/role/components/routables/admin-role-list/admin-role-list.routable.ts b/src/app/features/admin/role/components/routables/admin-role-list/admin-role-list.routable.ts index 61f7d817bba83e19df225d52e09d96eb5ad65c42..6ce492de651173762f8505cb6e4cce5fc39847aa 100644 --- a/src/app/features/admin/role/components/routables/admin-role-list/admin-role-list.routable.ts +++ b/src/app/features/admin/role/components/routables/admin-role-list/admin-role-list.routable.ts @@ -15,6 +15,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminRoleListRoutable extends SharedAbstractListRoutable<Role, Admi constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_role, adminRoleActionNameSpace, {canCreate: false}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_role, adminRoleActionNameSpace, {canCreate: false}, LocalStateEnum.admin); } conditionDisplayEditButton(model: Role | undefined): boolean { diff --git a/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-list/admin-submission-policy-list.routable.ts b/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-list/admin-submission-policy-list.routable.ts index 97fa7fbe02a5660b0867cb0dbb0e15bd374bd3cf..48fb1b441d52679f908bc5f49c7a62c2477904a0 100644 --- a/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-list/admin-submission-policy-list.routable.ts +++ b/src/app/features/admin/submission-policy/components/routables/admin-submission-policy-list/admin-submission-policy-list.routable.ts @@ -15,6 +15,7 @@ import { import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminSubmissionPolicyListRoutable extends SharedAbstractListRoutabl constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_submissionPolicy, adminSubmissionPolicyActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_submissionPolicy, adminSubmissionPolicyActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: SubmissionPolicy | undefined): boolean { diff --git a/src/app/features/admin/user/components/routables/admin-user-list/admin-user-list.routable.ts b/src/app/features/admin/user/components/routables/admin-user-list/admin-user-list.routable.ts index df019c4112ea340b543a8ecf78b88a48724f5d67..40f2b425672d1862f892dee35d4cdad5abfdd2cc 100644 --- a/src/app/features/admin/user/components/routables/admin-user-list/admin-user-list.routable.ts +++ b/src/app/features/admin/user/components/routables/admin-user-list/admin-user-list.routable.ts @@ -15,6 +15,7 @@ import {SharedAbstractListRoutable} from "@shared/components/routables/shared-ab import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; import {UserExtended} from "@shared/models/business/user-extended.model"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -35,9 +36,10 @@ export class AdminUserListRoutable extends SharedAbstractListRoutable<UserExtend constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.admin_user, adminUserActionNameSpace, {}, LocalStateEnum.admin); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.admin_user, adminUserActionNameSpace, {}, LocalStateEnum.admin); } conditionDisplayEditButton(model: UserExtended | undefined): boolean { diff --git a/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts b/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts index 3beca3aa911b1dd8e98269df597f400ec19e6be2..22968a9934bc8e25ffbef3daddc0082c8b885c02 100644 --- a/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts +++ b/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts @@ -43,7 +43,7 @@ import {DepositAuthorizedOrganizationalUnitState} from "@deposit/stores/authoriz import {environment} from "@environments/environment"; import { Deposit, - OrganizationalUnit, PreservationJob, Sip, + OrganizationalUnit, } from "@models"; import {Navigate} from "@ngxs/router-plugin"; import { @@ -51,9 +51,12 @@ import { Store, } from "@ngxs/store"; import {DepositStatusEnumHelper} from "@shared/enums/business/deposit-status.enum"; +import {PackageStatusEnum} from "@shared/enums/business/package-status.enum"; import {PollingHelper} from "@shared/helpers/polling.helper"; import {BaseFormDefinition} from "@shared/models/base-form-definition.model"; +import {DataTableActions} from "@shared/models/data-table-actions.model"; import {DataTableColumns} from "@shared/models/data-table-columns.model"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {UserPreferencesUtil} from "@shared/utils/user-preferences.util"; import {Observable} from "rxjs"; import { @@ -77,9 +80,6 @@ import { SolidifyValidator, TRANSLATE, } from "solidify-frontend"; -import {DataTableActions} from "@shared/models/data-table-actions.model"; -import {PreservationSipAction} from "@preservation/sip/stores/sip.action"; -import {PackageStatusEnum} from "@shared/enums/business/package-status.enum"; @Component({ selector: "dlcm-deposit-list-routable", @@ -149,11 +149,12 @@ export class DepositListRoutable extends SharedAbstractListRoutable<Deposit, Dep constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog, private readonly _fb: FormBuilder, protected readonly _router: Router) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.deposit, depositActionNameSpace, { + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.deposit, depositActionNameSpace, { canCreate: MemoizedUtil.select(_store, DepositState, state => state.canCreate), }); } @@ -310,7 +311,6 @@ export class DepositListRoutable extends SharedAbstractListRoutable<Deposit, Dep ]; } - @Override() goToEdit(deposit: Deposit): void { this._store.dispatch(new Navigate([AppRoutesEnum.deposit, deposit.organizationalUnitId, DepositRoutesEnum.detail, deposit.resId, DepositRoutesEnum.edit])); diff --git a/src/app/features/order/features/all-order/components/routables/all-order-list/order-all-order-list.routable.ts b/src/app/features/order/features/all-order/components/routables/all-order-list/order-all-order-list.routable.ts index b14c956c80e086c9edf125ab967860a18c9da322..8d94af6363005c5e678ce9eeb4e452dcd6ec908d 100644 --- a/src/app/features/order/features/all-order/components/routables/all-order-list/order-all-order-list.routable.ts +++ b/src/app/features/order/features/all-order/components/routables/all-order-list/order-all-order-list.routable.ts @@ -18,6 +18,7 @@ import {OrderQueryTypeEnumHelper} from "@order/helpers/order-query-type-enum.hel import {SharedAbstractListRoutable} from "@shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, TRANSLATE, @@ -38,9 +39,10 @@ export class OrderAllOrderListRoutable extends SharedAbstractListRoutable<Order, constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.order_allOrder, orderAllOrderActionNameSpace, { + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.order_allOrder, orderAllOrderActionNameSpace, { canCreate: true, }, LocalStateEnum.order); } diff --git a/src/app/features/order/features/my-order/components/routables/my-order-list/order-my-order-list.routable.ts b/src/app/features/order/features/my-order/components/routables/my-order-list/order-my-order-list.routable.ts index 9902db9039115e2e8942de80cb8a947fc6183609..1d7a728d9d419d29b720dadc9ee82ed3da44ce78 100644 --- a/src/app/features/order/features/my-order/components/routables/my-order-list/order-my-order-list.routable.ts +++ b/src/app/features/order/features/my-order/components/routables/my-order-list/order-my-order-list.routable.ts @@ -22,6 +22,7 @@ import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; import {SessionStorageEnum} from "@shared/enums/session-storage.enum"; import {SessionStorageHelper} from "@shared/helpers/session-storage.helper"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {Observable} from "rxjs"; import { MappingObjectUtil, @@ -55,9 +56,10 @@ export class OrderMyOrderListRoutable extends SharedAbstractListRoutable<Order, constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.order_myOrder, orderMyOrderActionNameSpace, { + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.order_myOrder, orderMyOrderActionNameSpace, { canCreate: false, }, LocalStateEnum.order); } diff --git a/src/app/features/organizational-unit/components/routables/orgunit-list/orgunit-list.routable.ts b/src/app/features/organizational-unit/components/routables/orgunit-list/orgunit-list.routable.ts index 0824738dd430d7282d99fc346a0bdc6c5afcee6b..70bec462dd71e88fc875255d2197eebd30114fd7 100644 --- a/src/app/features/organizational-unit/components/routables/orgunit-list/orgunit-list.routable.ts +++ b/src/app/features/organizational-unit/components/routables/orgunit-list/orgunit-list.routable.ts @@ -19,6 +19,7 @@ import { } from "@ngxs/store"; import {RoutesEnum} from "@shared/enums/routes.enum"; import {DataTableActions} from "@shared/models/data-table-actions.model"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {SecurityService} from "@shared/services/security.service"; import { isNullOrUndefined, @@ -41,10 +42,11 @@ export class OrgunitListRoutable extends SharedAbstractListRoutable<Organization constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog, private readonly _securityService: SecurityService) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.organizationalUnit, orgUnitActionNameSpace, { + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.organizationalUnit, orgUnitActionNameSpace, { canCreate: false, canGoBack: false, }); diff --git a/src/app/features/preservation-space/contributor/components/routables/contributor-list/contributor-list.routable.ts b/src/app/features/preservation-space/contributor/components/routables/contributor-list/contributor-list.routable.ts index 6768c2f681b55dadc274d6f812e2499d0ef49849..2d95da4cff3916ebe5354080818ca563d4faace5 100644 --- a/src/app/features/preservation-space/contributor/components/routables/contributor-list/contributor-list.routable.ts +++ b/src/app/features/preservation-space/contributor/components/routables/contributor-list/contributor-list.routable.ts @@ -18,6 +18,7 @@ import {SharedAbstractListRoutable} from "@shared/components/routables/shared-ab import {FieldTypeEnum} from "@shared/enums/field-type.enum"; import {LocalStateEnum} from "@shared/enums/local-state.enum"; import {RoutesEnum} from "@shared/enums/routes.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {SecurityService} from "@shared/services/security.service"; import { OrderEnum, @@ -40,10 +41,11 @@ export class ContributorListRoutable extends SharedAbstractListRoutable<Contribu constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog, private readonly _securityService: SecurityService) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservationSpace_contributor, contributorActionNameSpace, + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservationSpace_contributor, contributorActionNameSpace, { canCreate: false, canRefresh: true, diff --git a/src/app/features/preservation-space/notification/components/routables/preservation-space-notification-list/preservation-space-notification-list.routable.ts b/src/app/features/preservation-space/notification/components/routables/preservation-space-notification-list/preservation-space-notification-list.routable.ts index f5406bf93f345a10fd36f4fd7e06673f7569be46..04b6d962bef56c0aa132de9f9c1459270ba89e59 100644 --- a/src/app/features/preservation-space/notification/components/routables/preservation-space-notification-list/preservation-space-notification-list.routable.ts +++ b/src/app/features/preservation-space/notification/components/routables/preservation-space-notification-list/preservation-space-notification-list.routable.ts @@ -29,6 +29,7 @@ import { } from "@shared/enums/routes.enum"; import {SessionStorageEnum} from "@shared/enums/session-storage.enum"; import {SessionStorageHelper} from "@shared/helpers/session-storage.helper"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {sharedOrgUnitActionNameSpace} from "@shared/stores/organizational-unit/shared-organizational-unit.action"; import {SharedOrganizationalUnitState} from "@shared/stores/organizational-unit/shared-organizational-unit.state"; import {Observable} from "rxjs"; @@ -71,9 +72,10 @@ export class PreservationSpaceNotificationListRoutable extends SharedAbstractLis constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservationSpace_notification, preservationSpaceNotificationActionNameSpace, {canCreate: false}, LocalStateEnum.preservationSpace); + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservationSpace_notification, preservationSpaceNotificationActionNameSpace, {canCreate: false}, LocalStateEnum.preservationSpace); } ngOnInit(): void { diff --git a/src/app/features/preservation/aip-downloaded/components/routables/aip-downloaded-list/aip-downloaded-list.routable.ts b/src/app/features/preservation/aip-downloaded/components/routables/aip-downloaded-list/aip-downloaded-list.routable.ts index 5d54aa55ef3d38cfafdf89bfaf4bf682b8710075..a47818166358b1ab95e4cbef98bf70862fe9a3da 100644 --- a/src/app/features/preservation/aip-downloaded/components/routables/aip-downloaded-list/aip-downloaded-list.routable.ts +++ b/src/app/features/preservation/aip-downloaded/components/routables/aip-downloaded-list/aip-downloaded-list.routable.ts @@ -36,6 +36,7 @@ import { PreservationPlanningRoutesEnum, RoutesEnum, } from "@shared/enums/routes.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {Observable} from "rxjs"; import { distinctUntilChanged, @@ -86,12 +87,13 @@ export class AipDownloadedListRoutable extends SharedAbstractListRoutable<Aip, P constructor(protected readonly store: Store, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _changeDetector: ChangeDetectorRef, private readonly translate: TranslateService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog, protected readonly _router: Router) { - super(store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservation_aipDownloaded, preservationAipDownloadedActionNameSpace, { + super(store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservation_aipDownloaded, preservationAipDownloadedActionNameSpace, { canCreate: false, }, LocalStateEnum.preservation); } diff --git a/src/app/features/preservation/aip/components/routables/aip-list/aip-list.routable.ts b/src/app/features/preservation/aip/components/routables/aip-list/aip-list.routable.ts index 99901843fe20eba415b2fdbf721e679120a998b5..5b4269d43cad793f249e628ca335f9e8f417ce15 100644 --- a/src/app/features/preservation/aip/components/routables/aip-list/aip-list.routable.ts +++ b/src/app/features/preservation/aip/components/routables/aip-list/aip-list.routable.ts @@ -12,13 +12,15 @@ import { NavigationEnd, Router, } from "@angular/router"; -import {PreservationAipStateModel} from "@app/features/preservation/aip/stores/aip.state"; +import { + PreservationAipState, + PreservationAipStateModel, +} from "@app/features/preservation/aip/stores/aip.state"; import {SharedAbstractListRoutable} from "@app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@app/shared/enums/field-type.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; import {appAuthorizedOrganizationalUnitNameSpace} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.action"; import {AppAuthorizedOrganizationalUnitState} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state"; -import {environment} from "@environments/environment"; import {Aip} from "@models"; import {TranslateService} from "@ngx-translate/core"; import {Navigate} from "@ngxs/router-plugin"; @@ -37,6 +39,7 @@ import { RoutesEnum, urlSeparator, } from "@shared/enums/routes.enum"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {Observable} from "rxjs"; import { distinctUntilChanged, @@ -49,8 +52,9 @@ import { OrderEnum, Override, OverrideProperty, - QueryParameters, + QueryParametersUtil, ResourceNameSpace, + ResourceState, TRANSLATE, } from "solidify-frontend"; @@ -90,12 +94,13 @@ export class AipListRoutable extends SharedAbstractListRoutable<Aip, Preservatio constructor(protected readonly store: Store, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _changeDetector: ChangeDetectorRef, private readonly translate: TranslateService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog, protected readonly _router: Router) { - super(store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservation_aip, preservationAipActionNameSpace, { + super(store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservation_aip, preservationAipActionNameSpace, { canCreate: false, }, LocalStateEnum.preservation); } @@ -199,7 +204,8 @@ export class AipListRoutable extends SharedAbstractListRoutable<Aip, Preservatio } getAipListWithParameter(isArchivalUnit: boolean | undefined): void { - const queryParameter = new QueryParameters(environment.defaultPageSize); + let queryParameter = ResourceState.queryParametersSnapshot(this.store, PreservationAipState); + queryParameter = QueryParametersUtil.clone(queryParameter); if (!isNullOrUndefined(isArchivalUnit)) { MappingObjectUtil.set(queryParameter.search.searchItems, "archivalUnit", isArchivalUnit.toString()); } diff --git a/src/app/features/preservation/dip/components/routables/dip-list/dip-list.routable.ts b/src/app/features/preservation/dip/components/routables/dip-list/dip-list.routable.ts index bc05ce343797f8ac48df64cc399551ba06c292e5..c855e3072a56f419056317da3cff46d3a1aaa316 100644 --- a/src/app/features/preservation/dip/components/routables/dip-list/dip-list.routable.ts +++ b/src/app/features/preservation/dip/components/routables/dip-list/dip-list.routable.ts @@ -7,15 +7,15 @@ import { import {MatDialog} from "@angular/material/dialog"; import {ActivatedRoute} from "@angular/router"; import {DipStateModel} from "@app/features/preservation/dip/stores/dip.state"; -import { - Dip, - PreservationJob, -} from "@models"; import {SharedAbstractListRoutable} from "@app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@app/shared/enums/field-type.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; import {appAuthorizedOrganizationalUnitNameSpace} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.action"; import {AppAuthorizedOrganizationalUnitState} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state"; +import { + Dip, + PreservationJob, +} from "@models"; import { Actions, Store, @@ -27,6 +27,7 @@ import { import {PackageStatusEnumHelper} from "@shared/enums/business/package-status.enum"; import {DataTableComponentEnum} from "@shared/enums/data-table-component.enum"; import {DataTableActions} from "@shared/models/data-table-actions.model"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, Override, @@ -52,9 +53,10 @@ export class DipListRoutable extends SharedAbstractListRoutable<Dip, DipStateMod constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservation_dip, preservationDipActionNameSpace, { + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservation_dip, preservationDipActionNameSpace, { canCreate: false, }, LocalStateEnum.preservation); } diff --git a/src/app/features/preservation/job/components/routables/job-list/job-list.routable.ts b/src/app/features/preservation/job/components/routables/job-list/job-list.routable.ts index f3155b0c60e5c5f50c2d52c7f90d1988236433bc..287afaf26f73313b6c1ccf4455b0e586e654fcb8 100644 --- a/src/app/features/preservation/job/components/routables/job-list/job-list.routable.ts +++ b/src/app/features/preservation/job/components/routables/job-list/job-list.routable.ts @@ -24,6 +24,7 @@ import {LocalStateEnum} from "@shared/enums/local-state.enum"; import {RoutesEnum} from "@shared/enums/routes.enum"; import {JobRecurrence} from "@shared/models/business/job-recurrence.model"; import {DataTableActions} from "@shared/models/data-table-actions.model"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { isNullOrUndefined, OrderEnum, @@ -46,9 +47,10 @@ export class JobListRoutable extends SharedAbstractListRoutable<PreservationJobE constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservation_job, preservationJobActionNameSpace, { + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservation_job, preservationJobActionNameSpace, { listExtraButtons: [ { color: "primary", diff --git a/src/app/features/preservation/sip/components/routables/sip-list/sip-list.routable.ts b/src/app/features/preservation/sip/components/routables/sip-list/sip-list.routable.ts index ab5aabcaf1f6afaae2bfb0cbd7e34226d46d80e0..51bd8f5404b3c91275c3363f328061d723d42b8c 100644 --- a/src/app/features/preservation/sip/components/routables/sip-list/sip-list.routable.ts +++ b/src/app/features/preservation/sip/components/routables/sip-list/sip-list.routable.ts @@ -7,15 +7,15 @@ import { import {MatDialog} from "@angular/material/dialog"; import {ActivatedRoute} from "@angular/router"; import {SipStateModel} from "@app/features/preservation/sip/stores/sip.state"; -import { - PreservationJob, - Sip, -} from "@models"; import {SharedAbstractListRoutable} from "@app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable"; import {FieldTypeEnum} from "@app/shared/enums/field-type.enum"; import {LocalStateEnum} from "@app/shared/enums/local-state.enum"; import {appAuthorizedOrganizationalUnitNameSpace} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.action"; import {AppAuthorizedOrganizationalUnitState} from "@app/stores/authorized-organizational-unit/app-authorized-organizational-unit.state"; +import { + PreservationJob, + Sip, +} from "@models"; import { Actions, Store, @@ -26,6 +26,7 @@ import { } from "@preservation/sip/stores/sip.action"; import {PackageStatusEnumHelper} from "@shared/enums/business/package-status.enum"; import {DataTableActions} from "@shared/models/data-table-actions.model"; +import {RouterExtService} from "@shared/services/router-ext.service"; import { OrderEnum, Override, @@ -51,9 +52,10 @@ export class SipListRoutable extends SharedAbstractListRoutable<Sip, SipStateMod constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog) { - super(_store, _changeDetector, _route, _actions$, _dialog, LocalStateEnum.preservation_sip, preservationSipActionNameSpace, { + super(_store, _changeDetector, _route, _routerExt, _actions$, _dialog, LocalStateEnum.preservation_sip, preservationSipActionNameSpace, { canCreate: false, }, LocalStateEnum.preservation); } diff --git a/src/app/shared/components/routables/shared-abstract-detail-edit/shared-abstract-detail-edit.routable.ts b/src/app/shared/components/routables/shared-abstract-detail-edit/shared-abstract-detail-edit.routable.ts index 15934258af9968ab92b621ffb0cc140a51ddfe9f..65324659263dfbe1271436cbf36b006d59c6a370 100644 --- a/src/app/shared/components/routables/shared-abstract-detail-edit/shared-abstract-detail-edit.routable.ts +++ b/src/app/shared/components/routables/shared-abstract-detail-edit/shared-abstract-detail-edit.routable.ts @@ -51,6 +51,7 @@ export abstract class SharedAbstractDetailEditRoutable<TResourceModel extends Ba @Select((state: LocalStateModel) => state.router.state) urlStateObs: Observable<RouterStateSnapshot>; isLoadingObs: Observable<boolean> = this._store.select(s => StoreUtil.isLoadingState(super.getState(s))); + queryParametersObs: Observable<QueryParameters> = this._store.select(s => super.getState(s).queryParameters); currentObs: Observable<TResourceModel> = this._store.select(s => super.getState(s).current).pipe( tap(current => this.current = current), ); @@ -99,7 +100,8 @@ export abstract class SharedAbstractDetailEditRoutable<TResourceModel extends Ba } protected cleanState(): void { - this._store.dispatch(ResourceActionHelper.clean(this._resourceNameSpace, false, new QueryParameters())); + const queryParameters = this._store.selectSnapshot(s => super.getState(s).queryParameters); + this._store.dispatch(ResourceActionHelper.clean(this._resourceNameSpace, false, queryParameters)); } protected retrieveResIdFromUrl(): void { diff --git a/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts b/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts index 49184ef288a459a9fd2187c301bcf2729baba37b..28ace32a5c0f367a75b6414b32a3c0e1c7c0bfbb 100644 --- a/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts +++ b/src/app/shared/components/routables/shared-abstract-list/shared-abstract-list.routable.ts @@ -27,6 +27,7 @@ import {RoutesEnum} from "@shared/enums/routes.enum"; import {DataTableActions} from "@shared/models/data-table-actions.model"; import {DeleteDialog} from "@shared/models/delete-dialog.model"; import {ExtraButtonToolbar} from "@shared/models/extra-button-toolbar.model"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {StoreDialogUtil} from "@shared/utils/store-dialog.util"; import {Observable} from "rxjs"; import {tap} from "rxjs/operators"; @@ -64,6 +65,7 @@ export abstract class SharedAbstractListRoutable<TResourceModel extends BaseReso protected constructor(protected readonly _store: Store, protected readonly _changeDetector: ChangeDetectorRef, protected readonly _route: ActivatedRoute, + protected readonly _routerExt: RouterExtService, protected readonly _actions$: Actions, protected readonly _dialog: MatDialog, protected readonly _state: LocalStateEnum, @@ -79,6 +81,9 @@ export abstract class SharedAbstractListRoutable<TResourceModel extends BaseReso ngOnInit(): void { super.ngOnInit(); + if (!this._routerExt.previousRouteIsChild()) { + this._store.dispatch(ResourceActionHelper.clean(this._resourceNameSpace, false, new QueryParameters())); + } this.defineColumns(); this.actions = this.defineActions(); } diff --git a/src/app/shared/services/router-ext.service.ts b/src/app/shared/services/router-ext.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..8933f5bd295516916399e640b2b43ef8b43ff6c9 --- /dev/null +++ b/src/app/shared/services/router-ext.service.ts @@ -0,0 +1,35 @@ +import {Injectable} from "@angular/core"; +import { + NavigationEnd, + Router, +} from "@angular/router"; + +@Injectable({ + providedIn: "root", +}) +export class RouterExtService { + private previousUrl: string = undefined; + private currentUrl: string = undefined; + + constructor(private router: Router) { + this.currentUrl = this.router.url; + router.events.subscribe(event => { + if (event instanceof NavigationEnd) { + this.previousUrl = this.currentUrl; + this.currentUrl = event.url; + } + }); + } + + public getPreviousUrl(): string { + return this.previousUrl; + } + + public getCurrentUrl(): string { + return this.currentUrl; + } + + public previousRouteIsChild(): boolean { + return this.previousUrl.includes(this.currentUrl); + } +} diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index dc381942436164232120f78da14f2aefa4c8cf0b..b392d80e124832c91543f9995f9bca948b0a7508 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -98,6 +98,7 @@ import {AppStatusService} from "@shared/services/app-status.service"; import {BreakpointService} from "@shared/services/breakpoint.service"; import {CanDeactivateGuard} from "@shared/services/can-deactivate-guard.service"; import {OrcidService} from "@shared/services/orcid.service"; +import {RouterExtService} from "@shared/services/router-ext.service"; import {SecurityService} from "@shared/services/security.service"; import {SharedDisseminationPolicyState} from "@shared/stores/dissemination-policy/shared-dissemination-policy.state"; import {SharedFundingAgencyState} from "@shared/stores/funding-agency/shared-funding-agency.state"; @@ -203,6 +204,7 @@ const services = [ AppStatusService, SecurityService, OrcidService, + RouterExtService, ]; const modules = [ CommonModule,