Skip to content

Commit 2cda33a

Browse files
committed
Merge pull request react-bootstrap#376 from defrex/patch-1
Move className prop to outer-most element in dropdown
2 parents 85ef74b + a38dab4 commit 2cda33a

2 files changed

Lines changed: 7 additions & 9 deletions

File tree

src/DropdownButton.jsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ var DropdownButton = React.createClass({
2727
},
2828

2929
render: function () {
30-
var className = 'dropdown-toggle';
31-
3230
var renderMethod = this.props.navItem ?
3331
'renderNavItem' : 'renderButtonGroup';
3432

@@ -39,7 +37,7 @@ var DropdownButton = React.createClass({
3937
<Button
4038
{...this.props}
4139
ref="dropdownButton"
42-
className={joinClasses(this.props.className, className)}
40+
className="dropdown-toggle"
4341
onClick={this.handleDropdownClick}
4442
key={0}
4543
navDropdown={this.props.navItem}
@@ -69,7 +67,7 @@ var DropdownButton = React.createClass({
6967
return (
7068
<ButtonGroup
7169
bsSize={this.props.bsSize}
72-
className={classSet(groupClasses)}>
70+
className={joinClasses(this.props.className, classSet(groupClasses))}>
7371
{children}
7472
</ButtonGroup>
7573
);
@@ -83,7 +81,7 @@ var DropdownButton = React.createClass({
8381
};
8482

8583
return (
86-
<li className={classSet(classes)}>
84+
<li className={joinClasses(this.props.className, classSet(classes))}>
8785
{children}
8886
</li>
8987
);
@@ -124,4 +122,4 @@ var DropdownButton = React.createClass({
124122
}
125123
});
126124

127-
module.exports = DropdownButton;
125+
module.exports = DropdownButton;

test/DropdownButtonSpec.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ describe('DropdownButton', function () {
2626

2727
var button = ReactTestUtils.findRenderedComponentWithType(instance, Button).getDOMNode();
2828
assert.ok(instance.getDOMNode().className.match(/\bbtn-group\b/));
29+
assert.ok(instance.getDOMNode().className.match(/\btest-class\b/));
2930
assert.ok(button.className.match(/\bbtn\b/));
30-
assert.ok(button.className.match(/\btest-class\b/));
3131
assert.equal(button.nodeName, 'BUTTON');
3232
assert.equal(button.type, 'button');
3333
assert.ok(button.className.match(/\bdropdown-toggle\b/));
@@ -171,7 +171,7 @@ describe('DropdownButton', function () {
171171
var button = ReactTestUtils.findRenderedComponentWithType(instance, Button).getDOMNode();
172172
assert.equal(li.nodeName, 'LI');
173173
assert.ok(li.className.match(/\bdropdown\b/));
174-
assert.ok(button.className.match(/\btest-class\b/));
174+
assert.ok(li.className.match(/\btest-class\b/));
175175
assert.equal(button.nodeName, 'A');
176176
assert.ok(button.className.match(/\bdropdown-toggle\b/));
177177
assert.ok(button.lastChild.className.match(/\bcaret\b/));
@@ -203,4 +203,4 @@ describe('DropdownButton', function () {
203203
var carets = button.getElementsByClassName('caret');
204204
assert.equal(carets.length, 0);
205205
});
206-
});
206+
});

0 commit comments

Comments
 (0)