Sha256: d84d4a91b54a38b674c6851bdf563b0ee11e23c91ef480307683dba66c3a2b9c
Contents?: true
Size: 850 Bytes
Versions: 34
Compression:
Stored size: 850 Bytes
Contents
Spine = @Spine or require('spine') $ = Spine.$ class Spine.List extends Spine.Controller events: 'click .item': 'click' selectFirst: false constructor: -> super @bind 'change', @change template: -> throw 'Override template' change: (item) => @current = item unless @current @children().removeClass('active') return @children().removeClass('active') $(@children().get(@items.indexOf(@current))).addClass('active') render: (items) -> @items = items if items @html @template(@items) @change @current if @selectFirst unless @children('.active').length @children(':first').click() children: (sel) -> @el.children(sel) click: (e) -> item = @items[$(e.currentTarget).index()] @trigger('change', item) true module?.exports = Spine.List
Version data entries
34 entries across 34 versions & 5 rubygems