cloudstack 3.0 UI - infrastructure - physical network - network service providers - when clicking Netscaler/F5/SRX, get fresh data from API call instead of cache.

This commit is contained in:
Jessica Wang 2012-04-11 10:43:22 -07:00
parent 48f8647dfb
commit 5490ec9bca
1 changed files with 89 additions and 76 deletions

View File

@ -10,7 +10,13 @@
// limitations under the License.
//
// Automatically generated by addcopyright.py at 04/02/2012
(function($, cloudStack) {
(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") {
@ -7849,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);