The branch, master has been updated
via a874856d01ea9e352a91746806b8dfbfefcba004 (commit)
from 3289d84a03d72e34f451134524c5e337a8621ada (commit)
- Log -----------------------------------------------------------------
commit a874856d01ea9e352a91746806b8dfbfefcba004
Author: Piotr Przybylski <piotrprz(a)gmail.com>
Date: Sun Dec 26 14:00:09 2010 +0100
Fixes to "More" dropdown on Structure page:
* hide using mouseleave for owning table cell instead of mouseleave on menu
* links as blocks, so that they are as wide as possible
-----------------------------------------------------------------------
Summary of changes:
js/functions.js | 94 +++++++++++++----------
themes/darkblue_orange/css/theme_right.css.php | 4 +
themes/original/css/theme_right.css.php | 4 +
3 files changed, 61 insertions(+), 41 deletions(-)
diff --git a/js/functions.js b/js/functions.js
index cba0853..409de9b 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -2135,40 +2135,50 @@ $(document).ready(function() {
*/
// Remove the actions from the table cells (they are available by default for
JavaScript-disabled browsers)
// if the table is not a view or information_schema (otherwise there is only one
action to hide and there's no point)
-
if($("input[type='hidden'][name='table_type']").attr("value")
== "table") {
- $("table[id='tablestructure']
td[class='browse']").remove();
- $("table[id='tablestructure']
td[class='primary']").remove();
- $("table[id='tablestructure']
td[class='unique']").remove();
- $("table[id='tablestructure']
td[class='index']").remove();
- $("table[id='tablestructure']
td[class='fulltext']").remove();
- $("table[id='tablestructure']
th[class='action']").attr("colspan", 3);
-
- // Display the "more" text
- $("table[id='tablestructure']
td[class='more_opts']").show()
-
- // Position the dropdown
- $.each($(".structure_actions_dropdown"), function() {
- // The top offset must be set for IE even if it didn't change
- var cell_right_edge_offset = $(this).parent().offset().left +
$(this).parent().innerWidth();
- var left_offset = cell_right_edge_offset - $(this).innerWidth();
- var top_offset = $(this).parent().offset().top +
$(this).parent().innerHeight();
- $(this).offset({ top: top_offset, left: left_offset });
- });
-
- // A hack for IE6 to prevent the after_field select element from being displayed
on top of the dropdown by
- // positioning an iframe directly on top of it
-
$("iframe[class='IE_hack']").width($("select[name='after_field']").width());
-
$("iframe[class='IE_hack']").height($("select[name='after_field']").height());
- $("iframe[class='IE_hack']").offset({ top:
$("select[name='after_field']").offset().top, left:
$("select[name='after_field']").offset().left });
-
- // When "more" is hovered over, show the hidden actions
- $("table[id='tablestructure']
td[class='more_opts']").mouseenter(
- function() {
+ if($("input[type='hidden'][name='table_type']").val() ==
"table") {
+ var $table = $("table[id='tablestructure']");
+ $table.find("td[class='browse']").remove();
+ $table.find("td[class='primary']").remove();
+ $table.find("td[class='unique']").remove();
+ $table.find("td[class='index']").remove();
+ $table.find("td[class='fulltext']").remove();
+ $table.find("th[class='action']").attr("colspan",
3);
+
+ // Display the "more" text
+ $table.find("td[class='more_opts']").show();
+
+ // Position the dropdown
+ $(".structure_actions_dropdown").each(function() {
+ // The top offset must be set for IE even if it didn't change
+ var cell_right_edge_offset = $(this).parent().offset().left +
$(this).parent().innerWidth();
+ var left_offset = cell_right_edge_offset - $(this).innerWidth();
+ var top_offset = $(this).parent().offset().top +
$(this).parent().innerHeight();
+ $(this).offset({ top: top_offset, left: left_offset });
+ });
+
+ // A hack for IE6 to prevent the after_field select element from being displayed
on top of the dropdown by
+ // positioning an iframe directly on top of it
+ var $after_field = $("select[name='after_field']");
+ $("iframe[class='IE_hack']")
+ .width($after_field.width())
+ .height($after_field.height())
+ .offset({
+ top: $after_field.offset().top,
+ left: $after_field.offset().left
+ });
+
+ // When "more" is hovered over, show the hidden actions
+ $table.find("td[class='more_opts']")
+ .mouseenter(function() {
if($.browser.msie && $.browser.version == "6.0") {
- $("iframe[class='IE_hack']").show();
-
$("iframe[class='IE_hack']").width($("select[name='after_field']").width()+4);
-
$("iframe[class='IE_hack']").height($("select[name='after_field']").height()+4);
- $("iframe[class='IE_hack']").offset({ top:
$("select[name='after_field']").offset().top, left:
$("select[name='after_field']").offset().left});
+ $("iframe[class='IE_hack']")
+ .show()
+ .width($after_field.width()+4)
+ .height($after_field.height()+4)
+ .offset({
+ top: $after_field.offset().top,
+ left: $after_field.offset().left
+ });
}
$(".structure_actions_dropdown").hide(); // Hide all the other
ones that may be open
$(this).children(".structure_actions_dropdown").show();
@@ -2176,15 +2186,17 @@ $(document).ready(function() {
if($.browser.msie) {
var left_offset_IE = $(this).offset().left + $(this).innerWidth() -
$(this).children(".structure_actions_dropdown").innerWidth();
var top_offset_IE = $(this).offset().top + $(this).innerHeight();
- $(this).children(".structure_actions_dropdown").offset({
top: top_offset_IE, left: left_offset_IE });
+ $(this).children(".structure_actions_dropdown").offset({
+ top: top_offset_IE,
+ left: left_offset_IE });
}
- });
- $(".structure_actions_dropdown").mouseleave(function() {
- $(this).hide();
- if($.browser.msie && $.browser.version == "6.0") {
- $("iframe[class='IE_hack']").hide();
- }
- });
+ })
+ .mouseleave(function() {
+ $(this).children(".structure_actions_dropdown").hide();
+ if($.browser.msie && $.browser.version == "6.0") {
+ $("iframe[class='IE_hack']").hide();
+ }
+ });
}
});
diff --git a/themes/darkblue_orange/css/theme_right.css.php
b/themes/darkblue_orange/css/theme_right.css.php
index 438e04d..f5ac595 100644
--- a/themes/darkblue_orange/css/theme_right.css.php
+++ b/themes/darkblue_orange/css/theme_right.css.php
@@ -1610,6 +1610,10 @@ a.close_enum_editor {
display: none;
}
+.structure_actions_dropdown a {
+ display: block;
+}
+
td.more_opts {
display: none;
white-space: nowrap;
diff --git a/themes/original/css/theme_right.css.php
b/themes/original/css/theme_right.css.php
index 450c91d..2e5d6f6 100644
--- a/themes/original/css/theme_right.css.php
+++ b/themes/original/css/theme_right.css.php
@@ -1551,6 +1551,10 @@ a.close_enum_editor {
z-index: 100;
}
+.structure_actions_dropdown a {
+ display: block;
+}
+
td.more_opts {
display: none;
white-space: nowrap;
hooks/post-receive
--
phpMyAdmin