diff --git a/js/widgets/collapsibleSet.js b/js/widgets/collapsibleSet.js index a6a035d6a33..24687fdc439 100644 --- a/js/widgets/collapsibleSet.js +++ b/js/widgets/collapsibleSet.js @@ -5,7 +5,7 @@ //>>css.structure: ../css/structure/jquery.mobile.collapsible.css //>>css.theme: ../css/themes/default/jquery.mobile.theme.css -define( [ "jquery", "../jquery.mobile.widget", "./collapsible" ], function( $ ) { +define( [ "jquery", "../jquery.mobile.widget", "./collapsible", "./addFirstLastClasses" ], function( $ ) { //>>excludeEnd("jqmBuildExclude"); (function( $, undefined ) { @@ -64,19 +64,11 @@ $.widget( "mobile.collapsibleset", $.mobile.widget, { }, _refresh: function( create ) { - var $el = this.element, - o = this.options, - collapsiblesInSet = $el.children( ":jqmData(role='collapsible')" ); + var collapsiblesInSet = this.element.children( ":jqmData(role='collapsible')" ); $.mobile.collapsible.prototype.enhance( collapsiblesInSet.not( ".ui-collapsible" ) ); - collapsiblesInSet.removeClass( "ui-first-child ui-last-child" ); - if ( !create ) { - collapsiblesInSet = collapsiblesInSet.filter( ":visible" ); - } - collapsiblesInSet - .eq( 0 ).addClass( "ui-first-child" ) - .end() - .last().addClass( "ui-last-child" ); + + this._addFirstLastClasses( collapsiblesInSet, this._getVisibles( collapsiblesInSet, create ), create ); }, refresh: function() { @@ -84,6 +76,8 @@ $.widget( "mobile.collapsibleset", $.mobile.widget, { } }); +$.widget( "mobile.collapsibleset", $.mobile.collapsibleset, $.mobile.behaviors.addFirstLastClasses ); + //auto self-init widgets $( document ).bind( "pagecreate create", function( e ) { $.mobile.collapsibleset.prototype.enhanceWithin( e.target );