You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2013/04/18 01:56:51 UTC

[09/32] git commit: updated refs/heads/internallb to 0cfe96b

CLOUDSTACK-1910: cloudstack UI - Regions menu - GSLB - add "load balancer rules assigned to this GSLB" section.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/32ccb8a5
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/32ccb8a5
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/32ccb8a5

Branch: refs/heads/internallb
Commit: 32ccb8a5c9a4ca8495d27776ec234c46cc1e5e73
Parents: b910c2b
Author: Jessica Wang <je...@citrix.com>
Authored: Tue Apr 16 15:37:47 2013 -0700
Committer: Jessica Wang <je...@citrix.com>
Committed: Tue Apr 16 15:38:27 2013 -0700

----------------------------------------------------------------------
 ui/scripts/regions.js |  109 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 107 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/32ccb8a5/ui/scripts/regions.js
----------------------------------------------------------------------
diff --git a/ui/scripts/regions.js b/ui/scripts/regions.js
index 2cfb0fe..d8e0db0 100644
--- a/ui/scripts/regions.js
+++ b/ui/scripts/regions.js
@@ -382,7 +382,7 @@
 										
 					detailView: {
             name: 'GSLB details',
-            //viewAll: { path: 'storage.snapshots', label: 'label.snapshots' },
+            viewAll: { path: 'regions.lbUnderGSLB', label: 'load balancer rules' },
             actions: {              
 							remove: {
                 label: 'delete GSLB',
@@ -450,7 +450,112 @@
             }						
 					}					
         }
-      }
+      },
+			
+			//???
+			lbUnderGSLB: {
+        id: 'lbUnderGSLB',
+        type: 'select',
+        title: 'load balancer rules assigned to this GSLB',
+        listView: {
+          section: 'lbUnderGSLB',
+          id: 'lbUnderGSLB',
+          label: 'load balancer rules assigned to this GSLB',
+          fields: {
+            name: { label: 'label.name' },
+            publicport: { label: 'label.public.port' },
+						privateport: { label: 'label.private.port' },
+						algorithm: { label: 'label.algorithm' }
+          },					
+					dataProvider: function(args) {					
+						var data = {
+						  globalloadbalancerruleid: args.context.GSLB[0].id,
+						  listAll: true
+						};
+            $.ajax({
+              url: createURL('listLoadBalancerRules'),
+							data: data,
+              success: function(json) {
+                var items = json.listloadbalancerrulesresponse.loadbalancerrule;
+                args.response.success({								 
+                  data: items
+                });
+              }
+            });
+          },					
+					detailView: {
+            name: 'load balancer rule details',            
+            actions: {              
+              remove: {
+                label: 'remove load balancer rule from this GSLB',
+                messages: {
+                  notification: function() { 
+									  return 'remove load balancer rule from GSLB'; 
+									},
+                  confirm: function() { 
+									  return 'Please confirm you want to remove load balancer rule from GSLB'; 
+									}
+                },               
+                action: function(args) {								                
+                  $.ajax({
+                    url: createURL('removeFromGlobalLoadBalancerRule'),
+                    data: { 
+										  id: args.context.lbUnderGSLB[0].id 
+										},
+                    success: function(json) {                      							
+                      var jid = json.removefromloadbalancerruleresponse.jobid;
+                      args.response.success({
+											  _custom: {
+												  jobId: jid
+												}
+											});												
+                    }
+                  });
+                },		
+								notification: {
+                  poll: pollAsyncJobResult
+                }								
+              }
+            },
+            tabs: {
+              details: {
+                title: 'label.details',
+                fields: [
+                  {
+                    name: { label: 'label.name' }
+                  },
+                  {																
+										publicport: { label: 'label.public.port' },
+										privateport: { label: 'label.private.port' },
+										algorithm: { label: 'label.algorithm' },
+										publicip: { label: 'label.public.ip' },										
+										id: { label: 'label.id' },
+                    cidrlist: { label: 'label.cidr' },
+                    domain: { label: 'label.domain' },
+                    account: { label: 'label.account' },
+                    state: { label: 'label.state' }										
+                  }
+                ],
+                dataProvider: function(args) {									
+									$.ajax({
+										url: createURL('listLoadBalancerRules'),
+										data: {
+										  id: args.context.lbUnderGSLB[0].id 
+										},
+										success: function(json) {
+											var item = json.listloadbalancerrulesresponse.loadbalancerrule[0];
+											args.response.success({								 
+												data: item
+											});
+										}
+									});		
+                }
+              }
+            }
+          }
+				}
+			}
+			//???
     }
   };