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";
* @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
}
}
-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';
}
foreach ((array) $_SESSION["pwds"]["server"][""] 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("server", "", $username)) . "'>" . ($username != "" ? h($username) : "<i>" . lang('empty') . "</i>") . "</a><br>\n";
}
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 $row) {
$name = $this->tableName($row);
if (isset($row["Engine"]) && $name != "") { // ignore views and tables without name
</script>
<p class="jsonly"><input onkeyup="tablesFilter(this.value);">
<?php
- 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 '<span><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) . ">" . h($table) . "</a><br></span>\n";