Skip to content

Commit 86417ef

Browse files
Steven G. Harmsjzaefferer
Steven G. Harms
authored andcommitted
Menubar: Rewrite of the existing prototype.
Uses _on instead of _bind, fixes a lot of bugs related to keyboard interaction and buttons without menus. Still some issues around tab key handling and method naming.
1 parent b9d0771 commit 86417ef

File tree

4 files changed

+480
-178
lines changed

4 files changed

+480
-178
lines changed

tests/unit/menubar/menubar_events.js

+19
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,23 @@ test( "handle click on menu item", function() {
2727
equal( logOutput(), "click,(1,2),afterclick,(2,1),(3,3),(1,2)", "Click order not valid." );
2828
});
2929

30+
test( "hover over a menu item with no sub-menu should close open menu", function() {
31+
expect( 2 );
32+
33+
var element = $("#bar1").menubar(),
34+
links = $("#bar1 > li a"),
35+
menuItemWithDropdown = links.eq(1),
36+
menuItemWithoutDropdown = links.eq(0);
37+
38+
menuItemWithDropdown.trigger("click");
39+
menuItemWithoutDropdown.trigger("mouseenter");
40+
41+
equal($(".ui-menu:visible").length, 0, "After triggering a sub-menu, a mouseenter on a peer menu item should close the opened sub-menu");
42+
43+
menuItemWithDropdown.trigger("click");
44+
menuItemWithoutDropdown.trigger("click");
45+
46+
equal($(".ui-menu:visible").length, 0, "After triggering a sub-menu, a click on a peer menu item should close the opened sub-menu");
47+
});
48+
3049
})( jQuery );

tests/visual/index.html

+5
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ <h2>Menu</h2>
4747
<li><a href="menu/menu.html">General</a></li>
4848
</ul>
4949

50+
<h2>Menubar</h2>
51+
<ul>
52+
<li><a href="menubar/menubar.html">General</a></li>
53+
</ul>
54+
5055
<h2>Position</h2>
5156
<ul>
5257
<li><a href="position/position.html">General</a></li>

tests/visual/menubar/menubar.html

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<!doctype html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>Menu Visual Test: Default</title>
6+
<link rel="stylesheet" href="../../../themes/base/jquery.ui.all.css">
7+
<script src="../../../jquery-1.8.2.js"></script>
8+
<script src="../../../ui/jquery.ui.core.js"></script>
9+
<script src="../../../ui/jquery.ui.widget.js"></script>
10+
<script src="../../../ui/jquery.ui.position.js"></script>
11+
<script src="../../../ui/jquery.ui.menu.js"></script>
12+
<script src="../../../ui/jquery.ui.menubar.js"></script>
13+
<style>
14+
body { font-size:62.5%; }
15+
.ui-menu { width: 200px; margin-bottom: 2em; }
16+
.menu4 { height: 200px; overflow-y: auto; overflow-x: hidden; }
17+
.address-item { border-bottom: 1px solid #999; }
18+
.address-header { display: block; margin-bottom: .2em; font-weight: bold; }
19+
.address-content { display: block; margin-bottom: .2em; padding-left: 10px; }
20+
</style>
21+
<script type="text/javascript" charset="utf-8">
22+
$(document).ready( function() {
23+
$(".menubar").menubar();
24+
} );
25+
</script>
26+
</head>
27+
<body>
28+
29+
<h2>Default menubar</h2>
30+
31+
<ul class="menubar">
32+
<li><a href="#About">About</a></li>
33+
<li>
34+
<a href="#File">File</a>
35+
<ul>
36+
<li><a href="#Open...">Open...</a></li>
37+
<li class="ui-state-disabled"><a href="#">Open recent...</a></li>
38+
<li><a href="#Save">Save</a></li>
39+
<li><a href="#Save%20as...">Save as...</a></li>
40+
<li><a href="#Close">Close</a></li>
41+
<li><a href="#Quit">Quit</a></li>
42+
</ul>
43+
</li>
44+
<li><a href="#Stubby">Stubby</a></li>
45+
<li>
46+
<a href="#Edit">Edit</a>
47+
<ul>
48+
<li><a href="#Copy">Copy</a></li>
49+
<li><a href="#Cut">Cut</a></li>
50+
<li class="ui-state-disabled"><a href="#">Paste</a></li>
51+
</ul>
52+
</li>
53+
<li>
54+
<a href="#View">View</a>
55+
<ul>
56+
<li><a href="#Fullscreen">Fullscreen</a></li>
57+
<li><a href="#Fit%20into%20view">Fit into view</a></li>
58+
<li>
59+
<a href="#Encoding">Encoding</a>
60+
<ul>
61+
<li><a href="#Auto-detect">Auto-detect</a></li>
62+
<li><a href="#UTF-8">UTF-8</a></li>
63+
<li>
64+
<a href="#UTF-16">UTF-16</a>
65+
<ul>
66+
<li><a href="#Option%201">Option 1</a></li>
67+
<li><a href="#Option%202">Option 2</a></li>
68+
<li><a href="#Option%203">Option 3</a></li>
69+
<li><a href="#Option%204">Option 4</a></li>
70+
</ul>
71+
</li>
72+
</ul>
73+
</li>
74+
<li><a href="#Customize...">Customize...</a></li>
75+
</ul>
76+
</li>
77+
</ul>
78+
</body>
79+
</html>

0 commit comments

Comments
 (0)