redux-app-examples
Version:
Examples of redux-app with Angular and React.
31 lines (27 loc) • 991 B
text/typescript
import { sequence } from 'redux-app';
import { TodoList } from './todoList';
import { VisibilityFilterValue, VisibilityFilter } from './visibilityFilter';
import { Todo } from './todo';
export class VisibleTodoList {
public get visibleTodos(): Todo[] {
switch (this.filter.value) {
case VisibilityFilter.ShowAll:
return this.todoList.todos;
case VisibilityFilter.ShowCompleted:
return this.todoList.todos.filter(t => t.completed);
case VisibilityFilter.ShowActive:
return this.todoList.todos.filter(t => !t.completed);
default:
throw new Error('Unknown filter: ' + this.filter.value);
}
}
constructor(
private readonly todoList: TodoList,
private readonly filter: VisibilityFilterValue
) {
}
public toggleTodo(id: number): void {
this.todoList.toggleTodo(id);
}
}