Sha256: aff7e2d00f1578e4d006fb01b5f903393f307a20f56a78a11d919782d33a7fa0

Contents?: true

Size: 1.58 KB

Versions: 8

Compression:

Stored size: 1.58 KB

Contents

function updateAddressState(region, successCallback) {
  const countryId = $('#' + region + 'country select').val()
  const stateContainer = $('#' + region + 'state').parent()
  const stateSelect = $('#' + region + 'state select')
  const stateInput = $('#' + region + 'state input.state_name')

  fetch(Spree.routes.countries_api_v2 + '/' + countryId + '?include=states', {
    headers: Spree.apiV2Authentication()
  }).then((response) => {
    switch (response.status) {
      case 200:
        response.json().then((json) => {
          const states = json.included
          const statesRequired = json.data.attributes.states_required
          if (states.length > 0) {
            stateSelect.html('')
            $.each(states, function (_pos, state) {
              const opt = $(document.createElement('option'))
                .prop('value', state.id)
                .html(state.attributes.name)
              stateSelect.append(opt).trigger('change')
            })
            stateSelect.prop('disabled', false).show()
            stateSelect.select2()
            stateInput.hide().prop('disabled', true)
            stateContainer.show()
          } else {
            stateSelect.val(null).trigger('change')
            if (stateSelect.data('select2')) {
              stateSelect.select2('destroy')
            }
            stateSelect.hide()
            if (statesRequired) {
              stateInput.prop('disabled', false).show()
            } else {
              stateContainer.hide()
            }
          }
          if (successCallback) successCallback()
        })
        break
    }
  })
}

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
spree_backend-4.3.3 app/assets/javascripts/spree/backend/address_states.es6
spree_backend-4.3.2 app/assets/javascripts/spree/backend/address_states.es6
spree_backend-4.3.1 app/assets/javascripts/spree/backend/address_states.es6
spree_backend-4.4.0.rc1 app/assets/javascripts/spree/backend/address_states.es6
spree_backend-4.3.0 app/assets/javascripts/spree/backend/address_states.es6
spree_backend-4.3.0.rc3 app/assets/javascripts/spree/backend/address_states.es6
spree_backend-4.3.0.rc2 app/assets/javascripts/spree/backend/address_states.es6
spree_backend-4.3.0.rc1 app/assets/javascripts/spree/backend/address_states.es6