From 40f198c24a3516a58248c349f94fb0fe184d94b5 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Wed, 11 Apr 2012 10:50:09 -0700 Subject: [PATCH] cloudstack 3.0 UI - infrastructure - physical network - network service providers - when clicking Netscaler/F5/SRX, get fresh data from API call instead of cache. --- ui/scripts/system.js | 200 ++++++++++++++++++++++++------------------- 1 file changed, 110 insertions(+), 90 deletions(-) diff --git a/ui/scripts/system.js b/ui/scripts/system.js index c09f7d0a6ef..c8b1164e594 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -9,8 +9,14 @@ // See the License for the specific language governing permissions and // limitations under the License. // -// Automatically generated by addcopyright.py at 04/03/2012 -(function($, cloudStack) { +// Automatically generated by addcopyright.py at 04/02/2012 +(function($, cloudStack) { + + var zoneObjs, podObjs, clusterObjs, domainObjs, networkOfferingObjs, physicalNetworkObjs; + var selectedClusterObj, selectedZoneObj, selectedPublicNetworkObj, selectedManagementNetworkObj, selectedPhysicalNetworkObj, selectedGuestNetworkObj; + var nspMap = {}; //from listNetworkServiceProviders API + var nspHardcodingArray = []; //for service providers listView (hardcoding, not from listNetworkServiceProviders API) + cloudStack.publicIpRangeAccount = { dialog: function(args) { return function(args) { @@ -70,13 +76,7 @@ }; } }; - - - var zoneObjs, podObjs, clusterObjs, domainObjs, networkOfferingObjs, physicalNetworkObjs; - var selectedClusterObj, selectedZoneObj, selectedPublicNetworkObj, selectedManagementNetworkObj, selectedPhysicalNetworkObj, selectedGuestNetworkObj; - var nspMap = {}; //from listNetworkServiceProviders API - var nspHardcodingArray = []; //for service providers listView (hardcoding, not from listNetworkServiceProviders API) - + var getTrafficType = function(physicalNetwork, typeID) { var trafficType = {}; @@ -299,74 +299,7 @@ } }, dataProvider: function(args) { - $.ajax({ - url: createURL("listNetworkServiceProviders&physicalnetworkid=" + selectedPhysicalNetworkObj.id), - dataType: "json", - async: false, - success: function(json) { - var items = json.listnetworkserviceprovidersresponse.networkserviceprovider; - nspMap = {}; //empty the map - for(var i = 0; i < items.length; i++) { - switch(items[i].name) { - case "VirtualRouter": - nspMap["virtualRouter"] = items[i]; - break; - case "Netscaler": - nspMap["netscaler"] = items[i]; - break; - case "F5BigIp": - nspMap["f5"] = items[i]; - break; - case "JuniperSRX": - nspMap["srx"] = items[i]; - break; - case "SecurityGroupProvider": - nspMap["securityGroups"] = items[i]; - break; - } - } - } - }); - - nspHardcodingArray = [ - { - id: 'netscaler', - name: 'NetScaler', - state: nspMap.netscaler? nspMap.netscaler.state : 'Disabled' - }, - { - id: 'virtualRouter', - name: 'Virtual Router', - state: nspMap.virtualRouter ? nspMap.virtualRouter.state : 'Disabled' - } - ]; - - if(selectedZoneObj.networktype == "Basic") { - nspHardcodingArray.push( - { - id: 'securityGroups', - name: 'Security Groups', - state: nspMap.securityGroups ? nspMap.securityGroups.state : 'Disabled' - } - ); - } - else if(selectedZoneObj.networktype == "Advanced"){ - nspHardcodingArray.push( - { - id: 'f5', - name: 'F5', - state: nspMap.f5 ? nspMap.f5.state : 'Disabled' - } - ); - nspHardcodingArray.push( - { - id: 'srx', - name: 'SRX', - state: nspMap.srx ? nspMap.srx.state : 'Disabled' - } - ); - } - + refreshNspData(); args.response.success({ data: nspHardcodingArray }) @@ -2397,6 +2330,7 @@ } ], dataProvider: function(args) { + refreshNspData("Netscaler"); var providerObj; $(nspHardcodingArray).each(function(){ if(this.id == "netscaler") { @@ -2631,6 +2565,7 @@ } ], dataProvider: function(args) { + refreshNspData("F5BigIp"); var providerObj; $(nspHardcodingArray).each(function(){ if(this.id == "f5") { @@ -2863,6 +2798,7 @@ } ], dataProvider: function(args) { + refreshNspData("JuniperSRX"); var providerObj; $(nspHardcodingArray).each(function(){ if(this.id == "srx") { @@ -3110,6 +3046,7 @@ } ], dataProvider: function(args) { + refreshNspData("SecurityGroupProvider"); var providerObj; $(nspHardcodingArray).each(function(){ if(this.id == "securityGroups") { @@ -6077,20 +6014,27 @@ networkkbsread: { label: 'label.network.read' }, networkkbswrite: { label: 'label.network.write' } }, - dataProvider: function(args) { - var jsonObj = args.context.hosts[0]; - args.response.success({ - data: { - totalCPU: jsonObj.cpunumber + " x " + cloudStack.converters.convertHz(jsonObj.cpuspeed), - cpuused: jsonObj.cpuused, - cpuallocated: (jsonObj.cpuallocated == null || jsonObj.cpuallocated == 0)? "N/A": jsonObj.cpuallocated, - memorytotal: (jsonObj.memorytotal == null || jsonObj.memorytotal == 0)? "N/A": cloudStack.converters.convertBytes(jsonObj.memorytotal * 1024), - memoryallocated: (jsonObj.memoryallocated == null || jsonObj.memoryallocated == 0)? "N/A": cloudStack.converters.convertBytes(jsonObj.memoryallocated * 1024), - memoryused: (jsonObj.memoryused == null || jsonObj.memoryused == 0)? "N/A": cloudStack.converters.convertBytes(jsonObj.memoryused * 1024), - networkkbsread: (jsonObj.networkkbsread == null || jsonObj.networkkbsread == 0)? "N/A": cloudStack.converters.convertBytes(jsonObj.networkkbsread * 1024), - networkkbswrite: (jsonObj.networkkbswrite == null || jsonObj.networkkbswrite == 0)? "N/A": cloudStack.converters.convertBytes(jsonObj.networkkbswrite * 1024) + dataProvider: function(args) { + $.ajax({ + url: createURL("listHosts&id=" + args.context.hosts[0].id), + dataType: "json", + async: true, + success: function(json) { + var jsonObj = json.listhostsresponse.host[0]; + args.response.success({ + data: { + totalCPU: jsonObj.cpunumber + " x " + cloudStack.converters.convertHz(jsonObj.cpuspeed), + cpuused: jsonObj.cpuused, + cpuallocated: (jsonObj.cpuallocated == null || jsonObj.cpuallocated == 0)? "N/A": jsonObj.cpuallocated, + memorytotal: (jsonObj.memorytotal == null || jsonObj.memorytotal == 0)? "N/A": cloudStack.converters.convertBytes(jsonObj.memorytotal * 1024), + memoryallocated: (jsonObj.memoryallocated == null || jsonObj.memoryallocated == 0)? "N/A": cloudStack.converters.convertBytes(jsonObj.memoryallocated * 1024), + memoryused: (jsonObj.memoryused == null || jsonObj.memoryused == 0)? "N/A": cloudStack.converters.convertBytes(jsonObj.memoryused * 1024), + networkkbsread: (jsonObj.networkkbsread == null || jsonObj.networkkbsread == 0)? "N/A": cloudStack.converters.convertBytes(jsonObj.networkkbsread * 1024), + networkkbswrite: (jsonObj.networkkbswrite == null || jsonObj.networkkbswrite == 0)? "N/A": cloudStack.converters.convertBytes(jsonObj.networkkbswrite * 1024) + } + }); } - }); + }); } } } @@ -7842,4 +7786,80 @@ jsonObj["redundantRouterState"] = ""; } + var refreshNspData = function(nspName) { + var array1 = []; + if(nspName != null) + array1.push("&name=" + nspName); + + $.ajax({ + url: createURL("listNetworkServiceProviders&physicalnetworkid=" + selectedPhysicalNetworkObj.id + array1.join("")), + dataType: "json", + async: false, + success: function(json) { + var items = json.listnetworkserviceprovidersresponse.networkserviceprovider; + if(items != null) { + for(var i = 0; i < items.length; i++) { + switch(items[i].name) { + case "VirtualRouter": + nspMap["virtualRouter"] = items[i]; + break; + case "Netscaler": + nspMap["netscaler"] = items[i]; + break; + case "F5BigIp": + nspMap["f5"] = items[i]; + break; + case "JuniperSRX": + nspMap["srx"] = items[i]; + break; + case "SecurityGroupProvider": + nspMap["securityGroups"] = items[i]; + break; + } + } + } + } + }); + + nspHardcodingArray = [ + { + id: 'netscaler', + name: 'NetScaler', + state: nspMap.netscaler? nspMap.netscaler.state : 'Disabled' + }, + { + id: 'virtualRouter', + name: 'Virtual Router', + state: nspMap.virtualRouter ? nspMap.virtualRouter.state : 'Disabled' + } + ]; + + if(selectedZoneObj.networktype == "Basic") { + nspHardcodingArray.push( + { + id: 'securityGroups', + name: 'Security Groups', + state: nspMap.securityGroups ? nspMap.securityGroups.state : 'Disabled' + } + ); + } + else if(selectedZoneObj.networktype == "Advanced"){ + nspHardcodingArray.push( + { + id: 'f5', + name: 'F5', + state: nspMap.f5 ? nspMap.f5.state : 'Disabled' + } + ); + nspHardcodingArray.push( + { + id: 'srx', + name: 'SRX', + state: nspMap.srx ? nspMap.srx.state : 'Disabled' + } + ); + } + } + + })($, cloudStack);