Skip to content
Closed
Next Next commit
Widget: add the _classes method.
Fixes #7053
  • Loading branch information
petersendidit committed Aug 23, 2014
commit cd43b3d20e61510f968e3567e67c91aba59d8ffa
18 changes: 18 additions & 0 deletions tests/unit/widget/widget_core.js
Original file line number Diff line number Diff line change
Expand Up @@ -601,6 +601,24 @@ test( ".option() - deep option setter", function() {
div.testWidget( "option", "foo.qux.newOpt", "newVal" );
});

test( "_classes", function(){
expect( 3 );
$.widget( "ui.testWidget", {
options: {
classes: {
"test": "class1 class2",
"test2": "class3"
}
},
_create: function() {
equal( this._classes( "test" ), "test class1 class2" );
equal( this._classes( "test2" ), "test2 class3" );
equal( this._classes( "test test2" ), "test2 class3 test class1 class2" );
}
});
$( "<div>" ).testWidget();
});

test( ".enable()", function() {
expect( 2 );
$.widget( "ui.testWidget", {
Expand Down
13 changes: 13 additions & 0 deletions ui/widget.js
Original file line number Diff line number Diff line change
Expand Up @@ -382,6 +382,19 @@ $.Widget.prototype = {
return this;
},

_classes: function( key ) {
var out = [],
parts = key.split( " " ),
i = parts.length;

while ( i-- ) {
out.push( parts[ i ] );
out.push( this.options.classes[ parts[ i ] ] );
}

return out.join( " " );
},

enable: function() {
return this._setOptions({ disabled: false });
},
Expand Down