summaryrefslogtreecommitdiffstats
path: root/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs-debug/source/app/components/todo-list.js
blob: d84e0e3a1fe297ff5d8adb141632cae94268d2a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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();
        }
    }
});