File tree Expand file tree Collapse file tree 2 files changed +34
-19
lines changed Expand file tree Collapse file tree 2 files changed +34
-19
lines changed Original file line number Diff line number Diff line change 11import React from 'react' ;
22import Dropdown from './Dropdown' ;
33import omit from 'lodash-compat/object/omit' ;
4+ import pick from 'lodash-compat/object/pick' ;
45import Button from './Button' ;
56
67class DropdownButton extends React . Component {
78
89 render ( ) {
9- let { title, ...props } = this . props ;
10+ let { bsStyle, bsSize, disabled } = this . props ;
11+ let { title, children, ...props } = this . props ;
1012
11- let toggleProps = omit ( props , Dropdown . ControlledComponent . propTypes ) ;
13+ let dropdownProps = pick ( props , Object . keys ( Dropdown . ControlledComponent . propTypes ) ) ;
14+ let toggleProps = omit ( props , Object . keys ( Dropdown . ControlledComponent . propTypes ) ) ;
1215
1316 return (
14- < Dropdown { ...props } >
15- < Dropdown . Toggle { ...toggleProps } >
17+ < Dropdown { ...dropdownProps }
18+ bsSize = { bsSize }
19+ bsStyle = { bsStyle }
20+ >
21+ < Dropdown . Toggle
22+ { ...toggleProps }
23+ disabled = { disabled }
24+ >
1625 { title }
1726 </ Dropdown . Toggle >
1827 < Dropdown . Menu >
19- { this . props . children }
28+ { children }
2029 </ Dropdown . Menu >
2130 </ Dropdown >
2231 ) ;
2332 }
2433}
2534
2635DropdownButton . propTypes = {
36+ disabled : React . PropTypes . bool ,
2737 bsStyle : Button . propTypes . bsStyle ,
2838 bsSize : Button . propTypes . bsSize ,
2939
@@ -37,6 +47,7 @@ DropdownButton.propTypes = {
3747} ;
3848
3949DropdownButton . defaultProps = {
50+ disabled : false ,
4051 pullRight : false ,
4152 dropup : false ,
4253 navItem : false ,
Original file line number Diff line number Diff line change @@ -2,6 +2,8 @@ import React from 'react';
22import Button from './Button' ;
33import Dropdown from './Dropdown' ;
44import SplitToggle from './SplitToggle' ;
5+ import omit from 'lodash-compat/object/omit' ;
6+ import pick from 'lodash-compat/object/pick' ;
57
68class SplitButton extends React . Component {
79
@@ -12,30 +14,32 @@ class SplitButton extends React.Component {
1214 onClick,
1315 target,
1416 href,
17+ bsSize,
1518 bsStyle,
1619 ...props } = this . props ;
1720
1821 let { disabled } = props ;
1922
20- let button = (
21- < Button
22- onClick = { onClick }
23- bsStyle = { bsStyle }
24- disabled = { disabled }
25- target = { target }
26- href = { href }
27- >
28- { title }
29- </ Button >
30- ) ;
23+ let dropdownProps = pick ( props , Object . keys ( Dropdown . ControlledComponent . propTypes ) ) ;
24+ let buttonProps = omit ( props , Object . keys ( Dropdown . ControlledComponent . propTypes ) ) ;
3125
3226 return (
33- < Dropdown { ...props } >
34- { button }
35-
27+ < Dropdown { ...dropdownProps } >
28+ < Button
29+ { ...buttonProps }
30+ onClick = { onClick }
31+ bsStyle = { bsStyle }
32+ bsSize = { bsSize }
33+ disabled = { disabled }
34+ target = { target }
35+ href = { href }
36+ >
37+ { title }
38+ </ Button >
3639 < SplitToggle
3740 aria-label = { title }
3841 bsStyle = { bsStyle }
42+ bsSize = { bsSize }
3943 disabled = { disabled }
4044 />
4145 < Dropdown . Menu >
You can’t perform that action at this time.
0 commit comments