GSLB UI: Fix section select for regions->GSLB, to fix broken 'view all' button


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

Branch: refs/heads/affinity_groups
Commit: 21f953ffa4139f6f522c2b8f00572c5251046aa6
Parents: 8d21b4f
Author: Brian Federle <brian.fede...@citrix.com>
Authored: Wed Apr 3 11:34:32 2013 -0700
Committer: Brian Federle <brian.fede...@citrix.com>
Committed: Wed Apr 3 11:34:32 2013 -0700

----------------------------------------------------------------------
 ui/scripts/regions.js |  397 ++++++++++++++++++++++----------------------
 1 files changed, 199 insertions(+), 198 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/21f953ff/ui/scripts/regions.js
----------------------------------------------------------------------
diff --git a/ui/scripts/regions.js b/ui/scripts/regions.js
index 7da4007..0aaece0 100644
--- a/ui/scripts/regions.js
+++ b/ui/scripts/regions.js
@@ -18,6 +18,10 @@
   cloudStack.sections.regions = {
     title: 'label.menu.regions',
     id: 'regions',
+    sectionSelect: {
+      label: 'label.select-view',
+      preFilter: function() { return ['regions']; }
+    },
     regionSelector: {
       dataProvider: function(args) {
         $.ajax({
@@ -31,215 +35,212 @@
               ]
             });
           }
-        }); 
+        });
       }
-    },         
-               sections: {      
+    },
+    sections: {
       regions: {
-                               listView: {
-                                       section: 'regions',
-                                       id: 'regions',
+        id: 'regions',
+        type: 'select',
+        title: 'label.menu.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
+          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
+
+                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];
 
-                                                               
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];
+                  /* 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));
-                                                                               
} 
-                                                                       });  
-                                                               }
-                                                       }
-                                               }
-                                       }
-                               }
-                       }
-                       
-                       
-                       /*
-                       ,                                               
-                       GSLB: {
+                      args.response.success({
+                        data: region ? region[0] : {}
+                      });
+                    },
+                    error: function(json) {
+                      args.response.error(parseXMLHttpResponse(json));
+                    }
+                  });
+                }
+              }
+            }
+          }
+        }
+      },
+      GSLB: {
+        id: '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
-                                                       });
-                                               }
-          }                                    
-                               }
-      }                
-      */
-                       
-                       
-    }                          
+            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);

Reply via email to