create shared function bindActionLink() that will bind event handler to action link in right panel.

This commit is contained in:
Jessica Wang 2011-02-01 16:16:34 -08:00
parent 675a610995
commit a466994161
5 changed files with 38 additions and 9 deletions

View File

@ -219,8 +219,8 @@ dictionary = {
<div class="grid_header">
<div class="grid_header_title" id="grid_header_title">
</div>
<div class="grid_actionbox" id="user_action_link"><p>Actions</p>
<div class="grid_actionsdropdown_box" id="user_action_menu" style="display: none;">
<div class="grid_actionbox" id="action_link"><p>Actions</p>
<div class="grid_actionsdropdown_box" id="action_menu" style="display: none;">
<ul class="actionsdropdown_boxlist" id="action_list">
</ul>
</div>

View File

@ -83,8 +83,7 @@ dictionary = {
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.ip"/>
</div>
<fmt:message key="label.ip"/>:</div>
</div>
<div class="grid_row_cell" style="width: 79%;">
<div class="row_celltitles" id="ipaddress">

View File

@ -498,17 +498,20 @@ function accountUserJSONToTemplate(jsonObj, $template) {
$template.data("timezone", jsonObj.timezone);
//actions
var $actionLink = $template.find("#user_action_link");
var $actionLink = $template.find("#action_link");
bindActionLink($actionLink);
/*
$actionLink.bind("mouseover", function(event) {
$(this).find("#user_action_menu").show();
$(this).find("#action_menu").show();
return false;
});
$actionLink.bind("mouseout", function(event) {
$(this).find("#user_action_menu").hide();
$(this).find("#action_menu").hide();
return false;
});
*/
var $actionMenu = $actionLink.find("#user_action_menu");
var $actionMenu = $actionLink.find("#action_menu");
$actionMenu.find("#action_list").empty();
var noAvailableActions = true;

View File

@ -1097,6 +1097,8 @@ function listMidMenuItems(commandString, getSearchParamsFn, jsonResponse1, jsonR
removeDialogs();
var $actionLink = $("#right_panel_content #tab_content_details #action_link");
bindActionLink($actionLink);
/*
$actionLink.bind("mouseover", function(event) {
$(this).find("#action_menu").show();
return false;
@ -1105,6 +1107,7 @@ function listMidMenuItems(commandString, getSearchParamsFn, jsonResponse1, jsonR
$(this).find("#action_menu").hide();
return false;
});
*/
afterLoadRightPanelJSPFn();
listMidMenuItems2(commandString, getSearchParamsFn, jsonResponse1, jsonResponse2, toMidmenuFn, toRightPanelFn, getMidmenuIdFn, isMultipleSelectionInMidMenu, 1);
@ -1126,6 +1129,26 @@ function bindAndListMidMenuItems($leftmenu, commandString, getSearchParamsFn, js
});
}
function bindActionLink($actionLink) {
$actionLink.bind("mouseover", function(event) {
$(this).find("#action_menu").show();
return false;
});
$actionLink.bind("mouseout", function(event) {
var $thisElement = $(this)[0];
var relatedTarget1 = event.relatedTarget;
while(relatedTarget1 != null && relatedTarget1.nodeName != "BODY" && relatedTarget1 != $thisElement) {
relatedTarget1 = relatedTarget1.parentNode;
}
if(relatedTarget1 == $thisElement) {
return;
}
$(this).find("#action_menu").hide();
return false;
});
}
function handleErrorInDialog(XMLHttpResponse, $thisDialog) {
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
handleErrorInDialog2(errorMsg, $thisDialog);

View File

@ -112,6 +112,8 @@ function systemvmJsonToDetailsTab() {
//actions ***
var $actionLink = $thisTab.find("#action_link");
bindActionLink($actionLink);
/*
$actionLink.bind("mouseover", function(event) {
$(this).find("#action_menu").show();
return false;
@ -128,7 +130,9 @@ function systemvmJsonToDetailsTab() {
$(this).find("#action_menu").hide();
return false;
});
});
*/
var $actionMenu = $actionLink.find("#action_menu");
$actionMenu.find("#action_list").empty();
var noAvailableActions = true;