diff --git a/client/src/app/admin/admin.module.ts b/client/src/app/admin/admin.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..c99555c7dd20e957f9af6d1263234e8870773524 --- /dev/null +++ b/client/src/app/admin/admin.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +@NgModule({ + declarations: [], + imports: [ + CommonModule + ], + providers: [] +}) +export class AdminModule { } \ No newline at end of file diff --git a/client/src/app/app.module.ts b/client/src/app/app.module.ts index 2b6829640572b1864593cb608f1b4c3654547d37..3cb19d2c55bf52e338fb4bfab482ca26616338a1 100644 --- a/client/src/app/app.module.ts +++ b/client/src/app/app.module.ts @@ -14,6 +14,7 @@ import { environment } from '../environments/environment'; import { reducers, metaReducers } from './app.reducer'; import { CustomSerializer } from './custom-route-serializer'; import { MetamodelModule } from './metamodel/metamodel.module'; +import { AdminModule } from './admin/admin.module'; @NgModule({ declarations: [ @@ -44,7 +45,8 @@ import { MetamodelModule } from './metamodel/metamodel.module'; maxAge: 25, logOnly: environment.production }), - MetamodelModule + MetamodelModule, + AdminModule ], providers: [], bootstrap: [AppComponent] diff --git a/client/src/app/metamodel/store/effects/database.effects.ts b/client/src/app/metamodel/store/effects/database.effects.ts index 089d699912c60b64847cfd79a84a540b424c4d29..0a8cfc0092cfbb4f3c03d64966a952985ae1373e 100644 --- a/client/src/app/metamodel/store/effects/database.effects.ts +++ b/client/src/app/metamodel/store/effects/database.effects.ts @@ -9,7 +9,7 @@ import { DatabaseService } from '../services/database.service'; @Injectable() export class DatabaseEffects { - loadMovies$ = createEffect(() => + loadDatabases$ = createEffect(() => this.actions$.pipe( ofType(databaseActions.loadDatabaseList), mergeMap(() => this.databaseService.retrieveDatabaseList() diff --git a/client/src/app/metamodel/store/effects/survey.effects.ts b/client/src/app/metamodel/store/effects/survey.effects.ts new file mode 100644 index 0000000000000000000000000000000000000000..2525863f561ca1c7c9c33776500a68ac648629cb --- /dev/null +++ b/client/src/app/metamodel/store/effects/survey.effects.ts @@ -0,0 +1,28 @@ +import { Injectable } from '@angular/core'; +import { Actions, createEffect, ofType } from '@ngrx/effects'; +import { of } from 'rxjs'; +import { map, mergeMap, catchError } from 'rxjs/operators'; + +import * as surveyActions from '../actions/survey.actions'; +import { SurveyService } from '../services/survey.service'; + +@Injectable() +export class SurveyEffects { + + loadSurveys$ = createEffect(() => + this.actions$.pipe( + ofType(surveyActions.loadSurveyList), + mergeMap(() => this.surveyService.retrieveSurveyList() + .pipe( + map(surveys => surveyActions.loadSurveyListSuccess({ surveys })), + catchError(() => of(surveyActions.loadSurveyListFail())) + ) + ) + ) + ); + + constructor( + private actions$: Actions, + private surveyService: SurveyService + ) {} +} \ No newline at end of file diff --git a/client/src/app/metamodel/store/selectors/attribute.selector.ts b/client/src/app/metamodel/store/selectors/attribute.selector.ts new file mode 100644 index 0000000000000000000000000000000000000000..8dcfa5940ebf2461b316b580c9ede8fe98fde756 --- /dev/null +++ b/client/src/app/metamodel/store/selectors/attribute.selector.ts @@ -0,0 +1,29 @@ +import { createSelector } from '@ngrx/store'; + +import * as reducer from '../reducers'; +import * as fromAttribute from '../reducers/attribute.reducer'; + +export const selectAttributeState = createSelector( + reducer.getMetamodelState, + (state: reducer.State) => state.attribute +); + +export const selectAttributeIds = createSelector( + selectAttributeState, + fromAttribute.selectAttributeIds +); + +export const selectAttributeEntities = createSelector( + selectAttributeState, + fromAttribute.selectAttributeEntities +); + +export const selectAllAttributes = createSelector( + selectAttributeState, + fromAttribute.selectAllAttributes +); + +export const selectAttributeTotal = createSelector( + selectAttributeState, + fromAttribute.selectAttributeTotal +); diff --git a/client/src/app/metamodel/store/selectors/criteria-family.selector.ts b/client/src/app/metamodel/store/selectors/criteria-family.selector.ts new file mode 100644 index 0000000000000000000000000000000000000000..f577802c51dde30e16f09fe7fb4006ab3669caf8 --- /dev/null +++ b/client/src/app/metamodel/store/selectors/criteria-family.selector.ts @@ -0,0 +1,29 @@ +import { createSelector } from '@ngrx/store'; + +import * as reducer from '../reducers'; +import * as fromCriteriaFamily from '../reducers/criteria-family.reducer'; + +export const selectCriteriaFamilyState = createSelector( + reducer.getMetamodelState, + (state: reducer.State) => state.criteriaFamily +); + +export const selectCriteriaFamilyIds = createSelector( + selectCriteriaFamilyState, + fromCriteriaFamily.selectCriteriaFamilyIds +); + +export const selectCriteriaFamilyEntities = createSelector( + selectCriteriaFamilyState, + fromCriteriaFamily.selectCriteriaFamilyEntities +); + +export const selectAllCriteriaFamilys = createSelector( + selectCriteriaFamilyState, + fromCriteriaFamily.selectAllCriteriaFamilies +); + +export const selectCriteriaFamilyTotal = createSelector( + selectCriteriaFamilyState, + fromCriteriaFamily.selectCriteriaFamilyTotal +); diff --git a/client/src/app/metamodel/store/selectors/dataset-family.selector.ts b/client/src/app/metamodel/store/selectors/dataset-family.selector.ts new file mode 100644 index 0000000000000000000000000000000000000000..91df18872d53dd7f74942f8618c1f7523f83bc38 --- /dev/null +++ b/client/src/app/metamodel/store/selectors/dataset-family.selector.ts @@ -0,0 +1,29 @@ +import { createSelector } from '@ngrx/store'; + +import * as reducer from '../reducers'; +import * as fromDatasetFamily from '../reducers/dataset-family.reducer'; + +export const selectDatasetFamilyState = createSelector( + reducer.getMetamodelState, + (state: reducer.State) => state.datasetFamily +); + +export const selectDatasetFamilyIds = createSelector( + selectDatasetFamilyState, + fromDatasetFamily.selectDatasetFamilyIds +); + +export const selectDatasetFamilyEntities = createSelector( + selectDatasetFamilyState, + fromDatasetFamily.selectDatasetFamilyEntities +); + +export const selectAllDatasetFamilys = createSelector( + selectDatasetFamilyState, + fromDatasetFamily.selectAllDatasetFamilies +); + +export const selectDatasetFamilyTotal = createSelector( + selectDatasetFamilyState, + fromDatasetFamily.selectDatasetFamilyTotal +); diff --git a/client/src/app/metamodel/store/selectors/dataset.selector.ts b/client/src/app/metamodel/store/selectors/dataset.selector.ts new file mode 100644 index 0000000000000000000000000000000000000000..a28d3e6e8fb6f60d1c054dbf2314334697b1985c --- /dev/null +++ b/client/src/app/metamodel/store/selectors/dataset.selector.ts @@ -0,0 +1,29 @@ +import { createSelector } from '@ngrx/store'; + +import * as reducer from '../reducers'; +import * as fromDataset from '../reducers/dataset.reducer'; + +export const selectDatasetState = createSelector( + reducer.getMetamodelState, + (state: reducer.State) => state.dataset +); + +export const selectDatasetIds = createSelector( + selectDatasetState, + fromDataset.selectDatasetIds +); + +export const selectDatasetEntities = createSelector( + selectDatasetState, + fromDataset.selectDatasetEntities +); + +export const selectAllDatasets = createSelector( + selectDatasetState, + fromDataset.selectAllDatasets +); + +export const selectDatasetTotal = createSelector( + selectDatasetState, + fromDataset.selectDatasetTotal +); diff --git a/client/src/app/metamodel/store/selectors/group.selector.ts b/client/src/app/metamodel/store/selectors/group.selector.ts new file mode 100644 index 0000000000000000000000000000000000000000..cbe71174ce94d98737621392c94e40d124e60cbf --- /dev/null +++ b/client/src/app/metamodel/store/selectors/group.selector.ts @@ -0,0 +1,29 @@ +import { createSelector } from '@ngrx/store'; + +import * as reducer from '../reducers'; +import * as fromGroup from '../reducers/group.reducer'; + +export const selectGroupState = createSelector( + reducer.getMetamodelState, + (state: reducer.State) => state.group +); + +export const selectGroupIds = createSelector( + selectGroupState, + fromGroup.selectGroupIds +); + +export const selectGroupEntities = createSelector( + selectGroupState, + fromGroup.selectGroupEntities +); + +export const selectAllGroups = createSelector( + selectGroupState, + fromGroup.selectAllGroups +); + +export const selectGroupTotal = createSelector( + selectGroupState, + fromGroup.selectGroupTotal +); diff --git a/client/src/app/metamodel/store/selectors/instance.selector.ts b/client/src/app/metamodel/store/selectors/instance.selector.ts new file mode 100644 index 0000000000000000000000000000000000000000..d1e49f51bfa99d4c7c5fdf9a971d14e691c27aab --- /dev/null +++ b/client/src/app/metamodel/store/selectors/instance.selector.ts @@ -0,0 +1,29 @@ +import { createSelector } from '@ngrx/store'; + +import * as reducer from '../reducers'; +import * as fromInstance from '../reducers/instance.reducer'; + +export const selectInstanceState = createSelector( + reducer.getMetamodelState, + (state: reducer.State) => state.instance +); + +export const selectInstanceIds = createSelector( + selectInstanceState, + fromInstance.selectInstanceIds +); + +export const selectInstanceEntities = createSelector( + selectInstanceState, + fromInstance.selectInstanceEntities +); + +export const selectAllInstances = createSelector( + selectInstanceState, + fromInstance.selectAllInstances +); + +export const selectInstanceTotal = createSelector( + selectInstanceState, + fromInstance.selectInstanceTotal +); diff --git a/client/src/app/metamodel/store/selectors/output-category.selector.ts b/client/src/app/metamodel/store/selectors/output-category.selector.ts new file mode 100644 index 0000000000000000000000000000000000000000..b18e703e370efde59c3340c8259dc51933028fa0 --- /dev/null +++ b/client/src/app/metamodel/store/selectors/output-category.selector.ts @@ -0,0 +1,29 @@ +import { createSelector } from '@ngrx/store'; + +import * as reducer from '../reducers'; +import * as fromOutputCategory from '../reducers/output-category.reducer'; + +export const selectOutputCategoryState = createSelector( + reducer.getMetamodelState, + (state: reducer.State) => state.outputCategory +); + +export const selectOutputCategoryIds = createSelector( + selectOutputCategoryState, + fromOutputCategory.selectOutputCategoryIds +); + +export const selectOutputCategoryEntities = createSelector( + selectOutputCategoryState, + fromOutputCategory.selectOutputCategoryEntities +); + +export const selectAllOutputCategorys = createSelector( + selectOutputCategoryState, + fromOutputCategory.selectAllOutputCategories +); + +export const selectOutputCategoryTotal = createSelector( + selectOutputCategoryState, + fromOutputCategory.selectOutputCategoryTotal +); diff --git a/client/src/app/metamodel/store/selectors/output-family.selector.ts b/client/src/app/metamodel/store/selectors/output-family.selector.ts new file mode 100644 index 0000000000000000000000000000000000000000..1d8e621a1a28eb399be809ce350bdb59ebc3abc3 --- /dev/null +++ b/client/src/app/metamodel/store/selectors/output-family.selector.ts @@ -0,0 +1,29 @@ +import { createSelector } from '@ngrx/store'; + +import * as reducer from '../reducers'; +import * as fromOutputFamily from '../reducers/output-family.reducer'; + +export const selectOutputFamilyState = createSelector( + reducer.getMetamodelState, + (state: reducer.State) => state.outputFamily +); + +export const selectOutputFamilyIds = createSelector( + selectOutputFamilyState, + fromOutputFamily.selectOutputFamilyIds +); + +export const selectOutputFamilyEntities = createSelector( + selectOutputFamilyState, + fromOutputFamily.selectOutputFamilyEntities +); + +export const selectAllOutputFamilys = createSelector( + selectOutputFamilyState, + fromOutputFamily.selectAllOutputFamilies +); + +export const selectOutputFamilyTotal = createSelector( + selectOutputFamilyState, + fromOutputFamily.selectOutputFamilyTotal +); diff --git a/client/src/app/metamodel/store/selectors/survey.selector.ts b/client/src/app/metamodel/store/selectors/survey.selector.ts new file mode 100644 index 0000000000000000000000000000000000000000..1d8adabf31e690a2a01400de4b11df4741ae52f9 --- /dev/null +++ b/client/src/app/metamodel/store/selectors/survey.selector.ts @@ -0,0 +1,29 @@ +import { createSelector } from '@ngrx/store'; + +import * as reducer from '../reducers'; +import * as fromSurvey from '../reducers/survey.reducer'; + +export const selectSurveyState = createSelector( + reducer.getMetamodelState, + (state: reducer.State) => state.survey +); + +export const selectSurveyIds = createSelector( + selectSurveyState, + fromSurvey.selectSurveyIds +); + +export const selectSurveyEntities = createSelector( + selectSurveyState, + fromSurvey.selectSurveyEntities +); + +export const selectAllSurveys = createSelector( + selectSurveyState, + fromSurvey.selectAllSurveys +); + +export const selectSurveyTotal = createSelector( + selectSurveyState, + fromSurvey.selectSurveyTotal +);