Sha256: ea62152d039f5a828da325ba5de0ec71e5df2c9e7581fa0c8480c62115161a1b

Contents?: true

Size: 1.39 KB

Versions: 66

Compression:

Stored size: 1.39 KB

Contents

class Tenon.features.tenonContent.ColumnSwap
  constructor: (@$container) ->
    $(document).on('click', '.column-image .swap-sides', @_swapColumns)
    $(document).on('click', '.wrapped-image .swap-sides', @_swapWrapped)

  _swapColumns: (e) =>
    e.preventDefault()
    @$row = @_getRow(e)
    @_swapDOM()
    @_savePositions()
    @_saveRowType()

  _swapWrapped: (e) =>
    e.preventDefault()
    @$row = @_getRow(e)
    @$row.find('.asset-field').toggleClass('left').toggleClass('right')
    @_saveRowType()

  _swapDOM: =>
    $pieces = @$row.find('.tn-tc-piece')
    $($pieces[0]).insertAfter($($pieces[1]))
    $pieces.toggleClass('omega')

  _saveRowType: =>
    $input = @$row.find('input[name$="[row_type]"]')
    if $input.val() == "LeftImageRightText"
      $input.val("LeftTextRightImage")
    else if $input.val() == "LeftTextRightImage"
      $input.val("LeftImageRightText")
    else if $input.val() == "LeftWrappedImageWithText"
      $input.val("RightWrappedImageWithText")
    else if $input.val() == "RightWrappedImageWithText"
      $input.val("LeftWrappedImageWithText")

  _savePositions: =>
    # Note: run the find again to get the pieces in their new order
    $.each @$row.find('.tn-tc-piece'), (i, piece) ->
      $(piece).find('input[name$="[position]"]').val(i)

  _getRow: (e) =>
    $(e.currentTarget)
      .closest('.image-controls')
      .data('image')
      .closest('.tn-tc-row')

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
tenon-1.0.67 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.66 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.65 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.64 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.63 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.62 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.61 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.60 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.59 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.57 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.56 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.55 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.54 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.53 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.52 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.51 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.50 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.49 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.48 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee
tenon-1.0.47 app/assets/javascripts/tenon/features/tenon_content/column_swap.js.coffee