Merge branch 'master' into selectmenu

This commit is contained in:
kborchers 2012-03-18 21:19:19 -05:00
commit e38feeacb6
7 changed files with 25 additions and 16 deletions

View File

@ -10,15 +10,19 @@ test( "destroy", function() {
}); });
test( "enable/disable", function() { test( "enable/disable", function() {
expect( 3 ); expect( 4 );
var element = $( "#list1" ).accordion(); var element = $( "#list1" ).accordion();
accordion_state( element, 1, 0, 0 ); accordion_state( element, 1, 0, 0 );
element.accordion( "disable" ); element.accordion( "disable" );
element.accordion( "option", "active", 1 ); // event does nothing
element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "click" );
accordion_state( element, 1, 0, 0 ); accordion_state( element, 1, 0, 0 );
element.accordion( "enable" ); // option still works
element.accordion( "option", "active", 1 ); element.accordion( "option", "active", 1 );
accordion_state( element, 0, 1, 0 ); accordion_state( element, 0, 1, 0 );
element.accordion( "enable" );
element.accordion( "option", "active", 2 );
accordion_state( element, 0, 0, 1 );
}); });
test( "refresh", function() { test( "refresh", function() {

View File

@ -152,6 +152,7 @@ test( "{ event: custom }", function() {
// ensure old event handlers are unbound // ensure old event handlers are unbound
element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom1" ); element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom1" );
element.find( ".ui-accordion-header" ).eq( 1 ).trigger( "custom2" );
equal( element.accordion( "option", "active" ), 2 ); equal( element.accordion( "option", "active" ), 2 );
accordion_state( element, 0, 0, 1 ); accordion_state( element, 0, 0, 1 );

View File

@ -3,7 +3,7 @@ function accordion_state( accordion ) {
var actual = accordion.find( ".ui-accordion-content" ).map(function() { var actual = accordion.find( ".ui-accordion-content" ).map(function() {
return $( this ).css( "display" ) === "none" ? 0 : 1; return $( this ).css( "display" ) === "none" ? 0 : 1;
}).get(); }).get();
deepEqual( actual, expected ); QUnit.push( QUnit.equiv(actual, expected), actual, expected );
} }
function accordion_equalHeights( accordion, min, max ) { function accordion_equalHeights( accordion, min, max ) {

View File

@ -15,6 +15,7 @@
.ui-menu .ui-menu-item a.ui-state-active { font-weight: normal; margin: -1px; } .ui-menu .ui-menu-item a.ui-state-active { font-weight: normal; margin: -1px; }
.ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; } .ui-menu .ui-state-disabled { font-weight: normal; margin: .4em 0 .2em; line-height: 1.5; }
.ui-menu .ui-state-disabled a { cursor: default; }
/* icon support */ /* icon support */
.ui-menu-icons { position: relative; } .ui-menu-icons { position: relative; }

View File

@ -1,5 +1,5 @@
/* Finnish initialisation for the jQuery UI date picker plugin. */ /* Finnish initialisation for the jQuery UI date picker plugin. */
/* Written by Harri Kilpi<EFBFBD> (harrikilpio@gmail.com). */ /* Written by Harri Kilpiö (harrikilpio@gmail.com). */
jQuery(function($){ jQuery(function($){
$.datepicker.regional['fi'] = { $.datepicker.regional['fi'] = {
closeText: 'Sulje', closeText: 'Sulje',
@ -10,7 +10,7 @@ jQuery(function($){
'Hein&#xE4;kuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'], 'Hein&#xE4;kuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'],
monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kes&#xE4;', monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kes&#xE4;',
'Hein&#xE4;','Elo','Syys','Loka','Marras','Joulu'], 'Hein&#xE4;','Elo','Syys','Loka','Marras','Joulu'],
dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','Su'], dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','La'],
dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'], dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'],
dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'], dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'],
weekHeader: 'Vk', weekHeader: 'Vk',

View File

@ -68,8 +68,6 @@ $.widget( "ui.accordion", {
this.headers this.headers
.attr( "role", "tab" ) .attr( "role", "tab" )
// TODO: use _bind()
.bind( "keydown.accordion", $.proxy( this, "_keydown" ) )
.next() .next()
.attr( "role", "tabpanel" ); .attr( "role", "tabpanel" );
@ -161,8 +159,7 @@ $.widget( "ui.accordion", {
if ( key === "event" ) { if ( key === "event" ) {
if ( this.options.event ) { if ( this.options.event ) {
// TODO: this is incorrect for multiple events (see _setupEvents) this.headers.unbind( ".accordion" );
this.headers.unbind( this.options.event + ".accordion", this._eventHandler );
} }
this._setupEvents( value ); this._setupEvents( value );
} }
@ -190,8 +187,7 @@ $.widget( "ui.accordion", {
}, },
_keydown: function( event ) { _keydown: function( event ) {
// TODO: remove disabled check when using _bind() if ( event.altKey || event.ctrlKey ) {
if ( this.options.disabled || event.altKey || event.ctrlKey ) {
return; return;
} }
@ -300,11 +296,15 @@ $.widget( "ui.accordion", {
}, },
_setupEvents: function( event ) { _setupEvents: function( event ) {
var events = {
keydown: "_keydown"
};
if ( event ) { if ( event ) {
// TODO: use _bind() $.each( event.split(" "), function( index, eventName ) {
this.headers.bind( event.split( " " ).join( ".accordion " ) + ".accordion", events[ eventName ] = "_eventHandler";
$.proxy( this, "_eventHandler" ) ); });
} }
this._bind( this.headers, events );
}, },
_eventHandler: function( event ) { _eventHandler: function( event ) {
@ -324,7 +324,7 @@ $.widget( "ui.accordion", {
event.preventDefault(); event.preventDefault();
if ( options.disabled || if (
// click on active header, but not collapsible // click on active header, but not collapsible
( clickedIsActive && !options.collapsible ) || ( clickedIsActive && !options.collapsible ) ||
// allow canceling activation // allow canceling activation

View File

@ -59,6 +59,9 @@ $.widget( "ui.menu", {
"mousedown .ui-menu-item > a": function( event ) { "mousedown .ui-menu-item > a": function( event ) {
event.preventDefault(); event.preventDefault();
}, },
"click .ui-state-disabled > a": function( event ) {
event.preventDefault();
},
"click .ui-menu-item:has(a)": function( event ) { "click .ui-menu-item:has(a)": function( event ) {
event.stopImmediatePropagation(); event.stopImmediatePropagation();
//Don't select disabled menu items //Don't select disabled menu items