diff --git a/ui/scripts/ui/widgets/listView.js b/ui/scripts/ui/widgets/listView.js index 311b81bea2b..3ef7839d9f9 100644 --- a/ui/scripts/ui/widgets/listView.js +++ b/ui/scripts/ui/widgets/listView.js @@ -1312,6 +1312,9 @@ // Click on first item will trigger detail view (if present) if (detailViewPresent && !uiCustom && !$target.closest('.empty, .loading').size()) { + var $loading = $('
').addClass('loading-overlay'); + $target.closest('div.data-table').prepend($loading); //overlay the whole listView, so users can't click another row until click-handling for this row is done (e.g. API response is back) + listViewData.detailView.$browser = args.$browser; detailViewArgs = { $panel: $target.closest('div.panel'), @@ -1347,9 +1350,14 @@ }); } - createDetailView(detailViewArgs, function($detailView) { - $detailView.data('list-view', $listView); - }, $target.closest('tr')); + createDetailView( + detailViewArgs, + function($detailView) { //complete(), callback funcion + $detailView.data('list-view', $listView); + $loading.remove(); + }, + $target.closest('tr') + ); return false; }