diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 6fa61db6107bb1c94906b0d42ae78b124beb86ea..bdc4ca5d9785c9a88ad1243bc4144727c0e85aa7 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -24,11 +24,14 @@ import { FeedbackDialogComponent } from './degree-planner/dialogs/feedback-dialo import { CreditOverloadDialogComponent } from './degree-planner/dialogs/credit-overload-dialog/credit-overload-dialog.component'; import { GoogleAnalyticsService } from './shared/services/google-analytics.service'; import { IE11WarningDialogComponent } from './degree-planner/dialogs/ie11-warning-dialog/ie11-warning-dialog.component'; +import { darsReducer } from './dars/store/reducer'; +import { DARSEffects } from './dars/store/effects'; @NgModule({ imports: [ StoreModule.forRoot({ degreePlanner: degreePlannerReducer, + dars: darsReducer, }), EffectsModule.forRoot([ DegreePlanEffects, @@ -36,6 +39,7 @@ import { IE11WarningDialogComponent } from './degree-planner/dialogs/ie11-warnin CourseEffects, ErrorEffects, UserPreferencesEffects, + DARSEffects, ]), BrowserModule, BrowserAnimationsModule, diff --git a/src/app/core/state.ts b/src/app/core/state.ts index a4d7e03c8d375ca1f3d6ec0fff176904974eef04..ce1b679edfc4fd561c564b4ac5a766e2479faee3 100644 --- a/src/app/core/state.ts +++ b/src/app/core/state.ts @@ -1,5 +1,7 @@ +import { DARSState } from '@app/dars/store/state'; import { DegreePlannerState } from '@app/degree-planner/store/state'; export interface GlobalState { + dars: DARSState; degreePlanner: DegreePlannerState; } diff --git a/src/app/dars/store/actions.ts b/src/app/dars/store/actions.ts new file mode 100644 index 0000000000000000000000000000000000000000..5a0dcd76cf3135dcdd329a643783f59ba05bd548 --- /dev/null +++ b/src/app/dars/store/actions.ts @@ -0,0 +1,5 @@ +import { Action } from '@ngrx/store'; + +export enum DARSActionTypes { + // TODO +} diff --git a/src/app/dars/store/effects.ts b/src/app/dars/store/effects.ts new file mode 100644 index 0000000000000000000000000000000000000000..bb9059a1c17c58ed24ced9d7208dd25620370a94 --- /dev/null +++ b/src/app/dars/store/effects.ts @@ -0,0 +1,8 @@ +import { Injectable } from '@angular/core'; +import { Actions } from '@ngrx/effects'; +import { DARSActionTypes } from '@app/dars/store/actions'; + +@Injectable() +export class DARSEffects { + constructor(private actions$: Actions) {} +} diff --git a/src/app/dars/store/reducer.ts b/src/app/dars/store/reducer.ts new file mode 100644 index 0000000000000000000000000000000000000000..f727a2d569bd4af6f325881ab8b0680d6eb1603f --- /dev/null +++ b/src/app/dars/store/reducer.ts @@ -0,0 +1,12 @@ +import { DARSState, INITIAL_DARS_STATE } from '@app/dars/store/state'; +import { Action } from '@ngrx/store'; + +export function darsReducer( + state = INITIAL_DARS_STATE, + action: Action, +): DARSState { + switch (action.type) { + default: + return state; + } +} diff --git a/src/app/dars/store/selectors.ts b/src/app/dars/store/selectors.ts new file mode 100644 index 0000000000000000000000000000000000000000..c2b069860a54210dd8e652df85301b4333bca31d --- /dev/null +++ b/src/app/dars/store/selectors.ts @@ -0,0 +1,5 @@ +import { GlobalState } from '@app/core/state'; + +export const getDARSState = ({ dars }: GlobalState) => { + return dars; +}; diff --git a/src/app/dars/store/state.ts b/src/app/dars/store/state.ts new file mode 100644 index 0000000000000000000000000000000000000000..6854a1c2d54fed47be48fec77659cb17c87312af --- /dev/null +++ b/src/app/dars/store/state.ts @@ -0,0 +1,7 @@ +export interface DARSState { + // TODO +} + +export const INITIAL_DARS_STATE: DARSState = { + // TODO +};