diff --git a/ui/new/scripts/cloud.core2.init.js b/ui/new/scripts/cloud.core2.init.js index 222d78fc924..65c79f3e321 100644 --- a/ui/new/scripts/cloud.core2.init.js +++ b/ui/new/scripts/cloud.core2.init.js @@ -15,33 +15,7 @@ $(document).ready(function() { } }); $("#accordion_menu").show(); - - $("#midmenu_container").selectable({ - selecting: function(event, ui) { - if(ui.selecting.id.indexOf("midmenuItem") != -1) { - var $midmenuItem1 = $("#"+ui.selecting.id); - if($midmenuItem1.find("#content").hasClass("inaction") == false) { //only items not in action are allowed to be selected - var id =$midmenuItem1.data("jsonObj").id; - selectedItemsInMidMenu[id] = $midmenuItem1; - $midmenuItem1.find("#content").addClass("selected"); - } - clearRightPanel(); - var toRightPanelFn = $midmenuItem1.data("toRightPanelFn"); - toRightPanelFn($midmenuItem1); - } - }, - unselecting: function(event, ui) { - if(ui.unselecting.id.indexOf("midmenuItem") != -1) { - var $midmenuItem1 = $("#"+ui.unselecting.id); - var id = $midmenuItem1.data("jsonObj").id; - if(id in selectedItemsInMidMenu) { - delete selectedItemsInMidMenu[id]; - $midmenuItem1.find("#content").removeClass("selected"); - } - } - } - }); - + var $midmenuItem = $("#midmenu_item"); function listMidMenuItems(leftmenuId, commandString, jsonResponse1, jsonResponse2, rightPanelJSP, afterLoadRightPanelJSP, toMidmenu, toRightPanel) { $("#"+leftmenuId).bind("click", function(event) { @@ -50,6 +24,8 @@ $(document).ready(function() { selected_leftmenu_id = leftmenuId; $(this).addClass("selected"); + $("#midmenu_container").selectable("destroy" ); //midmenu doesn't need multiple selection + clearLeftMenu(); clearMidMenu(); @@ -66,7 +42,19 @@ $(document).ready(function() { for(var i=0; i 0) + $("#"+selected_midmenu_id).find("#content").removeClass("selected"); + selected_midmenu_id = ("midmenuItem_"+thisMidmenuItem.data("jsonObj").id); + + thisMidmenuItem.find("#content").addClass("selected"); + clearRightPanel(); + toRightPanel(thisMidmenuItem); + return false; + }); $("#midmenu_container").append($midmenuItem1.show()); } } diff --git a/ui/new/scripts/cloud.core2.instance.js b/ui/new/scripts/cloud.core2.instance.js index 54603c7d650..4455f5fbd68 100644 --- a/ui/new/scripts/cloud.core2.instance.js +++ b/ui/new/scripts/cloud.core2.instance.js @@ -1,4 +1,33 @@ function clickInstanceGroupHeader($arrowIcon) { + + //midmenu needs multiple-selection for actions like start VM, stop VM, reboot VM. + $("#midmenu_container").selectable({ + selecting: function(event, ui) { + if(ui.selecting.id.indexOf("midmenuItem") != -1) { + var $midmenuItem1 = $("#"+ui.selecting.id); + if($midmenuItem1.find("#content").hasClass("inaction") == false) { //only items not in action are allowed to be selected + var id =$midmenuItem1.data("jsonObj").id; + selectedItemsInMidMenu[id] = $midmenuItem1; + $midmenuItem1.find("#content").addClass("selected"); + } + clearRightPanel(); + var toRightPanelFn = $midmenuItem1.data("toRightPanelFn"); + toRightPanelFn($midmenuItem1); + } + }, + unselecting: function(event, ui) { + if(ui.unselecting.id.indexOf("midmenuItem") != -1) { + var $midmenuItem1 = $("#"+ui.unselecting.id); + var id = $midmenuItem1.data("jsonObj").id; + if(id in selectedItemsInMidMenu) { + delete selectedItemsInMidMenu[id]; + $midmenuItem1.find("#content").removeClass("selected"); + } + } + } + }); + + //***** VM Detail (begin) ****************************************************************************** var $vmPopup var $rightPanelHeader; diff --git a/ui/new/scripts/cloud.core2.js b/ui/new/scripts/cloud.core2.js index 712a7226b71..9fe59911091 100644 --- a/ui/new/scripts/cloud.core2.js +++ b/ui/new/scripts/cloud.core2.js @@ -538,6 +538,7 @@ function clearRightPanel() { } var selected_leftmenu_id = null; +var selected_midmenu_id = null;