Updated Branches: refs/heads/4.2 8cab35aa4 -> 3c82e7eb8
CLOUDSTACK-3153: On reorder, only update target ACL item's number Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/4cd5dfe2 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/4cd5dfe2 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/4cd5dfe2 Branch: refs/heads/4.2 Commit: 4cd5dfe2ae784e7634b2c8ec749085ead3c5385d Parents: 5304d49 Author: Brian Federle <[email protected]> Authored: Mon Jul 8 10:58:04 2013 -0700 Committer: Brian Federle <[email protected]> Committed: Mon Jul 8 11:10:11 2013 -0700 ---------------------------------------------------------------------- ui/scripts/ui/widgets/multiEdit.js | 15 ++++++++--- ui/scripts/vpc.js | 46 +++++++++++++++++---------------- 2 files changed, 36 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4cd5dfe2/ui/scripts/ui/widgets/multiEdit.js ---------------------------------------------------------------------- diff --git a/ui/scripts/ui/widgets/multiEdit.js b/ui/scripts/ui/widgets/multiEdit.js index ea177c5..37c5abf 100755 --- a/ui/scripts/ui/widgets/multiEdit.js +++ b/ui/scripts/ui/widgets/multiEdit.js @@ -832,15 +832,24 @@ $.fn.multiEdit = function(args) { handle: '.action.moveDrag', update: function(event, ui) { + var $loading = $('<div>').addClass('loading-overlay'); + + $loading.prependTo($multi); reorder.moveDrag.action({ + targetIndex: ui.item.index(), context: $.extend(true, {}, context, { // Passes all rules, so that each index can be updated - multiRule: $multi.find('.data-item').map(function(index, item) { - return $(item).data('json-obj'); - }) + multiRule: [ui.item.data('json-obj')] }), response: { success: function(args) { + $multi.trigger('refresh'); + $loading.remove(); + }, + error: function(msg) { + $multi.trigger('refresh'); + cloudStack.dialog.notice(msg); + $loading.remove(); } } }); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4cd5dfe2/ui/scripts/vpc.js ---------------------------------------------------------------------- diff --git a/ui/scripts/vpc.js b/ui/scripts/vpc.js index 9770681..c510871 100644 --- a/ui/scripts/vpc.js +++ b/ui/scripts/vpc.js @@ -30,28 +30,30 @@ reorder: { moveDrag: { action: function(args) { - $(args.context.multiRule.toArray().reverse()).map(function(index, rule) { - $.ajax({ - url: createURL('updateNetworkACLItem'), - data: { - id: rule.id, - number: index + 1 - }, - success: function(json) { - var pollTimer = setInterval(function() { - pollAsyncJobResult({ - _custom: { jobId: json.createnetworkaclresponse.jobid }, - complete: function() { - clearInterval(pollTimer); - }, - error: function(errorMsg) { - clearInterval(pollTimer); - cloudStack.dialog.notice(errorMsg); - } - }); - }, 1000); - } - }); + var rule = args.context.multiRule[0]; + var index = args.targetIndex; + + $.ajax({ + url: createURL('updateNetworkACLItem'), + data: { + id: rule.id, + number: index + 1 + }, + success: function(json) { + var pollTimer = setInterval(function() { + pollAsyncJobResult({ + _custom: { jobId: json.createnetworkaclresponse.jobid }, + complete: function() { + clearInterval(pollTimer); + args.response.success(); + }, + error: function(errorMsg) { + clearInterval(pollTimer); + args.response.error(parseXMLHttpResponse(errorMsg)); + } + }); + }, 1000); + } }); } }
