Sha256: 05371951d6b8aec10dd39d1bfcb049c5c4dd11f03286bb2ccb78e0cb91b4f46f

Contents?: true

Size: 1.09 KB

Versions: 5

Compression:

Stored size: 1.09 KB

Contents

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

class Tao.Form.MomentPicker.Element extends Tao.Form.MomentPicker.ElementBase

  _bind: ->
    super

    @on 'tao:show', '.tao-moment-picker-segment-list', (e) =>
      @_positionList()

  _activeChanged: ->
    @_unbindDocumentMousedown()
    if @active
      @segmentList.setMoment(@moment)
      @_bindDocumentMousedown()

    @result.active = @active
    @segmentList.active = @active

  _unbindDocumentMousedown: ->
    $(document).off "mousedown.tao-moment-picker-#{@taoId}"

  _bindDocumentMousedown: ->
    $(document).on "mousedown.tao-moment-picker-#{@taoId}", (e) =>
      return if $.contains(@, e.target) && !(@multiple && @result == e.target)
      @active = false
      @_unbindDocumentMousedown()

  _positionList: ->
    rect = @getBoundingClientRect()
    offsetToWindowTop = rect.top
    offsetToWindowBottom = $(window).height() - rect.bottom
    listHeight = @segmentList.jq.outerHeight()

    @segmentList.direction = if offsetToWindowBottom < listHeight && offsetToWindowTop > offsetToWindowBottom
      'up'
    else
      'down'

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
tao_form-0.2.3 lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee
tao_form-0.2.2 lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee
tao_form-0.2.1 lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee
tao_form-0.2.0 lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee
tao_form-0.1.10 lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee