Skip to content

Instantly share code, notes, and snippets.

@beshur
Last active September 10, 2015 14:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beshur/ecbe984c64b7b8d17ccb to your computer and use it in GitHub Desktop.
Save beshur/ecbe984c64b7b8d17ccb to your computer and use it in GitHub Desktop.
Backbone Collection Bootstrap - Skeleton
/** General Skeletons controller */
var Skeletons = Backbone.View.extend({
model: SkeletonsModel,
el: ".b_skeletons",
events: {
},
render: function() {
var list = this.$el.find(".b_skeletons_list");
if (!this.collection.length) {
list.html(getTpl("#b_skeletons_empty"));
} else {
list.html("");
this.collection.each(function(skeleton) {
list.append(skeleton.render().el);
skeleton.view.setElement(list.find(":last"));
})
}
},
initialize: function() {
this.model = new SkeletonsModel();
this.model.parent = this;
this.model.on("change", this.render, this);
this.collection = new SkeletonsCollection();
this.collection.parent = this;
this.render();
}
});
var SkeletonsModel = Backbone.Model.extend({
defaults: {}
});
var SkeletonModel = Backbone.Model.extend({
defaults: {
},
refresh: function() {
},
initialize: function() {
this.view = new SkeletonView({model: this});
}
});
var SkeletonView = Backbone.View.extend({
template: getTpl("#skeletonView", 1),
events: {
},
viewHelpers: {
getImage: function() {
},
getDescription: function() {
},
is_connected: function() {
}
},
render: function() {
var data = _.extend(this.viewHelpers, this.model.toJSON());
this.el.innerHTML = this.template(data);
return this;
},
initialize: function() {
this.render();
this.model.on("change", this.render, this);
}
});
var SkeletonsCollection = Backbone.Collection.extend({
model: SkeletonModel,
refresh: function() {
},
initialize: function() {
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment