From c67c618d44889495dc1fb8c69d3cd5c70ac1df2b Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Mon, 18 Oct 2010 16:13:58 -0700 Subject: [PATCH] new UI - host page - show different action option based on host state. --- ui/new/scripts/cloud.core2.resource.js | 43 +++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/ui/new/scripts/cloud.core2.resource.js b/ui/new/scripts/cloud.core2.resource.js index 0101702b013..e9f21a2ab4b 100644 --- a/ui/new/scripts/cloud.core2.resource.js +++ b/ui/new/scripts/cloud.core2.resource.js @@ -385,8 +385,49 @@ function hostJsonToDetailsTab(jsonObj) { }); var $actionMenu = $detailsTab.find("#action_link #action_menu"); $actionMenu.find("#action_list").empty(); + var noAvailableActions = true; + var midmenuItemId = hostGetMidmenuId(jsonObj); - buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab); //when right panel has more than 1 details tab, we need to specify which one it is building action to. + + if (jsonObj.state == 'Up' || jsonObj.state == "Connecting") { + buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab); //when right panel has more than 1 details tab, we need to specify which one it is building action to. + //build action Force Reconnect + //build action Update OS Preference + } + else if(jsonObj.state == 'Down') { + buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab); //when right panel has more than 1 details tab, we need to specify which one it is building action to. + //build action Update OS Preference + //build action Remove Host + } + else if(jsonObj.state == "Alert") { + //build action Update OS Preference + } + else if (jsonObj.state == "ErrorInMaintenance") { + buildActionLinkForDetailsTab("Enable Maintenance Mode", hostActionMap, $actionMenu, midmenuItemId, $detailsTab); //when right panel has more than 1 details tab, we need to specify which one it is building action to. + //build action Cancel Maintenance Mode + //build action Update OS Preference + } + else if (jsonObj.state == "PrepareForMaintenance") { + //build action Cancel Maintenance Mode + //build action Update OS Preference + } + else if (jsonObj.state == "Maintenance") { + //build action Cancel Maintenance Mode + //build action Update OS Preference + //build action Remove Host + } + else if (jsonObj.state == "Disconnected"){ + //build action Update OS Preference + //build action Remove Host + } + else { + alert("Unsupported Host State: " + jsonObj.state); + } + + // no available actions + if(noAvailableActions == true) { + $actionMenu.find("#action_list").append($("#no_available_actions").clone().show()); + } } //***** host page (end) *******************************************************************************************************