bug 7458: zone - network - implement List Load Balancer, Delete Load Balancer no UI.

This commit is contained in:
Jessica Wang 2010-12-09 18:45:23 -08:00
parent d5568a35f7
commit f09eb46be0
2 changed files with 119 additions and 5 deletions

View File

@ -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 &hellip;
</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">

View File

@ -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");