mirror of https://github.com/apache/cloudstack.git
bug 7458: zone - network - implement List Load Balancer, Delete Load Balancer no UI.
This commit is contained in:
parent
d5568a35f7
commit
f09eb46be0
|
|
@ -459,6 +459,67 @@
|
|||
</div>
|
||||
<!-- External Firewall template (end) -->
|
||||
|
||||
|
||||
<!-- Load Balancer template (begin) -->
|
||||
<div class="grid_container" id="loadbalancer_template" style="display: none">
|
||||
<div class="grid_header">
|
||||
<div class="grid_header_title" id="grid_header_title">
|
||||
</div>
|
||||
<div class="grid_actionbox" id="firewall_action_link">
|
||||
<div class="grid_actionsdropdown_box" id="firewall_action_menu" style="display: none;">
|
||||
<ul class="actionsdropdown_boxlist" id="action_list">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="gridheader_loaderbox" id="spinning_wheel" style="display: none; height: 18px;">
|
||||
<div class="gridheader_loader" id="icon">
|
||||
</div>
|
||||
<p id="description">
|
||||
Waiting …
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid_rows" id="after_action_info_container" style="display:none">
|
||||
<div class="grid_row_cell" style="width: 90%; border: none;">
|
||||
<div class="row_celltitles">
|
||||
<strong id="after_action_info">Message will appear here</strong></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid_rows odd">
|
||||
<div class="grid_row_cell" style="width: 20%;">
|
||||
<div class="row_celltitles">
|
||||
ID:</div>
|
||||
</div>
|
||||
<div class="grid_row_cell" style="width: 79%;">
|
||||
<div class="row_celltitles" id="id">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid_rows even">
|
||||
<div class="grid_row_cell" style="width: 20%;">
|
||||
<div class="row_celltitles">
|
||||
URL:</div>
|
||||
</div>
|
||||
<div class="grid_row_cell" style="width: 79%;">
|
||||
<div class="row_celltitles" id="url">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid_rows odd">
|
||||
<div class="grid_row_cell" style="width: 20%;">
|
||||
<div class="row_celltitles">
|
||||
Type:</div>
|
||||
</div>
|
||||
<div class="grid_row_cell" style="width: 79%;">
|
||||
<div class="row_celltitles" id="type">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Load Balancer template (end) -->
|
||||
|
||||
<!-- IP Range template (begin) -->
|
||||
<div class="grid_container" id="iprange_template" style="display: none">
|
||||
<div class="grid_header">
|
||||
|
|
|
|||
|
|
@ -282,6 +282,7 @@ var publicNetworkFirewallActionMap = {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
function publicNetworkJsonToLoadBalancerTab() {
|
||||
var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
|
||||
if($midmenuItem1 == null)
|
||||
|
|
@ -294,12 +295,64 @@ function publicNetworkJsonToLoadBalancerTab() {
|
|||
var $thisTab = $("#right_panel_content #public_network_page #tab_content_loadbalancer");
|
||||
$thisTab.find("#tab_container").hide();
|
||||
$thisTab.find("#tab_spinning_wheel").show();
|
||||
|
||||
|
||||
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
|
||||
$.ajax({
|
||||
data: createURL("command=listExternalLoadBalancers&zoneid="+zoneObj.id),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var items = json.listexternalloadbalancersresponse.externalloadbalancer;
|
||||
var $container = $thisTab.find("#tab_container").empty();
|
||||
var $template = $("#loadbalancer_template");
|
||||
if(items != null && items.length > 0) {
|
||||
for(var i=0; i<items.length; i++) {
|
||||
var $newTemplate = $template.clone();
|
||||
publicNetworkLoadBalancerJsonToTemplate(items[i], $newTemplate);
|
||||
$container.append($newTemplate.show());
|
||||
}
|
||||
}
|
||||
$thisTab.find("#tab_container").show();
|
||||
$thisTab.find("#tab_spinning_wheel").hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function publicNetworkLoadBalancerJsonToTemplate(jsonObj, $template) {
|
||||
$template.data("jsonObj", jsonObj);
|
||||
$template.attr("id", "publicNetworkLoadBalancer_" + jsonObj.id);
|
||||
|
||||
$template.find("#grid_header_title").text(fromdb(jsonObj.url));
|
||||
$template.find("#id").text(fromdb(jsonObj.id));
|
||||
$template.find("#type").text(fromdb(jsonObj.type));
|
||||
$template.find("#url").text(fromdb(jsonObj.url));
|
||||
|
||||
var $actionLink = $template.find("#firewall_action_link");
|
||||
$actionLink.bind("mouseover", function(event) {
|
||||
$(this).find("#firewall_action_menu").show();
|
||||
return false;
|
||||
});
|
||||
$actionLink.bind("mouseout", function(event) {
|
||||
$(this).find("#firewall_action_menu").hide();
|
||||
return false;
|
||||
});
|
||||
|
||||
var $actionMenu = $actionLink.find("#firewall_action_menu");
|
||||
$actionMenu.find("#action_list").empty();
|
||||
|
||||
buildActionLinkForSubgridItem("Delete Firewall", publicNetworkFirewallActionMap, $actionMenu, $template);
|
||||
}
|
||||
|
||||
var publicNetworkLoadBalancerActionMap = {
|
||||
"Delete Load Balancer": {
|
||||
api: "deleteExternalLoadBalancer",
|
||||
isAsyncJob: false,
|
||||
inProcessText: "Deleting Load Balancer....",
|
||||
afterActionSeccessFn: function(json, id, $subgridItem) {
|
||||
$subgridItem.slideUp("slow", function() {
|
||||
$(this).remove();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function initAddIpRangeToPublicNetworkButton($button, $midmenuItem1) {
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
|
|
|
|||
Loading…
Reference in New Issue