Add todoapp benchmark
This commit is contained in:
parent
479db8c2cc
commit
02e7b40c07
218 changed files with 63168 additions and 0 deletions
48
bench/implementations/ember-2.6.3/app/components/todo-item.js
Executable file
48
bench/implementations/ember-2.6.3/app/components/todo-item.js
Executable file
|
|
@ -0,0 +1,48 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
export default Ember.Component.extend({
|
||||
repo: Ember.inject.service(),
|
||||
tagName: 'li',
|
||||
editing: false,
|
||||
classNameBindings: ['todo.completed', 'editing'],
|
||||
|
||||
actions: {
|
||||
startEditing() {
|
||||
this.get('onStartEdit')();
|
||||
this.set('editing', true);
|
||||
Ember.run.scheduleOnce('afterRender', this, 'focusInput');
|
||||
},
|
||||
|
||||
doneEditing(todoTitle) {
|
||||
if (!this.get('editing')) { return; }
|
||||
if (Ember.isBlank(todoTitle)) {
|
||||
this.send('removeTodo');
|
||||
} else {
|
||||
this.set('todo.title', todoTitle.trim());
|
||||
this.set('editing', false);
|
||||
this.get('onEndEdit')();
|
||||
}
|
||||
},
|
||||
|
||||
handleKeydown(e) {
|
||||
if (e.keyCode === 13) {
|
||||
e.target.blur();
|
||||
} else if (e.keyCode === 27) {
|
||||
this.set('editing', false);
|
||||
}
|
||||
},
|
||||
|
||||
toggleCompleted(e) {
|
||||
let todo = this.get('todo');
|
||||
Ember.set(todo, 'completed', e.target.checked);
|
||||
},
|
||||
|
||||
removeTodo() {
|
||||
this.get('repo').delete(this.get('todo'));
|
||||
}
|
||||
},
|
||||
|
||||
focusInput() {
|
||||
this.element.querySelector('input.edit').focus();
|
||||
}
|
||||
});
|
||||
26
bench/implementations/ember-2.6.3/app/components/todo-list.js
Executable file
26
bench/implementations/ember-2.6.3/app/components/todo-list.js
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
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));
|
||||
}
|
||||
}
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue