import { Component } from '@angular/core' ; import { TodoStore , Todo } from './store' ; @ Component ( { selector : 'app-root' , templateUrl : './app.component.html' , styleUrls : [ './app.component.css' ] } ) export class AppComponent { todoStore : TodoStore ; newTodoText = '' ; constructor ( todoStore ) { this . todoStore = todoStore ; } stopEditing ( todo , editedTitle ) { todo . title = editedTitle ; todo . editing = false ; } cancelEditingTodo ( todo ) { todo . editing = false ; } updateEditingTodo ( todo , editedTitle ) { editedTitle = editedTitle . trim ( ) ; todo . editing = false ; if ( editedTitle . length === 0 ) { return this . todoStore . remove ( todo ) ; } todo . title = editedTitle ; } editTodo ( todo ) { todo . editing = true ; } removeCompleted ( ) { this . todoStore . removeCompleted ( ) ; } toggleCompletion ( todo ) { this . todoStore . toggleCompletion ( todo ) ; } remove ( todo ) { this . todoStore . remove ( todo ) ; } addTodo ( ) { if ( this . newTodoText . trim ( ) . length ) { this . todoStore . add ( this . newTodoText ) ; this . newTodoText = '' ; } } }