Sha256: 280d02ebcfcb36771057278be47409a3aea0c885b82e90953ea0e26130e1a2fb

Contents?: true

Size: 1.72 KB

Versions: 76

Compression:

Stored size: 1.72 KB

Contents

$(document).ready(function () {
  var formFields = $("[data-hook='admin_customer_return_form_fields'], [data-hook='admin_return_authorization_form_fields']")

  function checkAddItemBox () {
    $(this).closest('tr').find('input.add-item').attr('checked', 'checked')
    updateSuggestedAmount()
  }

  function updateSuggestedAmount () {
    var totalPretaxRefund = 0
    var checkedItems = formFields.find('input.add-item:checked')
    $.each(checkedItems, function (i, checkbox) {
      var returnItemRow = $(checkbox).parents('tr')
      var returnQuantity = parseInt(returnItemRow.find('.refund-quantity-input').val(), 10)
      var purchasedQuantity = parseInt(returnItemRow.find('.purchased-quantity').text(), 10)
      var amount = (returnQuantity / purchasedQuantity) * parseFloat(returnItemRow.find('.charged-amount').data('chargedAmount'))
      returnItemRow.find('.refund-amount-input').val(amount.toFixed(2))
      totalPretaxRefund += amount
    })

    var displayTotal = isNaN(totalPretaxRefund) ? '' : totalPretaxRefund.toFixed(2)
    formFields.find('span#total_pre_tax_refund').html(displayTotal)
  }

  if (formFields.length > 0) {
    updateSuggestedAmount()

    formFields.find('input#select-all').on('change', function (ev) {
      var checkBoxes = $(ev.currentTarget).parents('table:first').find('input.add-item')
      checkBoxes.prop('checked', this.checked)
      updateSuggestedAmount()
    })

    formFields.find('input.add-item').on('change', updateSuggestedAmount)
    formFields.find('.refund-amount-input').on('keyup', updateSuggestedAmount)
    formFields.find('.refund-quantity-input').on('keyup mouseup', updateSuggestedAmount)

    formFields.find('input, select').not('.add-item').on('change', checkAddItemBox)
  }
})

Version data entries

76 entries across 76 versions & 1 rubygems

Version Path
spree_backend-4.0.9 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.1.15 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.2.7 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.3.3 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.2.6 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.3.2 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.3.1 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.3.0 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.3.0.rc3 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.3.0.rc2 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.3.0.rc1 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.2.5 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.1.14 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.0.8 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.2.4 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-3.7.14.1 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.2.3.1 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.1.13.1 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.0.7.1 app/assets/javascripts/spree/backend/returns/return_item_selection.js
spree_backend-4.2.3 app/assets/javascripts/spree/backend/returns/return_item_selection.js