Sha256: afe811d8ec843c9fefd67cca18e439dfb7fc2347ca8df99fa06b45cd2c44ead6

Contents?: true

Size: 1.89 KB

Versions: 2

Compression:

Stored size: 1.89 KB

Contents

Spree.addImageHandlers = ->
  thumbnails = ($ '#product-images ul.thumbnails')
  ($ '#main-image').data 'selectedThumb', ($ '#main-image img').attr('src')
  thumbnails.find('li').eq(0).addClass 'selected'
  thumbnails.find('a').on 'click', (event) ->
    ($ '#main-image').data 'selectedThumb', ($ event.currentTarget).attr('href')
    ($ '#main-image').data 'selectedThumbId', ($ event.currentTarget).parent().attr('id')
    ($ this).mouseout ->
      thumbnails.find('li').removeClass 'selected'
      ($ event.currentTarget).parent('li').addClass 'selected'
    false

  thumbnails.find('li').on 'mouseenter', (event) ->
    ($ '#main-image img').attr 'src', ($ event.currentTarget).find('a').attr('href')

  thumbnails.find('li').on 'mouseleave', (event) ->
    ($ '#main-image img').attr 'src', ($ '#main-image').data('selectedThumb')

Spree.showVariantImages = (variantId) ->
  ($ 'li.vtmb').hide()
  ($ 'li.tmb-' + variantId).show()
  currentThumb = ($ '#' + ($ '#main-image').data('selectedThumbId'))
  if not currentThumb.hasClass('vtmb-' + variantId)
    thumb = ($ ($ 'ul.thumbnails li:visible.vtmb').eq(0))
    thumb = ($ ($ 'ul.thumbnails li:visible').eq(0)) unless thumb.length > 0
    newImg = thumb.find('a').attr('href')
    ($ 'ul.thumbnails li').removeClass 'selected'
    thumb.addClass 'selected'
    ($ '#main-image img').attr 'src', newImg
    ($ '#main-image').data 'selectedThumb', newImg
    ($ '#main-image').data 'selectedThumbId', thumb.attr('id')

Spree.updateVariantPrice = (variant) ->
  variantPrice = variant.data('price')
  ($ '.price.selling').text(variantPrice) if variantPrice

$ ->
  Spree.addImageHandlers()
  Spree.showVariantImages ($ '#product-variants input[type="radio"]').eq(0).attr('value') if ($ '#product-variants input[type="radio"]').length > 0
  ($ '#product-variants input[type="radio"]').click (event) ->
    Spree.showVariantImages @value
    Spree.updateVariantPrice ($ this)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
spree_frontend-2.0.3 app/assets/javascripts/store/product.js.coffee
spree_frontend-2.0.2 app/assets/javascripts/store/product.js.coffee