Skip to content
Permalink
Browse files

Merge branch 'master' into widget-delegation

  • Loading branch information
jzaefferer committed Jun 19, 2011
2 parents 391282a + fb210ae commit aa7f8195f8c288dbefcb92064b68cb28064ac64c
Showing with 2,081 additions and 1,057 deletions.
  1. +11 −95 demos/menubar/default.html
  2. +14 −16 demos/popup/default.html
  3. +19 −16 demos/widget/default.html
  4. +4 −4 tests/unit/accordion/accordion.html
  5. +17 −15 tests/unit/accordion/accordion_core.js
  6. +4 −4 tests/unit/accordion/accordion_deprecated.html
  7. +54 −36 tests/unit/accordion/accordion_deprecated.js
  8. +29 −29 tests/unit/accordion/accordion_events.js
  9. +8 −5 tests/unit/accordion/accordion_methods.js
  10. +36 −19 tests/unit/accordion/accordion_options.js
  11. +29 −31 tests/unit/autocomplete/autocomplete.html
  12. +58 −48 tests/unit/autocomplete/autocomplete_core.js
  13. +164 −173 tests/unit/autocomplete/autocomplete_events.js
  14. +23 −32 tests/unit/autocomplete/autocomplete_methods.js
  15. +131 −186 tests/unit/autocomplete/autocomplete_options.js
  16. +50 −23 tests/unit/effects/effects.html
  17. +15 −0 tests/unit/effects/effects_core.js
  18. +61 −0 tests/unit/effects/effects_scale.js
  19. +34 −27 tests/unit/position/position.html
  20. +3 −2 tests/unit/position/position_core.js
  21. +441 −0 tests/unit/position/position_core_within.js
  22. +19 −0 tests/unit/widget/widget_core.js
  23. +1 −0 tests/visual/{ → effects}/effects.all.css
  24. +19 −19 tests/visual/{ → effects}/effects.all.html
  25. 0 tests/visual/{ → effects}/effects.all.js
  26. +159 −0 tests/visual/effects/effects.scale.html
  27. +1 −1 tests/visual/position/position.html
  28. +189 −0 tests/visual/position/position_within.html
  29. +1 −0 themes/base/jquery.ui.base.css
  30. +1 −1 themes/base/jquery.ui.datepicker.css
  31. +7 −31 themes/base/jquery.ui.menu.css
  32. +15 −0 themes/base/jquery.ui.menubar.css
  33. +2 −2 themes/base/jquery.ui.theme.css
  34. +1 −1 ui/jquery.effects.blind.js
  35. +1 −1 ui/jquery.effects.bounce.js
  36. +31 −26 ui/jquery.effects.clip.js
  37. +7 −1 ui/jquery.effects.core.js
  38. +1 −1 ui/jquery.effects.drop.js
  39. +1 −1 ui/jquery.effects.fold.js
  40. +47 −4 ui/jquery.effects.scale.js
  41. +1 −1 ui/jquery.effects.shake.js
  42. +9 −7 ui/jquery.effects.slide.js
  43. +9 −5 ui/jquery.effects.transfer.js
  44. +18 −2 ui/jquery.ui.datepicker.js
  45. +144 −107 ui/jquery.ui.menu.js
  46. +11 −6 ui/jquery.ui.menubar.js
  47. +68 −34 ui/jquery.ui.popup.js
  48. +86 −33 ui/jquery.ui.position.js
  49. +18 −7 ui/jquery.ui.spinner.js
  50. +9 −5 ui/jquery.ui.widget.js
