Sha256: a63927df93be8264862460ae9340f2788d625c89969e58520c67804b4cd5671e

Contents?: true

Size: 1.22 KB

Versions: 3

Compression:

Stored size: 1.22 KB

Contents

#= require tao/form/shared/fields/select/element/base

class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase

  _connected: ->
    @slideBox = @findComponent '.slide-box'
    super

  _bind: ->
    super

    @on 'click', '.select-result-delegate', (e) =>
      @_toggleActive()
      null

    @on 'click', '.header .link-close', (e) =>
      @active = false
      null

    @on 'click', '.header .button-ok', (e) =>
      @active = false
      null

    @on 'change', =>
      @list.refreshHeight() if @active
      @_refreshSelectedText()

  _bindListEvents: ->
    super

    @on 'selectOption', '.select-list', (e, option) =>
      if @multiple
        @list.reset()
      else
        @active = false
      null

  _resultReady: ->
    super
    @_refreshSelectedText()

  _refreshSelectedText: ->
    text = if @multiple && @selectedOption.length > 0
      @selectedOption.map (opt) ->
        opt.text
      .join ', '
    else if @selectedOption
      @selectedOption.text
    else
      ''

    @jq.find('.select-result-delegate .selected-text').text text

  _activeChanged: ->
    @slideBox.active = @active
    if @active
      @list.refreshHeight()
    else
      @list.reset()

TaoComponent.register Tao.Form.Select.Element

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tao_form-0.1.2 lib/assets/javascripts/tao/form/mobile/fields/select/element.coffee
tao_form-0.1.1 lib/assets/javascripts/tao/form/mobile/fields/select/element.coffee
tao_form-0.1.0 lib/assets/javascripts/tao/form/mobile/fields/select/element.coffee