diff --git a/public/css/module.less b/public/css/module.less index 56c4223..8d8c7c0 100644 --- a/public/css/module.less +++ b/public/css/module.less @@ -479,6 +479,19 @@ td > a > .badges { } } +.tiles.sortable:not([data-sortable-disabled="true"]) { + > div { + cursor: grab; + + &.sortable-chosen { + cursor: grabbing; + } + } + + &.progress > div { + cursor: wait; + } +} .tiles > div.parent::before { content: '&'; diff --git a/public/js/module.js b/public/js/module.js index d028b24..93417e1 100644 --- a/public/js/module.js +++ b/public/js/module.js @@ -106,11 +106,8 @@ var evt = event.originalEvent; if (evt.oldIndex !== evt.newIndex) { var $source = $(evt.from); - var actionUrl = [ - $source.data('actionUrl'), - 'action=move', - 'movenode=' + $(evt.item).data('nodeName') - ].join('&'); + $source.addClass('progress') + .data('sortable').option('disabled', true); var data = { csrfToken: $source.data('csrfToken'), @@ -120,6 +117,12 @@ to: evt.newIndex }; + var actionUrl = [ + $source.data('actionUrl'), + 'action=move', + 'movenode=' + $(evt.item).data('nodeName') + ].join('&'); + var $container = $source.closest('.container'); var req = icinga.loader.loadUrl(actionUrl, $container, data, 'POST'); req.complete(function (req, textStatus) {