Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 2x 10x 5x 4x 4x 10x | import { Injectable, Provider } from '@angular/core';
import { createReducer, on } from '@ngrx/store';
import { sidebarAction } from './sidebar.actions';
import { sidebarReducerConfig } from './sidebar.interface';
@Injectable({
providedIn: 'root',
})
export class AppSidebarReducer {
public createReducer() {
return createReducer(
sidebarReducerConfig.initialState,
on(sidebarAction.open, () => ({ sidebarOpen: true })),
on(sidebarAction.close, () => ({ sidebarOpen: false })),
on(sidebarAction.toggle, state => ({ sidebarOpen: !state.sidebarOpen })),
);
}
}
export const sidebarReducerProvider: Provider = {
provide: sidebarReducerConfig.token,
deps: [AppSidebarReducer],
useFactory: (reducer: AppSidebarReducer) => reducer.createReducer(),
};
|