diff --git a/ui/scripts/ui/widgets/listView.js b/ui/scripts/ui/widgets/listView.js index cb4544c7af0..daf86ff797a 100644 --- a/ui/scripts/ui/widgets/listView.js +++ b/ui/scripts/ui/widgets/listView.js @@ -1180,8 +1180,17 @@ if (actionName == 'moveDrag') return false; rowActions[actionName]($tr); + var map1 = {}; $tr.closest('tbody').find('tr').each(function() { + /* + * fire only one sorting API call(updateXXXXXXX&sortKey=n&id=UUID) for items who have the same UUID. + * e.g. An Template/ISO of multiple zones have the same UUID. + */ + var objId = $(this).data('json-obj').id; + if(!(objId in map1)) { sort($(this), action); + map1[objId] = 1; + } }); $tr.closest('.data-table').dataTable('selectRow', $tr.index()); @@ -1203,7 +1212,15 @@ rowActions._std($tr, function() {}); $tr.closest('tbody').find('tr').each(function() { + /* + * fire only one sorting API call(updateXXXXXXX&sortKey=n&id=UUID) for items who have the same UUID. + * e.g. An Template/ISO of multiple zones have the same UUID. + */ + var objId = $(this).data('json-obj').id; + if(!(objId in map1)) { sort($(this), reorder.moveDrag); + map1[objId] = 1; + } }); } });