Fix for Bug 5048, Error in menu/submenu for select language in intranet
authorOwen Leonard <oleonard@myacpl.org>
Sat, 13 Nov 2010 19:14:39 +0000 (14:14 -0500)
committerChris Cormack <chrisc@catalyst.net.nz>
Wed, 1 Dec 2010 20:24:34 +0000 (09:24 +1300)
Patch for HEAD. This issue was apparently solved quite a while
ago in the OPAC. This patch copies that solution over to the staff client.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
koha-tmpl/intranet-tmpl/prog/en/includes/intranet-bottom.inc
koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js

index 78334b2..839c176 100644 (file)
@@ -7,7 +7,7 @@
         <!-- TMPL_LOOP NAME="languages_loop" -->
             <!-- TMPL_IF NAME="group_enabled" -->
             <!-- TMPL_IF NAME="plural" -->
-            <li class="more"><a id="showlang" href="#"><!-- TMPL_VAR NAME="native_description" --> (<!-- TMPL_VAR NAME="rfc4646_subtag" -->)</a><div id="sublangs">
+            <li class="more"><a class="sublangs" id="show<!-- TMPL_VAR NAME="rfc4646_subtag" -->" href="#"><!-- TMPL_VAR NAME="native_description" --> (<!-- TMPL_VAR NAME="rfc4646_subtag" -->)</a><div id="sub<!-- TMPL_VAR NAME="rfc4646_subtag" -->">
             <div class="bd"><ul>
             <!-- TMPL_LOOP NAME="sublanguages_loop" -->
                <!-- TMPL_IF NAME="enabled" -->
index c2e6fba..047bfa0 100644 (file)
@@ -43,35 +43,34 @@ function _(s) { return s } // dummy function for gettext
                 YAHOO.widget.Overlay.windowResizeEvent.subscribe(positionoMoremenu);
             });
 
+// build Change Language menus
 YAHOO.util.Event.onContentReady("changelanguage", function () {
-                var oMenu = new YAHOO.widget.Menu("sublangs", { zindex: 2 });
-
-                   function positionoMenu() {
-                    oMenu.align("bl", "tl");
-                }
-
-                oMenu.subscribe("beforeShow", function () {
-                    if (this.getRoot() == this) {
-                                               positionoMenu();
-                    }
-                });
-
-                oMenu.render();
-
-                               oMenu.cfg.setProperty("context", ["showlang", "bl", "tl"]);
-
-                               function onYahooClick(p_oEvent) {
-                    // Position and display the menu        
-                    positionoMenu();
-                    oMenu.show();
-                    // Stop propagation and prevent the default "click" behavior
-                    YAHOO.util.Event.stopEvent(p_oEvent);
-                }
-
-                               YAHOO.util.Event.addListener("showlang", "click", onYahooClick);
-
-                               YAHOO.widget.Overlay.windowResizeEvent.subscribe(positionoMenu);
-            });
+       $(".sublangs").each(function(){
+               var menuid = $(this).attr("id");
+               var menuid = menuid.replace("show","");
+
+               var oMenu = new YAHOO.widget.Menu("sub"+menuid, { zindex: 2 });
+               function positionoMenu() {
+                       oMenu.align("bl", "tl");
+               }
+               oMenu.subscribe("beforeShow", function () {
+               if (this.getRoot() == this) {
+                       positionoMenu();
+               }
+               });
+               oMenu.render();
+               oMenu.cfg.setProperty("context", ["show"+menuid, "bl", "tl"]);
+               function onYahooClick(p_oEvent) {
+                       // Position and display the menu
+                       positionoMenu();
+                       oMenu.show();
+                       // Stop propagation and prevent the default "click" behavior
+                       YAHOO.util.Event.stopEvent(p_oEvent);
+               }
+               YAHOO.util.Event.addListener("show"+menuid, "click", onYahooClick);
+               YAHOO.widget.Overlay.windowResizeEvent.subscribe(positionoMenu);
+       });
+});
                        
 // http://jennifermadden.com/javascript/stringEnterKeyDetector.html
 function checkEnter(e){ //e is event object passed from function invocation