From 9ef887eb273f268e5fcdc2566408d0a1f69a39b7 Mon Sep 17 00:00:00 2001 From: Florent Poittevin <florent.poittevin@unige.ch> Date: Wed, 10 Jul 2019 16:52:02 +0200 Subject: [PATCH] Fix relation 2 tiers Add parent action inheritance for relation 2 tiers --- .../core/helpers/resource-action.helper.ts | 12 ++--- .../relation-2-tiers.action.ts | 15 +++--- .../relation-2-tiers.state.ts | 8 ++- .../core/stores/resource/resource.action.ts | 53 +++++++++++-------- .../core/stores/resource/resource.state.ts | 34 ++++++------ src/app/deposit/stores/deposit.action.ts | 12 ++--- src/app/deposit/stores/deposit.state.ts | 2 +- .../shared/stores/language/language.action.ts | 12 ++--- .../shared/stores/license/license.action.ts | 12 ++--- .../organizational-unit.action.ts | 16 +++--- .../organizational-unit.state.ts | 2 +- .../preservation-policy.action.ts | 12 ++--- .../submission-policy.action.ts | 12 ++--- src/app/stores/app.action.ts | 9 ++-- src/app/stores/app.state.ts | 4 +- 15 files changed, 115 insertions(+), 100 deletions(-) diff --git a/src/app/core/helpers/resource-action.helper.ts b/src/app/core/helpers/resource-action.helper.ts index 6a139a897..da05c6e1b 100644 --- a/src/app/core/helpers/resource-action.helper.ts +++ b/src/app/core/helpers/resource-action.helper.ts @@ -26,7 +26,7 @@ export class ResourceActionHelper { return new resourceNameSpace.GetAllSuccess(...args); } - static getAllFail(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.GetAllFail>): ResourceAction.GetAllFail { + static getAllFail<T>(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.GetAllFail>): ResourceAction.GetAllFail<T> { return new resourceNameSpace.GetAllFail(...args); } @@ -38,7 +38,7 @@ export class ResourceActionHelper { return new resourceNameSpace.GetByIdSuccess(...args); } - static getByIdFail(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.GetByIdFail>): ResourceAction.GetByIdFail { + static getByIdFail<T>(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.GetByIdFail>): ResourceAction.GetByIdFail<T> { return new resourceNameSpace.GetByIdFail(...args); } @@ -46,11 +46,11 @@ export class ResourceActionHelper { return new resourceNameSpace.Create(...args); } - static createSuccess(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.CreateSuccess>): ResourceAction.CreateSuccess { + static createSuccess<T>(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.CreateSuccess>): ResourceAction.CreateSuccess<T> { return new resourceNameSpace.CreateSuccess(...args); } - static createFail(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.CreateFail>): ResourceAction.CreateFail { + static createFail<T>(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.CreateFail>): ResourceAction.CreateFail<T> { return new resourceNameSpace.CreateFail(...args); } @@ -58,11 +58,11 @@ export class ResourceActionHelper { return new resourceNameSpace.Update(...args); } - static updateSuccess(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.UpdateSuccess>): ResourceAction.UpdateSuccess { + static updateSuccess<T>(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.UpdateSuccess>): ResourceAction.UpdateSuccess<T> { return new resourceNameSpace.UpdateSuccess(...args); } - static updateFail(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.UpdateFail>): ResourceAction.UpdateFail { + static updateFail<T>(resourceNameSpace: ResourceNameSpace, ...args: ConstructorParameters<typeof ResourceAction.UpdateFail>): ResourceAction.UpdateFail<T> { return new resourceNameSpace.UpdateFail(...args); } diff --git a/src/app/core/stores/relation-2-tiers/relation-2-tiers.action.ts b/src/app/core/stores/relation-2-tiers/relation-2-tiers.action.ts index 14e9b9a4e..bb2018111 100644 --- a/src/app/core/stores/relation-2-tiers/relation-2-tiers.action.ts +++ b/src/app/core/stores/relation-2-tiers/relation-2-tiers.action.ts @@ -4,21 +4,23 @@ import {CollectionTypedModel} from "@app/shared/models/collection-typed.model"; import {QueryParametersModel} from "@app/shared/models/query-parameters.model"; export namespace Relation2TiersAction { - export class GetAll { + export class GetAll extends BaseAction { static readonly type: string = "[{0}] Relation 2 Tiers : Get All"; constructor(public parentId: string, public queryParameters?: QueryParametersModel) { + super(); } } - export class GetAllSuccess<T> { + export class GetAllSuccess<T> extends BaseSubAction<GetAll> { static readonly type: string = "[{0}] Relation 2 Tiers : Get All Success"; - constructor(public list: CollectionTypedModel<T>) { + constructor(public parentAction: GetAll, public list: CollectionTypedModel<T>) { + super(parentAction); } } - export class GetAllFail { + export class GetAllFail extends BaseSubAction<GetAll> { static readonly type: string = "[{0}] Relation 2 Tiers : Get All Fail"; } @@ -70,10 +72,11 @@ export namespace Relation2TiersAction { } } - export class UpdateFail { + export class UpdateFail extends BaseSubAction<Update> { static readonly type: string = "[{0}] Relation 2 Tiers : Update Fail"; - constructor(public parentId: string) { + constructor(public parentAction: Update, public parentId: string) { + super(parentAction); } } } diff --git a/src/app/core/stores/relation-2-tiers/relation-2-tiers.state.ts b/src/app/core/stores/relation-2-tiers/relation-2-tiers.state.ts index 2643160c8..d4b347b05 100644 --- a/src/app/core/stores/relation-2-tiers/relation-2-tiers.state.ts +++ b/src/app/core/stores/relation-2-tiers/relation-2-tiers.state.ts @@ -70,10 +70,10 @@ export abstract class Relation2TiersState<T> { return this.apiService.get<U>(url, queryParameters) .pipe( tap((collection: CollectionTypedModel<U>) => { - ctx.dispatch(Relation2TiersActionHelper.getAllSubResourceSuccess<U>(this.relation2TiersNameSpace, collection)); + ctx.dispatch(Relation2TiersActionHelper.getAllSubResourceSuccess<U>(this.relation2TiersNameSpace, action, collection)); }), catchError(error => { - ctx.dispatch(Relation2TiersActionHelper.getAllSubResourceFail(this.relation2TiersNameSpace)); + ctx.dispatch(Relation2TiersActionHelper.getAllSubResourceFail(this.relation2TiersNameSpace, action)); throw error; }), ); @@ -97,6 +97,7 @@ export abstract class Relation2TiersState<T> { @RegisterDefaultAction((relation2TiersNameSpace: Relation2TiersNameSpace) => relation2TiersNameSpace.Create) create(ctx: StateContext<Relation2TiersStateModel<T>>, action: Relation2TiersAction.Create): Observable<string[]> { if (action.listResId.length === 0) { + ctx.dispatch(Relation2TiersActionHelper.createSubResourceSuccess(this.relation2TiersNameSpace, action)); return; } const url = this.evaluateSubResourceUrl(action.parentId); @@ -115,6 +116,7 @@ export abstract class Relation2TiersState<T> { @RegisterDefaultAction((relation2TiersNameSpace: Relation2TiersNameSpace) => relation2TiersNameSpace.Delete) delete(ctx: StateContext<Relation2TiersStateModel<T>>, action: Relation2TiersAction.Delete): Observable<string[]> { if (action.listResId.length === 0) { + ctx.dispatch(Relation2TiersActionHelper.deleteSubResourceSuccess(this.relation2TiersNameSpace, action)); return; } const url = this.evaluateSubResourceUrl(action.parentId); @@ -139,6 +141,8 @@ export abstract class Relation2TiersState<T> { ).subscribe(success => { if (success) { ctx.dispatch(Relation2TiersActionHelper.updateSubResourceSuccess(this.relation2TiersNameSpace, action, action.parentId)); + } else { + ctx.dispatch(Relation2TiersActionHelper.updateSubResourceFail(this.relation2TiersNameSpace, action, action.parentId)); } }); } diff --git a/src/app/core/stores/resource/resource.action.ts b/src/app/core/stores/resource/resource.action.ts index b1836239a..c9b8a1743 100644 --- a/src/app/core/stores/resource/resource.action.ts +++ b/src/app/core/stores/resource/resource.action.ts @@ -1,105 +1,114 @@ -import {ResourceNameSpace} from "./resource.namespace"; +import {BaseAction, BaseSubAction} from "@app/core/models/stores/base.action"; import {CollectionTypedModel} from "@app/shared/models/collection-typed.model"; import {QueryParametersModel} from "@app/shared/models/query-parameters.model"; +import {ResourceNameSpace} from "./resource.namespace"; export namespace ResourceAction { - export class LoadResource { + export class LoadResource extends BaseAction { static readonly type: string = "[{0}] Load resource"; } - export class LoadResourceSuccess { + export class LoadResourceSuccess extends BaseSubAction<LoadResource> { static readonly type: string = "[{0}] Load resource Success"; } - export class LoadResourceFail { + export class LoadResourceFail extends BaseSubAction<LoadResource> { static readonly type: string = "[{0}] Load resource Fail"; } - export class ChangeQueryParameters { + export class ChangeQueryParameters extends BaseAction { static readonly type: string = "[{0}] Change Query Parameters"; constructor(public queryParameters: QueryParametersModel) { + super(); } } - export class GetAll { + export class GetAll extends BaseAction { static readonly type: string = "[{0}] Get All"; constructor(public queryParameters?: QueryParametersModel) { + super(); } } - export class GetAllSuccess<T> { + export class GetAllSuccess<T> extends BaseSubAction<GetAll> { static readonly type: string = "[{0}] Get All Success"; - constructor(public list: CollectionTypedModel<T>) { + constructor(public parentAction: GetAll, public list: CollectionTypedModel<T>) { + super(parentAction); } } - export class GetAllFail { + export class GetAllFail<T> extends BaseSubAction<GetAll> { static readonly type: string = "[{0}] Get All Fail"; } - export class GetById { + export class GetById extends BaseAction { static readonly type: string = "[{0}] Get By Id"; constructor(public id: string) { + super(); } } - export class GetByIdSuccess<T> { + export class GetByIdSuccess<T> extends BaseSubAction<GetById> { static readonly type: string = "[{0}] Get By Id Success"; - constructor(public model: T) { + constructor(public parentAction: GetById, public model: T) { + super(parentAction); } } - export class GetByIdFail { + export class GetByIdFail<T> extends BaseSubAction<GetById> { static readonly type: string = "[{0}] Get By Id Fail"; } - export class Create<T> { + export class Create<T> extends BaseAction { static readonly type: string = "[{0}] Create"; constructor(public model: T) { + super(); } } - export class CreateSuccess { + export class CreateSuccess<T> extends BaseSubAction<Create<T>> { static readonly type: string = "[{0}] Create Success"; } - export class CreateFail { + export class CreateFail<T> extends BaseSubAction<Create<T>> { static readonly type: string = "[{0}] Create Fail"; } - export class Update<T> { + export class Update<T> extends BaseAction { static readonly type: string = "[{0}] Update"; constructor(public model: T) { + super(); } } - export class UpdateSuccess { + export class UpdateSuccess<T> extends BaseSubAction<Update<T>> { static readonly type: string = "[{0}] Update Success"; } - export class UpdateFail { + export class UpdateFail<T> extends BaseSubAction<Update<T>> { static readonly type: string = "[{0}] Update Fail"; } - export class Delete { + export class Delete extends BaseAction { static readonly type: string = "[{0}] Delete"; constructor(public resId: string) { + super(); } } - export class DeleteSuccess { + export class DeleteSuccess extends BaseSubAction<Delete> { static readonly type: string = "[{0}] Delete Success"; } - export class DeleteFail { + export class DeleteFail extends BaseSubAction<Delete> { static readonly type: string = "[{0}] Delete Fail"; } } diff --git a/src/app/core/stores/resource/resource.state.ts b/src/app/core/stores/resource/resource.state.ts index 1a8027a7a..4746a7fc8 100644 --- a/src/app/core/stores/resource/resource.state.ts +++ b/src/app/core/stores/resource/resource.state.ts @@ -63,20 +63,18 @@ export abstract class ResourceState<T> { @RegisterDefaultAction((resourceNameSpace: ResourceNameSpace) => resourceNameSpace.GetAll, {cancelUncompleted: true}) getAll(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.GetAll): Observable<CollectionTypedModel<T>> { - ctx.patchState({ isLoadingCounter: ctx.getState().isLoadingCounter + 1, }); - const queryParameters = StoreUtil.getQueryParametersToApply(action.queryParameters, ctx); return this.apiService.get<T>(this._urlResource, queryParameters) .pipe( tap((collection: CollectionTypedModel<T>) => { - ctx.dispatch(ResourceActionHelper.getAllSuccess<T>(this.resourceNameSpace, collection)); + ctx.dispatch(ResourceActionHelper.getAllSuccess<T>(this.resourceNameSpace, action, collection)); }), catchError(error => { - ctx.dispatch(ResourceActionHelper.getAllFail(this.resourceNameSpace)); + ctx.dispatch(ResourceActionHelper.getAllFail(this.resourceNameSpace, action)); throw error; }), ); @@ -95,7 +93,7 @@ export abstract class ResourceState<T> { } @RegisterDefaultAction((resourceNameSpace: ResourceNameSpace) => resourceNameSpace.GetAllFail) - getAllFail(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.GetAllFail): void { + getAllFail(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.GetAllFail<T>): void { ctx.patchState({ isLoadingCounter: ctx.getState().isLoadingCounter - 1, }); @@ -111,10 +109,10 @@ export abstract class ResourceState<T> { return this.apiService.getById<T>(this._urlResource, action.id) .pipe( tap((model: T) => { - ctx.dispatch(ResourceActionHelper.getByIdSuccess(this.resourceNameSpace, model)); + ctx.dispatch(ResourceActionHelper.getByIdSuccess(this.resourceNameSpace, action, model)); }), catchError(error => { - ctx.dispatch(ResourceActionHelper.getByIdFail(this.resourceNameSpace)); + ctx.dispatch(ResourceActionHelper.getByIdFail(this.resourceNameSpace, action)); throw error; }), ); @@ -129,7 +127,7 @@ export abstract class ResourceState<T> { } @RegisterDefaultAction((resourceNameSpace: ResourceNameSpace) => resourceNameSpace.GetByIdFail) - getByIdFail(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.GetByIdFail): void { + getByIdFail(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.GetByIdFail<T>): void { ctx.patchState({ isLoadingCounter: ctx.getState().isLoadingCounter - 1, }); @@ -144,17 +142,17 @@ export abstract class ResourceState<T> { return this.apiService.post<T>(this._urlResource, action.model) .pipe( tap(() => { - ctx.dispatch(ResourceActionHelper.createSuccess(this.resourceNameSpace)); + ctx.dispatch(ResourceActionHelper.createSuccess(this.resourceNameSpace, action)); }), catchError(error => { - ctx.dispatch(ResourceActionHelper.createFail(this.resourceNameSpace)); + ctx.dispatch(ResourceActionHelper.createFail(this.resourceNameSpace, action)); throw error; }), ); } @RegisterDefaultAction((resourceNameSpace: ResourceNameSpace) => resourceNameSpace.CreateSuccess) - createSuccess(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.CreateSuccess): void { + createSuccess(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.CreateSuccess<T>): void { ctx.patchState({ isLoadingCounter: ctx.getState().isLoadingCounter - 1, }); @@ -165,7 +163,7 @@ export abstract class ResourceState<T> { } @RegisterDefaultAction((resourceNameSpace: ResourceNameSpace) => resourceNameSpace.CreateFail) - createFail(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.CreateFail): void { + createFail(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.CreateFail<T>): void { ctx.patchState({ isLoadingCounter: ctx.getState().isLoadingCounter - 1, }); @@ -176,10 +174,10 @@ export abstract class ResourceState<T> { return this.internalUpdate(ctx, action) .pipe( tap(() => { - ctx.dispatch(ResourceActionHelper.updateSuccess(this.resourceNameSpace)); + ctx.dispatch(ResourceActionHelper.updateSuccess(this.resourceNameSpace, action)); }), catchError(error => { - ctx.dispatch(ResourceActionHelper.updateFail(this.resourceNameSpace)); + ctx.dispatch(ResourceActionHelper.updateFail(this.resourceNameSpace, action)); throw error; }), ); @@ -194,7 +192,7 @@ export abstract class ResourceState<T> { } @RegisterDefaultAction((resourceNameSpace: ResourceNameSpace) => resourceNameSpace.UpdateSuccess) - updateSuccess(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.UpdateSuccess): void { + updateSuccess(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.UpdateSuccess<T>): void { ctx.patchState({ isLoadingCounter: ctx.getState().isLoadingCounter - 1, }); @@ -205,7 +203,7 @@ export abstract class ResourceState<T> { } @RegisterDefaultAction((resourceNameSpace: ResourceNameSpace) => resourceNameSpace.UpdateFail) - updateFail(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.UpdateFail): void { + updateFail(ctx: StateContext<ResourceStateModel<T>>, action: ResourceAction.UpdateFail<T>): void { ctx.patchState({ isLoadingCounter: ctx.getState().isLoadingCounter - 1, }); @@ -220,10 +218,10 @@ export abstract class ResourceState<T> { return this.apiService.deleteById<T>(this._urlResource, action.resId) .pipe( tap(() => { - ctx.dispatch(ResourceActionHelper.deleteSuccess(this.resourceNameSpace)); + ctx.dispatch(ResourceActionHelper.deleteSuccess(this.resourceNameSpace, action)); }), catchError(error => { - ctx.dispatch(ResourceActionHelper.deleteFail(this.resourceNameSpace)); + ctx.dispatch(ResourceActionHelper.deleteFail(this.resourceNameSpace, action)); throw error; }), ); diff --git a/src/app/deposit/stores/deposit.action.ts b/src/app/deposit/stores/deposit.action.ts index 43b18c585..6e6328d17 100644 --- a/src/app/deposit/stores/deposit.action.ts +++ b/src/app/deposit/stores/deposit.action.ts @@ -32,7 +32,7 @@ export namespace DepositAction { } @TypeDefaultAction(state) - export class GetAllFail extends ResourceAction.GetAllFail { + export class GetAllFail extends ResourceAction.GetAllFail<DepositsModel> { } @TypeDefaultAction(state) @@ -44,7 +44,7 @@ export namespace DepositAction { } @TypeDefaultAction(state) - export class GetByIdFail extends ResourceAction.GetByIdFail { + export class GetByIdFail extends ResourceAction.GetByIdFail<DepositsModel> { } @TypeDefaultAction(state) @@ -52,11 +52,11 @@ export namespace DepositAction { } @TypeDefaultAction(state) - export class CreateSuccess extends ResourceAction.CreateSuccess { + export class CreateSuccess extends ResourceAction.CreateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class CreateFail extends ResourceAction.CreateFail { + export class CreateFail extends ResourceAction.CreateFail<DepositsModel> { } @TypeDefaultAction(state) @@ -64,11 +64,11 @@ export namespace DepositAction { } @TypeDefaultAction(state) - export class UpdateSuccess extends ResourceAction.UpdateSuccess { + export class UpdateSuccess extends ResourceAction.UpdateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class UpdateFail extends ResourceAction.UpdateFail { + export class UpdateFail extends ResourceAction.UpdateFail<DepositsModel> { } @TypeDefaultAction(state) diff --git a/src/app/deposit/stores/deposit.state.ts b/src/app/deposit/stores/deposit.state.ts index 5e8310382..b00d5fbd4 100644 --- a/src/app/deposit/stores/deposit.state.ts +++ b/src/app/deposit/stores/deposit.state.ts @@ -72,7 +72,7 @@ export class DepositState extends ResourceState<DepositsModel> { new LicenseAction.GetAll(), new PreservationPolicyAction.GetAll(), new SubmissionPolicyAction.GetAll(), - new DepositAction.LoadResourceSuccess(), + new DepositAction.LoadResourceSuccess(action), ]); } diff --git a/src/app/shared/stores/language/language.action.ts b/src/app/shared/stores/language/language.action.ts index 6166812f4..1e25f679c 100644 --- a/src/app/shared/stores/language/language.action.ts +++ b/src/app/shared/stores/language/language.action.ts @@ -32,7 +32,7 @@ export namespace LanguageAction { } @TypeDefaultAction(state) - export class GetAllFail extends ResourceAction.GetAllFail { + export class GetAllFail extends ResourceAction.GetAllFail<DepositsModel> { } @TypeDefaultAction(state) @@ -44,7 +44,7 @@ export namespace LanguageAction { } @TypeDefaultAction(state) - export class GetByIdFail extends ResourceAction.GetByIdFail { + export class GetByIdFail extends ResourceAction.GetByIdFail<DepositsModel> { } @TypeDefaultAction(state) @@ -52,11 +52,11 @@ export namespace LanguageAction { } @TypeDefaultAction(state) - export class CreateSuccess extends ResourceAction.CreateSuccess { + export class CreateSuccess extends ResourceAction.CreateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class CreateFail extends ResourceAction.CreateFail { + export class CreateFail extends ResourceAction.CreateFail<DepositsModel> { } @TypeDefaultAction(state) @@ -64,11 +64,11 @@ export namespace LanguageAction { } @TypeDefaultAction(state) - export class UpdateSuccess extends ResourceAction.UpdateSuccess { + export class UpdateSuccess extends ResourceAction.UpdateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class UpdateFail extends ResourceAction.UpdateFail { + export class UpdateFail extends ResourceAction.UpdateFail<DepositsModel> { } @TypeDefaultAction(state) diff --git a/src/app/shared/stores/license/license.action.ts b/src/app/shared/stores/license/license.action.ts index d29dbe530..810565215 100644 --- a/src/app/shared/stores/license/license.action.ts +++ b/src/app/shared/stores/license/license.action.ts @@ -32,7 +32,7 @@ export namespace LicenseAction { } @TypeDefaultAction(state) - export class GetAllFail extends ResourceAction.GetAllFail { + export class GetAllFail extends ResourceAction.GetAllFail<DepositsModel> { } @TypeDefaultAction(state) @@ -44,7 +44,7 @@ export namespace LicenseAction { } @TypeDefaultAction(state) - export class GetByIdFail extends ResourceAction.GetByIdFail { + export class GetByIdFail extends ResourceAction.GetByIdFail<DepositsModel> { } @TypeDefaultAction(state) @@ -52,11 +52,11 @@ export namespace LicenseAction { } @TypeDefaultAction(state) - export class CreateSuccess extends ResourceAction.CreateSuccess { + export class CreateSuccess extends ResourceAction.CreateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class CreateFail extends ResourceAction.CreateFail { + export class CreateFail extends ResourceAction.CreateFail<DepositsModel> { } @TypeDefaultAction(state) @@ -64,11 +64,11 @@ export namespace LicenseAction { } @TypeDefaultAction(state) - export class UpdateSuccess extends ResourceAction.UpdateSuccess { + export class UpdateSuccess extends ResourceAction.UpdateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class UpdateFail extends ResourceAction.UpdateFail { + export class UpdateFail extends ResourceAction.UpdateFail<DepositsModel> { } @TypeDefaultAction(state) diff --git a/src/app/shared/stores/organizational-unit/organizational-unit.action.ts b/src/app/shared/stores/organizational-unit/organizational-unit.action.ts index 61b43d648..806ddff50 100644 --- a/src/app/shared/stores/organizational-unit/organizational-unit.action.ts +++ b/src/app/shared/stores/organizational-unit/organizational-unit.action.ts @@ -1,8 +1,8 @@ -import {DepositsModel} from "@app/generated-api"; import {ResourceAction} from "@app/core/stores/resource/resource.action"; -import {ResourceNameSpace} from "../../../core/stores/resource/resource.namespace"; +import {DepositsModel} from "@app/generated-api"; import {TypeDefaultAction} from "@app/shared/decorators/type-default-action.decorator"; import {StateEnum} from "@app/shared/enums/state.enum"; +import {ResourceNameSpace} from "../../../core/stores/resource/resource.namespace"; const state = StateEnum.organizationalUnit; @@ -32,7 +32,7 @@ export namespace OrgUnitAction { } @TypeDefaultAction(state) - export class GetAllFail extends ResourceAction.GetAllFail { + export class GetAllFail extends ResourceAction.GetAllFail<DepositsModel> { } @TypeDefaultAction(state) @@ -44,7 +44,7 @@ export namespace OrgUnitAction { } @TypeDefaultAction(state) - export class GetByIdFail extends ResourceAction.GetByIdFail { + export class GetByIdFail extends ResourceAction.GetByIdFail<DepositsModel> { } @TypeDefaultAction(state) @@ -52,11 +52,11 @@ export namespace OrgUnitAction { } @TypeDefaultAction(state) - export class CreateSuccess extends ResourceAction.CreateSuccess { + export class CreateSuccess extends ResourceAction.CreateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class CreateFail extends ResourceAction.CreateFail { + export class CreateFail extends ResourceAction.CreateFail<DepositsModel> { } @TypeDefaultAction(state) @@ -64,11 +64,11 @@ export namespace OrgUnitAction { } @TypeDefaultAction(state) - export class UpdateSuccess extends ResourceAction.UpdateSuccess { + export class UpdateSuccess extends ResourceAction.UpdateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class UpdateFail extends ResourceAction.UpdateFail { + export class UpdateFail extends ResourceAction.UpdateFail<DepositsModel> { } @TypeDefaultAction(state) diff --git a/src/app/shared/stores/organizational-unit/organizational-unit.state.ts b/src/app/shared/stores/organizational-unit/organizational-unit.state.ts index a5e13df17..f775d86c1 100644 --- a/src/app/shared/stores/organizational-unit/organizational-unit.state.ts +++ b/src/app/shared/stores/organizational-unit/organizational-unit.state.ts @@ -72,7 +72,7 @@ export class OrganizationalUnitState extends ResourceState<OrganizationalUnitsMo ctx.dispatch([ new PreservationPolicyAction.GetAll(), new SubmissionPolicyAction.GetAll(), - new OrgUnitAction.LoadResourceSuccess(), + new OrgUnitAction.LoadResourceSuccess(action), ]); } diff --git a/src/app/shared/stores/preservation-policy/preservation-policy.action.ts b/src/app/shared/stores/preservation-policy/preservation-policy.action.ts index 7770d0be9..e2d68f24d 100644 --- a/src/app/shared/stores/preservation-policy/preservation-policy.action.ts +++ b/src/app/shared/stores/preservation-policy/preservation-policy.action.ts @@ -32,7 +32,7 @@ export namespace PreservationPolicyAction { } @TypeDefaultAction(state) - export class GetAllFail extends ResourceAction.GetAllFail { + export class GetAllFail extends ResourceAction.GetAllFail<DepositsModel> { } @TypeDefaultAction(state) @@ -44,7 +44,7 @@ export namespace PreservationPolicyAction { } @TypeDefaultAction(state) - export class GetByIdFail extends ResourceAction.GetByIdFail { + export class GetByIdFail extends ResourceAction.GetByIdFail<DepositsModel> { } @TypeDefaultAction(state) @@ -52,11 +52,11 @@ export namespace PreservationPolicyAction { } @TypeDefaultAction(state) - export class CreateSuccess extends ResourceAction.CreateSuccess { + export class CreateSuccess extends ResourceAction.CreateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class CreateFail extends ResourceAction.CreateFail { + export class CreateFail extends ResourceAction.CreateFail<DepositsModel> { } @TypeDefaultAction(state) @@ -64,11 +64,11 @@ export namespace PreservationPolicyAction { } @TypeDefaultAction(state) - export class UpdateSuccess extends ResourceAction.UpdateSuccess { + export class UpdateSuccess extends ResourceAction.UpdateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class UpdateFail extends ResourceAction.UpdateFail { + export class UpdateFail extends ResourceAction.UpdateFail<DepositsModel> { } @TypeDefaultAction(state) diff --git a/src/app/shared/stores/submission-policy/submission-policy.action.ts b/src/app/shared/stores/submission-policy/submission-policy.action.ts index d20cbb787..b12529550 100644 --- a/src/app/shared/stores/submission-policy/submission-policy.action.ts +++ b/src/app/shared/stores/submission-policy/submission-policy.action.ts @@ -32,7 +32,7 @@ export namespace SubmissionPolicyAction { } @TypeDefaultAction(state) - export class GetAllFail extends ResourceAction.GetAllFail { + export class GetAllFail extends ResourceAction.GetAllFail<DepositsModel> { } @TypeDefaultAction(state) @@ -44,7 +44,7 @@ export namespace SubmissionPolicyAction { } @TypeDefaultAction(state) - export class GetByIdFail extends ResourceAction.GetByIdFail { + export class GetByIdFail extends ResourceAction.GetByIdFail<DepositsModel> { } @TypeDefaultAction(state) @@ -52,11 +52,11 @@ export namespace SubmissionPolicyAction { } @TypeDefaultAction(state) - export class CreateSuccess extends ResourceAction.CreateSuccess { + export class CreateSuccess extends ResourceAction.CreateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class CreateFail extends ResourceAction.CreateFail { + export class CreateFail extends ResourceAction.CreateFail<DepositsModel> { } @TypeDefaultAction(state) @@ -64,11 +64,11 @@ export namespace SubmissionPolicyAction { } @TypeDefaultAction(state) - export class UpdateSuccess extends ResourceAction.UpdateSuccess { + export class UpdateSuccess extends ResourceAction.UpdateSuccess<DepositsModel> { } @TypeDefaultAction(state) - export class UpdateFail extends ResourceAction.UpdateFail { + export class UpdateFail extends ResourceAction.UpdateFail<DepositsModel> { } @TypeDefaultAction(state) diff --git a/src/app/stores/app.action.ts b/src/app/stores/app.action.ts index 6f43a3153..2d53ed16c 100644 --- a/src/app/stores/app.action.ts +++ b/src/app/stores/app.action.ts @@ -1,11 +1,11 @@ import {BaseAction, BaseSubAction} from "@app/core/models/stores/base.action"; import {LanguagesEnum} from "@app/shared/enums/languages.enum"; -export class InitApplication { +export class InitApplication extends BaseAction { static readonly type: string = "[App] Init Application"; } -export class InitApplicationSuccess { +export class InitApplicationSuccess extends BaseSubAction<InitApplication> { static readonly type: string = "[App] Init Application Success"; } @@ -17,10 +17,11 @@ export class SetMomentLocal extends BaseAction { static readonly type: string = "[App] Set Moment Local"; } -export class ChangeAppLanguage { +export class ChangeAppLanguage extends BaseAction { static readonly type: string = "[App] Change App Language"; constructor(public language: LanguagesEnum) { + super(); } } @@ -36,6 +37,6 @@ export class LoginFail extends BaseSubAction<Login> { static readonly type: string = "[App] Login Fail"; } -export class Logout { +export class Logout extends BaseAction { static readonly type: string = "[App] Logout"; } diff --git a/src/app/stores/app.state.ts b/src/app/stores/app.state.ts index 0044913c2..9eeee7f02 100644 --- a/src/app/stores/app.state.ts +++ b/src/app/stores/app.state.ts @@ -48,7 +48,7 @@ export class AppState { } @Action(InitApplication) - initApplication(ctx: StateContext<AppStateModel>): void { + initApplication(ctx: StateContext<AppStateModel>, action: InitApplication): void { StoreUtil.dispatchActionAndWaitForSubActionsCompletion( ctx, [ @@ -64,7 +64,7 @@ export class AppState { ], ).subscribe(success => { if (success) { - ctx.dispatch(new InitApplicationSuccess()); + ctx.dispatch(new InitApplicationSuccess(action)); } }); } -- GitLab