Sha256: da8b71dbdf9296ffdeaed669b0f61092e5f6bb2ff8b54293d2a2eebe63ceeea8
Contents?: true
Size: 1.5 KB
Versions: 2
Compression:
Stored size: 1.5 KB
Contents
class window.Block constructor: ($b, params, name) -> @$node = $b @name = name @id = $$.utils.guid() @params = params #$.extend this, decl.methods @_addEvents() if @events # if @elements # for element in @elements # @_addEvents(element) @init() if @init elem: (e_name, mod_name, mod_value, context = @$node) -> if mod_name $elem = $(".#{$$.elementModClass(@name, e_name, mod_name, mod_value)}", context) else $elem = $(".#{@_elementClass(e_name)}", context) $elem.e_name = e_name $elem.b_name = @name $elem on: () -> @$node.on.apply(@$node, arguments) _addEvents: (element)-> for event_name, handler of @events p = event_name.split(' ') if typeof handler == 'string' handler = decl.methods[handler] @$node.on p[0], p[1], handler.bind(@) _trigger: (event, data) -> @$node.trigger event, data _elementClass: (e_name) -> $$.elementClass(@name, e_name) addElem: (e_name, o, $parent) -> o ||= {} $elem = $$.makeElement($parent || @$node, @name, e_name, o) $elem.e_name = e_name $elem.b_name = @name $elem asElem: ($elem, name) -> $elem.e_name = name $elem.b_name = @name $elem addMod: (mod, value) -> @$node.addClass($$.blockModClass(@name, mod, value)) delMod: (mod, value) -> @$node.removeClass($$.blockModClass(@name, mod, value)) toggleMod: (mod, value) -> if @hasMod(mod, value) @delMod(mod, value) else @addMod(mod, value) hasMod: (mod, value) -> @$node.hasClass($$.blockModClass(@name, mod, value))
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rails_blocks-0.7.8 | app/assets/javascripts/block.coffee |
rails_blocks-0.7.7 | app/assets/javascripts/block.coffee |