Skip to content
Snippets Groups Projects
Commit d5ceb747 authored by Isaac Evavold's avatar Isaac Evavold
Browse files

ROENROLL-1757 setup NGRX for DARS view

parent 77ebebb3
No related branches found
No related tags found
No related merge requests found
...@@ -24,11 +24,14 @@ import { FeedbackDialogComponent } from './degree-planner/dialogs/feedback-dialo ...@@ -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 { CreditOverloadDialogComponent } from './degree-planner/dialogs/credit-overload-dialog/credit-overload-dialog.component';
import { GoogleAnalyticsService } from './shared/services/google-analytics.service'; import { GoogleAnalyticsService } from './shared/services/google-analytics.service';
import { IE11WarningDialogComponent } from './degree-planner/dialogs/ie11-warning-dialog/ie11-warning-dialog.component'; 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({ @NgModule({
imports: [ imports: [
StoreModule.forRoot({ StoreModule.forRoot({
degreePlanner: degreePlannerReducer, degreePlanner: degreePlannerReducer,
dars: darsReducer,
}), }),
EffectsModule.forRoot([ EffectsModule.forRoot([
DegreePlanEffects, DegreePlanEffects,
...@@ -36,6 +39,7 @@ import { IE11WarningDialogComponent } from './degree-planner/dialogs/ie11-warnin ...@@ -36,6 +39,7 @@ import { IE11WarningDialogComponent } from './degree-planner/dialogs/ie11-warnin
CourseEffects, CourseEffects,
ErrorEffects, ErrorEffects,
UserPreferencesEffects, UserPreferencesEffects,
DARSEffects,
]), ]),
BrowserModule, BrowserModule,
BrowserAnimationsModule, BrowserAnimationsModule,
......
import { DARSState } from '@app/dars/store/state';
import { DegreePlannerState } from '@app/degree-planner/store/state'; import { DegreePlannerState } from '@app/degree-planner/store/state';
export interface GlobalState { export interface GlobalState {
dars: DARSState;
degreePlanner: DegreePlannerState; degreePlanner: DegreePlannerState;
} }
import { Action } from '@ngrx/store';
export enum DARSActionTypes {
// TODO
}
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) {}
}
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;
}
}
import { GlobalState } from '@app/core/state';
export const getDARSState = ({ dars }: GlobalState) => {
return dars;
};
export interface DARSState {
// TODO
}
export const INITIAL_DARS_STATE: DARSState = {
// TODO
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment