bug 9604: Network page - implement action "Edit Network" for newly added API "updateNetwork".

This commit is contained in:
Jessica Wang 2011-05-11 14:51:19 -07:00
parent 0f0dcc1964
commit cf9ebb76e7
6 changed files with 82 additions and 29 deletions

View File

@ -85,6 +85,7 @@ label.action.delete.ingress.rule.processing=Deleting Ingress Rule....
label.action.delete.ingress.rule=Delete Ingress Rule
label.action.delete.load.balancer.processing=Deleting Load Balancer....
label.action.delete.load.balancer=Delete Load Balancer
label.action.edit.network=Edit Network
label.action.delete.network.processing=Deleting Network....
label.action.delete.network=Delete Network
label.action.delete.pod.processing=Deleting Pod....

View File

@ -85,6 +85,7 @@ label.action.delete.ingress.rule = Borrar ingreso Regla
label.action.delete.ingress.rule.processing = Eliminación de ingreso regla ....
label.action.delete.load.balancer = Eliminar equilibrador de carga
label.action.delete.load.balancer.processing = Eliminación del equilibrador de carga ....
label.action.edit.network=Edición de redes
label.action.delete.network = Eliminar Red
label.action.delete.network.processing = Eliminación de red ....
label.action.delete.pod = Eliminar Pod

View File

@ -85,6 +85,7 @@ label.action.delete.ingress.rule =イングレスルール削除
label.action.delete.ingress.rule.processing=イングレスルールを削除しています....
label.action.delete.load.balancer =ロードバランサ削除
label.action.delete.load.balancer.processing=ロードバランサを削除しています...
label.action.edit.network=ネットワークを編集する
label.action.delete.network =ネットワーク削除
label.action.delete.network.processing=ネットワークを削除しています....
label.action.delete.pod =Pod削除

View File

@ -85,6 +85,7 @@ label.action.delete.ingress.rule =删除准入规则
label.action.delete.ingress.rule.processing =删除准入规则....
label.action.delete.load.balancer =删除负载平衡
label.action.delete.load.balancer.processing =删除负载平衡....
label.action.edit.network=编辑网络
label.action.delete.network =删除网络
label.action.delete.network.processing =删除网络....
label.action.delete.pod =删除Pod

View File

