Ember.js サンプル内のビューをtodo app
サイズ変更可能に変更したいとします。
これを行う JQuery コードは次のようになります。
$("#container").resizable()
#container は div を表します。このスニペットがアプリ構造のどこに属するのかわかりません。それはapp.jsの中に入りますか?内容を以下に示しますが、上記のスニペットを挿入するのにどの方法が最も適しているかわかりません。
Todos = Ember.Application.create();
Todos.Todo = Ember.Object.extend({
title: null,
isDone: false
});
Todos.todosController = Ember.ArrayController.create({
content: [],
createTodo: function(title) {
var todo = Todos.Todo.create({ title: title });
this.pushObject(todo);
},
clearCompletedTodos: function() {
this.filterProperty('isDone', true).forEach(this.removeObject, this);
},
remaining: function() {
return this.filterProperty('isDone', false).get('length');
}.property('@each.isDone'),
isEmpty: function() {
return this.get('length') === 0;
}.property('length'),
allAreDone: function(key, value) {
if (arguments.length === 2) {
this.setEach('isDone', value);
return value;
} else {
return !this.get('isEmpty') && this.everyProperty('isDone', true);
}
}.property('@each.isDone')
});
Todos.CreateTodoView = Ember.TextField.extend({
insertNewline: function() {
var value = this.get('value');
if (value) {
Todos.todosController.createTodo(value);
this.set('value', '');
}
}
});
Todos.MainView = Ember.View.extend({
templateName: 'main_view'
});