From 310910abaf284466f422c2ee4676f7e0aede38c5 Mon Sep 17 00:00:00 2001 From: Nazarii Ivasyshyn Date: Mon, 7 Nov 2022 15:08:15 +0200 Subject: [PATCH] #1704 added again action for GetAllInstitutionsHierarchy --- .../institutions/institutions.service.ts | 4 +++ src/app/shared/store/meta-data.actions.ts | 5 ++++ src/app/shared/store/meta-data.state.ts | 28 +++++++++++++++++-- src/app/shell/admin-tools/data/data.module.ts | 4 ++- 4 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/app/shared/services/institutions/institutions.service.ts b/src/app/shared/services/institutions/institutions.service.ts index a400de1b96..8896067d30 100644 --- a/src/app/shared/services/institutions/institutions.service.ts +++ b/src/app/shared/services/institutions/institutions.service.ts @@ -13,6 +13,10 @@ export class InstitutionsService { return this.http.get('/api/v1/Institution/GetAll'); } + getAllInstitutionHierarchies(): Observable { + return this.http.get ('/api/v1/InstitutionHierarchy/GetAll'); + } + getAllByInstitutionAndLevel(institutionsId: string, hierarchyLevel: number): Observable { let params = new HttpParams(); params = params.set('institutionId', institutionsId); diff --git a/src/app/shared/store/meta-data.actions.ts b/src/app/shared/store/meta-data.actions.ts index 7e2eb0b5d2..5049cbfa12 100644 --- a/src/app/shared/store/meta-data.actions.ts +++ b/src/app/shared/store/meta-data.actions.ts @@ -33,6 +33,11 @@ export class GetAllInstitutions { constructor() {} } +export class GetAllInstitutionsHierarchy { + static readonly type = '[meta-data] Get All Institutions Hierarchy'; + constructor() {} +} + export class GetAchievementsType { static readonly type = '[meta-data] Get All Achievement Types'; constructor() {} diff --git a/src/app/shared/store/meta-data.state.ts b/src/app/shared/store/meta-data.state.ts index f82e431b21..999fdd2b9a 100644 --- a/src/app/shared/store/meta-data.state.ts +++ b/src/app/shared/store/meta-data.state.ts @@ -29,6 +29,7 @@ import { GetAchievementsType, GetAllByInstitutionAndLevel, GetAllInstitutions, + GetAllInstitutionsHierarchy, GetCodeficatorById, GetCodeficatorSearch, GetFeaturesList, @@ -49,6 +50,7 @@ export interface MetaDataStateModel { featuresList: FeaturesList; institutions: Institution[]; institutionFieldDesc: InstitutionFieldDescription[]; + instituitionsHierarchyAll: InstituitionHierarchy[]; instituitionsHierarchy: InstituitionHierarchy[]; editInstituitionsHierarchy: InstituitionHierarchy[]; codeficatorSearch: Codeficator[]; @@ -67,6 +69,7 @@ export interface MetaDataStateModel { featuresList: { release1: true, release2: true, release3: false }, institutions: null, institutionFieldDesc: null, + instituitionsHierarchyAll: null, instituitionsHierarchy: null, editInstituitionsHierarchy: null, codeficatorSearch: [], @@ -111,7 +114,8 @@ export class MetaDataState { } @Selector() - static institutions(state: MetaDataStateModel): Institution[] { + static institutions( + state: MetaDataStateModel): Institution[] { return state.institutions; } @@ -121,7 +125,16 @@ export class MetaDataState { } @Selector() - static instituitionsHierarchy(state: MetaDataStateModel): InstituitionHierarchy[] { + static instituitionsHierarchyAll( + state: MetaDataStateModel + ): InstituitionHierarchy[] { + return state.instituitionsHierarchyAll; + } + + @Selector() + static instituitionsHierarchy( + state: MetaDataStateModel + ): InstituitionHierarchy[] { return state.instituitionsHierarchy; } @@ -209,6 +222,17 @@ export class MetaDataState { .pipe(tap((institutions: Institution[]) => patchState({ institutions: institutions, isLoading: false }))); } + @Action(GetAllInstitutionsHierarchy) + getAllInstitutionsHierarchy( + { patchState }: StateContext, + {}: GetAllInstitutionsHierarchy + ): Observable { + patchState({ isLoading: true }); + return this.institutionsService + .getAllInstitutionHierarchies() + .pipe(tap((instituitionsHierarchyAll: InstituitionHierarchy[]) => patchState({ instituitionsHierarchyAll: instituitionsHierarchyAll, isLoading: false }))); + } + @Action(GetAchievementsType) getAchievementType({ patchState }: StateContext, {}: GetAchievementsType): Observable { patchState({ isLoading: true }); diff --git a/src/app/shell/admin-tools/data/data.module.ts b/src/app/shell/admin-tools/data/data.module.ts index d49f8d91db..e9312e53b6 100644 --- a/src/app/shell/admin-tools/data/data.module.ts +++ b/src/app/shell/admin-tools/data/data.module.ts @@ -15,6 +15,7 @@ import { MaterialModule } from '../../../shared/modules/material.module'; import { DirectionsComponent } from './directions-wrapper/directions/directions.component'; import { CreateDirectionComponent } from './directions-wrapper/directions/create-direction/create-direction.component'; import { DirectionsWrapperComponent } from './directions-wrapper/directions-wrapper.component'; +import { DirectionsInstitutionHierarchiesListComponent } from './directions-wrapper/directions-institution-hierarchies-list/directions-institution-hierarchies-list.component'; @NgModule({ declarations: [ @@ -28,7 +29,8 @@ import { DirectionsWrapperComponent } from './directions-wrapper/directions-wrap HistoryLogFiltersComponent, DirectionsComponent, CreateDirectionComponent, - DirectionsWrapperComponent + DirectionsWrapperComponent, + DirectionsInstitutionHierarchiesListComponent ], imports: [CommonModule, DataRoutingModule, SharedModule, MaterialModule, FlexLayoutModule], exports: [DataComponent]