From 51362d8479a2e61c90963267d492354e79a6b310 Mon Sep 17 00:00:00 2001 From: jessica Date: Thu, 26 Aug 2010 17:47:11 -0700 Subject: [PATCH] Clear right panel when deploying VM fails --- ui/new/jsp/tab_instance.jsp | 10 +- ui/new/scripts/cloud.core.instance.js | 210 ++++++++++++-------------- 2 files changed, 100 insertions(+), 120 deletions(-) diff --git a/ui/new/jsp/tab_instance.jsp b/ui/new/jsp/tab_instance.jsp index d3d2b6aeeb3..ac1134bc43a 100755 --- a/ui/new/jsp/tab_instance.jsp +++ b/ui/new/jsp/tab_instance.jsp @@ -12,13 +12,13 @@ %> -
@@ -81,7 +81,7 @@
-
+
@@ -133,7 +133,7 @@
-
+
diff --git a/ui/new/scripts/cloud.core.instance.js b/ui/new/scripts/cloud.core.instance.js index 49ed4ab7926..74c87e0d4ad 100755 --- a/ui/new/scripts/cloud.core.instance.js +++ b/ui/new/scripts/cloud.core.instance.js @@ -1,5 +1,6 @@ function clickInstanceGroupHeader($arrowIcon) { //***** VM Detail (begin) ****************************************************************************** + var $vmPopup var $rightPanelHeader; var $rightPanelContent; var $instanceGroupContainer = $("#leftmenu_instance_group_container"); @@ -20,14 +21,12 @@ function clickInstanceGroupHeader($arrowIcon) { stopVirtualMachine: { label: "Stop", isAsyncJob: true, - asyncJobResponse: "stopvirtualmachineresponse", - afterSuccessFn: updateVirtualMachineState + asyncJobResponse: "stopvirtualmachineresponse" }, startVirtualMachine: { label: "Start", isAsyncJob: true, - asyncJobResponse: "startvirtualmachineresponse", - afterSuccessFn: updateVirtualMachineState + asyncJobResponse: "startvirtualmachineresponse" } } @@ -39,6 +38,7 @@ function clickInstanceGroupHeader($arrowIcon) { else //Destroyed, Creating, ~ $rightPanelContent.find("#state").text(state).removeClass("green red").addClass("gray"); } + function updateVirtualMachineStateInMidMenu(state, midmenuItem) { if(state == "Running") midmenuItem.find("#status_icon").attr("src", "images/status_green.png"); @@ -47,40 +47,56 @@ function clickInstanceGroupHeader($arrowIcon) { else //Destroyed, Creating, ~ midmenuItem.find("#status_icon").attr("src", "images/status_gray.png"); } - function updateVirtualMachineState(state, midmenuItem) { - updateVirtualMachineStateInRightPanel(state); - updateVirtualMachineStateInMidMenu(state, midmenuItem); - } - - + function setMidmenuItemVm(instance, $midmenuItemVm1) { - $midmenuItemVm1.attr("id", ("midmenuItemVm_"+instance.id)); - $midmenuItemVm1.data("id", instance.id); - - var vmName = getVmName(instance.name, instance.displayname); - $midmenuItemVm1.data("jsonObj", instance); - /* - - $midmenuItemVm1.data("vmName", vmName); - $midmenuItemVm1.data("ipAddress", sanitizeXSS(instance.ipaddress)); - $midmenuItemVm1.data("zoneName", sanitizeXSS(instance.zonename)); - $midmenuItemVm1.data("templateName", sanitizeXSS(instance.templatename)); - $midmenuItemVm1.data("serviceOfferingName", sanitizeXSS(instance.serviceofferingname)); - $midmenuItemVm1.data("haEnable", instance.haenable); - $midmenuItemVm1.data("created", instance.created); - $midmenuItemVm1.data("account", sanitizeXSS(instance.account)); - $midmenuItemVm1.data("domain", sanitizeXSS(instance.domain)); - $midmenuItemVm1.data("hostName", sanitizeXSS(instance.hostname)); - $midmenuItemVm1.data("group", sanitizeXSS(instance.group)); - $midmenuItemVm1.data("state", instance.state); - $midmenuItemVm1.data("isoId", instance.isoid); - */ - + $midmenuItemVm1.attr("id", ("midmenuItemVm_"+instance.id)); + $midmenuItemVm1.data("id", instance.id); + var vmName = getVmName(instance.name, instance.displayname); $midmenuItemVm1.find("#vm_name").text(vmName); - $midmenuItemVm1.find("#ip_address").text(instance.ipaddress); - - updateVirtualMachineStateInMidMenu(instance.state, $midmenuItemVm1); + $midmenuItemVm1.find("#ip_address").text(instance.ipaddress); + updateVirtualMachineStateInMidMenu(instance.state, $midmenuItemVm1); + $midmenuItemVm1.bind("click", function(event) { + var $t = $(this); + var id = $t.data("id"); + + $t.find("#content").addClass("selected"); + if(!(id in selectedItemIds)) + selectedItemIds[id] = null; + + if($t.find("#info_icon").css("display") != "none") { + $rightPanelContent.find("#after_action_info").text($t.data("afterActionInfo")); + if($t.find("#info_icon").hasClass("error")) + $rightPanelContent.find("#after_action_info_container").addClass("errorbox"); + else + $rightPanelContent.find("#after_action_info_container").removeClass("errorbox"); + $rightPanelContent.find("#after_action_info_container").show(); + } + else { + $rightPanelContent.find("#after_action_info").text(""); + $rightPanelContent.find("#after_action_info_container").hide(); + } + var jsonObj = $t.data("jsonObj"); + vmJsonToRightPanel(jsonObj); + + return false; + }); + } + + function vmClearRightPanel(jsonObj) { + $rightPanelHeader.find("#vm_name").text(""); + updateVirtualMachineStateInRightPanel(""); + $rightPanelContent.find("#ipAddress").text(""); + $rightPanelContent.find("#zoneName").text(""); + $rightPanelContent.find("#templateName").text(""); + $rightPanelContent.find("#serviceOfferingName").text(""); + $rightPanelContent.find("#ha").hide(); + $rightPanelContent.find("#created").text(""); + $rightPanelContent.find("#account").text(""); + $rightPanelContent.find("#domain").text(""); + $rightPanelContent.find("#hostName").text(""); + $rightPanelContent.find("#group").text(""); + $rightPanelContent.find("#iso").hide(); } function vmJsonToRightPanel(jsonObj) { @@ -92,18 +108,18 @@ function clickInstanceGroupHeader($arrowIcon) { $rightPanelContent.find("#templateName").text(jsonObj.templatename); $rightPanelContent.find("#serviceOfferingName").text(jsonObj.serviceofferingname); if(jsonObj.haenable == "true") - $rightPanelContent.find("#ha").removeClass("cross_icon").addClass("tick_icon"); + $rightPanelContent.find("#ha").removeClass("cross_icon").addClass("tick_icon").show(); else - $rightPanelContent.find("#ha").removeClass("tick_icon").addClass("cross_icon"); + $rightPanelContent.find("#ha").removeClass("tick_icon").addClass("cross_icon").show(); $rightPanelContent.find("#created").text(jsonObj.created); $rightPanelContent.find("#account").text(jsonObj.account); $rightPanelContent.find("#domain").text(jsonObj.domain); $rightPanelContent.find("#hostName").text(jsonObj.hostname); $rightPanelContent.find("#group").text(jsonObj.group); if(jsonObj.isoid != null && jsonObj.isoid.length > 0) - $rightPanelContent.find("#iso").removeClass("cross_icon").addClass("tick_icon"); + $rightPanelContent.find("#iso").removeClass("cross_icon").addClass("tick_icon").show(); else - $rightPanelContent.find("#iso").removeClass("tick_icon").addClass("cross_icon"); + $rightPanelContent.find("#iso").removeClass("tick_icon").addClass("cross_icon").show(); } @@ -143,64 +159,21 @@ function clickInstanceGroupHeader($arrowIcon) { $("#midmenu_container").empty(); var groupName = $(this).find("#group_name").text(); - var instances = instanceGroupMap[groupName]; - for(var i=0; i