aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Neiner <doug@pixelgraphics.us>2011-05-12 01:51:05 -0400
committerScott González <scott.gonzalez@gmail.com>2011-05-12 20:44:42 -0400
commit15cb56726f8b05be40dd7dc6590cef017cd8e953 (patch)
tree7f1416aa14b06283e65fd91ce2f3f20b549dd94e
parentc8326a499637318a62307c0751a37470cc50062b (diff)
downloadjquery-ui-15cb56726f8b05be40dd7dc6590cef017cd8e953.tar.gz
jquery-ui-15cb56726f8b05be40dd7dc6590cef017cd8e953.zip
Button: Added rtl detection so corner classes would properly be applied to buttonsets. Fixed #6796. jQueryui - buttonset on rtl
(cherry picked from commit 50a4186ef949ecaf7ab4977048160820587218d2)
-rw-r--r--tests/unit/button/button_core.js14
-rw-r--r--ui/jquery.ui.button.js6
2 files changed, 18 insertions, 2 deletions
diff --git a/tests/unit/button/button_core.js b/tests/unit/button/button_core.js
index 5b30aa860..692c40320 100644
--- a/tests/unit/button/button_core.js
+++ b/tests/unit/button/button_core.js
@@ -67,4 +67,18 @@ test("buttonset", function() {
ok( set.children("label:eq(2)").is(".ui-button.ui-corner-right:not(.ui-corner-all)") );
});
+test("buttonset (rtl)", function() {
+ var parent = $("#radio1").parent();
+ // Set to rtl
+ parent.attr("dir", "rtl");
+
+ var set = $("#radio1").buttonset();
+ ok( set.is(".ui-buttonset") );
+ same( set.children(".ui-button").length, 3 );
+ same( set.children("input:radio.ui-helper-hidden-accessible").length, 3 );
+ ok( set.children("label:eq(0)").is(".ui-button.ui-corner-right:not(.ui-corner-all)") );
+ ok( set.children("label:eq(1)").is(".ui-button:not(.ui-corner-all)") );
+ ok( set.children("label:eq(2)").is(".ui-button.ui-corner-left:not(.ui-corner-all)") );
+});
+
})(jQuery);
diff --git a/ui/jquery.ui.button.js b/ui/jquery.ui.button.js
index bc8357c08..19b1b4169 100644
--- a/ui/jquery.ui.button.js
+++ b/ui/jquery.ui.button.js
@@ -351,6 +351,8 @@ $.widget( "ui.buttonset", {
},
refresh: function() {
+ var ltr = this.element.css( "direction" ) === "ltr";
+
this.buttons = this.element.find( this.options.items )
.filter( ":ui-button" )
.button( "refresh" )
@@ -363,10 +365,10 @@ $.widget( "ui.buttonset", {
})
.removeClass( "ui-corner-all ui-corner-left ui-corner-right" )
.filter( ":first" )
- .addClass( "ui-corner-left" )
+ .addClass( ltr ? "ui-corner-left" : "ui-corner-right" )
.end()
.filter( ":last" )
- .addClass( "ui-corner-right" )
+ .addClass( ltr ? "ui-corner-right" : "ui-corner-left" )
.end()
.end();
},