Sha256: f62d68386897cad74a1929ec678a49da7b1cf753c95e96387758ba124bcdf1ab

Contents?: true

Size: 1.39 KB

Versions: 16

Compression:

Stored size: 1.39 KB

Contents

class @TableRowExpander

  setupForViews: (views)->
    @expandedView = null
    views.each (view)=>
      view.on 'expanding', => @onViewExpanding(view)

      view.expand = _.bind ->
          @trigger('expanding')
          @$el.addClass('expanded in-transition')
          @$expandedRow = @renderExpandedRow()
          @$expandedRow.slideDown =>
            @$el.removeClass('in-transition')
            @trigger('expanded')
        , view

      view.collapse = _.bind (speed)->
          return unless @$expandedRow

          finish = =>
            @$el.removeClass('expanded in-transition')
            @$expandedRow.closest('tr').remove()
            @$expandedRow = null

          if speed == 'fast'
            finish()
          else
            @$el.addClass('in-transition')
            @$expandedRow.slideUp(finish)
        , view

      view.$el.click (e)=>
        return if $(e.target).is('button, a, input')
        @expandOrCollapseView(view)

    $('.table-sortable').bind 'sortStart', => @collapseExpandedView('fast')

  expandOrCollapseView: (view)->
    return if view.$el.hasClass('in-transition')
    return if view.$el.hasClass('deleting')

    if view.$el.hasClass('expanded')
      view.collapse()
    else
      view.expand()

  onViewExpanding: (view)->
    @collapseExpandedView()
    @expandedView = view

  collapseExpandedView: (speed)->
    @expandedView.collapse(speed) if @expandedView

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
houston-core-0.7.0 app/assets/javascripts/houston/app/table_row_expander.coffee
houston-core-0.7.0.beta4 app/assets/javascripts/houston/app/table_row_expander.coffee
houston-core-0.7.0.beta3 app/assets/javascripts/houston/app/table_row_expander.coffee
houston-core-0.7.0.beta2 app/assets/javascripts/houston/app/table_row_expander.coffee
houston-core-0.7.0.beta app/assets/javascripts/houston/app/table_row_expander.coffee
houston-core-0.6.3 app/assets/javascripts/app/table_row_expander.coffee
houston-core-0.6.2 app/assets/javascripts/app/table_row_expander.coffee
houston-core-0.6.1 app/assets/javascripts/app/table_row_expander.coffee
houston-core-0.6.0 app/assets/javascripts/app/table_row_expander.coffee
houston-core-0.5.6 app/assets/javascripts/app/table_row_expander.coffee
houston-core-0.5.5 app/assets/javascripts/app/table_row_expander.coffee
houston-core-0.5.4 app/assets/javascripts/app/table_row_expander.coffee
houston-core-0.5.3 app/assets/javascripts/app/table_row_expander.coffee
houston-core-0.5.2 app/assets/javascripts/app/table_row_expander.coffee
houston-core-0.5.1 app/assets/javascripts/app/table_row_expander.coffee
houston-core-0.5.0 app/assets/javascripts/app/table_row_expander.coffee