mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-03 04:12:31 +01:00
new UI - IP address page - implement add load balancer rule.:wq!
This commit is contained in:
parent
7e27a6a08c
commit
91c7947b33
@ -219,16 +219,19 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="grid_rows even" id="create_load_balancer_row">
|
<div class="grid_rows even" id="create_load_balancer_row">
|
||||||
<div class="grid_row_cell" style="width: 25%;">
|
<div class="grid_row_cell" style="width: 25%;">
|
||||||
<input class="text" style="width: 90%;" type="text" />
|
<input id="name" class="text" style="width: 90%;" type="text" />
|
||||||
|
<div id="name_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_row_cell" style="width: 15%;">
|
<div class="grid_row_cell" style="width: 15%;">
|
||||||
<input class="text" style="width: 90%;" type="text" />
|
<input id="public_port" class="text" style="width: 90%;" type="text" />
|
||||||
|
<div id="public_port_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_row_cell" style="width: 15%;">
|
<div class="grid_row_cell" style="width: 15%;">
|
||||||
<input class="text" style="width: 90%;" type="text" />
|
<input id="private_port" class="text" style="width: 90%;" type="text" />
|
||||||
|
<div id="private_port_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_row_cell" style="width: 15%;">
|
<div class="grid_row_cell" style="width: 15%;">
|
||||||
<select class="select" style="width: 90%;">
|
<select id="algorithm_select" class="select" style="width: 90%;">
|
||||||
<option value="roundrobin">roundrobin</option>
|
<option value="roundrobin">roundrobin</option>
|
||||||
<option value="leastconn">leastconn</option>
|
<option value="leastconn">leastconn</option>
|
||||||
<option value="source">source</option>
|
<option value="source">source</option>
|
||||||
@ -236,7 +239,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="grid_row_cell" style="width: 29%;">
|
<div class="grid_row_cell" style="width: 29%;">
|
||||||
<div class="row_celltitles">
|
<div class="row_celltitles">
|
||||||
<a href="#">Add</a></div>
|
<a id="add_link" href="#">Add</a></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="grid_content">
|
<div id="grid_content">
|
||||||
@ -276,6 +279,17 @@
|
|||||||
<div class="row_celltitles">
|
<div class="row_celltitles">
|
||||||
<a id="edit_link" href="#">Edit</a></div>
|
<a id="edit_link" href="#">Edit</a></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="gridrow_loaderbox" style="display: none;" id="spinning_wheel">
|
||||||
|
<div class="gridrow_loader">
|
||||||
|
</div>
|
||||||
|
<p id="description">
|
||||||
|
Waiting …
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_detailspanel" id="vm_subgrid" style="display: none;">
|
<div class="grid_detailspanel" id="vm_subgrid" style="display: none;">
|
||||||
<div class="grid_details_pointer">
|
<div class="grid_details_pointer">
|
||||||
|
|||||||
@ -25,7 +25,7 @@ function afterLoadIpJSP() {
|
|||||||
|
|
||||||
|
|
||||||
//Port Fowording tab
|
//Port Fowording tab
|
||||||
var $createPortForwardingRow = $("#create_port_forwarding_row");
|
var $createPortForwardingRow = $("#tab_content_port_forwarding #create_port_forwarding_row");
|
||||||
|
|
||||||
$createPortForwardingRow.find("#add_link").bind("click", function(event){
|
$createPortForwardingRow.find("#add_link").bind("click", function(event){
|
||||||
var isValid = true;
|
var isValid = true;
|
||||||
@ -40,9 +40,9 @@ function afterLoadIpJSP() {
|
|||||||
$spinningWheel.find("#description").text("Adding....");
|
$spinningWheel.find("#description").text("Adding....");
|
||||||
$spinningWheel.show();
|
$spinningWheel.show();
|
||||||
|
|
||||||
var $detailsTab = $("#right_panel_content #tab_content_details");
|
var ipObj = $("#right_panel_content #tab_content_details").data("jsonObj");
|
||||||
var jsonObj = $detailsTab.data("jsonObj");
|
var ipAddress = ipObj.ipaddress;
|
||||||
var ipAddress = jsonObj.ipaddress;
|
|
||||||
var publicPort = $createPortForwardingRow.find("#public_port").val();
|
var publicPort = $createPortForwardingRow.find("#public_port").val();
|
||||||
var privatePort = $createPortForwardingRow.find("#private_port").val();
|
var privatePort = $createPortForwardingRow.find("#private_port").val();
|
||||||
var protocol = $createPortForwardingRow.find("#protocol").val();
|
var protocol = $createPortForwardingRow.find("#protocol").val();
|
||||||
@ -74,6 +74,59 @@ function afterLoadIpJSP() {
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//Load Balancer tab
|
||||||
|
var createLoadBalancerRow = $("#tab_content_load_balancer #create_load_balancer_row");
|
||||||
|
|
||||||
|
createLoadBalancerRow.find("#add_link").bind("click", function(event){
|
||||||
|
// validate values
|
||||||
|
var isValid = true;
|
||||||
|
isValid &= validateString("Name", createLoadBalancerRow.find("#name"), createLoadBalancerRow.find("#name_errormsg"));
|
||||||
|
isValid &= validateNumber("Public Port", createLoadBalancerRow.find("#public_port"), createLoadBalancerRow.find("#public_port_errormsg"), 1, 65535);
|
||||||
|
isValid &= validateNumber("Private Port", createLoadBalancerRow.find("#private_port"), createLoadBalancerRow.find("#private_port_errormsg"), 1, 65535);
|
||||||
|
if (!isValid) return;
|
||||||
|
|
||||||
|
var $template = $("#load_balancer_template").clone();
|
||||||
|
$("#tab_content_load_balancer #grid_content").append($template.show());
|
||||||
|
|
||||||
|
var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
|
||||||
|
$spinningWheel.find("#description").text("Adding....");
|
||||||
|
$spinningWheel.show();
|
||||||
|
|
||||||
|
var ipObj = $("#right_panel_content #tab_content_details").data("jsonObj");
|
||||||
|
var ipAddress = ipObj.ipaddress;
|
||||||
|
|
||||||
|
var name = createLoadBalancerRow.find("#name").val();
|
||||||
|
var publicPort = createLoadBalancerRow.find("#public_port").val();
|
||||||
|
var privatePort = createLoadBalancerRow.find("#private_port").val();
|
||||||
|
var algorithm = createLoadBalancerRow.find("#algorithm_select").val();
|
||||||
|
|
||||||
|
var array1 = [];
|
||||||
|
array1.push("&publicip="+ipAddress);
|
||||||
|
array1.push("&name="+name);
|
||||||
|
array1.push("&publicport="+publicPort);
|
||||||
|
array1.push("&privateport="+privatePort);
|
||||||
|
array1.push("&algorithm="+algorithm);
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
data: createURL("command=createLoadBalancerRule"+array1.join("")),
|
||||||
|
dataType: "json",
|
||||||
|
success: function(json) {
|
||||||
|
var items = json.createloadbalancerruleresponse.loadbalancerrule;
|
||||||
|
loadBalancerJsonToTemplate(items[0],$template);
|
||||||
|
$spinningWheel.hide();
|
||||||
|
refreshCreateLoadBalancerRow();
|
||||||
|
},
|
||||||
|
error: function(XMLHttpResponse) {
|
||||||
|
handleError(XMLHttpResponse);
|
||||||
|
$template.slideUp("slow", function() {
|
||||||
|
$(this).remove();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -384,7 +437,7 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
vmSubgrid.empty();
|
vmSubgrid.empty();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
cache: false,
|
cache: false,
|
||||||
data: createURL("command=listLoadBalancerRuleInstances&id="+loadBalancerId+"&response=json"),
|
data: createURL("command=listLoadBalancerRuleInstances&id="+loadBalancerId),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var instances = jsonObj.listloadbalancerruleinstancesresponse.loadbalancerruleinstance;
|
var instances = jsonObj.listloadbalancerruleinstancesresponse.loadbalancerruleinstance;
|
||||||
@ -419,7 +472,7 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
loadingContainer.show();
|
loadingContainer.show();
|
||||||
rowContainer.hide();
|
rowContainer.hide();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
data: createURL("command=deleteLoadBalancerRule&id="+loadBalancerId+"&response=json"),
|
data: createURL("command=deleteLoadBalancerRule&id="+loadBalancerId),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var lbJSON = jsonObj.deleteloadbalancerruleresponse;
|
var lbJSON = jsonObj.deleteloadbalancerruleresponse;
|
||||||
@ -429,7 +482,7 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
timerKey,
|
timerKey,
|
||||||
function() {
|
function() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
data: createURL("command=queryAsyncJobResult&jobId="+lbjsonObj.jobid+"&response=json"),
|
data: createURL("command=queryAsyncJobResult&jobId="+lbjsonObj.jobid),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var result = jsonObj.queryasyncjobresultresponse;
|
var result = jsonObj.queryasyncjobresultresponse;
|
||||||
@ -495,7 +548,7 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
array1.push("&algorithm=" + algorithm);
|
array1.push("&algorithm=" + algorithm);
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
data: createURL("command=updateLoadBalancerRule&response=json"+array1.join("")),
|
data: createURL("command=updateLoadBalancerRule"+array1.join("")),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var jobId = jsonObj.updateloadbalancerruleresponse.jobid;
|
var jobId = jsonObj.updateloadbalancerruleresponse.jobid;
|
||||||
@ -503,7 +556,7 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
|
|
||||||
$("body").everyTime(2000, timerKey, function() {
|
$("body").everyTime(2000, timerKey, function() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
data: createURL("command=queryAsyncJobResult&jobId="+jobId+"&response=json"),
|
data: createURL("command=queryAsyncJobResult&jobId="+jobId),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var result = jsonObj.queryasyncjobresultresponse;
|
var result = jsonObj.queryasyncjobresultresponse;
|
||||||
@ -553,7 +606,7 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
var rowContainer = template.find("#adding_row_container").hide();
|
var rowContainer = template.find("#adding_row_container").hide();
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
data: createURL("command=assignToLoadBalancerRule&id="+loadBalancerId+"&virtualmachineid="+vmId+"&response=json"),
|
data: createURL("command=assignToLoadBalancerRule&id="+loadBalancerId+"&virtualmachineid="+vmId),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var lbInstanceJSON = jsonObj.assigntoloadbalancerruleresponse;
|
var lbInstanceJSON = jsonObj.assigntoloadbalancerruleresponse;
|
||||||
@ -563,7 +616,7 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
timerKey,
|
timerKey,
|
||||||
function() {
|
function() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
data: createURL("command=queryAsyncJobResult&jobId="+lbInstancejsonObj.jobid+"&response=json"),
|
data: createURL("command=queryAsyncJobResult&jobId="+lbInstancejsonObj.jobid),
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var result = jsonObj.queryasyncjobresultresponse;
|
var result = jsonObj.queryasyncjobresultresponse;
|
||||||
@ -607,4 +660,14 @@ function loadBalancerJsonToTemplate(jsonObj, template) {
|
|||||||
});
|
});
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function refreshCreateLoadBalancerRow() {
|
||||||
|
var createLoadBalancerRow = $("#tab_content_load_balancer #create_load_balancer_row");
|
||||||
|
createLoadBalancerRow.find("#name").val("");
|
||||||
|
createLoadBalancerRow.find("#public_port").val("");
|
||||||
|
createLoadBalancerRow.find("#private_port").val("");
|
||||||
|
createLoadBalancerRow.find("#algorithm_select").val("roundrobin");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//***** Load Balancer tab (end) ************************************************************************************************************
|
//***** Load Balancer tab (end) ************************************************************************************************************
|
||||||
Loading…
x
Reference in New Issue
Block a user