mirror of https://github.com/apache/cloudstack.git
bug 8541: Instance page - hide/show top buttons upon state of selected middle menu items.
This commit is contained in:
parent
537fa0a319
commit
3f45a56cff
|
|
@ -1652,6 +1652,8 @@ function vmToMidmenu(jsonObj, $midmenuItem1) {
|
|||
|
||||
$midmenuItem1.data("toRightPanelFn", vmToRightPanel);
|
||||
countTopButtonMapFn = vmCountTopButtonMap;
|
||||
uncountTopButtonMapFn = vmUncountTopButtonMap;
|
||||
grayoutTopButtonsFn = vmGrayoutTopButtons;
|
||||
resetTopButtonMapFn = vmResetTopButtonMap;
|
||||
}
|
||||
|
||||
|
|
@ -1839,7 +1841,7 @@ var vmTopButtonMap = {
|
|||
"destroy_vm_button": 0
|
||||
};
|
||||
|
||||
function vmCountTopButtonMap(jsonObj) {
|
||||
function vmCountTopButtonMap(jsonObj) {
|
||||
if(jsonObj == null)
|
||||
return;
|
||||
|
||||
|
|
@ -1857,6 +1859,38 @@ function vmCountTopButtonMap(jsonObj) {
|
|||
}
|
||||
}
|
||||
|
||||
function vmUncountTopButtonMap(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 vmGrayoutTopButtons() {
|
||||
var itemCounts = 0;
|
||||
for(var id in selectedItemsInMidMenu) {
|
||||
itemCounts ++;
|
||||
}
|
||||
|
||||
for(var buttonElementId in vmTopButtonMap) {
|
||||
if(vmTopButtonMap[buttonElementId] < itemCounts)
|
||||
$("#"+buttonElementId).hide();
|
||||
else
|
||||
$("#"+buttonElementId).show();
|
||||
}
|
||||
}
|
||||
|
||||
function vmResetTopButtonMap() {
|
||||
vmTopButtonMap = {
|
||||
"start_vm_button": 0,
|
||||
|
|
|
|||
|
|
@ -989,6 +989,7 @@ function clickItemInMultipleSelectionMidmenu($midmenuItem1) {
|
|||
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
selectedItemsInMidMenu[jsonObj.id] = $midmenuItem1;
|
||||
countTopButtonMapFn(jsonObj);
|
||||
|
||||
selected_midmenu_id = $midmenuItem1.attr("id");
|
||||
$currentMidmenuItem = $midmenuItem1;
|
||||
|
|
@ -997,15 +998,20 @@ function clickItemInMultipleSelectionMidmenu($midmenuItem1) {
|
|||
function unclickItemInMultipleSelectionMidmenu($midmenuItem1, id) {
|
||||
delete selectedItemsInMidMenu[id];
|
||||
$midmenuItem1.find("#content").removeClass("selected");
|
||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||
uncountTopButtonMapFn(jsonObj);
|
||||
}
|
||||
|
||||
var countTopButtonMapFn = function() {};
|
||||
var uncountTopButtonMapFn = function() {};
|
||||
var grayoutTopButtonsFn = function() {};
|
||||
var resetTopButtonMapFn = function() {};
|
||||
|
||||
function createMultipleSelectionSubContainer() {
|
||||
var $multipleSelectionSubContainer = $("<div id='multiple_selection_sub_container'></div>");
|
||||
$("#midmenu_container").empty().append($multipleSelectionSubContainer);
|
||||
selectedItemsInMidMenu = {};
|
||||
resetTopButtonMapFn();
|
||||
|
||||
$multipleSelectionSubContainer.selectable({
|
||||
selecting: function(event, ui) {
|
||||
|
|
@ -1030,11 +1036,11 @@ function createMultipleSelectionSubContainer() {
|
|||
}
|
||||
}
|
||||
},
|
||||
start: function(event, ui) {
|
||||
resetTopButtonMapFn();
|
||||
start: function(event, ui) {
|
||||
|
||||
},
|
||||
stop: function(event, ui) {
|
||||
countTopButtonMapFn();
|
||||
grayoutTopButtonsFn();
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -1099,7 +1105,8 @@ function listMidMenuItems2(commandString, getSearchParamsFn, jsonResponse1, json
|
|||
}
|
||||
else {
|
||||
clickItemInMultipleSelectionMidmenu($midmenuItem1);
|
||||
countTopButtonMapFn();
|
||||
countTopButtonMapFn(items[i]);
|
||||
grayoutTopButtonsFn();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue