Skip to content

Instantly share code, notes, and snippets.

@jhades
Last active May 16, 2018 12:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jhades/1571d2c01117c60891325e301fe5f75f to your computer and use it in GitHub Desktop.
Save jhades/1571d2c01117c60891325e301fe5f75f to your computer and use it in GitHub Desktop.
@NgModule({
declarations: [
AppComponent
],
imports: [
....
StoreModule.forRoot(reducers, { metaReducers }),
!environment.production ? StoreDevtoolsModule.instrument() : []
],
bootstrap: [AppComponent]
})
export class AppModule {
}
{
type: 'ROUTER_NAVIGATION',
payload: {
routerState: {
url: '/courses',
params: {},
queryParams: {}
},
event: {
id: 1,
url: '/courses',
urlAfterRedirects: '/courses',
state: {
url: '/courses',
params: {},
queryParams: {}
}
}
}
}
@NgModule({
declarations: [
AppComponent
],
imports: [
...
StoreModule.forRoot(reducers, { metaReducers }),
!environment.production ? StoreDevtoolsModule.instrument() : [],
StoreRouterConnectingModule.forRoot({stateKey:'router'})
],
bootstrap: [AppComponent]
})
export class AppModule {
}
import {routerReducer} from '@ngrx/router-store';
export interface AppState {
}
export const reducers: ActionReducerMap<AppState> = {
router: routerReducer
};
...
import {storeFreeze} from 'ngrx-store-freeze';
import {routerReducer} from '@ngrx/router-store';
export interface AppState {
}
export const reducers: ActionReducerMap<AppState> = {
router: routerReducer
};
export const metaReducers: MetaReducer<AppState>[] =
!environment.production ? [storeFreeze] : [];
export function authReducer(state = initialAuthState,
action: AuthActions): AuthState {
switch (action.type) {
case AuthActionTypes.LoginAction:
state.loggedIn = true;
state.user = action.payload.user;
return state;
...
default:
return state;
}
}
export function authReducer(state = initialAuthState,
action: AuthActions): AuthState {
switch (action.type) {
case AuthActionTypes.LoginAction:
return {
loggedIn: true,
user: action.payload.user
};
....
default:
return state;
}
}
export enum CourseActionTypes {
CourseRequested = '[View Course Page] Course Requested',
CourseLoaded = '[Courses API] Course Loaded',
AllCoursesRequested = '[Courses Home Page] All Courses Requested',
AllCoursesLoaded = '[Courses API] All Courses Loaded',
CourseSaved = '[Edit Course Dialog] Course Saved'
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment