Sha256: f258bb88f07480bedafe53c0a971422c38d61768fc001397a0563a4f9bb565f0

Contents?: true

Size: 1.57 KB

Versions: 54

Compression:

Stored size: 1.57 KB

Contents

class Tenon.features.tenonContent.PopOut
  constructor: ->
    $(document).on('click', 'a.tn-tc-pop-out', @popOut)
    $(document).on('click', 'a.tn-tc-pop-out-close', @close)
    $(document).on('click', '.tn-tc-wrap a[data-size]', @resize)

  popOut: (e) =>
    e.preventDefault()
    $link = $(e.currentTarget)
    $template = $(JST['tenon/templates/tenon_content/popped_out']())
    $wrap = $link.closest('.tn-tc-main-actions').next('.tn-tc-wrap')
    $wrap.find('.tn-tc-pop-out-close').data('place', $link)
    $wrap.appendTo($template.find('.tn-tc-sizer'))
    $template.appendTo('body')
    $wrap.find('a[data-size]:first').trigger('click')
    $template.removeClass('hidden')
    $wrap.trigger('tenon.content.popped')

  resize: (e) =>
    e.preventDefault()
    $link = $(e.currentTarget)
    @_setActive($link)
    $wrap = $link.closest('.tn-tc-wrap')
    $wrap.css('width', $link.data('size') + 'px')
    @_setMobile($link, $wrap)
    $wrap.trigger('tenon.content.resized')

  close: (e) =>
    e.preventDefault()
    $link = $(e.currentTarget)
    $link.closest('.tn-tc-wrap')
      .css('width', '')
      .removeClass('mobile-breakpoint')
      .insertAfter($link.data('place').closest('.tn-tc-main-actions'))
      .trigger('tenon.content.popped')
    $('.tn-tc-popped-out').remove()

  _setActive: ($link) =>
    $('a[data-size]').removeClass('btn-primary').addClass('btn-white')
    $link.removeClass('btn-white').addClass('btn-primary')

  _setMobile: ($link, $wrap) =>
    if $link.data('mobile')
      $wrap.addClass('mobile-breakpoint')
    else
      $wrap.removeClass('mobile-breakpoint')

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
tenon-1.1.8 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.1.7 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.1.6 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.1.5 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.1.4 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.1.3 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.1.2 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.1.1 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.76 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.75 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.74 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.73 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.72 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.71 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.70 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.69 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.68 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.67 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.66 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee
tenon-1.0.65 app/assets/javascripts/tenon/features/tenon_content/pop_out.js.coffee