summaryrefslogtreecommitdiffstats
path: root/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts')
-rw-r--r--third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts
new file mode 100644
index 0000000000..1ea0d80679
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts
@@ -0,0 +1,34 @@
+import {Component} from '@angular/core';
+import {Todo} from './todo';
+import {TodoDataService} from './todo-data.service';
+
+@Component({
+ selector: 'app-root',
+ templateUrl: './app.component.html',
+ providers: [TodoDataService]
+})
+export class AppComponent {
+
+ newTodo: Todo = new Todo();
+
+ constructor(private todoDataService: TodoDataService) {
+ }
+
+ addTodo() {
+ this.todoDataService.addTodo(this.newTodo);
+ this.newTodo = new Todo();
+ }
+
+ toggleTodoComplete(todo) {
+ this.todoDataService.toggleTodoComplete(todo);
+ }
+
+ removeTodo(todo) {
+ this.todoDataService.deleteTodoById(todo.id);
+ }
+
+ get todos() {
+ return this.todoDataService.getAllTodos();
+ }
+
+}