bug 7608: instance page - cancel edit mode when clicking on different tab or different middle menu item.

This commit is contained in:
Jessica Wang 2011-01-19 12:10:58 -08:00
parent 1d091236e9
commit e6fc91c8b6
2 changed files with 30 additions and 23 deletions

View File

@ -114,7 +114,10 @@ function afterLoadInstanceJSP() {
var tabContentArray = [$("#tab_content_details"), $("#tab_content_nic"), $("#tab_content_volume"), $("#tab_content_statistics"), $("#tab_content_router")];
var afterSwitchFnArray = [vmJsonToDetailsTab, vmJsonToNicTab, vmJsonToVolumeTab, vmJsonToStatisticsTab, vmJsonToRouterTab];
switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
$readonlyFields = $("#tab_content_details").find("#vmname, #group, #haenable, #ostypename");
$editFields = $("#tab_content_details").find("#vmname_edit, #group_edit, #haenable_edit, #ostypename_edit");
// dialogs
initDialog("dialog_detach_iso_from_vm");
initDialog("dialog_attach_iso");
@ -1426,18 +1429,13 @@ function doRestoreVM($actionLink, $detailsTab, $midmenuItem1) {
}).dialog("open");
}
function doEditVM($actionLink, $detailsTab, $midmenuItem1) {
var $readonlyFields = $detailsTab.find("#vmname, #group, #haenable, #ostypename");
var $editFields = $detailsTab.find("#vmname_edit, #group_edit, #haenable_edit, #ostypename_edit");
function doEditVM($actionLink, $detailsTab, $midmenuItem1) {
$readonlyFields.hide();
$editFields.show();
$detailsTab.find("#cancel_button, #save_button").show();
$detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
$editFields.hide();
$readonlyFields.show();
$("#save_button, #cancel_button").hide();
cancelEditMode($detailsTab);
return false;
});
$detailsTab.find("#save_button").unbind("click").bind("click", function(event){

View File

@ -614,6 +614,8 @@ function clearRightPanel() {
$("#right_panel_content #tab_content_details #spinning_wheel").hide();
$("#right_panel_content #after_action_info_container").hide();
cancelEditMode($("#tab_content_details"));
}
@ -751,6 +753,20 @@ function bindClickToMidMenu($midmenuItem1, toRightPanelFn, getMidmenuIdFn) {
return false;
});
}
function clickItemInMultipleSelectionMidmenu($midmenuItem1) {
$midmenuItem1.find("#content").addClass("selected"); //css of vmops
$midmenuItem1.addClass("ui-selected"); //css of JQuery selectable widget
clearRightPanel();
var toRightPanelFn = $midmenuItem1.data("toRightPanelFn");
toRightPanelFn($midmenuItem1);
var jsonObj = $midmenuItem1.data("jsonObj");
selectedItemsInMidMenu[jsonObj.id] = $midmenuItem1;
selected_midmenu_id = $midmenuItem1.attr("id");
$currentMidmenuItem = $midmenuItem1;
}
function switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray) {
for(var tabIndex=0; tabIndex<tabArray.length; tabIndex++) {
@ -771,6 +787,8 @@ function switchToTab(tabIndex, tabArray, tabContentArray, afterSwitchFnArray) {
if(k != tabIndex)
tabContentArray[k].hide(); //other tab content hide
}
if(tabIndex != 0) //when switching to a tab that is not details tab
cancelEditMode(tabContentArray[0]); //cancel edit mode in details tab
if(afterSwitchFnArray != null) {
if(afterSwitchFnArray[tabIndex] != null)
@ -1017,20 +1035,6 @@ function listMidMenuItems2(commandString, getSearchParamsFn, jsonResponse1, json
return count;
}
function clickItemInMultipleSelectionMidmenu($midmenuItem1) {
$midmenuItem1.find("#content").addClass("selected"); //css of vmops
$midmenuItem1.addClass("ui-selected"); //css of JQuery selectable widget
var toRightPanelFn = $midmenuItem1.data("toRightPanelFn");
toRightPanelFn($midmenuItem1);
var jsonObj = $midmenuItem1.data("jsonObj");
selectedItemsInMidMenu[jsonObj.id] = $midmenuItem1;
selected_midmenu_id = $midmenuItem1.attr("id");
$currentMidmenuItem = $midmenuItem1;
}
var currentLeftMenuId;
var currentRightPanelJSP = null;
function listMidMenuItems(commandString, getSearchParamsFn, jsonResponse1, jsonResponse2, rightPanelJSP, afterLoadRightPanelJSPFn, toMidmenuFn, toRightPanelFn, getMidmenuIdFn, isMultipleSelectionInMidMenu, leftmenuId, refreshDataBindingFn) {
@ -1162,7 +1166,12 @@ function getMidmenuItemFirstRow(text) {
return text3;
}
var $readonlyFields, $editFields;
function cancelEditMode($tab) {
$editFields.hide();
$readonlyFields.show();
$tab.find("#save_button, #cancel_button").hide();
}