[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_0BETA1-1132-ga874856

Piotr Przybylski crackpl at users.sourceforge.net
Sun Dec 26 14:00:41 CET 2010


The branch, master has been updated
       via  a874856d01ea9e352a91746806b8dfbfefcba004 (commit)
      from  3289d84a03d72e34f451134524c5e337a8621ada (commit)


- Log -----------------------------------------------------------------
commit a874856d01ea9e352a91746806b8dfbfefcba004
Author: Piotr Przybylski <piotrprz at 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




More information about the Git mailing list