From 319bda7c3bf0eb54359fa5352d91bb5c91c9e5de Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Sat, 23 Oct 2010 23:51:23 -0700 Subject: [PATCH] new UI - pass detailsTab element when doing action, so we don't need to select detailsTab again when trying to show loading image in detailsTab. --- ui/new/scripts/cloud.core2.account.js | 14 +++++++------- ui/new/scripts/cloud.core2.diskoffering.js | 2 +- ui/new/scripts/cloud.core2.ipaddress.js | 4 ++-- ui/new/scripts/cloud.core2.iso.js | 14 +++++++------- ui/new/scripts/cloud.core2.js | 11 ++++------- ui/new/scripts/cloud.core2.resource.js | 13 ++++++------- ui/new/scripts/cloud.core2.router.js | 6 +++--- ui/new/scripts/cloud.core2.serviceoffering.js | 2 +- ui/new/scripts/cloud.core2.snapshot.js | 10 +++++----- ui/new/scripts/cloud.core2.template.js | 17 ++++++++--------- ui/new/scripts/cloud.core2.volume.js | 18 +++++++++--------- 11 files changed, 53 insertions(+), 58 deletions(-) diff --git a/ui/new/scripts/cloud.core2.account.js b/ui/new/scripts/cloud.core2.account.js index 1143b99bcf4..297ee966d42 100644 --- a/ui/new/scripts/cloud.core2.account.js +++ b/ui/new/scripts/cloud.core2.account.js @@ -68,17 +68,17 @@ function accountJsonToDetailsTab($midmenuItem1) { if(jsonObj.id != systemAccountId && jsonObj.id != adminAccountId) { if (jsonObj.accounttype == roleTypeUser || jsonObj.accounttype == roleTypeDomainAdmin) { - buildActionLinkForDetailsTab("Resource limits", accountActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Resource limits", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } if(jsonObj.state == "enabled") { - buildActionLinkForDetailsTab("Disable account", accountActionMap, $actionMenu, $midmenuItem1); - buildActionLinkForDetailsTab("Lock account", accountActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Disable account", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab); + buildActionLinkForDetailsTab("Lock account", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } else if(jsonObj.state == "disabled" || jsonObj.state == "locked") { - buildActionLinkForDetailsTab("Enable account", accountActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Enable account", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } } @@ -259,7 +259,7 @@ function doDisableAccount($actionLink, $detailsTab, $midmenuItem1) { "Yes": function() { $(this).dialog("close"); var apiCommand = "command=disableAccount&account="+jsonObj.name+"&domainId="+jsonObj.domainid; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1) ; + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab) ; }, "Cancel": function() { $(this).dialog("close"); @@ -275,7 +275,7 @@ function doLockAccount($actionLink, $detailsTab, $midmenuItem1) { "Yes": function() { $(this).dialog("close"); var apiCommand = "command=lockAccount&account="+jsonObj.name+"&domainId="+jsonObj.domainid; - doActionToDetailsTab(jsonObj.id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(jsonObj.id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -291,7 +291,7 @@ function doEnableAccount($actionLink, $detailsTab, $midmenuItem1) { "Yes": function() { $(this).dialog("close"); var apiCommand = "command=enableAccount&account="+jsonObj.name+"&domainId="+jsonObj.domainid; - doActionToDetailsTab(jsonObj.id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(jsonObj.id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); diff --git a/ui/new/scripts/cloud.core2.diskoffering.js b/ui/new/scripts/cloud.core2.diskoffering.js index b50a4c9a353..8ff2eb8a34b 100644 --- a/ui/new/scripts/cloud.core2.diskoffering.js +++ b/ui/new/scripts/cloud.core2.diskoffering.js @@ -163,7 +163,7 @@ function diskOfferingJsonToDetailsTab($midmenuItem1) { //actions *** var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu"); $actionMenu.find("#action_list").empty(); - buildActionLinkForDetailsTab("Delete Disk Offering", diskOfferingActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Delete Disk Offering", diskOfferingActionMap, $actionMenu, $midmenuItem1, $detailsTab); } function diskOfferingClearRightPanel() { diff --git a/ui/new/scripts/cloud.core2.ipaddress.js b/ui/new/scripts/cloud.core2.ipaddress.js index 3701b146ce1..520e817ba10 100644 --- a/ui/new/scripts/cloud.core2.ipaddress.js +++ b/ui/new/scripts/cloud.core2.ipaddress.js @@ -259,7 +259,7 @@ function ipJsonToDetailsTab($midmenuItem1) { var noAvailableActions = true; if(isIpManageable(ipObj.domainid, ipObj.account) == true && ipObj.issourcenat != "true") { - buildActionLinkForDetailsTab("Release IP", ipActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Release IP", ipActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } @@ -328,7 +328,7 @@ function doReleaseIp($actionLink, $detailsTab, $midmenuItem1) { "Confirm": function() { $(this).dialog("close"); var apiCommand = "command=disassociateIpAddress&ipaddress="+ipaddress; - doActionToDetailsTab(ipaddress, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(ipaddress, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); diff --git a/ui/new/scripts/cloud.core2.iso.js b/ui/new/scripts/cloud.core2.iso.js index f29b7185f75..50d708d080d 100644 --- a/ui/new/scripts/cloud.core2.iso.js +++ b/ui/new/scripts/cloud.core2.iso.js @@ -213,9 +213,9 @@ function isoJsonToDetailsTab($midmenuItem1) { //$("#edit_button").hide(); } else { - buildActionLinkForDetailsTab("Edit ISO", isoActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Edit ISO", isoActionMap, $actionMenu, $midmenuItem1, $detailsTab); //$("#edit_button").show(); - buildActionLinkForDetailsTab("Copy ISO", isoActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Copy ISO", isoActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } @@ -223,7 +223,7 @@ function isoJsonToDetailsTab($midmenuItem1) { 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, $midmenuItem1); + buildActionLinkForDetailsTab("Create VM", isoActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } @@ -231,7 +231,7 @@ function isoJsonToDetailsTab($midmenuItem1) { 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, $midmenuItem1); + buildActionLinkForDetailsTab("Delete ISO", isoActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } @@ -371,7 +371,7 @@ function doDeleteIso($actionLink, $detailsTab, $midmenuItem1) { "Confirm": function() { $(this).dialog("close"); var apiCommand = "command=deleteIso&id="+id+moreCriteria.join(""); - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -409,7 +409,7 @@ function doCopyIso($actionLink, $detailsTab, $midmenuItem1) { var destZoneId = thisDialog.find("#copy_iso_zone").val(); var apiCommand = "command=copyIso&id="+id+"&sourcezoneid="+sourceZoneId+"&destzoneid="+destZoneId; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -450,7 +450,7 @@ function doCreateVMFromIso($actionLink, $detailsTab, $midmenuItem1) { array1.push("&hypervisor="+hypervisor); var apiCommand = "command=deployVirtualMachine&zoneId="+zoneId+"&templateId="+id+array1.join(""); - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); diff --git a/ui/new/scripts/cloud.core2.js b/ui/new/scripts/cloud.core2.js index 990ef3ff4c9..641da1b0117 100644 --- a/ui/new/scripts/cloud.core2.js +++ b/ui/new/scripts/cloud.core2.js @@ -29,9 +29,7 @@ function buildActionLinkForDetailsTab(label, actionMap, $actionMenu, $midmenuIte $link.data("asyncJobResponse", apiInfo.asyncJobResponse); $link.data("afterActionSeccessFn", apiInfo.afterActionSeccessFn); $link.data("dialogBeforeActionFn", apiInfo.dialogBeforeActionFn); - - if($detailsTab == null) //when right panel has only 1 details tab - $detailsTab = $("#right_panel_content #tab_content_details"); + var id = $detailsTab.data("jsonObj").id; $link.bind("click", function(event) { @@ -41,7 +39,7 @@ function buildActionLinkForDetailsTab(label, actionMap, $actionMenu, $midmenuIte var dialogBeforeActionFn = $actionLink.data("dialogBeforeActionFn"); if(dialogBeforeActionFn == null) { var apiCommand = "command="+$actionLink.data("api")+"&id="+id; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); } else { dialogBeforeActionFn($actionLink, $detailsTab, $midmenuItem1); @@ -50,14 +48,13 @@ function buildActionLinkForDetailsTab(label, actionMap, $actionMenu, $midmenuIte }); } -function doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1) { +function doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab) { var label = $actionLink.data("label"); var inProcessText = $actionLink.data("inProcessText"); var isAsyncJob = $actionLink.data("isAsyncJob"); var asyncJobResponse = $actionLink.data("asyncJobResponse"); var afterActionSeccessFn = $actionLink.data("afterActionSeccessFn"); - - var $detailsTab = $("#right_panel_content #tab_content_details"); + var $spinningWheel = $detailsTab.find("#spinning_wheel"); $spinningWheel.find("#description").text(inProcessText); $spinningWheel.show(); diff --git a/ui/new/scripts/cloud.core2.resource.js b/ui/new/scripts/cloud.core2.resource.js index 332731fb068..55169dfebf7 100644 --- a/ui/new/scripts/cloud.core2.resource.js +++ b/ui/new/scripts/cloud.core2.resource.js @@ -585,7 +585,6 @@ function hostJsonToDetailsTab($midmenuItem1) { $actionMenu.find("#action_list").empty(); var noAvailableActions = true; - //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, $midmenuItem1, $detailsTab); buildActionLinkForDetailsTab("Force Reconnect", hostActionMap, $actionMenu, $midmenuItem1, $detailsTab); @@ -1581,7 +1580,7 @@ function doEnableMaintenanceMode($actionLink, $detailsTab, $midmenuItem1){ $(this).dialog("close"); var id = jsonObj.id; var apiCommand = "command=prepareHostForMaintenance&id="+id; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -1598,7 +1597,7 @@ function doCancelMaintenanceMode($actionLink, $detailsTab, $midmenuItem1){ $(this).dialog("close"); var id = jsonObj.id; var apiCommand = "command=cancelHostMaintenance&id="+id; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -1615,7 +1614,7 @@ function doForceReconnect($actionLink, $detailsTab, $midmenuItem1){ $(this).dialog("close"); var id = jsonObj.id; var apiCommand = "command=reconnectHost&id="+id; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -1632,7 +1631,7 @@ function doRemoveHost($actionLink, $detailsTab, $midmenuItem1){ $(this).dialog("close"); var id = jsonObj.id; var apiCommand = "command=deleteHost&id="+id; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -1656,7 +1655,7 @@ function doUpdateOSPreference($actionLink, $detailsTab, $midmenuItem1){ var id = jsonObj.id; var apiCommand = "command=updateHost&id="+id+category; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -1686,7 +1685,7 @@ function doDeletePrimaryStorage($actionLink, $detailsTab, $midmenuItem1){ $(this).dialog("close"); var id = jsonObj.id; var apiCommand = "command=deleteStoragePool&id="+id; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); diff --git a/ui/new/scripts/cloud.core2.router.js b/ui/new/scripts/cloud.core2.router.js index a7e0f572438..599f45c149e 100644 --- a/ui/new/scripts/cloud.core2.router.js +++ b/ui/new/scripts/cloud.core2.router.js @@ -63,12 +63,12 @@ function routerJsonToDetailsTab($midmenuItem1) { var noAvailableActions = true; if (jsonObj.state == 'Running') { - buildActionLinkForDetailsTab("Stop Router", routerActionMap, $actionMenu, $midmenuItem1); - buildActionLinkForDetailsTab("Reboot Router", routerActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Stop Router", routerActionMap, $actionMenu, $midmenuItem1, $detailsTab); + buildActionLinkForDetailsTab("Reboot Router", routerActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } else if (jsonObj.state == 'Stopped') { - buildActionLinkForDetailsTab("Start Router", routerActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Start Router", routerActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } diff --git a/ui/new/scripts/cloud.core2.serviceoffering.js b/ui/new/scripts/cloud.core2.serviceoffering.js index f7ef3799d08..c435fa17db0 100644 --- a/ui/new/scripts/cloud.core2.serviceoffering.js +++ b/ui/new/scripts/cloud.core2.serviceoffering.js @@ -187,7 +187,7 @@ function serviceOfferingJsonToDetailsTab($midmenuItem1) { //actions *** var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu"); $actionMenu.find("#action_list").empty(); - buildActionLinkForDetailsTab("Delete Service Offering", serviceOfferingActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Delete Service Offering", serviceOfferingActionMap, $actionMenu, $midmenuItem1, $detailsTab); } function serviceOfferingClearRightPanel() { diff --git a/ui/new/scripts/cloud.core2.snapshot.js b/ui/new/scripts/cloud.core2.snapshot.js index db95a687fde..dde603d00cb 100644 --- a/ui/new/scripts/cloud.core2.snapshot.js +++ b/ui/new/scripts/cloud.core2.snapshot.js @@ -77,9 +77,9 @@ function snapshotJsonToDetailsTab($midmenuItem1) { //actions *** var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu"); $actionMenu.find("#action_list").empty(); - buildActionLinkForDetailsTab("Create Volume" , snapshotActionMap, $actionMenu, $midmenuItem1); - buildActionLinkForDetailsTab("Delete Snapshot", snapshotActionMap, $actionMenu, $midmenuItem1); - buildActionLinkForDetailsTab("Create Template", snapshotActionMap, $actionMenu, $midmenuItem1); + buildActionLinkForDetailsTab("Create Volume" , snapshotActionMap, $actionMenu, $midmenuItem1, $detailsTab); + buildActionLinkForDetailsTab("Delete Snapshot", snapshotActionMap, $actionMenu, $midmenuItem1, $detailsTab); + buildActionLinkForDetailsTab("Create Template", snapshotActionMap, $actionMenu, $midmenuItem1, $detailsTab); } function snapshotClearRightPanel() { @@ -141,7 +141,7 @@ function doCreateVolumeFromSnapshotInSnapshotPage($actionLink, $detailsTab, $mid var id = jsonObj.id; var apiCommand = "command=createVolume&snapshotid="+id+"&name="+name; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -170,7 +170,7 @@ function doCreateTemplateFromSnapshotInSnapshotPage($actionLink, $detailsTab, $m var id = jsonObj.id; var apiCommand = "command=createTemplate&snapshotid="+id+"&name="+name+"&displaytext="+displayText+"&ostypeid="+osTypeId+"&passwordEnabled="+password; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); diff --git a/ui/new/scripts/cloud.core2.template.js b/ui/new/scripts/cloud.core2.template.js index 509e0952ad8..d488211a1b0 100644 --- a/ui/new/scripts/cloud.core2.template.js +++ b/ui/new/scripts/cloud.core2.template.js @@ -274,17 +274,16 @@ function templateJsonToDetailsTab($midmenuItem1) { var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu"); $actionMenu.find("#action_list").empty(); var noAvailableActions = true; - var midmenuItemId = templateGetMidmenuId(jsonObj); - + // action Edit, Copy, Create VM if ((isUser() && jsonObj.ispublic == "true" && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account)) || jsonObj.id==DomRTemplateId || jsonObj.isready == "false") { //$("#edit_button").hide(); } else { - buildActionLinkForDetailsTab("Edit Template", templateActionMap, $actionMenu, midmenuItemId); + buildActionLinkForDetailsTab("Edit Template", templateActionMap, $actionMenu, $midmenuItem1, $detailsTab); //$("#edit_button").show(); - buildActionLinkForDetailsTab("Copy Template", templateActionMap, $actionMenu, midmenuItemId); - buildActionLinkForDetailsTab("Create VM", templateActionMap, $actionMenu, midmenuItemId); + buildActionLinkForDetailsTab("Copy Template", templateActionMap, $actionMenu, $midmenuItem1, $detailsTab); + buildActionLinkForDetailsTab("Create VM", templateActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } @@ -293,7 +292,7 @@ function templateJsonToDetailsTab($midmenuItem1) { //template.find("#template_delete_container").hide(); } else { - buildActionLinkForDetailsTab("Delete Template", templateActionMap, $actionMenu, midmenuItemId); + buildActionLinkForDetailsTab("Delete Template", templateActionMap, $actionMenu, $midmenuItem1, $detailsTab); noAvailableActions = false; } @@ -513,7 +512,7 @@ function doDeleteTemplate($actionLink, $detailsTab, $midmenuItem1) { "Confirm": function() { $(this).dialog("close"); var apiCommand = "command=deleteTemplate&id="+id+moreCriteria.join(""); - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -558,7 +557,7 @@ function doCopyTemplate($actionLink, $detailsTab, $midmenuItem1) { var id = $detailsTab.data("jsonObj").id; var apiCommand = "command=copyTemplate&id="+id+"&sourcezoneid="+sourceZoneId+"&destzoneid="+destZoneId; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -602,7 +601,7 @@ function doCreateVMFromTemplate($actionLink, $detailsTab, $midmenuItem1) { array1.push("&diskOfferingId="+diskOfferingId); var apiCommand = "command=deployVirtualMachine&zoneId="+zoneId+"&templateId="+id+array1.join(""); - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); diff --git a/ui/new/scripts/cloud.core2.volume.js b/ui/new/scripts/cloud.core2.volume.js index 8645fb6f3b7..ec7debfeb9b 100644 --- a/ui/new/scripts/cloud.core2.volume.js +++ b/ui/new/scripts/cloud.core2.volume.js @@ -432,27 +432,27 @@ function volumeJsonToDetailsTab($midmenuItem1){ var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu"); $actionMenu.find("#action_list").empty(); - buildActionLinkForDetailsTab("Take Snapshot", volumeActionMap, $actionMenu, $midmenuItem1); //show take snapshot - buildActionLinkForDetailsTab("Recurring Snapshot", volumeActionMap, $actionMenu, $midmenuItem1); //show Recurring Snapshot + buildActionLinkForDetailsTab("Take Snapshot", volumeActionMap, $actionMenu, $midmenuItem1, $detailsTab); //show take snapshot + buildActionLinkForDetailsTab("Recurring Snapshot", volumeActionMap, $actionMenu, $midmenuItem1, $detailsTab); //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, $midmenuItem1); //backend of CreateTemplateFromVolume is not working. Hide the option from UI until backend is fixed. + //buildActionLinkForDetailsTab("Create Template", volumeActionMap, $actionMenu, $midmenuItem1, $detailsTab); //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, $midmenuItem1); //show detach disk + buildActionLinkForDetailsTab("Detach Disk", volumeActionMap, $actionMenu, $midmenuItem1, $detailsTab); //show detach disk } } else { // Disk not attached if (jsonObj.storagetype == "shared") { - buildActionLinkForDetailsTab("Attach Disk", volumeActionMap, $actionMenu, $midmenuItem1); //show attach disk + buildActionLinkForDetailsTab("Attach Disk", volumeActionMap, $actionMenu, $midmenuItem1, $detailsTab); //show attach disk if(jsonObj.vmname == null || jsonObj.vmname == "none") - buildActionLinkForDetailsTab("Delete Volume", volumeActionMap, $actionMenu, $midmenuItem1); //show delete volume + buildActionLinkForDetailsTab("Delete Volume", volumeActionMap, $actionMenu, $midmenuItem1, $detailsTab); //show delete volume } } } @@ -620,7 +620,7 @@ function doCreateTemplateFromVolume($actionLink, $detailsTab, $midmenuItem1) { 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, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -636,7 +636,7 @@ function doTakeSnapshot($actionLink, $detailsTab, $midmenuItem1) { var id = $detailsTab.data("jsonObj").id; var apiCommand = "command=createSnapshot&volumeid="+id; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close"); @@ -860,7 +860,7 @@ function doAttachDisk($actionLink, $detailsTab, $midmenuItem1) { var id = jsonObj.id; var apiCommand = "command=attachVolume&id="+id+'&virtualMachineId='+virtualMachineId; - doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1); + doActionToDetailsTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab); }, "Cancel": function() { $(this).dialog("close");