summaryrefslogtreecommitdiffstats
path: root/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs-debug/source/app/components/todo-list.js
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs-debug/source/app/components/todo-list.js')
-rw-r--r--third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs-debug/source/app/components/todo-list.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs-debug/source/app/components/todo-list.js b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs-debug/source/app/components/todo-list.js
new file mode 100644
index 0000000000..d84e0e3a1f
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs-debug/source/app/components/todo-list.js
@@ -0,0 +1,27 @@
+import Ember from 'ember';
+
+export default Ember.Component.extend({
+ repo: Ember.inject.service(),
+ tagName: 'section',
+ elementId: 'main',
+ canToggle: true,
+ allCompleted: Ember.computed('todos.@each.completed', function () {
+ return this.get('todos').isEvery('completed');
+ }),
+
+ actions: {
+ enableToggle() {
+ this.set('canToggle', true);
+ },
+
+ disableToggle() {
+ this.set('canToggle', false);
+ },
+
+ toggleAll() {
+ let allCompleted = this.get('allCompleted');
+ this.get('todos').forEach(todo => Ember.set(todo, 'completed', !allCompleted));
+ this.get('repo').persist();
+ }
+ }
+});