From c2fb123fd8812d33f18d93f61a342e0be8f028ac Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Mon, 25 Oct 2010 11:42:27 -0700 Subject: [PATCH] new UI - instance page - implement Stop VM action for multiple-selection middle menu items. --- ui/new/scripts/cloud.core2.instance.js | 41 +++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/ui/new/scripts/cloud.core2.instance.js b/ui/new/scripts/cloud.core2.instance.js index ef5fc109810..509e3a2456d 100644 --- a/ui/new/scripts/cloud.core2.instance.js +++ b/ui/new/scripts/cloud.core2.instance.js @@ -81,7 +81,7 @@ function afterLoadInstanceJSP() { } if(itemCounts == 0) { $("#dialog_info_please_select_one_item_in_middle_menu").dialog("open"); - return; + return false; } for(var id in selectedItemsInMidMenu) { @@ -102,6 +102,45 @@ function afterLoadInstanceJSP() { return false; }); + //Stop VM button + $("#midmenu_stopvm_link").show(); + $("#midmenu_stopvm_link").bind("click", function(event) { + var itemCounts = 0; + for(var id in selectedItemsInMidMenu) { + itemCounts ++; + } + if(itemCounts == 0) { + $("#dialog_info_please_select_one_item_in_middle_menu").dialog("open"); + return false; + } + + for(var id in selectedItemsInMidMenu) { + var apiCommand = "command=stopVirtualMachine&id="+id; + var apiInfo = { + label: "Stop Instance", + isAsyncJob: true, + asyncJobResponse: "stopvirtualmachineresponse", + afterActionSeccessFn: function(json, $midmenuItem1, id) { + //call listVirtualMachine to get embedded object until bug 6486 ("StopVirtualMachine API should return an embedded object on success") is fixed. + var jsonObj; + $.ajax({ + data: createURL("command=listVirtualMachines&id="+id), + dataType: "json", + async: false, + success: function(json) { + jsonObj = json.listvirtualmachinesresponse.virtualmachine[0]; + } + }); + vmToMidmenu(jsonObj, $midmenuItem1); + } + } + doActionForMidMenu(id, apiInfo, apiCommand); + } + + selectedItemsInMidMenu = {}; //clear selected items for action + return false; + }); + // switch between different tabs var tabArray = [$("#tab_details"), $("#tab_volume"), $("#tab_statistics"), $("#tab_router")]; var tabContentArray = [$("#tab_content_details"), $("#tab_content_volume"), $("#tab_content_statistics"), $("#tab_content_router")];