Sha256: c684b1fc230d67f33c40ef036bfdf76d4a6f48fdb4bd9ec9749e7c87b866a46e
Contents?: true
Size: 1.13 KB
Versions: 4
Compression:
Stored size: 1.13 KB
Contents
namespace "SensuDashboard.Views", (exports) -> class exports.List extends SensuDashboard.Views.Base collectionEl: "tbody" itemName: "list_item" itemClass: -> exports.ListItem itemView: (model) -> kls = @itemClass() view = new kls(model: model, name: @itemName) initialize: -> @listenTo(@collection, "remove", @removeItem) @listenTo(@collection, "reset", @render) @listenTo(@collection, "add", @render) addItem: (item) -> @renderItem(item) @collection.sort() removeItem: (item, collection = @collection) -> @renderEmpty(collection) renderItem: (item) -> item_view = @itemView(item) @$el.find(@collectionEl).append(item_view.render().el) renderCollection: (collection = @collection) -> unless @renderEmpty(collection) collection.each (item) => @renderItem(item) renderEmpty: (collection = @collection) -> if collection.isEmpty() tmpl = HandlebarsTemplates["empty_list"] @$el.html(tmpl()) true else false render: -> @$el.html(@template()) @renderCollection()
Version data entries
4 entries across 4 versions & 1 rubygems