From e1e16a2301a75c6746bdb69774a6d9fb996455ca Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Fri, 14 Feb 2014 12:55:53 -0800 Subject: [PATCH] CLOUDSTACK-6120: UI > listView widget > sorting order > 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. --- ui/scripts/ui/widgets/listView.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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; + } }); } });