Merge "Add TitleMove hook"
[lhc/web/wiklou.git] / resources / jquery / jquery.makeCollapsible.js
index f5c204c..27c4c6c 100644 (file)
                                        $containers.hide();
                                        hookCallback();
                                } else {
-                                       $containers.stop( true, true ).fadeOut( hookCallback );
+                                       $.when( $containers.stop( true, true ).fadeOut() ).then( hookCallback );
                                }
                        } else {
-                               $containers.stop( true, true ).fadeIn( hookCallback );
+                               $.when( $containers.stop( true, true ).fadeIn() ).then( hookCallback );
                        }
 
                } else if ( !options.plainMode && ( $collapsible.is( 'ul' ) || $collapsible.is( 'ol' ) ) ) {
                                        $containers.hide();
                                        hookCallback();
                                } else {
-                                       $containers.stop( true, true ).slideUp( hookCallback );
+                                       $.when( $containers.stop( true, true ).slideUp() ).then( hookCallback );
                                }
                        } else {
-                               $containers.stop( true, true ).slideDown( hookCallback );
+                               $.when( $containers.stop( true, true ).slideDown() ).then( hookCallback );
                        }
 
                } else {
                                                $collapsibleContent.hide();
                                                hookCallback();
                                        } else {
-                                               $collapsibleContent.slideUp( hookCallback );
+                                               $.when( $collapsibleContent.slideUp() ).then( hookCallback );
                                        }
                                } else {
-                                       $collapsibleContent.slideDown( hookCallback );
+                                       $.when( $collapsibleContent.slideDown() ).then( hookCallback );
                                }
 
                        // Otherwise assume this is a customcollapse with a remote toggle
                                                hookCallback();
                                        } else {
                                                if ( $collapsible.is( 'tr' ) || $collapsible.is( 'td' ) || $collapsible.is( 'th' ) ) {
-                                                       $collapsible.fadeOut( hookCallback );
+                                                       $.when( $collapsible.fadeOut() ).then( hookCallback );
                                                } else {
-                                                       $collapsible.slideUp( hookCallback );
+                                                       $.when( $collapsible.slideUp() ).then( hookCallback );
                                                }
                                        }
                                } else {
                                        if ( $collapsible.is( 'tr' ) || $collapsible.is( 'td' ) || $collapsible.is( 'th' ) ) {
-                                               $collapsible.fadeIn( hookCallback );
+                                               $.when( $collapsible.fadeIn() ).then( hookCallback );
                                        } else {
-                                               $collapsible.slideDown( hookCallback );
+                                               $.when( $collapsible.slideDown() ).then( hookCallback );
                                        }
                                }
                        }
                        if ( e.type === 'click' && options.linksPassthru && $.nodeName( e.target, 'a' ) ) {
                                // Don't fire if a link was clicked, if requested  (for premade togglers by default)
                                return;
-                       } else if ( e.type === 'keypress' && e.which !== 13 ) {
-                               // Only handle keypresses on the "Enter" key
+                       } else if ( e.type === 'keypress' && e.which !== 13 && e.which !== 32 ) {
+                               // Only handle keypresses on the "Enter" or "Space" keys
                                return;
                        } else {
                                e.preventDefault();