diff --git a/ui/scripts/cloud.core.instance.js b/ui/scripts/cloud.core.instance.js index 1353affebac..7da41295d6e 100644 --- a/ui/scripts/cloud.core.instance.js +++ b/ui/scripts/cloud.core.instance.js @@ -1651,6 +1651,8 @@ function vmToMidmenu(jsonObj, $midmenuItem1) { updateVmStateInMidMenu(jsonObj, $midmenuItem1); $midmenuItem1.data("toRightPanelFn", vmToRightPanel); + countTopButtonMapFn = vmCountTopButtonMap; + resetTopButtonMapFn = vmResetTopButtonMap; } function vmToRightPanel($midmenuItem1) { @@ -1830,6 +1832,40 @@ function vmBuildActionMenu(jsonObj, $thisTab, $midmenuItem1) { } } +var vmTopButtonMap = { + "start_vm_button": 0, + "stop_vm_button": 0, + "reboot_vm_button": 0, + "destroy_vm_button": 0 +}; + +function vmCountTopButtonMap(jsonObj) { + if(jsonObj == null) + return; + + if (jsonObj.state == 'Running') { + vmTopButtonMap["stop_vm_button"] += 1; + vmTopButtonMap["reboot_vm_button"] += 1; + vmTopButtonMap["destroy_vm_button"] += 1; + } + else if (jsonObj.state == 'Stopped') { + vmTopButtonMap["start_vm_button"] += 1; + vmTopButtonMap["destroy_vm_button"] += 1; + } + else if (jsonObj.state == 'Error') { + vmTopButtonMap["destroy_vm_button"] += 1; + } +} + +function vmResetTopButtonMap() { + vmTopButtonMap = { + "start_vm_button": 0, + "stop_vm_button": 0, + "reboot_vm_button": 0, + "destroy_vm_button": 0 + }; +} + function vmJsonToNicTab() { var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1"); if ($midmenuItem1 == null) { diff --git a/ui/scripts/cloud.core.js b/ui/scripts/cloud.core.js index 5acfe6f5656..afc3a0c41c4 100644 --- a/ui/scripts/cloud.core.js +++ b/ui/scripts/cloud.core.js @@ -989,7 +989,7 @@ function clickItemInMultipleSelectionMidmenu($midmenuItem1) { var jsonObj = $midmenuItem1.data("jsonObj"); selectedItemsInMidMenu[jsonObj.id] = $midmenuItem1; - + selected_midmenu_id = $midmenuItem1.attr("id"); $currentMidmenuItem = $midmenuItem1; } @@ -999,6 +999,9 @@ function unclickItemInMultipleSelectionMidmenu($midmenuItem1, id) { $midmenuItem1.find("#content").removeClass("selected"); } +var countTopButtonMapFn = function() {}; +var resetTopButtonMapFn = function() {}; + function createMultipleSelectionSubContainer() { var $multipleSelectionSubContainer = $("
"); $("#midmenu_container").empty().append($multipleSelectionSubContainer); @@ -1026,6 +1029,12 @@ function createMultipleSelectionSubContainer() { unclickItemInMultipleSelectionMidmenu($midmenuItem1, id); } } + }, + start: function(event, ui) { + resetTopButtonMapFn(); + }, + stop: function(event, ui) { + countTopButtonMapFn(); } }); @@ -1089,7 +1098,8 @@ function listMidMenuItems2(commandString, getSearchParamsFn, jsonResponse1, json $midmenuItem1.click(); } else { - clickItemInMultipleSelectionMidmenu($midmenuItem1); + clickItemInMultipleSelectionMidmenu($midmenuItem1); + countTopButtonMapFn(); } } }