1
0
mirror of https://github.com/vrana/adminer.git synced 2025-08-19 04:41:25 +02:00

Reveal menu items only if mouse is over wide links

This commit is contained in:
Jakub Vrana
2012-08-20 22:20:22 -07:00
parent beafccb8c3
commit 5d337fe04c
4 changed files with 19 additions and 7 deletions

View File

@@ -785,7 +785,7 @@ DROP PROCEDURE adminer_alter;
foreach ($usernames as $username => $password) {
if ($password !== null) {
if ($first) {
echo "<p id='logins' onmouseover='menuOver(this);' onmouseout='menuOut(this);'>\n";
echo "<p id='logins' onmouseover='menuOver(this, event);' onmouseout='menuOut(this);'>\n";
$first = false;
}
echo "<a href='" . h(auth_url($driver, $server, $username)) . "'>($drivers[$driver]) " . h($username . ($server != "" ? "@$server" : "")) . "</a><br>\n";
@@ -867,7 +867,7 @@ DROP PROCEDURE adminer_alter;
* @return null
*/
function tablesPrint($tables) {
echo "<p id='tables' onmouseover='menuOver(this);' onmouseout='menuOut(this);'>\n";
echo "<p id='tables' onmouseover='menuOver(this, event);' onmouseout='menuOut(this);'>\n";
foreach ($tables as $table => $type) {
echo '<a href="' . h(ME) . 'select=' . urlencode($table) . '"' . bold($_GET["select"] == $table) . ">" . lang('select') . "</a> ";
echo '<a href="' . h(ME) . 'table=' . urlencode($table) . '"' . bold($_GET["table"] == $table) . " title='" . lang('Show structure') . "'>" . $this->tableName(array("Name" => $table)) . "</a><br>\n"; //! Adminer::tableName may work with full table status

View File

@@ -209,10 +209,22 @@ function pageClick(href, page, event) {
}
}
function menuOver(el) {
el.style.overflow = 'visible';
/** Display items in menu
* @param HTMLElement
* @param MouseEvent
*/
function menuOver(el, event) {
var a = event.target;
if (/^a$/i.test(a.tagName) && a.offsetLeft + a.offsetWidth > a.parentNode.offsetWidth) {
el.style.overflow = 'visible';
}
}
/** Hide items in menu
* @param HTMLElement
*/
function menuOut(el) {
el.style.overflow = 'auto';
}