]> source.dussan.org Git - jquery-ui.git/commitdiff
Popup/Tooltip: Fix tab order and add notifications (on select) in
authorJörn Zaefferer <joern.zaefferer@gmail.com>
Fri, 6 May 2011 17:43:47 +0000 (19:43 +0200)
committerJörn Zaefferer <joern.zaefferer@gmail.com>
Fri, 6 May 2011 22:43:07 +0000 (00:43 +0200)
video-player demo.

demos/tooltip/video-player.html
tests/visual/menu/popup.js

index 2e24197608936ef47430da436046ee5749aa9411..473c6a6a3cbb962ee64d31c995fb45be5f6d6316 100644 (file)
        <link type="text/css" href="../demos.css" rel="stylesheet" />
        <script type="text/javascript">
        $(function() {
+               function notify( input ) {
+                       var msg = "Selected " + $.trim($(input).text());
+                       $("<div/>").appendTo(document.body).text(msg).addClass("notification ui-state-highlight").position({
+                               my: "center top+20",
+                               at: "center top",
+                               of: window
+                       }).delay(1000).fadeOut("slow", function() {
+                               $(this).remove();
+                       });
+               }
+               $("ul").menu({
+                       select: function(event, ui) {
+                               // stop button from handling the click
+                               $(this).popup("close");
+                               notify(ui.item);
+                       }
+               }).popup();
+
                $("button").each(function() {
                        $(this).button({
                                icons: {
                                        primary: $(this).data("icon")
                                },
                                text: !!$(this).attr("title")
+                       }).click(function() {
+                               // TODO don't notify if the button is opening a popup
+                               notify(this);
                        });
                });
-               $(".set").buttonset();
-
-               $("ul").menu({
-                       select: function() {
-                               // would also execute some other action here
-                               $(this).popup("close");
-                       }
-               }).popup({
-                       trigger: $(".menu")
+               $(".set").buttonset({
+                       items: "button"
                });
 
+
                $(".demo").tooltip({
                        position: {
                                my: "center top",
                        background: rgba(20, 20, 20, 1);
                        color: white;
                }
+
+               .set { display: inline-block; }
+
+               .notification { position: absolute; display: inline-block; font-size: 2em; padding: 1em; border-radius: 15px; box-shadow: 2px 2px 5px -2px rgba(0,0,0,0.5); }
        </style>
 </head>
 <body>
                        <button data-icon="ui-icon-circle-arrow-n" title="I like this">Like</button>
                        <button data-icon="ui-icon-circle-arrow-s">I dislike this</button>
                </span>
-               <span class="set">
+               <div class="set">
                        <button data-icon="ui-icon-circle-plus" title="Add to Watch Later">Add to</button>
                        <button class="menu" data-icon="ui-icon-triangle-1-s">Add to favorites or playlist</button>
-               </span>
+                       <ul>
+                               <li>
+                                       <a href="#">Favorites</a>
+                               </li>
+                               <li>
+                                       <a href="#">Watch Later</a>
+                               </li>
+                               <li>
+                                       <a href="#">New Playlist...</a>
+                               </li>
+                       </ul>
+               </div>
                <button title="Share this video">Share</button>
                <button data-icon="ui-icon-alert">Flag as inappropiate</button>
-               <ul>
-                       <li>
-                               <a href="#">Favorites</a>
-                       </li>
-                       <li>
-                               <a href="#">Watch Later</a>
-                       </li>
-                       <li>
-                               <a href="#">New Playlist...</a>
-                       </li>
-               </ul>
        </div>
  </div>
 
index a5e42a884a375109c264c589f392da8ea85ab637..5f7b41538cdfdf350c5437919221de63c3e1f284 100644 (file)
@@ -43,6 +43,8 @@ $.widget( "ui.popup", {
                                if (event.keyCode == $.ui.keyCode.SPACE) {
                                        event.preventDefault()
                                }
+                               // TODO handle keydown to open popup?
+                               //if (event.keyCode == $.ui.keyCode.SPACE) { .. }
                        },
                        click: function( event ) {
                                event.preventDefault();