You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by je...@apache.org on 2013/04/03 19:22:50 UTC

git commit: updated refs/heads/master to 8d21b4f

Updated Branches:
  refs/heads/master 7b0b2cdc8 -> 8d21b4f47


CLOUDSTACK-1910: cloudstack UI - Regions menu - add new section GSLB.


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

Branch: refs/heads/master
Commit: 8d21b4f47c9d0e03575c0a88ee3991a05c8ece5d
Parents: 7b0b2cd
Author: Jessica Wang <je...@citrix.com>
Authored: Wed Apr 3 10:21:37 2013 -0700
Committer: Jessica Wang <je...@citrix.com>
Committed: Wed Apr 3 10:22:15 2013 -0700

----------------------------------------------------------------------
 ui/scripts/regions.js |  360 +++++++++++++++++++++++++-------------------
 1 files changed, 204 insertions(+), 156 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8d21b4f4/ui/scripts/regions.js
----------------------------------------------------------------------
diff --git a/ui/scripts/regions.js b/ui/scripts/regions.js
index 8839dec..7da4007 100644
--- a/ui/scripts/regions.js
+++ b/ui/scripts/regions.js
@@ -33,165 +33,213 @@
           }
         }); 
       }
-    },
-    listView: {
-      section: 'regions',
-      fields: {
-        name: { label: 'label.name' },
-        id: { label: 'ID' },
-        endpoint: { label: 'label.endpoint' }
-      },
-      actions: {
-        add: {
-          label: 'label.add.region',
-          messages: {
-            notification: function() { return 'label.add.region'; }
-          },
-          createForm: {
-            title: 'label.add.region',
-            desc: 'message.add.region',
-            fields: {
-              id: { label: 'label.id', validation: { required: true } },
-              name: { label: 'label.name', validation: { required: true } },
-              endpoint: { label: 'label.endpoint', validation: { required: true } }             
-            }
-          },
-          action: function(args) {					  
-						var data = {							
-							id: args.data.id,
-							name: args.data.name,
-							endpoint: args.data.endpoint
-						};		
-						
-            $.ajax({
-              url: createURL('addRegion'),
-              data: data,
-              success: function(json) {							 
-                var item = json.addregionresponse.region;
-                args.response.success({data: item});               
-                $(window).trigger('cloudStack.refreshRegions');
-              },
-              error: function(json) {
-                args.response.error(parseXMLHttpResponse(json));
-              } 
-            });
-          },										
-					notification: {
-						poll: function(args) {
-							args.complete();
+    },		
+		sections: {      
+      regions: {
+				listView: {
+					section: 'regions',
+					id: 'regions',
+          label: 'label.menu.regions',
+					fields: {
+						name: { label: 'label.name' },
+						id: { label: 'ID' },
+						endpoint: { label: 'label.endpoint' }
+					},
+					actions: {
+						add: {
+							label: 'label.add.region',
+							messages: {
+								notification: function() { return 'label.add.region'; }
+							},
+							createForm: {
+								title: 'label.add.region',
+								desc: 'message.add.region',
+								fields: {
+									id: { label: 'label.id', validation: { required: true } },
+									name: { label: 'label.name', validation: { required: true } },
+									endpoint: { label: 'label.endpoint', validation: { required: true } }             
+								}
+							},
+							action: function(args) {					  
+								var data = {							
+									id: args.data.id,
+									name: args.data.name,
+									endpoint: args.data.endpoint
+								};		
+								
+								$.ajax({
+									url: createURL('addRegion'),
+									data: data,
+									success: function(json) {							 
+										var item = json.addregionresponse.region;
+										args.response.success({data: item});               
+										$(window).trigger('cloudStack.refreshRegions');
+									},
+									error: function(json) {
+										args.response.error(parseXMLHttpResponse(json));
+									} 
+								});
+							},										
+							notification: {
+								poll: function(args) {
+									args.complete();
+								}
+							}			
 						}
-					}			
-        }
-      },
-      dataProvider: function(args) {
-        $.ajax({
-          url: createURL('listRegions&listAll=true'),
-          success: function(json) {
-            var regions = json.listregionsresponse.region
+					},
+					dataProvider: function(args) {					  
+						$.ajax({
+							url: createURL('listRegions&listAll=true'),
+							success: function(json) {
+								var regions = json.listregionsresponse.region
 
-            args.response.success({
-              data: regions ? regions : []
-            });
-          },
-          error: function(json) {
-            args.response.error(parseXMLHttpResponse(json));
-          } 
-        });
-      },
-      detailView: {
-        name: 'Region details',
-        actions: {
-          edit: {
-            label: 'label.edit.region',
-            action: function(args) {
-							var data = {
-							  id: args.context.regions[0].id,
-								name: args.data.name,
-								endpoint: args.data.endpoint
-							};							
-						
-              $.ajax({
-                url: createURL('updateRegion'),
-                data: data,
-                success: function(json) {
-                  args.response.success();
-                  $(window).trigger('cloudStack.refreshRegions');
-                },
-                error: function(json) {
-                  args.response.error(parseXMLHttpResponse(json));
-                } 
-              });
-            }
-          },
-          remove: {
-            label: 'label.remove.region',
-            messages: {
-              notification: function() { return 'label.remove.region'; },
-              confirm: function() { return 'message.remove.region'; }
-            },						
-						preAction: function(args) {
-						  var region = args.context.regions[0];							
-														
-							/* e.g.
-							region.endpoint	== "http://localhost:8080/client/" 
-							document.location.href == "http://localhost:8080/client/#" 
-							*/
-							/*
-							if(document.location.href.indexOf(region.endpoint) != -1) {	
-							  cloudStack.dialog.notice({ message: _l('You can not remove the region that you are currently in.') });
-                return false;
-							}				
-              */							
-              return true;
-            },	
-            action: function(args) {
-              var region = args.context.regions[0];
+								args.response.success({
+									data: regions ? regions : []
+								});
+							},
+							error: function(json) {
+								args.response.error(parseXMLHttpResponse(json));
+							} 
+						});
+					},
+					detailView: {
+						name: 'Region details',
+						//viewAll: { path: 'regions.GSLB', label: 'GSLB' }, 
+						actions: {
+							edit: {
+								label: 'label.edit.region',
+								action: function(args) {
+									var data = {
+										id: args.context.regions[0].id,
+										name: args.data.name,
+										endpoint: args.data.endpoint
+									};							
+								
+									$.ajax({
+										url: createURL('updateRegion'),
+										data: data,
+										success: function(json) {
+											args.response.success();
+											$(window).trigger('cloudStack.refreshRegions');
+										},
+										error: function(json) {
+											args.response.error(parseXMLHttpResponse(json));
+										} 
+									});
+								}
+							},
+							remove: {
+								label: 'label.remove.region',
+								messages: {
+									notification: function() { return 'label.remove.region'; },
+									confirm: function() { return 'message.remove.region'; }
+								},						
+								preAction: function(args) {
+									var region = args.context.regions[0];							
+																
+									/* e.g.
+									region.endpoint	== "http://localhost:8080/client/" 
+									document.location.href == "http://localhost:8080/client/#" 
+									*/
+									/*
+									if(document.location.href.indexOf(region.endpoint) != -1) {	
+										cloudStack.dialog.notice({ message: _l('You can not remove the region that you are currently in.') });
+										return false;
+									}				
+									*/							
+									return true;
+								},	
+								action: function(args) {
+									var region = args.context.regions[0];
 
-              $.ajax({ 
-                url: createURL('removeRegion'),
-                data: { id: region.id },
-                success: function(json) {
-                  args.response.success();
-                  $(window).trigger('cloudStack.refreshRegions');
-                },
-                error: function(json) {
-                  args.response.error(parseXMLHttpResponse(json));
-                } 
-              });
-            }
-          }
-        },
-        tabs: {
-          details: {
-            title: 'label.details',
-            fields: [
-              {
-                id: { label: 'label.id' }
-              },
-              {
-							  name: { label: 'label.name', isEditable: true },
-                endpoint: { label: 'label.endpoint', isEditable: true }                
-              }
-            ],
-            dataProvider: function(args) {								  
-              $.ajax({
-                url: createURL('listRegions&listAll=true'),
-                data: { id: args.context.regions[0].id },
-                success: function(json) {
-                  var region = json.listregionsresponse.region
+									$.ajax({ 
+										url: createURL('removeRegion'),
+										data: { id: region.id },
+										success: function(json) {
+											args.response.success();
+											$(window).trigger('cloudStack.refreshRegions');
+										},
+										error: function(json) {
+											args.response.error(parseXMLHttpResponse(json));
+										} 
+									});
+								}
+							}
+						},
+						tabs: {
+							details: {
+								title: 'label.details',
+								fields: [
+									{
+										id: { label: 'label.id' }
+									},
+									{
+										name: { label: 'label.name', isEditable: true },
+										endpoint: { label: 'label.endpoint', isEditable: true }                
+									}
+								],
+								dataProvider: function(args) {								  
+									$.ajax({
+										url: createURL('listRegions&listAll=true'),
+										data: { id: args.context.regions[0].id },
+										success: function(json) {
+											var region = json.listregionsresponse.region
 
-                  args.response.success({
-                    data: region ? region[0] : {}
-                  });
-                },
-                error: function(json) {
-                  args.response.error(parseXMLHttpResponse(json));
-                } 
-              });  
-            }
-          }
-        }
-      }
-    }
+											args.response.success({
+												data: region ? region[0] : {}
+											});
+										},
+										error: function(json) {
+											args.response.error(parseXMLHttpResponse(json));
+										} 
+									});  
+								}
+							}
+						}
+					}
+				}
+			}
+			
+			
+			/*
+			,						
+			GSLB: {
+        type: 'select',
+        title: 'GSLB',
+        listView: {
+          id: 'GSLB',
+          label: 'GSLB',
+          fields: {
+            name: { label: 'label.name' }            
+          },					
+					dataProvider: function(args) {	   					
+            if('regions' in args.context) {						
+							var data = {
+								regionid: args.context.regions[0].id
+							};
+							$.ajax({
+								url: createURL('listGlobalLoadBalancerRules'),
+								data: data,              
+								success: function(json) {
+									debugger;
+									var items = json.listgloballoadbalancerrulesresponse.globalloadbalancerrule;
+									args.response.success({                  
+										data: items
+									});
+								}
+							});
+						}
+						else {
+						  args.response.success({                  
+								data: null
+							});
+						}
+          }					
+				}
+      }		
+      */
+			
+			
+    }				
   };
 })(cloudStack);