You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/07/08 20:01:53 UTC

[2/2] git commit: updated refs/heads/master-6-17-stable to ecd0a1c

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/ecd0a1c2
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ecd0a1c2
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ecd0a1c2

Branch: refs/heads/master-6-17-stable
Commit: ecd0a1c2425d02e8ba66f9403bf4178ef71c02ea
Parents: ef6f13b
Author: Brian Federle <br...@citrix.com>
Authored: Mon Jul 8 10:58:04 2013 -0700
Committer: Brian Federle <br...@citrix.com>
Committed: Mon Jul 8 10:59:21 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/ecd0a1c2/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/ecd0a1c2/ui/scripts/vpc.js
----------------------------------------------------------------------
diff --git a/ui/scripts/vpc.js b/ui/scripts/vpc.js
index efb1ee3..4267d6f 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);               
+            }
           });
         }
       }