Sha256: f949e571a275287f9df2df56ca5191b618b9c63269732133ef5f8c4823dcca1f

Contents?: true

Size: 1.55 KB

Versions: 34

Compression:

Stored size: 1.55 KB

Contents

//= require spree/frontend/coupon_manager

Spree.ready(function ($) {
  var formUpdateCart = $('form#update-cart')
  if (formUpdateCart.length) {
    $('form#update-cart a.delete').show().one('click', function () {
      $(this).parents('.line-item').first().find('input.line_item_quantity').val(0)
      $(this).parents('form').first().submit()
      return false
    })
  }
  formUpdateCart.submit(function (event) {
    var input = {
      couponCodeField: $('#order_coupon_code'),
      couponStatus: $('#coupon_status')
    }
    var updateButton = $('form#update-cart #update-button')
    updateButton.attr('disabled', true)
    if ($.trim(input.couponCodeField.val()).length > 0) {
      // eslint-disable-next-line no-undef
      if (new CouponManager(input).applyCoupon()) {
        this.submit()
        return true
      } else {
        updateButton.attr('disabled', false)
        event.preventDefault()
        return false
      }
    }
  })
})

Spree.fetch_cart = function () {
  return $.ajax({
    url: Spree.pathFor('cart_link')
  }).done(function (data) {
    return $('#link-to-cart').html(data)
  })
}

Spree.ensureCart = function (successCallback) {
  if (SpreeAPI.orderToken) {
    successCallback()
  } else {
    fetch(Spree.routes.ensure_cart, {
      method: 'POST',
      credentials: 'same-origin'
    }).then(function (response) {
      switch (response.status) {
        case 200:
          response.json().then(function (json) {
            SpreeAPI.orderToken = json.token
            successCallback()
          })
          break
      }
    })
  }
}

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
spree_frontend-4.0.9 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-4.0.8 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-3.7.14.1 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-4.0.7.1 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-4.0.7 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-3.7.14 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-4.0.6 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-3.7.13 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-4.0.5 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-3.7.12 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-4.0.4 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-3.7.11 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-3.7.10 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-4.0.3 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-3.7.9 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-4.0.2 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-3.7.8 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-4.0.1 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-3.7.7 app/assets/javascripts/spree/frontend/cart.js
spree_frontend-4.0.0 app/assets/javascripts/spree/frontend/cart.js