IP address page - optimize code to call listVirtualMachines only once.

This commit is contained in:
Jessica Wang 2010-12-07 13:28:05 -08:00
parent 9757b294b3
commit 5c25508949

View File

@ -889,10 +889,12 @@ function ipJsonToDetailsTab() {
if(noAvailableActions == true) { if(noAvailableActions == true) {
$actionMenu.find("#action_list").append($("#no_available_actions").clone().show()); $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
} }
//populate dropdown //populate dropdown
var IpDomainid = ipObj.domainid; var IpDomainid = ipObj.domainid;
var IpAccount = ipObj.account; var IpAccount = ipObj.account;
ipPopulateVMarray(IpDomainid, IpAccount); //popoulate VM array
var $vmSelect = $("#dialog_enable_static_NAT").find("#vm_dropdown").empty(); var $vmSelect = $("#dialog_enable_static_NAT").find("#vm_dropdown").empty();
ipPopulateVMDropdown($vmSelect, IpDomainid, IpAccount); ipPopulateVMDropdown($vmSelect, IpDomainid, IpAccount);
@ -1216,20 +1218,15 @@ function refreshCreatePortForwardingRow() {
var $vmSelect = $createPortForwardingRow.find("#vm").empty(); var $vmSelect = $createPortForwardingRow.find("#vm").empty();
ipPopulateVMDropdown($vmSelect, IpDomainid, IpAccount); ipPopulateVMDropdown($vmSelect, IpDomainid, IpAccount);
} }
function ipPopulateVMDropdown($vmSelect, IpDomainid, IpAccount) { var runningVMs, stoppedVMs;
function ipPopulateVMarray(IpDomainid, IpAccount) {
$.ajax({ $.ajax({
data: createURL("command=listVirtualMachines&domainid="+IpDomainid+"&account="+IpAccount+"&state=Running"), data: createURL("command=listVirtualMachines&domainid="+IpDomainid+"&account="+IpAccount+"&state=Running"),
dataType: "json", dataType: "json",
async: false, async: false,
success: function(json) { success: function(json) {
var instances = json.listvirtualmachinesresponse.virtualmachine; runningVMs = json.listvirtualmachinesresponse.virtualmachine;
if (instances != null && instances.length > 0) {
for (var i = 0; i < instances.length; i++) {
var html = $("<option value='" + fromdb(instances[i].id) + "'>" + getVmName(instances[i].name, instances[i].displayname) + "</option>");
$vmSelect.append(html);
}
}
} }
}); });
@ -1238,15 +1235,24 @@ function ipPopulateVMDropdown($vmSelect, IpDomainid, IpAccount) {
dataType: "json", dataType: "json",
async: false, async: false,
success: function(json) { success: function(json) {
var instances = json.listvirtualmachinesresponse.virtualmachine; stoppedVMs = json.listvirtualmachinesresponse.virtualmachine;
if (instances != null && instances.length > 0) {
for (var i = 0; i < instances.length; i++) {
var html = $("<option value='" + fromdb(instances[i].id) + "'>" + getVmName(instances[i].name, instances[i].displayname) + "</option>");
$vmSelect.append(html);
}
}
} }
}); });
}
function ipPopulateVMDropdown($vmSelect, IpDomainid, IpAccount) {
if (runningVMs != null && runningVMs.length > 0) {
for (var i = 0; i < runningVMs.length; i++) {
var html = $("<option value='" + fromdb(runningVMs[i].id) + "'>" + getVmName(runningVMs[i].name, runningVMs[i].displayname) + "</option>");
$vmSelect.append(html);
}
}
if (stoppedVMs != null && stoppedVMs.length > 0) {
for (var i = 0; i < stoppedVMs.length; i++) {
var html = $("<option value='" + fromdb(stoppedVMs[i].id) + "'>" + getVmName(stoppedVMs[i].name, stoppedVMs[i].displayname) + "</option>");
$vmSelect.append(html);
}
}
} }
//***** Port Forwarding tab (end) ********************************************************************************************************** //***** Port Forwarding tab (end) **********************************************************************************************************