[Jifty-commit] jifty branch, master, updated. d6ed667414e6270fd3aa2834535ade0b4906b322

Jifty commits jifty-commit at lists.jifty.org
Thu Jan 7 11:31:31 EST 2010


The branch, master has been updated
       via  d6ed667414e6270fd3aa2834535ade0b4906b322 (commit)
      from  86faba210ba00f5d4589b0c1be7e22cc405981a1 (commit)

Summary of changes:
 lib/Jifty/Web/Menu.pm |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

- Log -----------------------------------------------------------------
commit d6ed667414e6270fd3aa2834535ade0b4906b322
Author: Thomas Sibley <trs at bestpractical.com>
Date:   Wed Jan 6 16:22:05 2010 -0500

    Add 'open' class on submenu button

diff --git a/lib/Jifty/Web/Menu.pm b/lib/Jifty/Web/Menu.pm
index 6bfd334..6d41336 100644
--- a/lib/Jifty/Web/Menu.pm
+++ b/lib/Jifty/Web/Menu.pm
@@ -450,11 +450,10 @@ sub render_as_yui_menu {
     my $json   = Jifty::JSON::objToJson( $args{'options'} );
 
     # Bind to a button to show the menu
-    my $binding = $args{'button'}
-                    ? qq[YAHOO.util.Event.addListener("$args{button}", "click", menu.show, null, menu);]
-                    : '';
+    my $binding = (defined $args{'button'} and length $args{'button'}) ? 1 : 0;
 
     $self->_render_as_yui_menu_item( class => "yuimenu", id => $args{'id'} );
+
     Jifty->web->out(<<"    END");
         <script type="text/javascript">
             YAHOO.util.Event.onContentReady("$args{id}", function() {
@@ -462,7 +461,16 @@ sub render_as_yui_menu {
                 var menu = new YAHOO.widget.Menu("$args{id}", $json);
                 menu.render();
                 $showjs
-                $binding
+                if ( $binding ) {
+                    YAHOO.util.Event.addListener("$args{button}", "click",
+                        function() {
+                           this.show();
+                        },
+                        null, menu
+                    );
+                    menu.subscribe("show", function() { jQuery("#$args{button}").addClass("open") });
+                    menu.subscribe("hide", function() { jQuery("#$args{button}").removeClass("open") });
+                }
             });
         </script>
     END

-----------------------------------------------------------------------


More information about the Jifty-commit mailing list