Sha256: c2185d47caddda1f6f454293be195d8d8b5051ba8f66f501cdb5adad2c49775a

Contents?: true

Size: 1.02 KB

Versions: 7

Compression:

Stored size: 1.02 KB

Contents

document.addEventListener('DOMContentLoaded', function() {
  var parentEl = document.getElementsByClassName('sortable')[0];
  if (parentEl) {
    var element = parentEl.querySelector('tbody')
  }

  if (element) {
    Sortable.create(element, {
      handle: '.move-handle',
      animation: 550,
      ghostClass: 'bg-light',
      dragClass: 'sortable-drag-v',
      easing: 'cubic-bezier(1, 0, 0, 1)',
      swapThreshold: 0.9,
      forceFallback: true,
      onEnd: function(evt) {
        var itemEl = evt.item
        var positions = { authenticity_token: AUTH_TOKEN }
        $.each($('tr', element), function(position, obj) {
          var reg = /spree_(\w+_?)+_(\d+)/
          var parts = reg.exec($(obj).prop('id'))
          if (parts) {
            positions['positions[' + parts[2] + ']'] = position + 1
          }
        })
        $.ajax({
          type: 'POST',
          dataType: 'json',
          url: $(itemEl).closest('table.sortable').data('sortable-link'),
          data: positions
        })
      }
    })
  }
})

Version data entries

7 entries across 7 versions & 1 rubygems

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