Sha256: cc399099a5d3eb0bc04c70695e94c82b6b2b36d88599d5d48d46ef966672fffc

Contents?: true

Size: 1.18 KB

Versions: 9

Compression:

Stored size: 1.18 KB

Contents

$ ->
	$.b = (name) ->
		arguments[0] = '.' + name
		$.apply(null, arguments)
	
	originalEq = $.fn.eq;

	$.fn.extend
		destroyBlocks: ->
			@find($$.bem_class_selector).getBlocks().each ->
				@destroy()

		isElem: ->
			return true if @e_name
			false

		addMod: (name, value) ->
			if @isElem()
				@addClass($$.elementModClass(@b_name, @e_name, name, value))
			else
				@addClass($$.blockModClass(@b_name, name, value))
		
		hasMod: (name, value) ->
			if @isElem()
				return @hasClass($$.elementModClass(@b_name, @e_name, name, value))
			else
				return @hasClass($$.blockModClass(@b_name, name, value))

		delMod: (name, value) ->
			if @isElem()
				@removeClass($$.elementModClass(@b_name, @e_name, name, value))
			else
				@removeClass($$.blockModClass(@b_name, name, value))
				
		asBlock: (name, o) ->
			@addClass("#{name}")
			$$.getBlock(@, name, o)

		bemParams: () ->
			allParams = @data($$.bemDataKey)
			if @isElem()
				return allParams[$$.elementClass(@b_name, @e_name)]
			else
				console.log('Error, only for elements. Use initBlock for blocks.')

		eq: () ->
			collection = originalEq.apply(@, arguments)
			collection.b_name = @b_name
			collection.e_name = @e_name
			collection

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rails_blocks-0.7.11 app/assets/javascripts/jquery.bem_exts.coffee
rails_blocks-0.7.10 app/assets/javascripts/jquery.bem_exts.coffee
rails_blocks-0.7.9 app/assets/javascripts/jquery.bem_exts.coffee
rails_blocks-0.7.8 app/assets/javascripts/jquery.bem_exts.coffee
rails_blocks-0.7.7 app/assets/javascripts/jquery.bem_exts.coffee
rails_blocks-0.7.6 app/assets/javascripts/jquery.bem_exts.coffee
rails_blocks-0.7.5 app/assets/javascripts/jquery.bem_exts.coffee
rails_blocks-0.7.4 app/assets/javascripts/jquery.bem_exts.coffee
rails_blocks-0.7.3 app/assets/javascripts/jquery.bem_exts.coffee