diff --git a/htdocs/css/admin.css b/htdocs/css/admin.css index 742fe328..55923dfc 100644 --- a/htdocs/css/admin.css +++ b/htdocs/css/admin.css @@ -163,4 +163,14 @@ h1 { .device-log-messages { max-height: 500px; +} + +.overlay { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + background-color: rgba(0, 0, 0, .5); + display: none; } \ No newline at end of file diff --git a/htdocs/lib/settings/ProfileList.js b/htdocs/lib/settings/ProfileList.js index e215dbbf..60058179 100644 --- a/htdocs/lib/settings/ProfileList.js +++ b/htdocs/lib/settings/ProfileList.js @@ -18,6 +18,7 @@ $.fn.profileList = function() { $profiles.find('a').attr('draggable', 'false'); var $profileEl; var originalIndex; + var $spinner = $('.overlay-spinner'); var moveProfile = function(profileId, index) { var url = $profileList.find('.device a').attr('href'); @@ -50,6 +51,8 @@ $.fn.profileList = function() { if (!isValidDrag(event)) return; var $target = $(event.target).closest('.profile'); var index = $profileList.find('.profile').index($target); + + $spinner.addClass('d-flex'); moveProfile(event.originalEvent.dataTransfer.getData(dataType), index).done(function() { // done }).fail(function() { @@ -57,6 +60,7 @@ $.fn.profileList = function() { $profileEl.remove().insertBefore($profileList.children().eq(originalIndex)); }).always(function() { $profileEl = undefined; + $spinner.removeClass('d-flex'); }); }).on('dragend', '.profile', function(event) { if (event.originalEvent.dataTransfer.dropEffect === 'none') { diff --git a/owrx/controllers/settings/sdr.py b/owrx/controllers/settings/sdr.py index 110b2fa0..49f18478 100644 --- a/owrx/controllers/settings/sdr.py +++ b/owrx/controllers/settings/sdr.py @@ -208,6 +208,11 @@ class SdrFormControllerWithModal(SdrFormController, metaclass=ABCMeta): +
+
+ Loading... +
+
""".format( object_type=self.getModalObjectType(), confirm_url=self.getModalConfirmUrl(),