Skip to content
This repository has been archived by the owner on Oct 8, 2021. It is now read-only.

Commit

Permalink
Collapsible: Address #6163.
Browse files Browse the repository at this point in the history
  • Loading branch information
Gabriel Schulhof committed Jul 19, 2013
1 parent 93761a7 commit 451bd0b
Showing 1 changed file with 23 additions and 8 deletions.
31 changes: 23 additions & 8 deletions js/widgets/collapsible.js
Expand Up @@ -53,6 +53,7 @@ $.widget( "mobile.collapsible", {
ui.heading = $( ".ui-collapsible-heading", this.element[ 0 ] );
ui.content = ui.heading.next();
ui.anchor = $( "a", ui.heading[ 0 ] ).first();
this._applyOptions( opts, true );
} else {
this._enhance( elem, ui );
this._setOptions( opts );
Expand Down Expand Up @@ -200,8 +201,8 @@ $.widget( "mobile.collapsible", {
this.element.removeClass( "ui-collapsible " + this._elClasses + ( this.options.collapsed ? " ui-collapsible-collapsed" : "" ) );
},

_setOptions: function( options ) {
var key,
_applyOptions: function( options, internal ) {
var key, contentThemeClass,
opts = $.extend( {}, this.options, options ),
$el = this.element,
classes = "",
Expand All @@ -222,7 +223,7 @@ $.widget( "mobile.collapsible", {
opts.contentTheme = "";
}

if ( options.collapsed !== undefined ) {
if ( !( options.collapsed === undefined || internal ) ) {
this._handleExpandCollapse( options.collapsed );
}

Expand Down Expand Up @@ -251,12 +252,26 @@ $.widget( "mobile.collapsible", {
anchorClasses += " ui-mini";
}

this
._toggleClasses( this._ui.content, "_contentTheme", opts.contentTheme ? ( "ui-body-" + opts.contentTheme ) : "" )
._toggleClasses( $el, "_elClasses", classes )
._toggleClasses( this._ui.anchor, "_anchorClasses", anchorClasses );
contentThemeClass = opts.contentTheme ? ( "ui-body-" + opts.contentTheme ) : "";

if ( internal ) {
this._contentTheme = contentThemeClass;
this._elClasses = classes;
this._anchorClasses = anchorClasses;
} else {
this
._toggleClasses( this._ui.content, "_contentTheme", contentThemeClass )
._toggleClasses( $el, "_elClasses", classes )
._toggleClasses( this._ui.anchor, "_anchorClasses", anchorClasses );
}

return this;
},

return this._super( options );
_setOptions: function( options ) {
return this
._applyOptions( options )
._super( options );
}
});

Expand Down

0 comments on commit 451bd0b

Please sign in to comment.