mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
new UI - implement assign VM instance to load balancer rule.
This commit is contained in:
parent
c49eada7bd
commit
b687871463
@ -325,9 +325,7 @@
|
|||||||
<img src="images/network_managevmicon.gif" /></div>
|
<img src="images/network_managevmicon.gif" /></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_row_cell" style="width: 60%;">
|
<div class="grid_row_cell" style="width: 60%;">
|
||||||
<select class="select" style="width: 90%;">
|
<select id="vm_select" class="select" style="width: 90%;">
|
||||||
<option>Instance A </option>
|
|
||||||
<option>Instance B </option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_row_cell" style="width: 30%;">
|
<div class="grid_row_cell" style="width: 30%;">
|
||||||
@ -338,7 +336,7 @@
|
|||||||
<div class="gridrow_loader">
|
<div class="gridrow_loader">
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
Assigning instance to load balancer policy …</p>
|
Assigning instance to load balancer rule …</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="grid_content" class="ip_description_managearea">
|
<div id="grid_content" class="ip_description_managearea">
|
||||||
@ -354,10 +352,10 @@
|
|||||||
<div class="row_celltitles">
|
<div class="row_celltitles">
|
||||||
<img src="images/network_managevmicon.gif" /></div>
|
<img src="images/network_managevmicon.gif" /></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_row_cell" style="width: 50%;">
|
<div class="grid_row_cell" style="width: 30%;">
|
||||||
<div class="row_celltitles" id="vm_name"></div>
|
<div class="row_celltitles" id="vm_name"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_row_cell" style="width: 10%;">
|
<div class="grid_row_cell" style="width: 30%;">
|
||||||
<div class="row_celltitles" id="vm_private_ip"></div>
|
<div class="row_celltitles" id="vm_private_ip"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_row_cell" style="width: 30%;">
|
<div class="grid_row_cell" style="width: 30%;">
|
||||||
|
|||||||
@ -75,7 +75,7 @@ $(document).ready(function() {
|
|||||||
listMidMenuItems("leftmenu_account", "listAccounts", "listaccountsresponse", "account", "jsp/account.jsp", afterLoadAccountJSP, accountToMidmenu, accountToRigntPanel);
|
listMidMenuItems("leftmenu_account", "listAccounts", "listaccountsresponse", "account", "jsp/account.jsp", afterLoadAccountJSP, accountToMidmenu, accountToRigntPanel);
|
||||||
listMidMenuItems("leftmenu_volume", "listVolumes", "listvolumesresponse", "volume", "jsp/volume.jsp", afterLoadVolumeJSP, volumeToMidmenu, volumeToRigntPanel);
|
listMidMenuItems("leftmenu_volume", "listVolumes", "listvolumesresponse", "volume", "jsp/volume.jsp", afterLoadVolumeJSP, volumeToMidmenu, volumeToRigntPanel);
|
||||||
listMidMenuItems("leftmenu_snapshot", "listSnapshots", "listsnapshotsresponse", "snapshot", "jsp/snapshot.jsp", afterLoadSnapshotJSP, snapshotToMidmenu, snapshotToRigntPanel);
|
listMidMenuItems("leftmenu_snapshot", "listSnapshots", "listsnapshotsresponse", "snapshot", "jsp/snapshot.jsp", afterLoadSnapshotJSP, snapshotToMidmenu, snapshotToRigntPanel);
|
||||||
listMidMenuItems("leftmenu_ip", "listPublicIpAddresses", "listpublicipaddressesresponse", "publicipaddress", "jsp/ip_address.jsp", afterLoadIpJSP, ipToMidmenu, ipToRigntPanel, ipGetMidmenuId);
|
listMidMenuItems("leftmenu_ip", "listPublicIpAddresses", "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRigntPanel, ipGetMidmenuId);
|
||||||
listMidMenuItems("leftmenu_router", "listRouters", "listroutersresponse", "router", "jsp/router.jsp", afterLoadRouterJSP, routerToMidmenu, routerToRigntPanel);
|
listMidMenuItems("leftmenu_router", "listRouters", "listroutersresponse", "router", "jsp/router.jsp", afterLoadRouterJSP, routerToMidmenu, routerToRigntPanel);
|
||||||
|
|
||||||
listMidMenuItems("leftmenu_submenu_my_template", "listTemplates&templatefilter=self", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRigntPanel, templateGetMidmenuId);
|
listMidMenuItems("leftmenu_submenu_my_template", "listTemplates&templatefilter=self", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRigntPanel, templateGetMidmenuId);
|
||||||
|
|||||||
@ -89,7 +89,7 @@ function afterLoadIpJSP() {
|
|||||||
$("#tab_content_load_balancer #grid_content").append($template.show());
|
$("#tab_content_load_balancer #grid_content").append($template.show());
|
||||||
|
|
||||||
var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
|
var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
|
||||||
$spinningWheel.find("#description").text("Adding....");
|
$spinningWheel.find("#description").text("Adding load balancer rule....");
|
||||||
$spinningWheel.show();
|
$spinningWheel.show();
|
||||||
|
|
||||||
var ipObj = $("#right_panel_content #tab_content_details").data("jsonObj");
|
var ipObj = $("#right_panel_content #tab_content_details").data("jsonObj");
|
||||||
@ -220,20 +220,20 @@ function listPortForwardingRules(ipObj) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//var portForwardingIndex = 0;
|
//var portForwardingIndex = 0;
|
||||||
function portForwardingJsonToTemplate(jsonObj, template) {
|
function portForwardingJsonToTemplate(jsonObj, $template) {
|
||||||
//(portForwardingIndex++ % 2 == 0)? template.find("#row_container").addClass("smallrow_even"): template.find("#row_container").addClass("smallrow_odd");
|
//(portForwardingIndex++ % 2 == 0)? $template.find("#row_container").addClass("smallrow_even"): $template.find("#row_container").addClass("smallrow_odd");
|
||||||
template.attr("id", "portForwarding_" + jsonObj.id).data("portForwardingId", jsonObj.id);
|
$template.attr("id", "portForwarding_" + jsonObj.id).data("portForwardingId", jsonObj.id);
|
||||||
|
|
||||||
template.find("#row_container #public_port").text(jsonObj.publicport);
|
$template.find("#row_container #public_port").text(jsonObj.publicport);
|
||||||
template.find("#row_container_edit #public_port").text(jsonObj.publicport);
|
$template.find("#row_container_edit #public_port").text(jsonObj.publicport);
|
||||||
|
|
||||||
template.find("#row_container #private_port").text(jsonObj.privateport);
|
$template.find("#row_container #private_port").text(jsonObj.privateport);
|
||||||
template.find("#row_container_edit #private_port").val(jsonObj.privateport);
|
$template.find("#row_container_edit #private_port").val(jsonObj.privateport);
|
||||||
|
|
||||||
template.find("#row_container #protocol").text(jsonObj.protocol);
|
$template.find("#row_container #protocol").text(jsonObj.protocol);
|
||||||
template.find("#row_container_edit #protocol").text(jsonObj.protocol);
|
$template.find("#row_container_edit #protocol").text(jsonObj.protocol);
|
||||||
|
|
||||||
template.find("#row_container #vm_name").text(jsonObj.vmname);
|
$template.find("#row_container #vm_name").text(jsonObj.vmname);
|
||||||
var virtualMachineId = jsonObj.virtualmachineid;
|
var virtualMachineId = jsonObj.virtualmachineid;
|
||||||
|
|
||||||
var $detailsTab = $("#right_panel_content #tab_content_details");
|
var $detailsTab = $("#right_panel_content #tab_content_details");
|
||||||
@ -247,7 +247,7 @@ function portForwardingJsonToTemplate(jsonObj, template) {
|
|||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var instances = json.listvirtualmachinesresponse.virtualmachine;
|
var instances = json.listvirtualmachinesresponse.virtualmachine;
|
||||||
var vmSelect = template.find("#row_container_edit #vm").empty();
|
var vmSelect = $template.find("#row_container_edit #vm").empty();
|
||||||
if (instances != null && instances.length > 0) {
|
if (instances != null && instances.length > 0) {
|
||||||
for (var i = 0; i < instances.length; i++) {
|
for (var i = 0; i < instances.length; i++) {
|
||||||
var html = $("<option value='" + instances[i].id + "'>" + getVmName(instances[i].name, instances[i].displayname) + "</option>");
|
var html = $("<option value='" + instances[i].id + "'>" + getVmName(instances[i].name, instances[i].displayname) + "</option>");
|
||||||
@ -258,10 +258,10 @@ function portForwardingJsonToTemplate(jsonObj, template) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var $rowContainer = template.find("#row_container");
|
var $rowContainer = $template.find("#row_container");
|
||||||
var $rowContainerEdit = template.find("#row_container_edit");
|
var $rowContainerEdit = $template.find("#row_container_edit");
|
||||||
|
|
||||||
template.find("#delete_link").unbind("click").bind("click", function(event){
|
$template.find("#delete_link").unbind("click").bind("click", function(event){
|
||||||
var $spinningWheel = $rowContainer.find("#spinning_wheel");
|
var $spinningWheel = $rowContainer.find("#spinning_wheel");
|
||||||
$spinningWheel.find("#description").text("Deleting....");
|
$spinningWheel.find("#description").text("Deleting....");
|
||||||
$spinningWheel.show();
|
$spinningWheel.show();
|
||||||
@ -269,7 +269,7 @@ function portForwardingJsonToTemplate(jsonObj, template) {
|
|||||||
data: createURL("command=deletePortForwardingRule&id="+jsonObj.id),
|
data: createURL("command=deletePortForwardingRule&id="+jsonObj.id),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
template.slideUp("slow", function(){
|
$template.slideUp("slow", function(){
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -281,17 +281,17 @@ function portForwardingJsonToTemplate(jsonObj, template) {
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
template.find("#edit_link").unbind("click").bind("click", function(event){
|
$template.find("#edit_link").unbind("click").bind("click", function(event){
|
||||||
$rowContainer.hide();
|
$rowContainer.hide();
|
||||||
$rowContainerEdit.show();
|
$rowContainerEdit.show();
|
||||||
});
|
});
|
||||||
|
|
||||||
template.find("#cancel_link").unbind("click").bind("click", function(event){
|
$template.find("#cancel_link").unbind("click").bind("click", function(event){
|
||||||
$rowContainer.show();
|
$rowContainer.show();
|
||||||
$rowContainerEdit.hide();
|
$rowContainerEdit.hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
template.find("#save_link").unbind("click").bind("click", function(event){
|
$template.find("#save_link").unbind("click").bind("click", function(event){
|
||||||
// validate values
|
// validate values
|
||||||
var isValid = true;
|
var isValid = true;
|
||||||
isValid &= validateNumber("Private Port", $rowContainerEdit.find("#private_port"), $rowContainerEdit.find("#private_port_errormsg"), 1, 65535);
|
isValid &= validateNumber("Private Port", $rowContainerEdit.find("#private_port"), $rowContainerEdit.find("#private_port_errormsg"), 1, 65535);
|
||||||
@ -332,7 +332,7 @@ function portForwardingJsonToTemplate(jsonObj, template) {
|
|||||||
$("body").stopTime(timerKey);
|
$("body").stopTime(timerKey);
|
||||||
if (result.jobstatus == 1) { // Succeeded
|
if (result.jobstatus == 1) { // Succeeded
|
||||||
var items = result.portforwardingrule;
|
var items = result.portforwardingrule;
|
||||||
portForwardingJsonToTemplate(items[0],template);
|
portForwardingJsonToTemplate(items[0],$template);
|
||||||
$spinningWheel.hide();
|
$spinningWheel.hide();
|
||||||
$rowContainerEdit.hide();
|
$rowContainerEdit.hide();
|
||||||
$rowContainer.show();
|
$rowContainer.show();
|
||||||
@ -402,38 +402,38 @@ function listLoadBalancerRules(ipObj) {
|
|||||||
loadBalancerGrid.empty();
|
loadBalancerGrid.empty();
|
||||||
if (items != null && items.length > 0) {
|
if (items != null && items.length > 0) {
|
||||||
for (var i = 0; i < items.length; i++) {
|
for (var i = 0; i < items.length; i++) {
|
||||||
var template = $("#load_balancer_template").clone(true);
|
var $template = $("#load_balancer_template").clone(true);
|
||||||
loadBalancerJsonToTemplate(items[i], template);
|
loadBalancerJsonToTemplate(items[i], $template);
|
||||||
loadBalancerGrid.append(template.show());
|
loadBalancerGrid.append($template.show());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadBalancerJsonToTemplate(jsonObj, template) {
|
function loadBalancerJsonToTemplate(jsonObj, $template) {
|
||||||
//(loadBalancerIndex++ % 2 == 0)? template.find("#row_container").addClass("smallrow_even"): template.find("#row_container").addClass("smallrow_odd");
|
//(loadBalancerIndex++ % 2 == 0)? $template.find("#row_container").addClass("smallrow_even"): $template.find("#row_container").addClass("smallrow_odd");
|
||||||
|
|
||||||
var loadBalancerId = jsonObj.id;
|
var loadBalancerId = jsonObj.id;
|
||||||
template.attr("id", "loadBalancer_" + loadBalancerId).data("loadBalancerId", loadBalancerId);
|
$template.attr("id", "loadBalancer_" + loadBalancerId).data("loadBalancerId", loadBalancerId);
|
||||||
|
|
||||||
template.find("#row_container #name").text(jsonObj.name);
|
$template.find("#row_container #name").text(jsonObj.name);
|
||||||
template.find("#row_container_edit #name").val(jsonObj.name);
|
$template.find("#row_container_edit #name").val(jsonObj.name);
|
||||||
|
|
||||||
template.find("#row_container #public_port").text(jsonObj.publicport);
|
$template.find("#row_container #public_port").text(jsonObj.publicport);
|
||||||
template.find("#row_container_edit #public_port").text(jsonObj.publicport);
|
$template.find("#row_container_edit #public_port").text(jsonObj.publicport);
|
||||||
|
|
||||||
template.find("#row_container #private_port").text(jsonObj.privateport);
|
$template.find("#row_container #private_port").text(jsonObj.privateport);
|
||||||
template.find("#row_container_edit #private_port").val(jsonObj.privateport);
|
$template.find("#row_container_edit #private_port").val(jsonObj.privateport);
|
||||||
|
|
||||||
template.find("#row_container #algorithm").text(jsonObj.algorithm);
|
$template.find("#row_container #algorithm").text(jsonObj.algorithm);
|
||||||
template.find("#row_container_edit #algorithm").val(jsonObj.algorithm);
|
$template.find("#row_container_edit #algorithm").val(jsonObj.algorithm);
|
||||||
|
|
||||||
template.find("#manage_link").unbind("click").bind("click", function(event){
|
$template.find("#manage_link").unbind("click").bind("click", function(event){
|
||||||
var managementArea = template.find("#management_area");
|
var $managementArea = $template.find("#management_area");
|
||||||
var vmSubgrid = managementArea.find("#grid_content");
|
var $vmSubgrid = $managementArea.find("#grid_content");
|
||||||
if(managementArea.css("display") == "none") {
|
if($managementArea.css("display") == "none") {
|
||||||
vmSubgrid.empty();
|
$vmSubgrid.empty();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
cache: false,
|
cache: false,
|
||||||
data: createURL("command=listLoadBalancerRuleInstances&id="+loadBalancerId),
|
data: createURL("command=listLoadBalancerRuleInstances&id="+loadBalancerId),
|
||||||
@ -442,28 +442,28 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
var instances = json.listloadbalancerruleinstancesresponse.loadbalancerruleinstance;
|
var instances = json.listloadbalancerruleinstancesresponse.loadbalancerruleinstance;
|
||||||
if (instances != null && instances.length > 0) {
|
if (instances != null && instances.length > 0) {
|
||||||
for (var i = 0; i < instances.length; i++) {
|
for (var i = 0; i < instances.length; i++) {
|
||||||
var lbVmTemplate = $("#load_balancer_vm_template").clone();
|
var $lbVmTemplate = $("#load_balancer_vm_template").clone();
|
||||||
var obj = {"loadBalancerId": loadBalancerId, "vmId": instances[i].id, "vmName": getVmName(instances[i].name, instances[i].displayname), "vmPrivateIp": instances[i].privateip};
|
var obj = {"loadBalancerId": loadBalancerId, "vmId": instances[i].id, "vmName": getVmName(instances[i].name, instances[i].displayname), "vmPrivateIp": instances[i].privateip};
|
||||||
lbVmObjToTemplate(obj, lbVmTemplate);
|
lbVmObjToTemplate(obj, $lbVmTemplate);
|
||||||
vmSubgrid.append(lbVmTemplate.show());
|
$vmSubgrid.append($lbVmTemplate.show());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
managementArea.show();
|
$managementArea.show();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
managementArea.hide();
|
$managementArea.hide();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
//???
|
//???
|
||||||
var loadingContainer = template.find("#loading_container");
|
var loadingContainer = $template.find("#loading_container");
|
||||||
var rowContainer = template.find("#row_container");
|
var rowContainer = $template.find("#row_container");
|
||||||
var rowContainerEdit = template.find("#row_container_edit");
|
var rowContainerEdit = $template.find("#row_container_edit");
|
||||||
|
|
||||||
template.find("#delete_link").unbind("click").bind("click", function(event){
|
$template.find("#delete_link").unbind("click").bind("click", function(event){
|
||||||
loadingContainer.find(".adding_text").text("Deleting....");
|
loadingContainer.find(".adding_text").text("Deleting....");
|
||||||
loadingContainer.show();
|
loadingContainer.show();
|
||||||
rowContainer.hide();
|
rowContainer.hide();
|
||||||
@ -487,7 +487,7 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
} else {
|
} else {
|
||||||
$("body").stopTime(timerKey);
|
$("body").stopTime(timerKey);
|
||||||
if (result.jobstatus == 1) { // Succeeded
|
if (result.jobstatus == 1) { // Succeeded
|
||||||
template.slideUp("slow", function() {
|
$template.slideUp("slow", function() {
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
});
|
});
|
||||||
} else if (result.jobstatus == 2) { // Failed
|
} else if (result.jobstatus == 2) { // Failed
|
||||||
@ -511,24 +511,24 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
template.find("#edit_link").unbind("click").bind("click", function(event){
|
$template.find("#edit_link").unbind("click").bind("click", function(event){
|
||||||
rowContainer.hide();
|
rowContainer.hide();
|
||||||
rowContainerEdit.show();
|
rowContainerEdit.show();
|
||||||
});
|
});
|
||||||
|
|
||||||
template.find("#cancel_link").unbind("click").bind("click", function(event){
|
$template.find("#cancel_link").unbind("click").bind("click", function(event){
|
||||||
rowContainer.show();
|
rowContainer.show();
|
||||||
rowContainerEdit.hide();
|
rowContainerEdit.hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
template.find("#save_link").unbind("click").bind("click", function(event){
|
$template.find("#save_link").unbind("click").bind("click", function(event){
|
||||||
// validate values
|
// validate values
|
||||||
var isValid = true;
|
var isValid = true;
|
||||||
isValid &= validateString("Name", rowContainerEdit.find("#name"), rowContainerEdit.find("#name_errormsg"));
|
isValid &= validateString("Name", rowContainerEdit.find("#name"), rowContainerEdit.find("#name_errormsg"));
|
||||||
isValid &= validateNumber("Private Port", rowContainerEdit.find("#private_port"), rowContainerEdit.find("#private_port_errormsg"), 1, 65535);
|
isValid &= validateNumber("Private Port", rowContainerEdit.find("#private_port"), rowContainerEdit.find("#private_port_errormsg"), 1, 65535);
|
||||||
if (!isValid) return;
|
if (!isValid) return;
|
||||||
|
|
||||||
var loadingContainer = template.find(".adding_loading");
|
var loadingContainer = $template.find(".adding_loading");
|
||||||
loadingContainer.find(".adding_text").text("Saving....");
|
loadingContainer.find(".adding_text").text("Saving....");
|
||||||
loadingContainer.show();
|
loadingContainer.show();
|
||||||
rowContainerEdit.hide();
|
rowContainerEdit.hide();
|
||||||
@ -562,7 +562,7 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
$("body").stopTime(timerKey);
|
$("body").stopTime(timerKey);
|
||||||
if (result.jobstatus == 1) { // Succeeded
|
if (result.jobstatus == 1) { // Succeeded
|
||||||
var items = result.loadbalancer;
|
var items = result.loadbalancer;
|
||||||
loadBalancerJsonToTemplate(items[0],template);
|
loadBalancerJsonToTemplate(items[0],$template);
|
||||||
loadingContainer.hide();
|
loadingContainer.hide();
|
||||||
rowContainer.show();
|
rowContainer.show();
|
||||||
} else if (result.jobstatus == 2) { //Fail
|
} else if (result.jobstatus == 2) { //Fail
|
||||||
@ -589,57 +589,56 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
refreshLbVmSelect(template, jsonObj.id);
|
refreshLbVmSelect($template, jsonObj.id);
|
||||||
|
|
||||||
template.find("#add_vm_to_lb_row #add_link").unbind("click").bind("click", function(event){
|
$template.find("#add_vm_to_lb_row #assign_link").unbind("click").bind("click", function(event){
|
||||||
var vmOption = template.find("#add_vm_to_lb_row #vm_select option:selected");
|
var vmOption = $template.find("#add_vm_to_lb_row #vm_select option:selected");
|
||||||
var vmId = vmOption.val();
|
var vmId = vmOption.val();
|
||||||
var vmName = vmOption.data("vmName");
|
var vmName = vmOption.data("vmName");
|
||||||
var vmPrivateIp = vmOption.data("vmPrivateIp");
|
var vmPrivateIp = vmOption.data("vmPrivateIp");
|
||||||
if(vmId == null || vmId.length == 0)
|
if(vmId == null || vmId.length == 0)
|
||||||
return;
|
return;
|
||||||
var loading = template.find("#adding_loading").show();
|
|
||||||
var rowContainer = template.find("#adding_row_container").hide();
|
var $spinningWheel = $template.find("#add_vm_to_lb_row #spinning_wheel");
|
||||||
|
$spinningWheel.show();
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
data: createURL("command=assignToLoadBalancerRule&id="+loadBalancerId+"&virtualmachineid="+vmId),
|
data: createURL("command=assignToLoadBalancerRule&id="+loadBalancerId+"&virtualmachineid="+vmId),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var lbInstanceJSON = jsonObj.assigntoloadbalancerruleresponse;
|
var lbInstanceJSON = json.assigntoloadbalancerruleresponse;
|
||||||
var timerKey = "lbInstanceNew"+lbInstancejsonObj.jobid;
|
var jobId = lbInstanceJSON.jobid;
|
||||||
|
var timerKey = "assignToLoadBalancerRuleJob_"+jobId;
|
||||||
$("body").everyTime(
|
$("body").everyTime(
|
||||||
5000,
|
5000,
|
||||||
timerKey,
|
timerKey,
|
||||||
function() {
|
function() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
data: createURL("command=queryAsyncJobResult&jobId="+lbInstancejsonObj.jobid),
|
data: createURL("command=queryAsyncJobResult&jobId="+jobId),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var result = jsonObj.queryasyncjobresultresponse;
|
var result = json.queryasyncjobresultresponse;
|
||||||
if (result.jobstatus == 0) {
|
if (result.jobstatus == 0) {
|
||||||
return; //Job has not completed
|
return; //Job has not completed
|
||||||
} else {
|
} else {
|
||||||
$("body").stopTime(timerKey);
|
$("body").stopTime(timerKey);
|
||||||
if (result.jobstatus == 1) { // Succeeded
|
if (result.jobstatus == 1) { // Succeeded
|
||||||
var lbVmTemplate = $("#load_balancer_vm_template").clone();
|
var $lbVmTemplate = $("#load_balancer_vm_template").clone();
|
||||||
var obj = {"loadBalancerId": loadBalancerId, "vmId": vmId, "vmName": vmName, "vmPrivateIp": vmPrivateIp};
|
var obj = {"loadBalancerId": loadBalancerId, "vmId": vmId, "vmName": vmName, "vmPrivateIp": vmPrivateIp};
|
||||||
lbVmObjToTemplate(obj, lbVmTemplate);
|
lbVmObjToTemplate(obj, $lbVmTemplate);
|
||||||
template.find("#management_area #grid_content").append(lbVmTemplate.show());
|
$template.find("#management_area #grid_content").append($lbVmTemplate.show());
|
||||||
refreshLbVmSelect(template, loadBalancerId);
|
refreshLbVmSelect($template, loadBalancerId);
|
||||||
loading.hide();
|
$spinningWheel.hide();
|
||||||
rowContainer.show();
|
|
||||||
} else if (result.jobstatus == 2) { // Failed
|
} else if (result.jobstatus == 2) { // Failed
|
||||||
$("#dialog_error").html("<p style='color:red'><b>Operation error:</b></p><br/><p style='color:red'>"+ sanitizeXSS(result.jobresult)+"</p>").dialog("open");
|
$("#dialog_error").html("<p style='color:red'><b>Operation error:</b></p><br/><p style='color:red'>"+ sanitizeXSS(result.jobresult)+"</p>").dialog("open");
|
||||||
loading.hide();
|
$spinningWheel.hide();
|
||||||
rowContainer.show();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error: function(XMLHttpResponse) {
|
error: function(XMLHttpResponse) {
|
||||||
handleError(XMLHttpResponse);
|
handleError(XMLHttpResponse);
|
||||||
$("body").stopTime(timerKey);
|
$("body").stopTime(timerKey);
|
||||||
loading.hide();
|
$spinningWheel.hide();
|
||||||
rowContainer.show();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -648,8 +647,7 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
},
|
},
|
||||||
error: function(XMLHttpResponse) {
|
error: function(XMLHttpResponse) {
|
||||||
handleError(XMLHttpResponse);
|
handleError(XMLHttpResponse);
|
||||||
loading.hide();
|
$spinningWheel.hide();
|
||||||
rowContainer.show();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
@ -666,15 +664,15 @@ function refreshCreateLoadBalancerRow() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function lbVmObjToTemplate(obj, template) {
|
function lbVmObjToTemplate(obj, $template) {
|
||||||
template.find("#vm_name").text(obj.vmName);
|
$template.find("#vm_name").text(obj.vmName);
|
||||||
template.find("#vm_private_ip").text(obj.vmPrivateIp);
|
$template.find("#vm_private_ip").text(obj.vmPrivateIp);
|
||||||
template.find("#remove_link").bind("click", function(event){
|
$template.find("#remove_link").bind("click", function(event){
|
||||||
var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
|
var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
|
||||||
$spinningWheel.show();
|
$spinningWheel.show();
|
||||||
|
|
||||||
//var loading = template.find("#deleting_loading").show();
|
//var loading = $template.find("#deleting_loading").show();
|
||||||
//var rowContainer = template.find("#deleting_row_container").hide();
|
//var rowContainer = $template.find("#deleting_row_container").hide();
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
data: createURL("command=removeFromLoadBalancerRule&id="+obj.loadBalancerId+"&virtualmachineid="+obj.vmId),
|
data: createURL("command=removeFromLoadBalancerRule&id="+obj.loadBalancerId+"&virtualmachineid="+obj.vmId),
|
||||||
@ -697,7 +695,7 @@ function lbVmObjToTemplate(obj, template) {
|
|||||||
$("body").stopTime(timerKey);
|
$("body").stopTime(timerKey);
|
||||||
if (result.jobstatus == 1) { // Succeeded
|
if (result.jobstatus == 1) { // Succeeded
|
||||||
refreshLbVmSelect($("#loadBalancer_" + obj.loadBalancerId), obj.loadBalancerId);
|
refreshLbVmSelect($("#loadBalancer_" + obj.loadBalancerId), obj.loadBalancerId);
|
||||||
template.fadeOut("slow", function(event) {
|
$template.fadeOut("slow", function(event) {
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
});
|
});
|
||||||
} else if (result.jobstatus == 2) { // Failed
|
} else if (result.jobstatus == 2) { // Failed
|
||||||
@ -725,8 +723,8 @@ function lbVmObjToTemplate(obj, template) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function refreshLbVmSelect(template, loadBalancerId) {
|
function refreshLbVmSelect($template, loadBalancerId) {
|
||||||
var vmSelect = template.find("#add_vm_to_lb_row #vm_select");
|
var vmSelect = $template.find("#add_vm_to_lb_row #vm_select");
|
||||||
// Load the select box with the VMs that haven't been applied a LB rule to.
|
// Load the select box with the VMs that haven't been applied a LB rule to.
|
||||||
$.ajax({
|
$.ajax({
|
||||||
cache: false,
|
cache: false,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user