@ -13,6 +13,7 @@ dictionary = {
'label.action.delete.firewall.processing' : '<fmt:message key="label.action.delete.firewall.processing"/>',
'label.action.delete.load.balancer' : '<fmt:message key="label.action.delete.load.balancer"/>',
'label.action.delete.load.balancer.processing' : '<fmt:message key="label.action.delete.load.balancer.processing"/>',
'label.action.edit.network' : '<fmt:message key="label.action.edit.network"/>',
'label.action.delete.network' : '<fmt:message key="label.action.delete.network"/>',
'label.action.delete.network.processing' : '<fmt:message key="label.action.delete.network.processing"/>',
'message.action.delete.network' : '<fmt:message key="message.action.delete.network"/>',
@ -327,7 +328,9 @@ dictionary = {
</div>
<div class="grid_row_cell" style="width: 79%;">
<div class="row_celltitles" id="name">
</div>
</div>
<input class="text" id="name_edit" style="width: 200px; display: none;" type="text" />
<div id="name_edit_errormsg" style="display:none"></div>
</div>
</div>
<div class="grid_rows odd">
@ -337,7 +340,9 @@ dictionary = {
</div>
<div class="grid_row_cell" style="width: 79%;">
<div class="row_celltitles" id="displaytext">
</div>
</div>
<input class="text" id="displaytext_edit" style="width: 200px; display: none;" type="text" />
<div id="displaytext_edit_errormsg" style="display:none"></div>
</div>
</div>
<div class="grid_rows even">
@ -401,6 +406,12 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_botactionpanel">
<div class="gridbot_buttons" id="save_button" style="display:none;">Save</div>
<div class="gridbot_buttons" id="cancel_button" style="display:none;">Cancel</div>
</div>
</div>
</div>
<!-- Details tab (end)-->

View File

@ -87,7 +87,10 @@ function afterLoadNetworkJSP($leftmenuItem1) {
initDialog("dialog_add_iprange_to_directnetwork");
networkPopulateMiddleMenu($leftmenuItem1);
bindAddNetworkButton();
bindAddNetworkButton();
$readonlyFields = $("#direct_network_page").find("#tab_content_details").find("#name, #displaytext");
$editFields = $("#direct_network_page").find("#tab_content_details").find("#name_edit, #displaytext_edit");
}
function networkPopulateMiddleMenu($leftmenuItem1) {
@ -297,17 +300,7 @@ function publicNetworkIprangeJsonToTemplate(jsonObj, $template) {
var $actionLink = $template.find("#action_link");
bindActionLink($actionLink);
/*
$actionLink.bind("mouseover", function(event) {
$(this).find("#action_menu").show();
return false;
});
$actionLink.bind("mouseout", function(event) {
$(this).find("#action_menu").hide();
return false;
});
*/
var $actionMenu = $actionLink.find("#action_menu");
$actionMenu.find("#action_list").empty();
@ -1070,7 +1063,9 @@ function directNetworkJsonToDetailsTab() {
$thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
$thisTab.find("#id").text(fromdb(jsonObj.id));
$thisTab.find("#name").text(fromdb(jsonObj.name));
$thisTab.find("#name_edit").val(fromdb(jsonObj.name));
$thisTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
$thisTab.find("#displaytext_edit").val(fromdb(jsonObj.displaytext));
$thisTab.find("#default").text((jsonObj.isdefault) ? "Yes" : "No");
$thisTab.find("#vlan").text(fromdb(jsonObj.vlan));
$thisTab.find("#gateway").text(fromdb(jsonObj.gateway));
@ -1082,19 +1077,10 @@ function directNetworkJsonToDetailsTab() {
//actions ***
var $actionLink = $thisTab.find("#action_link");
bindActionLink($actionLink);
/*
$actionLink.bind("mouseover", function(event) {
$(this).find("#action_menu").show();
return false;
});
$actionLink.bind("mouseout", function(event) {
$(this).find("#action_menu").hide();
return false;
});
*/
var $actionMenu = $actionLink.find("#action_menu");
$actionMenu.find("#action_list").empty();
$actionMenu.find("#action_list").empty();
buildActionLinkForTab("label.action.edit.network", directNetworkActionMap, $actionMenu, $midmenuItem1, $thisTab);
buildActionLinkForTab("label.action.delete.network", directNetworkActionMap, $actionMenu, $midmenuItem1, $thisTab);
$thisTab.find("#tab_container").show();
@ -1461,11 +1447,15 @@ function bindAddIpRangeToDirectNetworkButton($midmenuItem1) {
});
}
var directNetworkActionMap = {
var directNetworkActionMap = {
"label.action.edit.network": {
dialogBeforeActionFn : doEditDirectNetwork
}
,
"label.action.delete.network": {
isAsyncJob: true,
asyncJobResponse: "deletenetworkresponse",
dialogBeforeActionFn : doDeleteNetwork,
dialogBeforeActionFn : doDeleteDirectNetwork,
inProcessText: "label.action.delete.network.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
@ -1479,7 +1469,55 @@ var directNetworkActionMap = {
}
}
function doDeleteNetwork($actionLink, $detailsTab, $midmenuItem1) {
function doEditDirectNetwork($actionLink, $detailsTab, $midmenuItem1) {
$readonlyFields.hide();
$editFields.show();
$detailsTab.find("#cancel_button, #save_button").show();
$detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
cancelEditMode($detailsTab);
return false;
});
$detailsTab.find("#save_button").unbind("click").bind("click", function(event){
doEditDirectNetwork2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
return false;
});
}
function doEditDirectNetwork2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
var jsonObj = $midmenuItem1.data("jsonObj");
var id = jsonObj.id;
// validate values
var isValid = true;
isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"), true);
isValid &= validateString("Display Text", $detailsTab.find("#displaytext_edit"), $detailsTab.find("#displaytext_edit_errormsg"), true);
if (!isValid)
return;
var array1 = [];
var name = $detailsTab.find("#name_edit").val();
array1.push("&name="+todb(name));
var displaytext = $detailsTab.find("#displaytext_edit").val();
array1.push("&displayText="+todb(displaytext));
$.ajax({
data: createURL("command=updateNetwork&id="+id+array1.join("")),
dataType: "json",
success: function(json) {
var jsonObj = json.updatenetworkresponse.network;
directNetworkToMidmenu(jsonObj, $midmenuItem1);
directNetworkToRightPanel($midmenuItem1);
$editFields.hide();
$readonlyFields.show();
$("#save_button, #cancel_button").hide();
}
});
}
function doDeleteDirectNetwork($actionLink, $detailsTab, $midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var id = jsonObj.id;