@@ -3,7 +3,7 @@
<head>
<title>jQuery UI Menubar - Default demo</title>
<link rel="stylesheet" href="../demos.css" type="text/css" />
<link rel="stylesheet" href="../../themes/base/jquery.ui.all.css" type="text/css" title="ui-theme" />
<link rel="stylesheet" href="../../themes/base/jquery.ui.all.css" />
<script src="../../jquery-1.5.1.js"></script>
<script src="../../ui/jquery.ui.core.js"></script>
<script src="../../ui/jquery.ui.widget.js"></script>
@@ -13,56 +13,29 @@
<script src="../../ui/jquery.ui.menubar.js"></script>
<script>
$(function() {
$("td:has(.menubar)").clone().appendTo("tbody tr:not(:first)");

$("#bar1, .menubar").menubar({
$("#bar1").menubar({
position: {
within: $("#demo-frame").add(window).first()
},
select: function(event, ui) {
$("<div/>").text("Selected: " + ui.item.text()).appendTo("#log");
}
});

$(".menubar-icons").menubar({
menuIcon: true,
buttons: true,
position: {
within: $("#demo-frame").add(window).first()
},
select: function(event, ui) {
$("<div/>").text("Selected: " + ui.item.text()).appendTo("#log");
}
});
});
</script>
<style type="text/css">
#bar1, #bar2 { margin: 0 0 4em; } /* style for this page only */
.ui-menu { width: 200px; position: absolute; outline: none; z-index: 9999; }
.ui-menu .ui-icon { float: right; }
.ui-menu li.ui-state-disabled {
font-weight: bold;
padding: .0em .4em;
margin: .4em 0 .2em;
line-height: 1.5;
}

/* menubar styles */
.ui-menubar .ui-button { float: left; font-weight: normal; border-top-width: 0 !important; border-bottom-width: 0 !important; margin: 0; outline: none; }
.ui-menubar .ui-menubar-link { border-right: 1px dashed transparent; border-left: 1px dashed transparent; }

.ui-menubar {
list-style: none;
margin: 0;
padding-left: 0;
}

.ui-menubar-item {
float: left;
}
/*
table {
border-collapse: collapse;
}
th, td {
padding: 0.5em;
border: 1px solid black;
}
*/
<style>
#bar1, #bar2 { margin: 0 0 4em; }
</style>
</head>
<body>
@@ -160,63 +133,6 @@
</li>
</ul>

<!--
<table id="movies" class="ui-widget">
<thead>
<tr>
<th data-field="Name" class="ui-widget-header">Name</th>
<th data-field="ReleaseYear" class="ui-widget-header">Release Year</th>
<th data-field="AverageRating" class="ui-widget-header">Average Rating</th>
<th class="ui-widget-header"></th>
</tr>
</thead>
<tbody>
<tr>
<td class="ui-widget-content">Red Hot Chili Peppers: Funky Monks</td>
<td class="ui-widget-content">1993</td>
<td class="ui-widget-content">3.6</td>
<td class="ui-widget-content">
<ul class="menubar">
<li>
<a href="#Options">Options</a>
<ul>
<li><a href="#Order...">Order...</a></li>
<li class="ui-state-disabled">Write a Review...</li>
<li><a href="#Find Similar Movies...">Find Similar Movies...</a></li>
<li>
<a href="#Rate">Rate</a>
<ul>
<li><a href="#5 stars">5 stars</a></li>
<li><a href="#4 stars">4 stars</a></li>
<li><a href="#3 stars">3 stars</a></li>
<li><a href="#2 stars">2 stars</a></li>
<li><a href="#1 stars">1 stars</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td class="ui-widget-content">Rod Stewart: Storyteller 1984-1991</td>
<td class="ui-widget-content">1991</td>
<td class="ui-widget-content">3.1</td>
</tr>
<tr>
<td class="ui-widget-content">Stevie Ray Vaughan and Double Trouble: Live at the El Mocambo 1983</td>
<td class="ui-widget-content">1991</td>
<td class="ui-widget-content">3.9</td>
</tr>
<tr>
<td class="ui-widget-content">Spike and Mike's Sick &amp; Twisted Festival of Animation</td>
<td class="ui-widget-content">1997</td>
<td class="ui-widget-content">2.6</td>
</tr>
</tbody>
</table>
-->

<div class="ui-widget" style="margin-top:2em; font-family:Arial">
Log:
<div id="log" style="height: 100px; width: 300px; overflow: auto;" class="ui-widget-content"></div>
@@ -29,7 +29,7 @@
<style type="text/css">
.ui-popup { position: absolute; z-index: 5000; }
.ui-menu { width: 200px; }

/*
table {
border-collapse: collapse;
@@ -55,26 +55,24 @@

<div class="demo">
<a href="#login-form">Log In</a>
<div id="login-form" class="ui-widget-content" tabIndex="0">
<form>
<div>
<label>Username</label>
<input type="username" />
</div>
<div>
<label>Password</label>
<input type="password" />
</div>
<div>
<input type="submit" class="submit" value="Login" />
</div>
</form>
<div class="ui-widget-content" id="login-form" aria-label="Login options">
<div>
<label for="un">Username</label>
<input type="text" id="un" />
</div>
<div>
<label for="pw">Password</label>
<input type="password" id="pw" />
</div>
<div>
<input type="submit" value="Login" class="submit" />
</div>
</div>
</div>

<div class="demo-description">

<p>A link to a login form that opens as a popup. [Not quite functional, focus handling needs to get better]</p>
<p>A link to a login form that opens as a popup.</p>

</div><!-- End demo-description -->

@@ -10,7 +10,7 @@
<script src="../../ui/jquery.ui.position.js"></script>
<link rel="stylesheet" href="../demos.css">
<style>
.colorize {
.custom-colorize {
font-size: 25px;
width: 75px;
height: 75px;
@@ -28,20 +28,21 @@
blue: 0,

// callbacks
change: null,
random: null
},

// the constructor
_create: function() {
this.element
// add a class for themeing
.addClass("colorize")
// add a class for theming
.addClass( "custom-colorize" )
// prevent double click to select text
.disableSelection();

// bind click events to random method
this._bind({
// _bind won"t call random when widget is disabled
// _bind won't call random when widget is disabled
click: "random"
});
this._refresh();
@@ -68,7 +69,7 @@
blue: Math.floor( Math.random() * 256 )
};

// trigger an event, check if it"s canceled
// trigger an event, check if it's canceled
if ( this._trigger( "random", event, colors ) !== false ) {
this.option( colors );
}
@@ -78,24 +79,26 @@
// revert other modifications here
_destroy: function() {
this.element
.removeClass( "colorize" )
.removeClass( "custom-colorize" )
.enableSelection()
.css( "background-color", "transparent" );
},

_setOption: function( key, value ) {
// prevent invalid color values
if ( /red|green|blue/.test(key) && value < 0 || value > 255 ) {
return;
}
this._super( "_setOptions", options );
},

// _setOptions is called with a hash of all options that are changing
// always refresh when changing options
_setOptions: function() {
// _super handles keeping the right this-context
// _super and _superApply handle keeping the right this-context
this._superApply( "_setOptions", arguments );
this._refresh();
},

// _setOption is called for each individual option that is changing
_setOption: function( key, value ) {
// prevent invalid color values
if ( /red|green|blue/.test(key) && (value < 0 || value > 255) ) {
return;
}
this._super( "_setOption", key, value );
}
});

@@ -131,7 +134,7 @@
red: 0,
green: 0,
blue: 0
} );
});
});
});
</script>
@@ -25,17 +25,17 @@
var actual = accordion.find( ".ui-accordion-content" ).map(function() {
return $( this ).css( "display" ) === "none" ? 0 : 1;
}).get();
same( actual, expected );
deepEqual( actual, expected );
}
function equalHeights( accordion, min, max ) {
function accordion_equalHeights( accordion, min, max ) {
var sizes = [];
accordion.find( ".ui-accordion-content" ).each(function() {
sizes.push( $( this ).outerHeight() );
});
ok( sizes[ 0 ] >= min && sizes[ 0 ] <= max,
"must be within " + min + " and " + max + ", was " + sizes[ 0 ] );
same( sizes[ 0 ], sizes[ 1 ] );
same( sizes[ 0 ], sizes[ 2 ] );
deepEqual( sizes[ 0 ], sizes[ 1 ] );
deepEqual( sizes[ 0 ], sizes[ 2 ] );
}
function accordionSetupTeardown() {
var animated = $.ui.accordion.prototype.options.animated;
@@ -3,20 +3,22 @@
module( "accordion: core", accordionSetupTeardown() );

$.each( { div: "#list1", ul: "#navigation", dl: "#accordion-dl" }, function( type, selector ) {
expect( 4 );
test( "markup structure: " + type, function() {
var element = $( selector ).accordion();
ok( element.hasClass( "ui-accordion" ), "main element is .ui-accordion" );
equal( element.find( ".ui-accordion-header" ).length, 3,
".ui-accordion-header elements exist, correct number" );
equal( element.find( ".ui-accordion-content" ).length, 3,
".ui-accordion-content elements exist, correct number" );
same( element.find( ".ui-accordion-header" ).next().get(),
deepEqual( element.find( ".ui-accordion-header" ).next().get(),
element.find( ".ui-accordion-content" ).get(),
"content panels come immediately after headers" );
});
});

test( "handle click on header-descendant", function() {
expect( 1 );
var element = $( "#navigation" ).accordion();
$( "#navigation h2:eq(1) a" ).click();
accordion_state( element, 0, 1, 0 );
@@ -26,28 +28,28 @@ test( "ui-accordion-heading class added to headers anchor", function() {
expect( 1 );
var element = $( "#list1" ).accordion();
var anchors = element.find( ".ui-accordion-heading" );
equals( anchors.length, 3 );
equal( anchors.length, 3 );
});

test( "accessibility", function () {
expect( 13 );
var element = $( "#list1" ).accordion().accordion( "option", "active", 1 );
var headers = element.find( ".ui-accordion-header" );

equals( headers.eq( 1 ).attr( "tabindex" ), 0, "active header should have tabindex=0" );
equals( headers.eq( 0 ).attr( "tabindex" ), -1, "inactive header should have tabindex=-1" );
equals( element.attr( "role" ), "tablist", "main role" );
equals( headers.attr( "role" ), "tab", "tab roles" );
equals( headers.next().attr( "role" ), "tabpanel", "tabpanel roles" );
equals( headers.eq( 1 ).attr( "aria-expanded" ), "true", "active tab has aria-expanded" );
equals( headers.eq( 0 ).attr( "aria-expanded" ), "false", "inactive tab has aria-expanded" );
equals( headers.eq( 1 ).attr( "aria-selected" ), "true", "active tab has aria-selected" );
equals( headers.eq( 0 ).attr( "aria-selected" ), "false", "inactive tab has aria-selected" );
equal( headers.eq( 1 ).attr( "tabindex" ), 0, "active header should have tabindex=0" );
equal( headers.eq( 0 ).attr( "tabindex" ), -1, "inactive header should have tabindex=-1" );
equal( element.attr( "role" ), "tablist", "main role" );
equal( headers.attr( "role" ), "tab", "tab roles" );
equal( headers.next().attr( "role" ), "tabpanel", "tabpanel roles" );
equal( headers.eq( 1 ).attr( "aria-expanded" ), "true", "active tab has aria-expanded" );
equal( headers.eq( 0 ).attr( "aria-expanded" ), "false", "inactive tab has aria-expanded" );
equal( headers.eq( 1 ).attr( "aria-selected" ), "true", "active tab has aria-selected" );
equal( headers.eq( 0 ).attr( "aria-selected" ), "false", "inactive tab has aria-selected" );
element.accordion( "option", "active", 0 );
equals( headers.eq( 0 ).attr( "aria-expanded" ), "true", "newly active tab has aria-expanded" );
equals( headers.eq( 1 ).attr( "aria-expanded" ), "false", "newly inactive tab has aria-expanded" );
equals( headers.eq( 0 ).attr( "aria-selected" ), "true", "active tab has aria-selected" );
equals( headers.eq( 1 ).attr( "aria-selected" ), "false", "inactive tab has aria-selected" );
equal( headers.eq( 0 ).attr( "aria-expanded" ), "true", "newly active tab has aria-expanded" );
equal( headers.eq( 1 ).attr( "aria-expanded" ), "false", "newly inactive tab has aria-expanded" );
equal( headers.eq( 0 ).attr( "aria-selected" ), "true", "active tab has aria-selected" );
equal( headers.eq( 1 ).attr( "aria-selected" ), "false", "inactive tab has aria-selected" );
});

}( jQuery ) );
@@ -22,17 +22,17 @@
var actual = accordion.find( ".ui-accordion-content" ).map(function() {
return $( this ).css( "display" ) === "none" ? 0 : 1;
}).get();
same( actual, expected );
deepEqual( actual, expected );
}
function equalHeights( accordion, min, max ) {
function accordion_equalHeights( accordion, min, max ) {
var sizes = [];
accordion.find( ".ui-accordion-content" ).each(function() {
sizes.push( $( this ).outerHeight() );
});
ok( sizes[ 0 ] >= min && sizes[ 0 ] <= max,
"must be within " + min + " and " + max + ", was " + sizes[ 0 ] );
same( sizes[ 0 ], sizes[ 1 ] );
same( sizes[ 0 ], sizes[ 2 ] );
deepEqual( sizes[ 0 ], sizes[ 1 ] );
deepEqual( sizes[ 0 ], sizes[ 2 ] );
}
function accordionSetupTeardown() {
var animated = $.ui.accordion.prototype.options.animated;

0 comments on commit aa7f819

Please sign in to comment.
You can’t perform that action at this time.