Skip to content

Commit 891a7d9

Browse files
petersendiditarschmitz
authored andcommitted
Widget: add the _classes method.
Fixes #7053
1 parent 4e860dc commit 891a7d9

2 files changed

Lines changed: 31 additions & 0 deletions

File tree

tests/unit/widget/widget_core.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,24 @@ test( ".option() - deep option setter", function() {
607607
div.testWidget( "option", "foo.qux.newOpt", "newVal" );
608608
});
609609

610+
test( "_classes", function(){
611+
expect( 3 );
612+
$.widget( "ui.testWidget", {
613+
options: {
614+
classes: {
615+
"test": "class1 class2",
616+
"test2": "class3"
617+
}
618+
},
619+
_create: function() {
620+
equal( this._classes( "test" ), "test class1 class2" );
621+
equal( this._classes( "test2" ), "test2 class3" );
622+
equal( this._classes( "test test2" ), "test2 class3 test class1 class2" );
623+
}
624+
});
625+
$( "<div>" ).testWidget();
626+
});
627+
610628
test( ".enable()", function() {
611629
expect( 2 );
612630
$.widget( "ui.testWidget", {

ui/widget.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,19 @@ $.Widget.prototype = {
383383
return this;
384384
},
385385

386+
_classes: function( key ) {
387+
var out = [],
388+
parts = key.split( " " ),
389+
i = parts.length;
390+
391+
while ( i-- ) {
392+
out.push( parts[ i ] );
393+
out.push( this.options.classes[ parts[ i ] ] );
394+
}
395+
396+
return out.join( " " );
397+
},
398+
386399
enable: function() {
387400
return this._setOptions({ disabled: false });
388401
},

0 commit comments

Comments
 (0)