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 @@
%>
-
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