app/assets/javascripts/binda/components/sortable.js in binda-0.1.2 vs app/assets/javascripts/binda/components/sortable.js in binda-0.1.3

- old
+ new

@@ -2,29 +2,13 @@ * SORTABLE */ var sortableOptions = { - stop: function(event, ui) - { - ui.item.css('z-index', 0) - }, + stop: function(event, ui){ ui.item.css('z-index', 0) }, placeholder: "ui-state-highlight", - update: function () - { - if ( $('.popup-warning').length > 0 ) - { - $('.sortable').addClass('sortable--disabled') - $('.popup-warning').removeClass('popup-warning--hidden') - $(this).sortable('option','disabled', true) - } - let url = $(this).data('update-url') - let data = $(this).sortable('serialize') - // If there is a pagination update accordingly - data = data.concat(`&id=${$(this).attr('id')}`) - $.post( url, data ) - } + update: updateSortable } export default function() { if ( $('.sortable').length > 0 ) @@ -90,6 +74,30 @@ } $( id ).toggleClass('sortable--disabled') $( id ).toggleClass('sortable--enabled') $( this ).children('.sortable--toggle-text').toggle() +} + +function updateSortable() +{ + if ( $('.popup-warning').length > 0 ) + { + $(this).addClass('sortable--disabled') + $('.popup-warning--message').text( $(this).data('message') ) + $('.popup-warning').removeClass('popup-warning--hidden') + $(this).sortable('option','disabled', true) + } + let url = $(this).data('update-url') + let data = $(this).sortable('serialize') + // If there is a pagination update accordingly + data = data.concat(`&id=${$(this).attr('id')}`) + $.post( url, data ).done( function(doneData) + { + $(doneData.id).sortable('option', 'disabled', false) + $('.popup-warning').addClass('popup-warning--hidden') + $(doneData.id).removeClass('sortable--disabled') + }).fail(function(failData){ + $('.popup-warning').addClass('popup-warning--hidden') + alert('Error: ' + failData.message) + }) } \ No newline at end of file