Files
HackFlowy/javascripts/views/task.js
T
2013-03-25 00:34:30 +05:30

40 lines
747 B
JavaScript

var app = app || {};
(function() {
app.TaskView = Backbone.View.extend({
tagName: 'li',
template: $('#taskTemplate').html(),
events: {
'click .task': 'edit',
'blur .edit': 'close',
'keypress .edit': 'add'
},
render: function() {
var tmpl = _.template(this.template);
this.$el.html(tmpl(this.model.toJSON()));
this.$input = this.$('.edit');
return this;
},
edit: function() {
this.$el.addClass('editing');
this.$input.focus();
},
close: function() {
var value = this.$input.val().trim();
this.model.save({content: value});
this.$el.removeClass('editing');
},
add: function() {
this.$input.blur();
}
});
}());