From b60fd783fdb7c08b2cf5a890b224658d4c7b5d12 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Tue, 19 Oct 2010 15:55:06 -0700 Subject: [PATCH] new UI - implement delete zone action. --- ui/new/jsp/resource.jsp | 36 +++++++++- ui/new/scripts/cloud.core2.resource.js | 98 ++++++++++++++++++++++---- 2 files changed, 120 insertions(+), 14 deletions(-) diff --git a/ui/new/jsp/resource.jsp b/ui/new/jsp/resource.jsp index d613d952d17..70e979d6f27 100644 --- a/ui/new/jsp/resource.jsp +++ b/ui/new/jsp/resource.jsp @@ -30,7 +30,23 @@ <%=t.t("secondary.storage")%> -
+
+
+ +
+
+
+

+ Waiting …

+
+
@@ -157,7 +173,23 @@ <%=t.t("details")%>
-
+
+
+ +
+
+
+

+ Waiting …

+
+
diff --git a/ui/new/scripts/cloud.core2.resource.js b/ui/new/scripts/cloud.core2.resource.js index 1e5387620fb..e5fda6888c2 100644 --- a/ui/new/scripts/cloud.core2.resource.js +++ b/ui/new/scripts/cloud.core2.resource.js @@ -78,9 +78,7 @@ function buildZoneTree() { var jsonObj = target.data("jsonObj"); showPage($("#zone_page"), jsonObj); hideMiddleMenu(); - zoneJsonToDetailsTab(jsonObj); - zoneJsonToNetworkTab(jsonObj); - zoneJsonToSecondaryStorageTab(jsonObj); + zoneJsonToRightPanel(jsonObj); break; case "pod_name" : @@ -233,19 +231,67 @@ function showPage($pageToShow, jsonObj) { } //***** zone page (begin) ***************************************************************************************************** +function zoneGetLeftmenuId(jsonObj) { + return "zone_" + jsonObj.id; +} + +function zoneJsonToRightPanel(jsonObj) { + zoneJsonToDetailsTab(jsonObj); + zoneJsonToNetworkTab(jsonObj); + zoneJsonToSecondaryStorageTab(jsonObj); +} + +function zoneJsonClearRightPanel(jsonObj) { + zoneJsonClearDetailsTab(jsonObj); + zoneJsonClearNetworkTab(jsonObj); + zoneJsonClearSecondaryStorageTab(jsonObj); +} + function zoneJsonToDetailsTab(jsonObj) { var $detailsTab = $("#zone_page").find("#tab_content_details"); $detailsTab.data("jsonObj", jsonObj); - $detailsTab.find("#id").text(fromdb(jsonObj.id)); + $detailsTab.find("#id").text(jsonObj.id); $detailsTab.find("#name").text(fromdb(jsonObj.name)); $detailsTab.find("#dns1").text(fromdb(jsonObj.dns1)); $detailsTab.find("#dns2").text(fromdb(jsonObj.dns2)); $detailsTab.find("#internaldns1").text(fromdb(jsonObj.internaldns1)); $detailsTab.find("#internaldns2").text(fromdb(jsonObj.internaldns2)); $detailsTab.find("#vlan").text(fromdb(jsonObj.vlan)); - $detailsTab.find("#guestcidraddress").text(fromdb(jsonObj.guestcidraddress)); + $detailsTab.find("#guestcidraddress").text(fromdb(jsonObj.guestcidraddress)); + + //actions *** + var $actionLink = $detailsTab.find("#action_link"); + $actionLink.bind("mouseover", function(event) { + $(this).find("#action_menu").show(); + return false; + }); + $actionLink.bind("mouseout", function(event) { + $(this).find("#action_menu").hide(); + return false; + }); + var $actionMenu = $detailsTab.find("#action_link #action_menu"); + $actionMenu.find("#action_list").empty(); + var midmenuItemId = zoneGetLeftmenuId(jsonObj); + buildActionLinkForDetailsTab("Delete Zone", zoneActionMap, $actionMenu, midmenuItemId, $detailsTab); } +function zoneJsonClearDetailsTab(jsonObj) { + var $detailsTab = $("#zone_page").find("#tab_content_details"); + $detailsTab.find("#id").text(""); + $detailsTab.find("#name").text(""); + $detailsTab.find("#dns1").text(""); + $detailsTab.find("#dns2").text(""); + $detailsTab.find("#internaldns1").text(""); + $detailsTab.find("#internaldns2").text(""); + $detailsTab.find("#vlan").text(""); + $detailsTab.find("#guestcidraddress").text(""); + + //actions *** + var $actionMenu = $detailsTab.find("#action_link #action_menu"); + $actionMenu.find("#action_list").empty(); + $actionMenu.find("#action_list").append($("#no_available_actions").clone().show()); +} + var $vlanContainer; function zoneJsonToNetworkTab(jsonObj) { var $networkTab = $("#zone_page").find("#tab_content_network"); @@ -276,6 +322,13 @@ function zoneJsonToNetworkTab(jsonObj) { }); } +function zoneJsonClearNetworkTab(jsonObj) { + var $networkTab = $("#zone_page").find("#tab_content_network"); + $networkTab.find("#zone_cloud").find("#zone_name").text(""); + $networkTab.find("#zone_vlan").text(""); + $networkTab.find("#vlan_container").empty(); +} + function zoneJsonToSecondaryStorageTab(jsonObj) { var zoneObj = $("#zone_page").find("#tab_content_details").data("jsonObj"); $.ajax({ @@ -297,6 +350,10 @@ function zoneJsonToSecondaryStorageTab(jsonObj) { }); } +function zoneJsonClearSecondaryStorageTab(jsonObj) { + $("#zone_page").find("#tab_content_secondarystorage").empty(); +} + function vlanJsonToTemplate(jsonObj, $template1) { $template1.data("jsonObj", jsonObj); $template1.find("#vlan_id").text(jsonObj.vlan); @@ -439,13 +496,15 @@ function hostJsonToDetailsTab(jsonObj) { alert("Unsupported Host State: " + jsonObj.state); } - //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); -// noAvailableActions = false; + //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); + noAvailableActions = false; + */ //temporary for testing (begin) ***** // no available actions @@ -1568,5 +1627,20 @@ function doDeleteSecondaryStorage($actionLink, $subgridItem) { }).dialog("open"); } +var zoneActionMap = { + "Delete Zone": { + api: "deleteZone", + isAsyncJob: false, + inProcessText: "Deleting Zone....", + afterActionSeccessFn: function(json, id, midmenuItemId) { + var $midmenuItem1 = $("#"+midmenuItemId); //zone node in zone tree in left menu + $midmenuItem1.slideUp(function() { + $(this).remove(); + }); + clearRightPanel(); + zoneJsonClearRightPanel(); + } + } +}