[Koha-patches] [PATCH] Pick your poison: bug 3129

Joe Atzberger joe.atzberger at liblime.com
Fri Apr 24 00:23:25 CEST 2009


This patch is NOT recommended to be pushed.  It fixes the alignment of YUI
autocomplete for IE7, but this demonstrates the worse bug in IE that keeps
other elements floating above the autocomplete options.  That is apparently
a known problem with IE and the only means around it in my tests was to
make the ui-tabs-nav hidden or invisible.

I suggest further testing and possible WONTFIX of the lesser bug.
---
 .../prog/en/includes/patron-search-box.inc         |   34 +++++++++++++------
 .../prog/en/includes/patron-search.inc             |   28 +++++++++-------
 2 files changed, 38 insertions(+), 24 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-box.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-box.inc
index 558b4f6..b2ac3eb 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-box.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-box.inc
@@ -32,35 +32,47 @@ YAHOO.util.Event.onContentReady("header_search", function() {
         this.oACDS.queryMatchSubset = true;
     
         // Instantiate first AutoComplete
-        var myInput = document.getElementById('findborrower');
+        var myInput     = document.getElementById('findborrower');
         var myContainer = document.getElementById('yborrowercontainer');
-        this.oAutoComp = new YAHOO.widget.AutoComplete(myInput,myContainer,this.oACDS);
+        this.oAutoComp = new YAHOO.widget.AutoComplete(myInput, myContainer, this.oACDS);
+        this.oAutoComp.useShadow = true;
+        this.oAutoComp.doBeforeExpandContainer = function(oTextbox, oContainer, sQuery, aResults) {
+            var pos = YAHOO.util.Dom.getXY(oTextbox);
+            pos[1] += YAHOO.util.Dom.get(oTextbox).offsetHeight;
+            YAHOO.util.Dom.setXY(oContainer,pos);
+            // $(".ui-tabs-nav").css('zIndex', 0); $("#yborrowercontainer").css('zIndex', 9); // not enough for IE7
+            return true;
+        };
+
         //this.oAutoComp.delimChar = ";";
         //this.oAutoComp.queryDelay = 1;
         this.oAutoComp.formatResult = this.fnCustomFormatter;
 }
 });    
 //]]>
-</script><!-- /TMPL_IF -->
+</script>
+<style type="text/css">
+/* .ui-tabs-nav { z-index: 1;} #findborrower { z-index: 2;} #yborrowercontainer { z-index: 9;} .ui-tabs-selected { z-index: 3;} .yui-ac-highlight { z-index: 99; text-decoration: blink; }
+STILL not enough for IE7 */
+</style>
+<!-- /TMPL_IF -->
 	<div id="circ_search" class="residentsearch" style="display:none;">
 	<p class="tip">Enter patron card number or partial name:</p>
     <form action="/cgi-bin/koha/circ/circulation.pl" method="post">
     <!-- TMPL_IF NAME="CircAutocompl" -->
-    <div class="autocomplete">
+        <div class="autocomplete">
             <div id="borrowerautocomplete" class="autocomplete">
                 <input autocomplete="off" id="findborrower" name="findborrower" size="40" class="focus" type="text" />
-                <div id="yborrowercontainer"></div>
                 <input id="ysearchsubmit" type="submit" class="submit" value="Submit" />
-                <input name="branch" value="<!-- TMPL_VAR name="branch" -->" type="hidden" />
-                <input name="printer" value="" type="hidden" />
+                <div id="yborrowercontainer"></div>
             </div>
         </div>
 	<!-- TMPL_ELSE -->
-            <input id="findborrower" name="findborrower" size="40" class="focus" type="text" />
-            <input name="branch" value="<!-- TMPL_VAR name="branch" -->" type="hidden" />
-            <input name="printer" value="" type="hidden" />
-            <input value="Submit" class="submit" type="submit" />
+        <input id="findborrower" name="findborrower" size="40" class="focus" type="text" />
+        <input value="Submit" class="submit" type="submit" />
 	<!-- /TMPL_IF -->
+    <input name="branch" value="<!-- TMPL_VAR name="branch" -->" type="hidden" />
+    <input name="printer" value="" type="hidden" />
     </form>
 	</div>
 	<!-- /TMPL_IF -->
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc
index a054829..2a8511a 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc
@@ -37,6 +37,12 @@ YAHOO.util.Event.onContentReady("header_search", function() {
         var myInput = document.getElementById('findborrower');
         var myContainer = document.getElementById('yborrowercontainer');
         this.oAutoComp = new YAHOO.widget.AutoComplete(myInput,myContainer,this.oACDS);
+        this.oAutoComp.doBeforeExpandContainer = function(oTextbox, oContainer, sQuery, aResults) {
+            var pos = YAHOO.util.Dom.getXY(oTextbox);
+            pos[1] += YAHOO.util.Dom.get(oTextbox).offsetHeight;
+            YAHOO.util.Dom.setXY(oContainer,pos);
+            return true;
+        };
         //this.oAutoComp.delimChar = ";";
         //this.oAutoComp.queryDelay = 1;
         this.oAutoComp.formatResult = this.fnCustomFormatter;
@@ -62,21 +68,17 @@ YAHOO.util.Event.onContentReady("header_search", function() {
 	<p class="tip">Enter patron card number or partial name:</p>
     <form action="/cgi-bin/koha/circ/circulation.pl" method="post">
     <!-- TMPL_IF NAME="CircAutocompl" -->
-    <div class="autocomplete">
-            <div id="borrowerautocomplete" class="autocomplete">
-                <input autocomplete="off" id="findborrower" name="findborrower" type="text" />
-                <div id="yborrowercontainer"></div>
-                <input id="ysearchsubmit" type="submit" class="submit" value="Submit" />
-                <input name="branch" value="<!-- TMPL_VAR name="branch" -->" type="hidden" />
-                <input name="printer" value="" type="hidden" />
-            </div>
+        <div id="borrowerautocomplete" class="autocomplete">
+            <input autocomplete="off" id="findborrower" name="findborrower" size="40" type="text" />
+            <div class="yui-ac-container" style="color: blue; float: left;" id="yborrowercontainer"></div>
+            <input id="ysearchsubmit" type="submit" class="submit" value="Submit" />
         </div>
 	<!-- TMPL_ELSE -->
-            <input id="findborrower" name="findborrower" size="40" type="text" />
-            <input name="branch" value="<!-- TMPL_VAR name="branch" -->" type="hidden" />
-            <input name="printer" value="" type="hidden" />
-            <input value="Submit" class="submit" type="submit" />
+        <input id="findborrower" name="findborrower" size="40" type="text" />
+        <input value="Submit" class="submit" type="submit" />
 	<!-- /TMPL_IF -->
+        <input name="branch" value="<!-- TMPL_VAR name="branch" -->" type="hidden" />
+        <input name="printer" value="" type="hidden" />
     </form>
 	</div><!-- /TMPL_IF -->
 	<!-- TMPL_IF NAME="CAN_user_catalogue" -->
@@ -93,4 +95,4 @@ YAHOO.util.Event.onContentReady("header_search", function() {
 			<!-- TMPL_IF NAME="CAN_user_catalogue" --><li><a href="/cgi-bin/koha/catalogue/search.pl#catalog_search">Search the Catalog</a></li><!-- /TMPL_IF -->
 			</ul>	
 </div>
-<!-- End Patrons Resident Search Box -->
\ No newline at end of file
+<!-- End Patrons Resident Search Box -->
-- 
1.5.6.5




More information about the Koha-patches mailing list