export class TodosPageComponent {
todos$ : Observable<any>;
activeFilter$ : Observable<any>;
addTodoSuccess$ : Observable<any>;
filters = [...];
constructor( private store : Store<any>, private todosEffects : TodosEffects ) {
this.store.dispatch(getTodos());
this.activeFilter$ = store.select("visibilityFilter").take(1);
this.todos$ = store.select("todos");
this.addTodoSuccess$ = this.todosEffects.addTodo$.filter(( {type} ) => type === ADD_TODO_SUCCESS);
}
changeFilter( filter ) {
this.store.dispatch(setVisibilityFilter(filter));
this.store.dispatch(getTodos());
}
toggle( todo ) {
this.store.dispatch(toggleTodo(todo));
}
addTodo( todo ) {
this.store.dispatch(addTodo(todo));
}
}