This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/views/combobox_view.js.coffee
2013-02-05 14:16:51 -05:00

25 lines
856 B
CoffeeScript

Discourse.ComboboxView = window.Ember.View.extend
tagName: 'select'
classNames: ['combobox']
valueAttribute: 'id'
render: (buffer) ->
if @get('none')
buffer.push("<option value=\"\">#{Ember.String.i18n(@get('none'))}</option>")
selected = @get('value')?.toString()
if @get('content')
@get('content').each (o) =>
val = o[@get('valueAttribute')]?.toString()
selectedText = if val == selected then "selected" else ""
data = ""
if @dataAttributes
@dataAttributes.forEach (a) =>
data += "data-#{a}=\"#{o.get(a)}\" "
buffer.push("<option #{selectedText} value=\"#{val}\" #{data}>#{o.name}</option>")
didInsertElement: ->
$elem = @.$()
$elem.chosen(template: @template, disable_search_threshold: 5)
$elem.change (e) => @set('value', $(e.target).val())