Sha256: e4b09702b41e8e219a4b69695195b7ff1f688af4d0cf0b7879f9987493387458

Contents?: true

Size: 987 Bytes

Versions: 2

Compression:

Stored size: 987 Bytes

Contents

(($, window) ->

  class DropdownSelectInput
    defaults: {}

    constructor: ($el, options) ->
      @options = $.extend({}, @defaults, options)
      @$el = $el
      @$input = $el.find('input')
      @$toggle = $el.find('[data-toggle=dropdown]')

      @$el.on 'click', 'a[data-value]', (e) =>
        $a = $(e.currentTarget)

        @$input.val($a.data('value'))
               .trigger('input')
               .trigger('change')

        $a.closest('li')
          .addClass('active')
          .siblings()
          .removeClass('active')

        @$toggle.text($a.find('.drop_rich_head').text())

  $.fn.extend dropdownSelectInput: (option, args...) ->
    @each ->
      data = $(@).data('dropdown-select-input')

      if !data
        $(@).data 'dropdown-select-input', (data = new DropdownSelectInput($(@), option))
      if typeof option == 'string'
        data[option].apply(data, args)

) window.jQuery, window

$ ->
  $('[data-dropdown-select]').dropdownSelectInput()

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
simple_form-dropdown_select-0.2.1 app/assets/javascripts/simple_form/dropdown_select.js.coffee
simple_form-dropdown_select-0.2.0 app/assets/javascripts/simple_form/dropdown_select.js.coffee