travis-web/app/helpers/label.coffee

34 lines
818 B
CoffeeScript

`import Ember from 'ember'`
LabelView = Ember.View.extend(
tagName: 'label'
attributeBindings: ['for', 'accesskey', 'form']
classNameBindings: ['class']
)
label = (params, hash, options, env) ->
view = LabelView
controller = env.data.view.get('controller')
name = hash.for
if name
labels = controller.get('_labels')
unless labels
labels = Ember.Object.create()
controller.set('_labels', labels)
# for now I support only label + input in their own context
id = labels.get(name)
unless id
id = "#{name}-#{Math.round(Math.random() * 1000000)}"
labels.set(name, id)
hash.for = id
if hash.content
view = view.extend(templateName: 'helpers/label')
env.helpers.view.helperFunction.call(this, [view], hash, options, env)
`export default label`