Files
HackFlowy/public/javascripts/views/list.js
T
2016-01-29 09:37:44 +08:00

51 lines
901 B
JavaScript

define(
['jquery',
'backbone',
'collections/list',
'views/task'
],
function(
$,
Backbone,
List,
TaskView
) {
var ListView = Backbone.View.extend({
el: $("#main .children"),
events: {
'click #add': 'addTask'
},
initialize: function() {
Tasks = this.collection = new List();
this.collection.fetch();
this.listenTo(this.collection, 'add', this.renderTask);
},
render: function() {
this.collection.each(function(task) {
this.renderTask(task);
}, this);
},
renderTask: function(task) {
var taskView = new TaskView({
model: task
});
var a = taskView.render();
if (a.model.get('parent')===null||a.model.get('parent')===0)
this.$el.append(a.el);
else
a.$el.insertAfter($('*[data-id="'+a.model.get('parent')+'"]').parents('li:first'));
}
});
return ListView;
});