OLD | NEW |
| (Empty) |
1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE.md file. | |
4 | |
5 import 'todo_model.dart'; | |
6 import 'generated/dart/simple_todo.dart'; | |
7 | |
8 class TodoImpl extends TodoService { | |
9 TodoModel _model = new TodoModel(); | |
10 | |
11 TodoImpl() { | |
12 _model.createItem("Default todo."); | |
13 _model.createItem("Another todo."); | |
14 } | |
15 | |
16 void createItem(BoxString title) { | |
17 _model.createItem(title.s); | |
18 } | |
19 | |
20 void toggle(int id) { | |
21 if (_model.todos.containsKey(id)) { | |
22 Item item = _model.todos[id]; | |
23 if (item.done) { | |
24 item.uncomplete(); | |
25 } else { | |
26 item.complete(); | |
27 } | |
28 } | |
29 } | |
30 | |
31 void clearItems() { | |
32 _model.clearItems(); | |
33 } | |
34 | |
35 void getItem(int index, TodoItemBuilder result) { | |
36 Iterable<Item> items = _model.todos.values; | |
37 if (index >= 0 && index < items.length) { | |
38 Item item = items.elementAt(index); | |
39 result.title = item.title; | |
40 result.done = item.done; | |
41 result.id = item.id; | |
42 } | |
43 } | |
44 | |
45 void getItemById(int id, TodoItemBuilder result) { | |
46 if (_model.todos.containsKey(id)) { | |
47 Item item = _model.todos[id]; | |
48 result.id = item.id; | |
49 result.title = item.title; | |
50 result.done = item.done; | |
51 } | |
52 } | |
53 | |
54 int getNoItems() { | |
55 return _model.todos.values.length; | |
56 } | |
57 | |
58 void deleteItem(int id) { | |
59 _model.todos.remove(id); | |
60 } | |
61 } | |
OLD | NEW |