new UI - pass element instead of element ID when doing details tab action. So, don't need to select element again after action is done.

This commit is contained in:
Jessica Wang 2010-10-23 21:01:58 -07:00
parent 25ea14371e
commit b4f76d79c1
16 changed files with 302 additions and 305 deletions

View File

@ -42,12 +42,12 @@ function accountToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(fromdb(jsonObj.domain).substring(0,25));
}
function accountToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
accountJsonToDetailsTab(jsonObj);
function accountToRightPanel($midmenuItem1) {
accountJsonToDetailsTab($midmenuItem1);
}
function accountJsonToDetailsTab(jsonObj) {
function accountJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#grid_header_title").text(fromdb(jsonObj.name));
@ -65,21 +65,20 @@ function accountJsonToDetailsTab(jsonObj) {
var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
$actionMenu.find("#action_list").empty();
var noAvailableActions = true;
var midmenuItemId = getMidmenuId(jsonObj);
if(jsonObj.id != systemAccountId && jsonObj.id != adminAccountId) {
if (jsonObj.accounttype == roleTypeUser || jsonObj.accounttype == roleTypeDomainAdmin) {
buildActionLinkForDetailsTab("Resource limits", accountActionMap, $actionMenu, midmenuItemId);
buildActionLinkForDetailsTab("Resource limits", accountActionMap, $actionMenu, $midmenuItem1);
noAvailableActions = false;
}
if(jsonObj.state == "enabled") {
buildActionLinkForDetailsTab("Disable account", accountActionMap, $actionMenu, midmenuItemId);
buildActionLinkForDetailsTab("Lock account", accountActionMap, $actionMenu, midmenuItemId);
buildActionLinkForDetailsTab("Disable account", accountActionMap, $actionMenu, $midmenuItem1);
buildActionLinkForDetailsTab("Lock account", accountActionMap, $actionMenu, $midmenuItem1);
noAvailableActions = false;
}
else if(jsonObj.state == "disabled" || jsonObj.state == "locked") {
buildActionLinkForDetailsTab("Enable account", accountActionMap, $actionMenu, midmenuItemId);
buildActionLinkForDetailsTab("Enable account", accountActionMap, $actionMenu, $midmenuItem1);
noAvailableActions = false;
}
}
@ -100,7 +99,7 @@ var accountActionMap = {
asyncJobResponse: "disableaccountresponse",
dialogBeforeActionFn : doDisableAccount,
inProcessText: "Disabling account....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
afterActionSeccessFn: function(json, $midmenuItem1, id) {
//Get embedded object from listVolume API until bug 6482("enableAccount, disableAccount, lockAccount should return an embedded object") is fixed.
var jsonObj;
$.ajax({
@ -112,8 +111,8 @@ var accountActionMap = {
}
});
accountToMidmenu(jsonObj, $("#"+midmenuItemId));
accountJsonToDetailsTab(jsonObj);
accountToMidmenu(jsonObj, $midmenuItem1);
accountJsonToDetailsTab($midmenuItem1);
}
}
,
@ -121,7 +120,7 @@ var accountActionMap = {
isAsyncJob: false,
dialogBeforeActionFn : doLockAccount,
inProcessText: "Locking account....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
afterActionSeccessFn: function(json, $midmenuItem1, id) {
//Get embedded object from listVolume API until bug 6482("enableAccount, disableAccount, lockAccount should return an embedded object") is fixed.
var jsonObj;
$.ajax({
@ -133,8 +132,8 @@ var accountActionMap = {
}
});
accountToMidmenu(jsonObj, $("#"+midmenuItemId));
accountJsonToDetailsTab(jsonObj);
accountToMidmenu(jsonObj, $midmenuItem1);
accountJsonToDetailsTab($midmenuItem1);
}
}
,
@ -142,7 +141,7 @@ var accountActionMap = {
isAsyncJob: false,
dialogBeforeActionFn : doEnableAccount,
inProcessText: "Enabling account....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
afterActionSeccessFn: function(json, $midmenuItem1, id) {
//Get embedded object from listVolume API until bug 6482("enableAccount, disableAccount, lockAccount should return an embedded object") is fixed.
var jsonObj;
$.ajax({
@ -154,8 +153,8 @@ var accountActionMap = {
}
});
accountToMidmenu(jsonObj, $("#"+midmenuItemId));
accountJsonToDetailsTab(jsonObj);
accountToMidmenu(jsonObj, $midmenuItem1);
accountJsonToDetailsTab($midmenuItem1);
}
}
};
@ -169,7 +168,7 @@ function updateResourceLimit(domainId, account, type, max) {
});
}
function doResourceLimits () {
function doResourceLimits($actionLink, $detailsTab, $midmenuItem1) {
var $detailsTab = $("#right_panel_content #tab_content_details");
var jsonObj = $detailsTab.data("jsonObj");
var domainId = jsonObj.domainid;
@ -251,7 +250,7 @@ function doResourceLimits () {
});
}
function doDisableAccount($actionLink, $detailsTab, midmenuItemId) {
function doDisableAccount($actionLink, $detailsTab, $midmenuItem1) {
var jsonObj = $detailsTab.data("jsonObj");
var id = jsonObj.id;
@ -260,7 +259,7 @@ function doDisableAccount($actionLink, $detailsTab, midmenuItemId) {
"Yes": function() {
$(this).dialog("close");
var apiCommand = "command=disableAccount&account="+jsonObj.name+"&domainId="+jsonObj.domainid;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId) ;
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1) ;
},
"Cancel": function() {
$(this).dialog("close");
@ -268,7 +267,7 @@ function doDisableAccount($actionLink, $detailsTab, midmenuItemId) {
}).dialog("open");
}
function doLockAccount($actionLink, $detailsTab, midmenuItemId) {
function doLockAccount($actionLink, $detailsTab, $midmenuItem1) {
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_lock_account")
@ -276,7 +275,7 @@ function doLockAccount($actionLink, $detailsTab, midmenuItemId) {
"Yes": function() {
$(this).dialog("close");
var apiCommand = "command=lockAccount&account="+jsonObj.name+"&domainId="+jsonObj.domainid;
doActionToDetailsTab(jsonObj.id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(jsonObj.id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -284,7 +283,7 @@ function doLockAccount($actionLink, $detailsTab, midmenuItemId) {
}).dialog("open");
}
function doEnableAccount($actionLink, $detailsTab, midmenuItemId) {
function doEnableAccount($actionLink, $detailsTab, $midmenuItem1) {
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_enable_account")
@ -292,7 +291,7 @@ function doEnableAccount($actionLink, $detailsTab, midmenuItemId) {
"Yes": function() {
$(this).dialog("close");
var apiCommand = "command=enableAccount&account="+jsonObj.name+"&domainId="+jsonObj.domainid;
doActionToDetailsTab(jsonObj.id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(jsonObj.id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");

View File

@ -27,12 +27,12 @@ function alertToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(jsonObj.type.substring(0,25));
}
function alertToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
alertJsonToDetailsTab(jsonObj);
function alertToRigntPanel($midmenuItem1) {
alertJsonToDetailsTab($midmenuItem1);
}
function alertJsonToDetailsTab(jsonObj) {
function alertJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);

View File

@ -141,11 +141,11 @@ function diskOfferingToMidmenu(jsonObj, $midmenuItem1) {
}
function diskOfferingToRigntPanel($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
diskOfferingJsonToDetailsTab(jsonObj);
diskOfferingJsonToDetailsTab($midmenuItem1);
}
function diskOfferingJsonToDetailsTab(jsonObj) {
function diskOfferingJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(jsonObj.id);
@ -162,9 +162,8 @@ function diskOfferingJsonToDetailsTab(jsonObj) {
//actions ***
var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
$actionMenu.find("#action_list").empty();
var midmenuItemId = getMidmenuId(jsonObj);
buildActionLinkForDetailsTab("Delete Disk Offering", diskOfferingActionMap, $actionMenu, midmenuItemId);
$actionMenu.find("#action_list").empty();
buildActionLinkForDetailsTab("Delete Disk Offering", diskOfferingActionMap, $actionMenu, $midmenuItem1);
}
function diskOfferingClearRightPanel() {
@ -192,8 +191,8 @@ var diskOfferingActionMap = {
api: "deleteDiskOffering",
isAsyncJob: false,
inProcessText: "Deleting disk offering....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
$("#"+midmenuItemId).remove();
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.remove();
clearRightPanel();
diskOfferingClearRightPanel();
}

View File

@ -36,12 +36,12 @@ function eventToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(jsonObj.type.substring(0,25));
}
function eventToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
eventJsonToDetailsTab(jsonObj);
function eventToRigntPanel($midmenuItem1) {
eventJsonToDetailsTab($midmenuItem1);
}
function eventJsonToDetailsTab(jsonObj) {
function eventJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);

View File

@ -81,12 +81,12 @@ function globalSettingToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(fromdb(jsonObj.value).substring(0,25));
}
function globalSettingToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
globalSettingJsonToDetailsTab(jsonObj);
function globalSettingToRigntPanel($midmenuItem1) {
globalSettingJsonToDetailsTab($midmenuItem1);
}
function globalSettingJsonToDetailsTab(jsonObj) {
function globalSettingJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#name").text(fromdb(jsonObj.name));

View File

@ -51,7 +51,7 @@ $(document).ready(function() {
});
$("#leftmenu_account").bind("click", function(event) {
selectLeftMenu($(this));
listMidMenuItems("listAccounts", "listaccountsresponse", "account", "jsp/account.jsp", afterLoadAccountJSP, accountToMidmenu, accountToRigntPanel, getMidmenuId, false);
listMidMenuItems("listAccounts", "listaccountsresponse", "account", "jsp/account.jsp", afterLoadAccountJSP, accountToMidmenu, accountToRightPanel, getMidmenuId, false);
return false;
});
$("#leftmenu_events").bind("click", function(event) {
@ -70,17 +70,17 @@ $(document).ready(function() {
bindAndListMidMenuItems($("#leftmenu_volume"), "listVolumes", "listvolumesresponse", "volume", "jsp/volume.jsp", afterLoadVolumeJSP, volumeToMidmenu, volumeToRigntPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_snapshot"), "listSnapshots", "listsnapshotsresponse", "snapshot", "jsp/snapshot.jsp", afterLoadSnapshotJSP, snapshotToMidmenu, snapshotToRigntPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses", "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRigntPanel, ipGetMidmenuId, false);
//bindAndListMidMenuItems("leftmenu_router", "listRouters", "listroutersresponse", "router", "jsp/router.jsp", afterLoadRouterJSP, routerToMidmenu, routerToRigntPanel, getMidmenuId, false);
//bindAndListMidMenuItems("leftmenu_router", "listRouters", "listroutersresponse", "router", "jsp/router.jsp", afterLoadRouterJSP, routerToMidmenu, routerToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_my_template"), "listTemplates&templatefilter=self", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRigntPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_featured_template"), "listTemplates&templatefilter=featured", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRigntPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_community_template"), "listTemplates&templatefilter=community", "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRigntPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_my_iso"), "listIsos&isofilter=self", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRigntPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_featured_iso"), "listIsos&isofilter=featured", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRigntPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_community_iso"), "listIsos&isofilter=community", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRigntPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_my_iso"), "listIsos&isofilter=self", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_featured_iso"), "listIsos&isofilter=featured", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_community_iso"), "listIsos&isofilter=community", "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_service_offering"), "listServiceOfferings", "listserviceofferingsresponse", "serviceoffering", "jsp/serviceoffering.jsp", afterLoadServiceOfferingJSP, serviceOfferingToMidmenu, serviceOfferingToRigntPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_service_offering"), "listServiceOfferings", "listserviceofferingsresponse", "serviceoffering", "jsp/serviceoffering.jsp", afterLoadServiceOfferingJSP, serviceOfferingToMidmenu, serviceOfferingToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_disk_offering"), "listDiskOfferings", "listdiskofferingsresponse", "diskoffering", "jsp/diskoffering.jsp", afterLoadDiskOfferingJSP, diskOfferingToMidmenu, diskOfferingToRigntPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_global_setting"), "listConfigurations", "listconfigurationsresponse", "configuration", "jsp/globalsetting.jsp", afterLoadGlobalSettingJSP, globalSettingToMidmenu, globalSettingToRigntPanel, globalSettingGetMidmenuId, false);

View File

@ -1209,16 +1209,16 @@ function vmToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.data("toRightPanelFn", vmToRightPanel);
}
function vmToRightPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
function vmToRightPanel($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var vmName = getVmName(jsonObj.name, jsonObj.displayname);
$("right_panel_header").find("#vm_name").text(vmName);
var $rightPanelContent = $("#right_panel_content");
if($midmenuItem.find("#info_icon").css("display") != "none") {
$rightPanelContent.find("#after_action_info").text($midmenuItem.data("afterActionInfo"));
if($midmenuItem.find("#info_icon").hasClass("error"))
if($midmenuItem1.find("#info_icon").css("display") != "none") {
$rightPanelContent.find("#after_action_info").text($midmenuItem1.data("afterActionInfo"));
if($midmenuItem1.find("#info_icon").hasClass("error"))
$rightPanelContent.find("#after_action_info_container").addClass("errorbox");
else
$rightPanelContent.find("#after_action_info_container").removeClass("errorbox");
@ -1229,14 +1229,15 @@ function vmToRightPanel($midmenuItem) {
$rightPanelContent.find("#after_action_info_container").hide();
}
vmJsonToDetailsTab(jsonObj, $midmenuItem);
vmJsonToDetailsTab($midmenuItem1);
vmJsonToVolumeTab(jsonObj);
if (isAdmin() || isDomainAdmin())
vmJsonToRouterTab(jsonObj);
}
function vmJsonToDetailsTab(jsonObj, $midmenuItem){
function vmJsonToDetailsTab($midmenuItem1){
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);

View File

@ -59,9 +59,9 @@ function afterLoadIpJSP() {
data: createURL("command=associateIpAddress&zoneid="+zoneid),
dataType: "json",
success: function(json) {
var items = json.associateipaddressresponse.publicipaddress;
var item = json.associateipaddressresponse;
//$("#dialog_info").html("<p>The IP address <b>"+items[0].ipaddress+"</b> has been assigned to your account</p>").dialog("open");
ipToMidmenu(items[0], $midmenuItem1);
ipToMidmenu(item, $midmenuItem1);
bindClickToMidMenu($midmenuItem1, ipToRigntPanel, ipGetMidmenuId);
afterAddingMidMenuItem($midmenuItem1, true);
@ -213,7 +213,7 @@ function ipToRigntPanel($midmenuItem1) {
var ipObj = $midmenuItem1.data("jsonObj");
//Details tab
ipJsonToDetailsTab(ipObj);
ipJsonToDetailsTab($midmenuItem1);
//Port Forwarding tab, Load Balancer tab
if(isIpManageable(ipObj.domainid, ipObj.account) == true) {
@ -238,7 +238,8 @@ function ipClearRightPanel() {
}
//***** Details tab (begin) ****************************************************************************************************************
function ipJsonToDetailsTab(ipObj) {
function ipJsonToDetailsTab($midmenuItem1) {
var ipObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", ipObj);
@ -256,10 +257,9 @@ function ipJsonToDetailsTab(ipObj) {
var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
$actionMenu.find("#action_list").empty();
var noAvailableActions = true;
var midmenuItemId = ipGetMidmenuId(ipObj);
if(isIpManageable(ipObj.domainid, ipObj.account) == true && ipObj.issourcenat != "true") {
buildActionLinkForDetailsTab("Release IP", ipActionMap, $actionMenu, midmenuItemId);
buildActionLinkForDetailsTab("Release IP", ipActionMap, $actionMenu, $midmenuItem1);
noAvailableActions = false;
}
@ -310,8 +310,7 @@ var ipActionMap = {
isAsyncJob: false,
dialogBeforeActionFn : doReleaseIp,
inProcessText: "Releasing IP....",
afterActionSeccessFn: function(ipaddress) {
var $midmenuItem1 = $("#"+ipGetMidmenuId2(ipaddress));
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.remove();
clearRightPanel();
ipClearRightPanel();
@ -319,7 +318,7 @@ var ipActionMap = {
}
}
function doReleaseIp($actionLink, $detailsTab, midmenuItemId) {
function doReleaseIp($actionLink, $detailsTab, $midmenuItem1) {
var $detailsTab = $("#right_panel_content #tab_content_details");
var jsonObj = $detailsTab.data("jsonObj");
var ipaddress = jsonObj.ipaddress;
@ -329,7 +328,7 @@ function doReleaseIp($actionLink, $detailsTab, midmenuItemId) {
"Confirm": function() {
$(this).dialog("close");
var apiCommand = "command=disassociateIpAddress&ipaddress="+ipaddress;
doActionToDetailsTab(ipaddress, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(ipaddress, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");

View File

@ -58,14 +58,14 @@ function afterLoadIsoJSP() {
success: function(json) {
var items = json.registerisoresponse.iso;
isoToMidmenu(items[0], $midmenuItem1);
bindClickToMidMenu($midmenuItem1, isoToRigntPanel, isoGetMidmenuId);
bindClickToMidMenu($midmenuItem1, isoToRightPanel, isoGetMidmenuId);
afterAddingMidMenuItem($midmenuItem1, true);
if(items.length > 1) {
for(var i=1; i<items.length; i++) {
var $midmenuItem2 = $("#midmenu_item").clone();
isoToMidmenu(items[i], $midmenuItem2);
bindClickToMidMenu($midmenuItem2, isoToRigntPanel, isoGetMidmenuId);
bindClickToMidMenu($midmenuItem2, isoToRightPanel, isoGetMidmenuId);
$("#midmenu_container").append($midmenuItem2.show());
}
}
@ -169,12 +169,12 @@ function isoToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(fromdb(jsonObj.zonename).substring(0,25));
}
function isoToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
isoJsonToDetailsTab(jsonObj);
function isoToRightPanel($midmenuItem1) {
isoJsonToDetailsTab($midmenuItem1);
}
function isoJsonToDetailsTab(jsonObj) {
function isoJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(fromdb(jsonObj.id));
@ -208,16 +208,14 @@ function isoJsonToDetailsTab(jsonObj) {
$actionMenu.find("#action_list").empty();
var noAvailableActions = true;
var midmenuId = isoGetMidmenuId(jsonObj);
// "Edit", "Copy", "Create VM"
if ((isUser() && jsonObj.ispublic == "true" && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account)) || jsonObj.isready == "false") {
//$("#edit_button").hide();
}
else {
buildActionLinkForDetailsTab("Edit ISO", isoActionMap, $actionMenu, midmenuId);
buildActionLinkForDetailsTab("Edit ISO", isoActionMap, $actionMenu, $midmenuItem1);
//$("#edit_button").show();
buildActionLinkForDetailsTab("Copy ISO", isoActionMap, $actionMenu, midmenuId);
buildActionLinkForDetailsTab("Copy ISO", isoActionMap, $actionMenu, $midmenuItem1);
noAvailableActions = false;
}
@ -225,7 +223,7 @@ function isoJsonToDetailsTab(jsonObj) {
if (((isUser() && jsonObj.ispublic == "true" && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account)) || jsonObj.isready == "false") || (jsonObj.bootable == "false")) {
}
else {
buildActionLinkForDetailsTab("Create VM", isoActionMap, $actionMenu, midmenuId);
buildActionLinkForDetailsTab("Create VM", isoActionMap, $actionMenu, $midmenuItem1);
noAvailableActions = false;
}
@ -233,7 +231,7 @@ function isoJsonToDetailsTab(jsonObj) {
if (((isUser() && jsonObj.ispublic == "true" && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account))) || (jsonObj.isready == "false" && jsonObj.isostatus != null && jsonObj.isostatus.indexOf("% Downloaded") != -1)) {
}
else {
buildActionLinkForDetailsTab("Delete ISO", isoActionMap, $actionMenu, midmenuId);
buildActionLinkForDetailsTab("Delete ISO", isoActionMap, $actionMenu, $midmenuItem1);
noAvailableActions = false;
}
@ -276,8 +274,7 @@ var isoActionMap = {
asyncJobResponse: "deleteisosresponse",
dialogBeforeActionFn : doDeleteIso,
inProcessText: "Deleting ISO....",
afterActionSeccessFn: function(json, id, midmenuItemId){
var $midmenuItem1 = $("#"+midmenuItemId);
afterActionSeccessFn: function(json, $midmenuItem1, id){
$midmenuItem1.remove();
clearRightPanel();
isoClearRightPanel();
@ -288,7 +285,7 @@ var isoActionMap = {
asyncJobResponse: "copyisoresponse",
dialogBeforeActionFn : doCopyIso,
inProcessText: "Copying ISO....",
afterActionSeccessFn: function(json, id, midmenuItemId){}
afterActionSeccessFn: function(json, $midmenuItem1, id){}
}
,
"Create VM": {
@ -296,12 +293,12 @@ var isoActionMap = {
asyncJobResponse: "deployvirtualmachineresponse",
dialogBeforeActionFn : doCreateVMFromIso,
inProcessText: "Creating VM....",
afterActionSeccessFn: function(json, id, midmenuItemId){}
afterActionSeccessFn: function(json, $midmenuItem1, id){}
}
}
function doEditISO() {
var $detailsTab = $("#right_panel_content #tab_content_details");
function doEditISO($actionLink, $detailsTab, $midmenuItem1) {
//var $detailsTab = $("#right_panel_content #tab_content_details");
var $readonlyFields = $detailsTab.find("#name, #displaytext");
var $editFields = $detailsTab.find("#name_edit, #displaytext_edit");
@ -316,7 +313,7 @@ function doEditISO() {
return false;
});
$detailsTab.find("#save_button").unbind("click").bind("click", function(event){
doEditISO2($detailsTab);
doEditISO2($actionLink, $detailsTab, $midmenuItem1);
$editFields.hide();
$readonlyFields.show();
$("#save_button, #cancel_button").hide();
@ -324,8 +321,8 @@ function doEditISO() {
});
}
function doEditISO2($detailsTab) {
var $detailsTab = $("#right_panel_content #tab_content_details");
function doEditISO2($actionLink, $detailsTab, $midmenuItem1) {
//var $detailsTab = $("#right_panel_content #tab_content_details");
// validate values
var isValid = true;
@ -336,7 +333,7 @@ function doEditISO2($detailsTab) {
var jsonObj = $detailsTab.data("jsonObj");
var id = jsonObj.id;
var midmenuId = isoGetMidmenuId(jsonObj);
//var midmenuId = isoGetMidmenuId(jsonObj);
var name = trim($detailsTab.find("#name_edit").val());
var displaytext = trim($detailsTab.find("#displaytext_edit").val());
@ -346,13 +343,13 @@ function doEditISO2($detailsTab) {
dataType: "json",
success: function(json) {
var jsonObj = json.updateisoresponse;
isoToMidmenu(jsonObj, $("#"+midmenuId));
isoJsonToDetailsTab(jsonObj);
isoToMidmenu(jsonObj, $midmenuItem1);
isoJsonToDetailsTab($midmenuItem1);
}
});
}
function doDeleteIso($actionLink, $detailsTab, midmenuItemId) {
function doDeleteIso($actionLink, $detailsTab, $midmenuItem1) {
var $detailsTab = $("#right_panel_content #tab_content_details");
var jsonObj = $detailsTab.data("jsonObj");
var id = jsonObj.id;
@ -374,7 +371,7 @@ function doDeleteIso($actionLink, $detailsTab, midmenuItemId) {
"Confirm": function() {
$(this).dialog("close");
var apiCommand = "command=deleteIso&id="+id+moreCriteria.join("");
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -392,7 +389,7 @@ function populateZoneFieldExcludeSourceZone(zoneField, excludeZoneId) {
}
}
function doCopyIso($actionLink, $detailsTab, midmenuItemId) {
function doCopyIso($actionLink, $detailsTab, $midmenuItem1) {
var jsonObj = $detailsTab.data("jsonObj");
var id = jsonObj.id;
var name = jsonObj.name;
@ -412,7 +409,7 @@ function doCopyIso($actionLink, $detailsTab, midmenuItemId) {
var destZoneId = thisDialog.find("#copy_iso_zone").val();
var apiCommand = "command=copyIso&id="+id+"&sourcezoneid="+sourceZoneId+"&destzoneid="+destZoneId;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -420,7 +417,7 @@ function doCopyIso($actionLink, $detailsTab, midmenuItemId) {
}).dialog("open");
}
function doCreateVMFromIso($actionLink, $detailsTab, midmenuItemId) {
function doCreateVMFromIso($actionLink, $detailsTab, $midmenuItem1) {
var jsonObj = $detailsTab.data("jsonObj");
var id = jsonObj.id;
var name = jsonObj.name;
@ -453,7 +450,7 @@ function doCreateVMFromIso($actionLink, $detailsTab, midmenuItemId) {
array1.push("&hypervisor="+hypervisor);
var apiCommand = "command=deployVirtualMachine&zoneId="+zoneId+"&templateId="+id+array1.join("");
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");

View File

@ -17,7 +17,7 @@
*/
//***** actions for details tab in right panel (begin) ************************************************************************
function buildActionLinkForDetailsTab(label, actionMap, $actionMenu, midmenuItemId, $detailsTab) {
function buildActionLinkForDetailsTab(label, actionMap, $actionMenu, $midmenuItem1, $detailsTab) {
var apiInfo = actionMap[label];
var $listItem = $("#action_list_item").clone();
$actionMenu.find("#action_list").append($listItem.show());
@ -41,16 +41,16 @@ function buildActionLinkForDetailsTab(label, actionMap, $actionMenu, midmenuItem
var dialogBeforeActionFn = $actionLink.data("dialogBeforeActionFn");
if(dialogBeforeActionFn == null) {
var apiCommand = "command="+$actionLink.data("api")+"&id="+id;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
}
else {
dialogBeforeActionFn($actionLink, $detailsTab, midmenuItemId);
dialogBeforeActionFn($actionLink, $detailsTab, $midmenuItem1);
}
return false;
});
}
function doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId) {
function doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1) {
var label = $actionLink.data("label");
var inProcessText = $actionLink.data("inProcessText");
var isAsyncJob = $actionLink.data("isAsyncJob");
@ -88,7 +88,7 @@ function doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId) {
if (result.jobstatus == 1) { // Succeeded
$("#right_panel_content #after_action_info").text(label + " action succeeded.");
$("#right_panel_content #after_action_info_container").removeClass("errorbox").show();
afterActionSeccessFn(json, id, midmenuItemId);
afterActionSeccessFn(json, $midmenuItem1, id);
} else if (result.jobstatus == 2) { // Failed
$("#right_panel_content #after_action_info").text(label + " action failed. Reason: " + fromdb(result.jobresult));
$("#right_panel_content #after_action_info_container").addClass("errorbox").show();
@ -121,7 +121,7 @@ function doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId) {
$spinningWheel.hide();
$("#right_panel_content #after_action_info").text(label + " action succeeded.");
$("#right_panel_content #after_action_info_container").removeClass("errorbox").show();
afterActionSeccessFn(json, id, midmenuItemId);
afterActionSeccessFn(json, $midmenuItem1, id);
},
error: function(XMLHttpResponse) {
handleErrorInDetailsTab(XMLHttpResponse, $detailsTab, label);

View File

@ -73,30 +73,30 @@ function buildZoneTree() {
case "zone_name_label":
case "zone_name":
selectTreeNodeInLeftMenu(target.parent().parent().parent());
var jsonObj = target.parent().parent().parent().parent().data("jsonObj");
showPage($("#zone_page"), jsonObj);
selectTreeNodeInLeftMenu(target.parent().parent().parent());
var $leftmenuItem1 = target.parent().parent().parent().parent();
showPage($("#zone_page"), $leftmenuItem1);
break;
case "pod_name_label" :
case "pod_name" :
selectTreeNodeInLeftMenu(target.parent().parent().parent());
var jsonObj = target.parent().parent().parent().parent().data("jsonObj");
showPage($("#pod_page"), jsonObj);
var $leftmenuItem1 = target.parent().parent().parent().parent();
showPage($("#pod_page"), $leftmenuItem1);
break;
case "cluster_name_label" :
case "cluster_name" :
selectTreeNodeInLeftMenu(target.parent().parent().parent());
var jsonObj = target.parent().parent().parent().parent().data("jsonObj");
showPage($("#cluster_page"), jsonObj);
selectTreeNodeInLeftMenu(target.parent().parent().parent());
var $leftmenuItem1 = target.parent().parent().parent().parent();
showPage($("#cluster_page"), $leftmenuItem1);
break;
case "systemvm_name_label" :
case "systemvm_name" :
selectTreeNodeInLeftMenu(target.parent().parent().parent());
var jsonObj = target.parent().parent().parent().parent().data("jsonObj");
showPage($("#systemvm_page"), jsonObj);
selectTreeNodeInLeftMenu(target.parent().parent().parent());
var $leftmenuItem1 = target.parent().parent().parent().parent();
showPage($("#systemvm_page"), $leftmenuItem1);
break;
default:
@ -202,18 +202,24 @@ function clusterJSONToTreeNode(json, $clusterNode) {
clusterName.data("jsonObj", json);
}
function showPage($pageToShow, jsonObj) {
if($pageToShow.length == 0) { //resource.jsp is not loaded in right panel
$("#right_panel").load("jsp/resource.jsp", function(){
showPage2($($pageToShow.selector), jsonObj); //$pageToShow is still empty (i.e. $pageToShow.length == 0), So, select the element again.
//$menuItem1 is either $leftmenuItem1 or $midmenuItem1
function showPage($pageToShow, $menuItem1) {
if($pageToShow.length == 0) { //resource.jsp is not loaded in right panel
$("#right_panel").load("jsp/resource.jsp", function(){
showPage2($($pageToShow.selector), $menuItem1); //$pageToShow is still empty (i.e. $pageToShow.length == 0), So, select the element again.
});
}
else {
showPage2($pageToShow, jsonObj);
showPage2($pageToShow, $menuItem1);
}
}
function showPage2($pageToShow, jsonObj) {
//$menuItem1 is either $leftmenuItem1 or $midmenuItem1
function showPage2($pageToShow, $menuItem1) {
var jsonObj;
if($menuItem1 != null)
jsonObj = $menuItem1.data("jsonObj");
var pageArray = [$("#resource_page"), $("#zone_page"), $("#pod_page"), $("#cluster_page"), $("#host_page"), $("#primarystorage_page"), $("#systemvm_page")];
var pageLabelArray = ["Resource", "Zone", "Pod", "Cluster", "Host", "Primary Storage", "System VM"];
@ -257,7 +263,7 @@ function showPage2($pageToShow, jsonObj) {
$zonePage.find("#tab_details").click();
hideMiddleMenu();
zoneJsonToRightPanel(jsonObj);
zoneJsonToRightPanel($menuItem1);
}
else if($pageToShow.attr("id") == "pod_page") {
initDialog("dialog_add_host");
@ -272,24 +278,24 @@ function showPage2($pageToShow, jsonObj) {
bindEventHandlerToDialogAddPool();
showMiddleMenu();
podJsonToDetailsTab(jsonObj);
podJsonToRightPanel($menuItem1);
var podId = jsonObj.id;
$("#midmenu_container").empty();
listMidMenuItems2(("listHosts&type=Routing&podid="+podId), "listhostsresponse", "host", hostToMidmenu, hostToRigntPanel, hostGetMidmenuId, false, false);
listMidMenuItems2(("listStoragePools&podid="+podId), "liststoragepoolsresponse", "storagepool", primarystorageToMidmenu, primarystorageToRigntPanel, primarystorageGetMidmenuId, false, false);
listMidMenuItems2(("listHosts&type=Routing&podid="+podId), "listhostsresponse", "host", hostToMidmenu, hostToRightPanel, hostGetMidmenuId, false, false);
listMidMenuItems2(("listStoragePools&podid="+podId), "liststoragepoolsresponse", "storagepool", primarystorageToMidmenu, primarystorageToRightPanel, primarystorageGetMidmenuId, false, false);
}
else if($pageToShow.attr("id") == "cluster_page") {
$("#midmenu_add_link").unbind("click").hide();
$("#midmenu_add2_link").unbind("click").hide();
showMiddleMenu();
clusterJsonToDetailsTab(jsonObj);
clusterJsonToRightPanel($menuItem1);
var clusterId = jsonObj.id;
$("#midmenu_container").empty();
listMidMenuItems2(("listHosts&type=Routing&clusterid="+clusterId), "listhostsresponse", "host", hostToMidmenu, hostToRigntPanel, hostGetMidmenuId, false, true);
listMidMenuItems2(("listStoragePools&clusterid="+clusterId), "liststoragepoolsresponse", "storagepool", primarystorageToMidmenu, primarystorageToRigntPanel, primarystorageGetMidmenuId, false, false);
listMidMenuItems2(("listHosts&type=Routing&clusterid="+clusterId), "listhostsresponse", "host", hostToMidmenu, hostToRightPanel, hostGetMidmenuId, false, true);
listMidMenuItems2(("listStoragePools&clusterid="+clusterId), "liststoragepoolsresponse", "storagepool", primarystorageToMidmenu, primarystorageToRightPanel, primarystorageGetMidmenuId, false, false);
}
else if($pageToShow.attr("id") == "host_page") {
$("#midmenu_add_link").unbind("click").hide();
@ -312,7 +318,7 @@ function showPage2($pageToShow, jsonObj) {
$("#midmenu_add2_link").unbind("click").hide();
hideMiddleMenu();
systemvmJsonToDetailsTab(jsonObj);
systemvmJsonToRightPanel($menuItem1);
}
}
@ -321,19 +327,22 @@ function zoneGetLeftmenuId(jsonObj) {
return "zone_" + jsonObj.id;
}
function zoneJsonToRightPanel(jsonObj) {
zoneJsonToDetailsTab(jsonObj);
function zoneJsonToRightPanel($leftmenuItem1) {
zoneJsonToDetailsTab($leftmenuItem1);
var jsonObj = $leftmenuItem1.data("jsonObj");
zoneJsonToNetworkTab(jsonObj);
zoneJsonToSecondaryStorageTab(jsonObj);
}
function zoneJsonClearRightPanel(jsonObj) {
zoneJsonClearDetailsTab(jsonObj);
function zoneJsonClearRightPanel($leftmenuItem1) {
zoneJsonClearDetailsTab($leftmenuItem1);
var jsonObj = $leftmenuItem1.data("jsonObj");
zoneJsonClearNetworkTab(jsonObj);
zoneJsonClearSecondaryStorageTab(jsonObj);
}
function zoneJsonToDetailsTab(jsonObj) {
function zoneJsonToDetailsTab($leftmenuItem1) {
var jsonObj = $leftmenuItem1.data("jsonObj");
var $detailsTab = $("#zone_page").find("#tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(jsonObj.id);
@ -357,8 +366,7 @@ function zoneJsonToDetailsTab(jsonObj) {
});
var $actionMenu = $detailsTab.find("#action_link #action_menu");
$actionMenu.find("#action_list").empty();
var midmenuItemId = zoneGetLeftmenuId(jsonObj);
buildActionLinkForDetailsTab("Delete Zone", zoneActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Delete Zone", zoneActionMap, $actionMenu, $leftmenuItem1, $detailsTab);
}
function zoneJsonClearDetailsTab(jsonObj) {
@ -453,11 +461,12 @@ function podGetLeftmenuId(jsonObj) {
return "pod_" + jsonObj.id;
}
function podJsonToRightPanel(jsonObj) {
podJsonToDetailsTab(jsonObj);
function podJsonToRightPanel($leftmenuItem1) {
podJsonToDetailsTab($leftmenuItem1);
}
function podJsonToDetailsTab(jsonObj) {
function podJsonToDetailsTab($leftmenuItem1) {
var jsonObj = $leftmenuItem1.data("jsonObj");
var $detailsTab = $("#pod_page").find("#tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(fromdb(jsonObj.id));
@ -477,9 +486,8 @@ function podJsonToDetailsTab(jsonObj) {
return false;
});
var $actionMenu = $detailsTab.find("#action_link #action_menu");
$actionMenu.find("#action_list").empty();
var midmenuItemId = podGetLeftmenuId(jsonObj);
buildActionLinkForDetailsTab("Delete Pod", podActionMap, $actionMenu, midmenuItemId, $detailsTab);
$actionMenu.find("#action_list").empty();
buildActionLinkForDetailsTab("Delete Pod", podActionMap, $actionMenu, $leftmenuItem1, $detailsTab);
}
function podJsonClearRightPanel(jsonObj) {
@ -512,7 +520,12 @@ function getIpRange(startip, endip) {
//***** pod page (end) ********************************************************************************************************
//***** cluster page (bgein) **************************************************************************************************
function clusterJsonToDetailsTab(jsonObj) {
function clusterJsonToRightPanel($leftmenuItem1) {
clusterJsonToDetailsTab($leftmenuItem1);
}
function clusterJsonToDetailsTab($leftmenuItem1) {
var jsonObj = $leftmenuItem1.data("jsonObj");
var $detailsTab = $("#cluster_page").find("#tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(fromdb(jsonObj.id));
@ -536,13 +549,13 @@ function hostToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(jsonObj.ipaddress.substring(0,25));
}
function hostToRigntPanel($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
hostJsonToDetailsTab(jsonObj);
showPage($("#host_page"), jsonObj);
function hostToRightPanel($midmenuItem1) {
hostJsonToDetailsTab($midmenuItem1);
showPage($("#host_page"), $midmenuItem1);
}
function hostJsonToDetailsTab(jsonObj) {
function hostJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#host_page").find("#tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(fromdb(jsonObj.id));
@ -572,46 +585,44 @@ function hostJsonToDetailsTab(jsonObj) {
$actionMenu.find("#action_list").empty();
var noAvailableActions = true;
var midmenuItemId = hostGetMidmenuId(jsonObj);
//when right panel has more than 1 details tab, we need to specify which details tab to build action link on by passing $detailsTab to buildActionLinkForDetailsTab(~, ~, ~, ~, $detailsTab)
if (jsonObj.state == 'Up' || jsonObj.state == "Connecting") {
buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Force Reconnect", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Force Reconnect", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
noAvailableActions = false;
}
else if(jsonObj.state == 'Down') {
buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Remove Host", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Remove Host", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
noAvailableActions = false;
}
else if(jsonObj.state == "Alert") {
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
noAvailableActions = false;
}
else if (jsonObj.state == "ErrorInMaintenance") {
buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Cancel Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Cancel Maintenance Mode", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
noAvailableActions = false;
}
else if (jsonObj.state == "PrepareForMaintenance") {
buildActionLinkForDetailsTab("Cancel Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Cancel Maintenance Mode", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
noAvailableActions = false;
}
else if (jsonObj.state == "Maintenance") {
buildActionLinkForDetailsTab("Cancel Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Remove Host", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Cancel Maintenance Mode", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Remove Host", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
noAvailableActions = false;
}
else if (jsonObj.state == "Disconnected"){
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Remove Host", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Remove Host", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
noAvailableActions = false;
}
else {
@ -620,11 +631,11 @@ function hostJsonToDetailsTab(jsonObj) {
//temporary for testing (begin) *****
/*
buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Cancel Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Force Reconnect", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Remove Host", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, midmenuItemId, $detailsTab);
buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Cancel Maintenance Mode", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Force Reconnect", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Remove Host", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
buildActionLinkForDetailsTab("Update OS Preference", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab);
noAvailableActions = false;
*/
//temporary for testing (begin) *****
@ -673,13 +684,13 @@ function primarystorageToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(jsonObj.ipaddress.substring(0,25));
}
function primarystorageToRigntPanel($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
primarystorageJsonToDetailsTab(jsonObj);
showPage($("#primarystorage_page"), jsonObj);
function primarystorageToRightPanel($midmenuItem1) {
primarystorageJsonToDetailsTab($midmenuItem1);
showPage($("#primarystorage_page"), $midmenuItem1);
}
function primarystorageJsonToDetailsTab(jsonObj) {
function primarystorageJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#primarystorage_page").find("#tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(fromdb(jsonObj.id));
@ -705,9 +716,8 @@ function primarystorageJsonToDetailsTab(jsonObj) {
return false;
});
var $actionMenu = $detailsTab.find("#action_link #action_menu");
$actionMenu.find("#action_list").empty();
var midmenuItemId = primarystorageGetMidmenuId(jsonObj);
buildActionLinkForDetailsTab("Delete Primary Storage", primarystorageActionMap, $actionMenu, midmenuItemId, $detailsTab);
$actionMenu.find("#action_list").empty();
buildActionLinkForDetailsTab("Delete Primary Storage", primarystorageActionMap, $actionMenu, $midmenuItem1, $detailsTab);
}
function primarystorageClearRigntPanel() {
@ -731,7 +741,12 @@ function primarystorageJsonClearDetailsTab() {
//***** primary storage page (end) *********************************************************************************************
//***** systemVM page (begin) *************************************************************************************************
function systemvmJsonToDetailsTab(jsonObj) {
function systemvmJsonToRightPanel($leftmenuItem1) {
systemvmJsonToDetailsTab($leftmenuItem1);
}
function systemvmJsonToDetailsTab($leftmenuItem1) {
var jsonObj = $leftmenuItem1.data("jsonObj");
var $detailsTab = $("#systemvm_page").find("#tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
@ -1263,14 +1278,14 @@ function initAddHostButton($midmenuAddLink1) {
success: function(json) {
var items = json.addhostresponse.host;
hostToMidmenu(items[0], $midmenuItem1);
bindClickToMidMenu($midmenuItem1, hostToRigntPanel, hostGetMidmenuId);
bindClickToMidMenu($midmenuItem1, hostToRightPanel, hostGetMidmenuId);
afterAddingMidMenuItem($midmenuItem1, true);
if(items.length > 1) {
for(var i=1; i<items.length; i++) {
var $midmenuItem2 = $("#midmenu_item").clone();
hostToMidmenu(items[i], $midmenuItem2);
bindClickToMidMenu($midmenuItem2, hostToRigntPanel, hostGetMidmenuId);
bindClickToMidMenu($midmenuItem2, hostToRightPanel, hostGetMidmenuId);
$("#midmenu_container").append($midmenuItem2.show());
}
}
@ -1376,7 +1391,7 @@ function initAddPrimaryStorageButton($midmenuAddLink2) {
success: function(json) {
var item = json.createstoragepoolresponse;
primarystorageToMidmenu(item, $midmenuItem1);
bindClickToMidMenu($midmenuItem1, primarystorageToRigntPanel, primarystorageGetMidmenuId);
bindClickToMidMenu($midmenuItem1, primarystorageToRightPanel, primarystorageGetMidmenuId);
afterAddingMidMenuItem($midmenuItem1, true);
},
error: function(XMLHttpResponse) {
@ -1504,7 +1519,7 @@ var hostActionMap = {
asyncJobResponse: "preparehostformaintenanceresponse",
dialogBeforeActionFn : doEnableMaintenanceMode,
inProcessText: "Enabling Maintenance Mode....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
afterActionSeccessFn: function(json, $midmenuItem1, id) {
hostJsonToDetailsTab(json.queryasyncjobresultresponse.host[0], $("#right_panel_content #host_page #tab_content_details"));
$("#right_panel_content #after_action_info").text("We are actively enabling maintenance on your host. Please refresh periodically for an updated status.");
}
@ -1514,7 +1529,7 @@ var hostActionMap = {
asyncJobResponse: "cancelhostmaintenanceresponse",
dialogBeforeActionFn : doCancelMaintenanceMode,
inProcessText: "Cancelling Maintenance Mode....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
afterActionSeccessFn: function(json, $midmenuItem1, id) {
hostJsonToDetailsTab(json.queryasyncjobresultresponse.host[0], $("#right_panel_content #host_page #tab_content_details"));
$("#right_panel_content #after_action_info").text("We are actively cancelling your scheduled maintenance. Please refresh periodically for an updated status.");
}
@ -1524,7 +1539,7 @@ var hostActionMap = {
asyncJobResponse: "reconnecthostresponse",
dialogBeforeActionFn : doForceReconnect,
inProcessText: "Reconnecting....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
afterActionSeccessFn: function(json, $midmenuItem1, id) {
hostJsonToDetailsTab(json.queryasyncjobresultresponse.host[0], $("#right_panel_content #host_page #tab_content_details"));
$("#right_panel_content #after_action_info").text("We are actively reconnecting your host. Please refresh periodically for an updated status.");
}
@ -1533,8 +1548,7 @@ var hostActionMap = {
isAsyncJob: false,
dialogBeforeActionFn : doRemoveHost,
inProcessText: "Removing Host....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
var $midmenuItem1 = $("#"+midmenuItemId);
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.remove();
clearRightPanel();
hostClearRightPanel();
@ -1544,22 +1558,21 @@ var hostActionMap = {
isAsyncJob: false,
dialogBeforeActionFn : doUpdateOSPreference,
inProcessText: "Updating OS Preference....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
afterActionSeccessFn: function(json, $midmenuItem1, id) {
//call listHosts API before bug 6650 ("updateHost API should return an embedded object like what listHosts API does") is fixed.
$.ajax({
data: createURL("command=listHosts&id="+id),
dataType: "json",
success: function(json) {
$midmenuItem1 = $("#"+midmenuItemId);
success: function(json) {
hostToMidmenu(json.listhostsresponse.host[0], $midmenuItem1);
hostToRigntPanel($midmenuItem1)
hostToRightPanel($midmenuItem1)
}
});
}
},
}
function doEnableMaintenanceMode($actionLink, $detailsTab, midmenuItemId){
function doEnableMaintenanceMode($actionLink, $detailsTab, $midmenuItem1){
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_confirmation_enable_maintenance")
@ -1568,7 +1581,7 @@ function doEnableMaintenanceMode($actionLink, $detailsTab, midmenuItemId){
$(this).dialog("close");
var id = jsonObj.id;
var apiCommand = "command=prepareHostForMaintenance&id="+id;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -1576,7 +1589,7 @@ function doEnableMaintenanceMode($actionLink, $detailsTab, midmenuItemId){
}).dialog("open");
}
function doCancelMaintenanceMode($actionLink, $detailsTab, midmenuItemId){
function doCancelMaintenanceMode($actionLink, $detailsTab, $midmenuItem1){
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_confirmation_cancel_maintenance")
@ -1585,7 +1598,7 @@ function doCancelMaintenanceMode($actionLink, $detailsTab, midmenuItemId){
$(this).dialog("close");
var id = jsonObj.id;
var apiCommand = "command=cancelHostMaintenance&id="+id;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -1593,7 +1606,7 @@ function doCancelMaintenanceMode($actionLink, $detailsTab, midmenuItemId){
}).dialog("open");
}
function doForceReconnect($actionLink, $detailsTab, midmenuItemId){
function doForceReconnect($actionLink, $detailsTab, $midmenuItem1){
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_confirmation_force_reconnect")
@ -1602,7 +1615,7 @@ function doForceReconnect($actionLink, $detailsTab, midmenuItemId){
$(this).dialog("close");
var id = jsonObj.id;
var apiCommand = "command=reconnectHost&id="+id;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -1610,7 +1623,7 @@ function doForceReconnect($actionLink, $detailsTab, midmenuItemId){
}).dialog("open");
}
function doRemoveHost($actionLink, $detailsTab, midmenuItemId){
function doRemoveHost($actionLink, $detailsTab, $midmenuItem1){
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_confirmation_remove_host")
@ -1619,7 +1632,7 @@ function doRemoveHost($actionLink, $detailsTab, midmenuItemId){
$(this).dialog("close");
var id = jsonObj.id;
var apiCommand = "command=deleteHost&id="+id;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -1627,7 +1640,7 @@ function doRemoveHost($actionLink, $detailsTab, midmenuItemId){
}).dialog("open");
}
function doUpdateOSPreference($actionLink, $detailsTab, midmenuItemId){
function doUpdateOSPreference($actionLink, $detailsTab, $midmenuItem1){
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_update_os")
@ -1643,7 +1656,7 @@ function doUpdateOSPreference($actionLink, $detailsTab, midmenuItemId){
var id = jsonObj.id;
var apiCommand = "command=updateHost&id="+id+category;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -1656,8 +1669,7 @@ var primarystorageActionMap = {
isAsyncJob: false,
dialogBeforeActionFn : doDeletePrimaryStorage,
inProcessText: "Deleting Primary Storage....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
var $midmenuItem1 = $("#"+midmenuItemId);
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.remove();
clearRightPanel();
primarystorageClearRightPanel();
@ -1665,7 +1677,7 @@ var primarystorageActionMap = {
}
}
function doDeletePrimaryStorage($actionLink, $detailsTab, midmenuItemId){
function doDeletePrimaryStorage($actionLink, $detailsTab, $midmenuItem1){
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_confirmation_delete_primarystorage")
@ -1674,7 +1686,7 @@ function doDeletePrimaryStorage($actionLink, $detailsTab, midmenuItemId){
$(this).dialog("close");
var id = jsonObj.id;
var apiCommand = "command=deleteStoragePool&id="+id;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");

View File

@ -29,18 +29,18 @@ function routerToMidmenu(jsonObj, $midmenuItem1) {
updateStateInMidMenu(jsonObj, $midmenuItem1);
}
function routerAfterDetailsTabAction(json, id, midmenuItemId) {
function routerAfterDetailsTabAction(json, $midmenuItem1, id) {
var jsonObj = json.queryasyncjobresultresponse.router[0];
routerToMidmenu(jsonObj, $("#"+midmenuItemId));
routerJsonToDetailsTab(jsonObj);
routerToMidmenu(jsonObj, $midmenuItem1);
routerJsonToDetailsTab($midmenuItem1);
}
function routerToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
routerJsonToDetailsTab(jsonObj);
function routerToRightPanel($midmenuItem1) {
routerJsonToDetailsTab($midmenuItem1);
}
function routerJsonToDetailsTab(jsonObj) {
function routerJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
setVmStateInRightPanel(jsonObj.state, $detailsTab.find("#state"));
@ -61,15 +61,14 @@ function routerJsonToDetailsTab(jsonObj) {
var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
$actionMenu.find("#action_list").empty();
var noAvailableActions = true;
var midmenuId = getMidmenuId(jsonObj);
if (jsonObj.state == 'Running') {
buildActionLinkForDetailsTab("Stop Router", routerActionMap, $actionMenu, midmenuId);
buildActionLinkForDetailsTab("Reboot Router", routerActionMap, $actionMenu, midmenuId);
buildActionLinkForDetailsTab("Stop Router", routerActionMap, $actionMenu, $midmenuItem1);
buildActionLinkForDetailsTab("Reboot Router", routerActionMap, $actionMenu, $midmenuItem1);
noAvailableActions = false;
}
else if (jsonObj.state == 'Stopped') {
buildActionLinkForDetailsTab("Start Router", routerActionMap, $actionMenu, midmenuId);
buildActionLinkForDetailsTab("Start Router", routerActionMap, $actionMenu, $midmenuItem1);
noAvailableActions = false;
}

View File

@ -97,7 +97,7 @@ function afterLoadServiceOfferingJSP() {
success: function(json) {
var item = json.createserviceofferingresponse;
serviceOfferingToMidmenu(item, $midmenuItem1);
bindClickToMidMenu($midmenuItem1, serviceOfferingToRigntPanel, getMidmenuId);
bindClickToMidMenu($midmenuItem1, serviceOfferingToRightPanel, getMidmenuId);
afterAddingMidMenuItem($midmenuItem1, true);
},
@ -141,7 +141,7 @@ function doUpdateServiceOffering() {
var jsonObj = json.updateserviceofferingresponse;
var $midmenuItem1 = $("#"+getMidmenuId(jsonObj));
serviceOfferingToMidmenu(jsonObj, $midmenuItem1);
serviceOfferingToRigntPanel($midmenuItem1);
serviceOfferingToRightPanel($midmenuItem1);
}
});
}
@ -157,12 +157,12 @@ function serviceOfferingToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(jsonObj.cpunumber + " x " + convertHz(jsonObj.cpuspeed));
}
function serviceOfferingToRigntPanel($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
serviceOfferingJsonToDetailsTab(jsonObj);
function serviceOfferingToRightPanel($midmenuItem1) {
serviceOfferingJsonToDetailsTab($midmenuItem1);
}
function serviceOfferingJsonToDetailsTab(jsonObj) {
function serviceOfferingJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(jsonObj.id);
@ -186,9 +186,8 @@ function serviceOfferingJsonToDetailsTab(jsonObj) {
//actions ***
var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
$actionMenu.find("#action_list").empty();
var midmenuItemId = getMidmenuId(jsonObj);
buildActionLinkForDetailsTab("Delete Service Offering", serviceOfferingActionMap, $actionMenu, midmenuItemId);
$actionMenu.find("#action_list").empty();
buildActionLinkForDetailsTab("Delete Service Offering", serviceOfferingActionMap, $actionMenu, $midmenuItem1);
}
function serviceOfferingClearRightPanel() {
@ -221,8 +220,8 @@ var serviceOfferingActionMap = {
api: "deleteServiceOffering",
isAsyncJob: false,
inProcessText: "Deleting service offering....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
$("#"+midmenuItemId).remove();
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.remove();
clearRightPanel();
serviceOfferingClearRightPanel();
}

View File

@ -58,12 +58,12 @@ function snapshotToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(fromdb(jsonObj.volumename).substring(0,25));
}
function snapshotToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
snapshotJsonToDetailsTab(jsonObj);
function snapshotToRigntPanel($midmenuItem1) {
snapshotJsonToDetailsTab($midmenuItem1);
}
function snapshotJsonToDetailsTab(jsonObj) {
function snapshotJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(jsonObj.id);
@ -76,11 +76,10 @@ function snapshotJsonToDetailsTab(jsonObj) {
//actions ***
var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
$actionMenu.find("#action_list").empty();
var midmenuItemId = getMidmenuId(jsonObj);
buildActionLinkForDetailsTab("Create Volume", snapshotActionMap, $actionMenu, midmenuItemId);
buildActionLinkForDetailsTab("Delete Snapshot", snapshotActionMap, $actionMenu, midmenuItemId);
buildActionLinkForDetailsTab("Create Template", snapshotActionMap, $actionMenu, midmenuItemId);
$actionMenu.find("#action_list").empty();
buildActionLinkForDetailsTab("Create Volume" , snapshotActionMap, $actionMenu, $midmenuItem1);
buildActionLinkForDetailsTab("Delete Snapshot", snapshotActionMap, $actionMenu, $midmenuItem1);
buildActionLinkForDetailsTab("Create Template", snapshotActionMap, $actionMenu, $midmenuItem1);
}
function snapshotClearRightPanel() {
@ -100,7 +99,7 @@ var snapshotActionMap = {
asyncJobResponse: "createvolumeresponse",
dialogBeforeActionFn : doCreateVolumeFromSnapshotInSnapshotPage,
inProcessText: "Creating Volume....",
afterActionSeccessFn: function(json, id, midmenuItemId) {}
afterActionSeccessFn: function(json, $midmenuItem1, id){}
}
,
"Delete Snapshot": {
@ -108,8 +107,8 @@ var snapshotActionMap = {
isAsyncJob: true,
asyncJobResponse: "deletesnapshotresponse",
inProcessText: "Deleting snapshot....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
$("#"+midmenuItemId).remove();
afterActionSeccessFn: function(json, $midmenuItem1, id){
$midmenuItem1.remove();
clearRightPanel();
snapshotClearRightPanel();
}
@ -120,11 +119,11 @@ var snapshotActionMap = {
asyncJobResponse: "createtemplateresponse",
dialogBeforeActionFn : doCreateTemplateFromSnapshotInSnapshotPage,
inProcessText: "Creating Template....",
afterActionSeccessFn: function(json, id, midmenuItemId) {}
afterActionSeccessFn: function(json, $midmenuItem1, id){}
}
}
function doCreateVolumeFromSnapshotInSnapshotPage($actionLink, $detailsTab, midmenuItemId){
function doCreateVolumeFromSnapshotInSnapshotPage($actionLink, $detailsTab, $midmenuItem1){
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_add_volume_from_snapshot")
@ -142,7 +141,7 @@ function doCreateVolumeFromSnapshotInSnapshotPage($actionLink, $detailsTab, midm
var id = jsonObj.id;
var apiCommand = "command=createVolume&snapshotid="+id+"&name="+name;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -150,7 +149,7 @@ function doCreateVolumeFromSnapshotInSnapshotPage($actionLink, $detailsTab, midm
}).dialog("open");
}
function doCreateTemplateFromSnapshotInSnapshotPage($actionLink, $detailsTab, midmenuItemId){
function doCreateTemplateFromSnapshotInSnapshotPage($actionLink, $detailsTab, $midmenuItem1){
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_create_template_from_snapshot")
@ -171,7 +170,7 @@ function doCreateTemplateFromSnapshotInSnapshotPage($actionLink, $detailsTab, mi
var id = jsonObj.id;
var apiCommand = "command=createTemplate&snapshotid="+id+"&name="+name+"&displaytext="+displayText+"&ostypeid="+osTypeId+"&passwordEnabled="+password;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");

View File

@ -225,12 +225,12 @@ function templateToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(fromdb(jsonObj.zonename).substring(0,25));
}
function templateToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
templateJsonToDetailsTab(jsonObj);
function templateToRigntPanel($midmenuItem1) {
templateJsonToDetailsTab($midmenuItem1);
}
function templateJsonToDetailsTab(jsonObj) {
function templateJsonToDetailsTab($midmenuItem1) {
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(fromdb(jsonObj.id));
@ -361,8 +361,7 @@ var templateActionMap = {
asyncJobResponse: "deletetemplateresponse",
dialogBeforeActionFn : doDeleteTemplate,
inProcessText: "Deleting Template....",
afterActionSeccessFn: function(json, id, midmenuItemId){
var $midmenuItem1 = $("#"+midmenuItemId);
afterActionSeccessFn: function(json, $midmenuItem1, id){
$midmenuItem1.remove();
clearRightPanel();
templateClearRightPanel();
@ -373,7 +372,7 @@ var templateActionMap = {
asyncJobResponse: "copytemplateresponse",
dialogBeforeActionFn : doCopyTemplate,
inProcessText: "Copying Template....",
afterActionSeccessFn: function(json, id, midmenuItemId){}
afterActionSeccessFn: function(json, $midmenuItem1, id){}
}
,
"Create VM": {
@ -381,15 +380,15 @@ var templateActionMap = {
asyncJobResponse: "deployvirtualmachineresponse",
dialogBeforeActionFn : doCreateVMFromTemplate,
inProcessText: "Creating VM....",
afterActionSeccessFn: function(json, id, midmenuItemId){}
afterActionSeccessFn: function(json, $midmenuItem1, id){}
}
}
var DomRTemplateId = 1;
function doEditTemplate() {
var $detailsTab = $("#right_panel_content #tab_content_details");
function doEditTemplate($actionLink, $detailsTab, $midmenuItem1) {
//var $detailsTab = $("#right_panel_content #tab_content_details");
var $readonlyFields = $detailsTab.find("#name, #displaytext, #passwordenabled, #ispublic, #isfeatured, #ostypename");
var $editFields = $detailsTab.find("#name_edit, #displaytext_edit, #passwordenabled_edit, #ispublic_edit, #isfeatured_edit, #ostypename_edit");
@ -412,7 +411,7 @@ function doEditTemplate() {
});
}
function doEditTemplate2($detailsTab) {
function doEditTemplate2($actionLink, $detailsTab, $midmenuItem1) {
// validate values
var isValid = true;
isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"));
@ -486,14 +485,14 @@ function doEditTemplate2($detailsTab) {
dataType: "json",
success: function(json) {
var jsonObj = json.listtemplatesresponse.template[0];
templateToMidmenu(jsonObj, $("#"+midmenuId));
templateJsonToDetailsTab(jsonObj);
templateToMidmenu(jsonObj, $midmenuItem1);
templateJsonToDetailsTab($midmenuItem1);
}
});
}
function doDeleteTemplate($actionLink, $detailsTab, midmenuItemId) {
var $detailsTab = $("#right_panel_content #tab_content_details");
function doDeleteTemplate($actionLink, $detailsTab, $midmenuItem1) {
//var $detailsTab = $("#right_panel_content #tab_content_details");
var jsonObj = $detailsTab.data("jsonObj");
var id = jsonObj.id;
var name = jsonObj.name;
@ -514,7 +513,7 @@ function doDeleteTemplate($actionLink, $detailsTab, midmenuItemId) {
"Confirm": function() {
$(this).dialog("close");
var apiCommand = "command=deleteTemplate&id="+id+moreCriteria.join("");
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -532,7 +531,7 @@ function populateZoneFieldExcludeSourceZone(zoneField, excludeZoneId) {
}
}
function doCopyTemplate($actionLink, $detailsTab, midmenuItemId) {
function doCopyTemplate($actionLink, $detailsTab, $midmenuItem1) {
var jsonObj = $detailsTab.data("jsonObj");
var id = jsonObj.id;
var name = jsonObj.name;
@ -559,7 +558,7 @@ function doCopyTemplate($actionLink, $detailsTab, midmenuItemId) {
var id = $detailsTab.data("jsonObj").id;
var apiCommand = "command=copyTemplate&id="+id+"&sourcezoneid="+sourceZoneId+"&destzoneid="+destZoneId;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -567,7 +566,7 @@ function doCopyTemplate($actionLink, $detailsTab, midmenuItemId) {
}).dialog("open");
}
function doCreateVMFromTemplate($actionLink, $detailsTab, midmenuItemId) {
function doCreateVMFromTemplate($actionLink, $detailsTab, $midmenuItem1) {
var jsonObj = $detailsTab.data("jsonObj");
var id = jsonObj.id;
var name = jsonObj.name;
@ -603,7 +602,7 @@ function doCreateVMFromTemplate($actionLink, $detailsTab, midmenuItemId) {
array1.push("&diskOfferingId="+diskOfferingId);
var apiCommand = "command=deployVirtualMachine&zoneId="+zoneId+"&templateId="+id+array1.join("");
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");

View File

@ -389,12 +389,6 @@ function afterLoadVolumeJSP() {
//***** switch between different tabs (end) **********************************************************************
}
function volumeAfterDetailsTabAction(json, id, midmenuItemId) {
var jsonObj = json.queryasyncjobresultresponse.virtualmachine[0];
volumeToMidmenu(jsonObj, $("#"+midmenuItemId));
volumeJsonToDetailsTab(jsonObj);
}
function volumeToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.attr("id", getMidmenuId(jsonObj));
$midmenuItem1.data("jsonObj", jsonObj);
@ -406,13 +400,14 @@ function volumeToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.find("#second_row").text(jsonObj.type.substring(0,25));
}
function volumeToRigntPanel($midmenuItem) {
var jsonObj = $midmenuItem.data("jsonObj");
volumeJsonToDetailsTab(jsonObj);
volumeJsonToVolumeTab(jsonObj);
function volumeToRigntPanel($midmenuItem1) {
volumeJsonToDetailsTab($midmenuItem1);
var jsonObj = $midmenuItem1.data("jsonObj");
volumeJsonToSnapshotTab(jsonObj);
}
function volumeJsonToDetailsTab(jsonObj){
function volumeJsonToDetailsTab($midmenuItem1){
var jsonObj = $midmenuItem1.data("jsonObj");
var $detailsTab = $("#right_panel_content #tab_content_details");
$detailsTab.data("jsonObj", jsonObj);
$detailsTab.find("#id").text(jsonObj.id);
@ -436,36 +431,35 @@ function volumeJsonToDetailsTab(jsonObj){
//actions ***
var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
$actionMenu.find("#action_list").empty();
var midmenuItemId = getMidmenuId(jsonObj);
buildActionLinkForDetailsTab("Take Snapshot", volumeActionMap, $actionMenu, midmenuItemId); //show take snapshot
buildActionLinkForDetailsTab("Recurring Snapshot", volumeActionMap, $actionMenu, midmenuItemId); //show Recurring Snapshot
buildActionLinkForDetailsTab("Take Snapshot", volumeActionMap, $actionMenu, $midmenuItem1); //show take snapshot
buildActionLinkForDetailsTab("Recurring Snapshot", volumeActionMap, $actionMenu, $midmenuItem1); //show Recurring Snapshot
if(jsonObj.state != "Creating" && jsonObj.state != "Corrupted" && jsonObj.name != "attaching") {
if(jsonObj.type=="ROOT") {
if (jsonObj.vmstate == "Stopped") {
//buildActionLinkForDetailsTab("Create Template", volumeActionMap, $actionMenu, midmenuItemId); //backend of CreateTemplateFromVolume is not working. Hide the option from UI until backend is fixed.
//buildActionLinkForDetailsTab("Create Template", volumeActionMap, $actionMenu, $midmenuItem1); //backend of CreateTemplateFromVolume is not working. Hide the option from UI until backend is fixed.
}
}
else {
if (jsonObj.virtualmachineid != null) {
if (jsonObj.storagetype == "shared" && (jsonObj.vmstate == "Running" || jsonObj.vmstate == "Stopped")) {
buildActionLinkForDetailsTab("Detach Disk", volumeActionMap, $actionMenu, midmenuItemId); //show detach disk
buildActionLinkForDetailsTab("Detach Disk", volumeActionMap, $actionMenu, $midmenuItem1); //show detach disk
}
} else {
// Disk not attached
if (jsonObj.storagetype == "shared") {
buildActionLinkForDetailsTab("Attach Disk", volumeActionMap, $actionMenu, midmenuItemId); //show attach disk
buildActionLinkForDetailsTab("Attach Disk", volumeActionMap, $actionMenu, $midmenuItem1); //show attach disk
if(jsonObj.vmname == null || jsonObj.vmname == "none")
buildActionLinkForDetailsTab("Delete Volume", volumeActionMap, $actionMenu, midmenuItemId); //show delete volume
buildActionLinkForDetailsTab("Delete Volume", volumeActionMap, $actionMenu, $midmenuItem1); //show delete volume
}
}
}
}
}
function volumeJsonToVolumeTab(jsonObj) {
function volumeJsonToSnapshotTab(jsonObj) {
$.ajax({
cache: false,
data: createURL("command=listSnapshots&volumeid="+jsonObj.id+maxPageSize),
@ -536,7 +530,7 @@ var volumeActionMap = {
asyncJobResponse: "attachvolumeresponse",
dialogBeforeActionFn : doAttachDisk,
inProcessText: "Attaching disk....",
afterActionSeccessFn: function (json, id, midmenuItemId) {
afterActionSeccessFn: function(json, $midmenuItem1, id) {
//var jsonObj = json.queryasyncjobresultresponse.virtualmachine[0];
//Get embedded object from lsitVolume API until Bug 6481(embedded object returned by attachVolume API should include "type" property) is fixed.
var jsonObj;
@ -548,8 +542,8 @@ var volumeActionMap = {
jsonObj = json.listvolumesresponse.volume[0];
}
});
volumeToMidmenu(jsonObj, $("#"+midmenuItemId));
volumeJsonToDetailsTab(jsonObj);
volumeToMidmenu(jsonObj, $midmenuItem1);
volumeJsonToDetailsTab($midmenuItem1);
}
},
"Detach Disk": {
@ -557,7 +551,7 @@ var volumeActionMap = {
isAsyncJob: true,
asyncJobResponse: "detachvolumeresponse",
inProcessText: "Detaching disk....",
afterActionSeccessFn: function (json, id, midmenuItemId) {
afterActionSeccessFn: function(json, $midmenuItem1, id){
//var jsonObj = json.queryasyncjobresultresponse.virtualmachine[0];
//Get embedded object from lsitVolume API until Bug 6480(detachVolume API should return embedded object, like attachVolume API does.) is fixed.
var jsonObj;
@ -569,8 +563,8 @@ var volumeActionMap = {
jsonObj = json.listvolumesresponse.volume[0];
}
});
volumeToMidmenu(jsonObj, $("#"+midmenuItemId));
volumeJsonToDetailsTab(jsonObj);
volumeToMidmenu(jsonObj, $midmenuItem1);
volumeJsonToDetailsTab($midmenuItem1);
}
},
"Create Template": {
@ -578,13 +572,13 @@ var volumeActionMap = {
asyncJobResponse: "createtemplateresponse",
dialogBeforeActionFn : doCreateTemplateFromVolume,
inProcessText: "Creating template....",
afterActionSeccessFn: function(json, id, midmenuItemId){}
afterActionSeccessFn: function(json, $midmenuItem1, id){}
},
"Delete Volume": {
api: "deleteVolume",
isAsyncJob: false,
inProcessText: "Deleting volume....",
afterActionSeccessFn: function(json, id, midmenuItemId) {
afterActionSeccessFn: function(json, $midmenuItem1, id){
$("#"+midmenuItemId).remove();
clearRightPanel();
volumeClearRightPanel();
@ -595,14 +589,14 @@ var volumeActionMap = {
asyncJobResponse: "createsnapshotresponse",
dialogBeforeActionFn : doTakeSnapshot,
inProcessText: "Taking Snapshot....",
afterActionSeccessFn: function(json, id, midmenuItemId){}
afterActionSeccessFn: function(json, $midmenuItem1, id) { }
},
"Recurring Snapshot": {
dialogBeforeActionFn : doRecurringSnapshot
}
}
function doCreateTemplateFromVolume($actionLink, $detailsTab, midmenuItemId) {
function doCreateTemplateFromVolume($actionLink, $detailsTab, $midmenuItem1) {
var jsonObj = $detailsTab.data("jsonObj");
$("#dialog_create_template").find("#volume_name").text(jsonObj.name);
@ -626,7 +620,7 @@ function doCreateTemplateFromVolume($actionLink, $detailsTab, midmenuItemId) {
var id = $detailsTab.data("jsonObj").id;
var apiCommand = "command=createTemplate&volumeId="+id+"&name="+todb(name)+"&displayText="+todb(desc)+"&osTypeId="+osType+"&isPublic="+isPublic+"&passwordEnabled="+password;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -634,7 +628,7 @@ function doCreateTemplateFromVolume($actionLink, $detailsTab, midmenuItemId) {
}).dialog("open");
}
function doTakeSnapshot($actionLink, $detailsTab, midmenuItemId) {
function doTakeSnapshot($actionLink, $detailsTab, $midmenuItem1) {
$("#dialog_create_snapshot")
.dialog('option', 'buttons', {
"Confirm": function() {
@ -642,7 +636,7 @@ function doTakeSnapshot($actionLink, $detailsTab, midmenuItemId) {
var id = $detailsTab.data("jsonObj").id;
var apiCommand = "command=createSnapshot&volumeid="+id;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");
@ -702,7 +696,7 @@ function clearBottomPanel() {
cleanErrMsg(dialogBox.find("#edit_day_of_month"), dialogBox.find("#edit_day_of_month_errormsg"));
}
function doRecurringSnapshot(json, id, midmenuItemId) {
function doRecurringSnapshot($actionLink, $detailsTab, $midmenuItem1) {
var $detailsTab = $("#right_panel_content #tab_content_details");
var volumeId = $detailsTab.data("jsonObj").id;
@ -846,7 +840,7 @@ function populateVirtualMachineField(domainId, account, zoneId) {
});
}
function doAttachDisk($actionLink, $detailsTab, midmenuItemId) {
function doAttachDisk($actionLink, $detailsTab, $midmenuItem1) {
var jsonObj = $detailsTab.data("jsonObj");
populateVirtualMachineField(jsonObj.domainid, jsonObj.account, jsonObj.zoneid);
@ -866,7 +860,7 @@ function doAttachDisk($actionLink, $detailsTab, midmenuItemId) {
var id = jsonObj.id;
var apiCommand = "command=attachVolume&id="+id+'&virtualMachineId='+virtualMachineId;
doActionToDetailsTab(id, $actionLink, apiCommand, midmenuItemId);
doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1);
},
"Cancel": function() {
$(this).dialog("close");