Skip to content

Commit 519894d

Browse files
committed
Address PR feedback
1 parent d35e30a commit 519894d

21 files changed

+175
-104
lines changed

.eslintrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"comma-dangle": 0,
1818
"eqeqeq": [2, "allow-null"],
1919
"id-length": 0,
20+
"indent": [2, 2, { "SwitchCase": 1, "VariableDeclarator": 1 }],
2021
"no-eq-null": 0,
2122
"one-var": [2, { "initialized": "never" }],
2223
"prefer-const": 0,
@@ -34,6 +35,6 @@
3435
"bsClass",
3536
"bsSize"
3637
]
37-
}],
38+
}]
3839
}
3940
}

docs/src/PropTable.js

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -144,28 +144,28 @@ const PropTable = React.createClass({
144144
let doclets = prop.doclets || {};
145145

146146
switch (name) {
147-
case 'object':
148-
return name;
149-
case 'union':
150-
return type.value.reduce((current, val, i, list) => {
151-
let item = this.getType({ type: val });
152-
if (React.isValidElement(item)) {
153-
item = React.cloneElement(item, {key: i});
154-
}
155-
current = current.concat(item);
156-
157-
return i === (list.length - 1) ? current : current.concat(' | ');
158-
}, []);
159-
case 'array':
160-
let child = this.getType({ type: type.value });
161-
162-
return <span>{'array<'}{ child }{'>'}</span>;
163-
case 'enum':
164-
return this.renderEnum(type);
165-
case 'custom':
166-
return cleanDocletValue(doclets.type || name);
167-
default:
168-
return name;
147+
case 'object':
148+
return name;
149+
case 'union':
150+
return type.value.reduce((current, val, i, list) => {
151+
let item = this.getType({ type: val });
152+
if (React.isValidElement(item)) {
153+
item = React.cloneElement(item, {key: i});
154+
}
155+
current = current.concat(item);
156+
157+
return i === (list.length - 1) ? current : current.concat(' | ');
158+
}, []);
159+
case 'array':
160+
let child = this.getType({ type: type.value });
161+
162+
return <span>{'array<'}{child}{'>'}</span>;
163+
case 'enum':
164+
return this.renderEnum(type);
165+
case 'custom':
166+
return cleanDocletValue(doclets.type || name);
167+
default:
168+
return name;
169169
}
170170
},
171171

src/Carousel.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,13 @@ class Carousel extends React.Component {
101101

102102
handleMouseOver() {
103103
if (this.props.pauseOnHover) {
104-
this.isPaused = true;
105-
clearTimeout(this.timeout);
104+
this.pause();
106105
}
107106
}
108107

109108
handleMouseOut() {
110109
if (this.isPaused) {
111-
this.isPaused = false;
112-
this.waitForNext();
110+
this.play();
113111
}
114112
}
115113

@@ -223,6 +221,18 @@ class Carousel extends React.Component {
223221
}
224222
}
225223

224+
// This might be a public API.
225+
pause() {
226+
this.isPaused = true;
227+
clearTimeout(this.timeout);
228+
}
229+
230+
// This might be a public API.
231+
play() {
232+
this.isPaused = false;
233+
this.waitForNext();
234+
}
235+
226236
renderIndicators(children, activeIndex, props) {
227237
let indicators = [];
228238

src/Dropdown.js

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import warning from 'warning';
1313
import ButtonGroup from './ButtonGroup';
1414
import DropdownMenu from './DropdownMenu';
1515
import DropdownToggle from './DropdownToggle';
16-
import { bsClass as setBsClass } from './utils/bootstrapUtils';
16+
import { bsClass as setBsClass, prefix } from './utils/bootstrapUtils';
1717
import createChainedFunction from './utils/createChainedFunction';
1818
import { exclusiveRoles, requiredRoles } from './utils/PropTypes';
1919
import ValidComponentChildren from './utils/ValidComponentChildren';
@@ -156,19 +156,19 @@ class Dropdown extends React.Component {
156156
}
157157

158158
switch (event.keyCode) {
159-
case keycode.codes.down:
160-
if (!this.props.open) {
161-
this.toggleOpen('keydown');
162-
} else if (this.menu.focusNext) {
163-
this.menu.focusNext();
164-
}
165-
event.preventDefault();
166-
break;
167-
case keycode.codes.esc:
168-
case keycode.codes.tab:
169-
this.handleClose(event);
170-
break;
171-
default:
159+
case keycode.codes.down:
160+
if (!this.props.open) {
161+
this.toggleOpen('keydown');
162+
} else if (this.menu.focusNext) {
163+
this.menu.focusNext();
164+
}
165+
event.preventDefault();
166+
break;
167+
case keycode.codes.esc:
168+
case keycode.codes.tab:
169+
this.handleClose(event);
170+
break;
171+
default:
172172
}
173173
}
174174

@@ -231,6 +231,7 @@ class Dropdown extends React.Component {
231231
return cloneElement(child, {
232232
...props,
233233
ref,
234+
bsClass: prefix(props, 'toggle'),
234235
onClick: createChainedFunction(
235236
child.props.onClick, this.handleClick
236237
),
@@ -257,6 +258,7 @@ class Dropdown extends React.Component {
257258
...props,
258259
ref,
259260
labelledBy: id,
261+
bsClass: prefix(props, 'menu'),
260262
onClose: createChainedFunction(
261263
child.props.onClose, onClose, this.handleClose,
262264
),
@@ -306,14 +308,16 @@ class Dropdown extends React.Component {
306308
>
307309
{ValidComponentChildren.map(children, child => {
308310
switch (child.props.bsRole) {
309-
case TOGGLE_ROLE:
310-
return this.renderToggle(child, { id, disabled, open, role });
311-
case MENU_ROLE:
312-
return this.renderMenu(child, {
313-
id, open, pullRight, onClose, onSelect,
314-
});
315-
default:
316-
return child;
311+
case TOGGLE_ROLE:
312+
return this.renderToggle(child, {
313+
id, disabled, open, role, bsClass,
314+
});
315+
case MENU_ROLE:
316+
return this.renderMenu(child, {
317+
id, open, pullRight, bsClass, onClose, onSelect,
318+
});
319+
default:
320+
return child;
317321
}
318322
})}
319323
</Component>

src/DropdownButton.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import pick from 'lodash-compat/object/pick';
33
import React from 'react';
44

55
import Dropdown from './Dropdown';
6-
import { bsClass, prefix } from './utils/bootstrapUtils';
76

87
const propTypes = {
98
...Dropdown.propTypes,
@@ -37,14 +36,13 @@ class DropdownButton extends React.Component {
3736
>
3837
<Dropdown.Toggle
3938
{...toggleProps}
40-
bsClass={prefix(props, 'toggle')}
4139
bsSize={bsSize}
4240
bsStyle={bsStyle}
4341
>
4442
{title}
4543
</Dropdown.Toggle>
4644

47-
<Dropdown.Menu bsClass={prefix(props, 'menu')}>
45+
<Dropdown.Menu>
4846
{children}
4947
</Dropdown.Menu>
5048
</Dropdown>
@@ -54,4 +52,4 @@ class DropdownButton extends React.Component {
5452

5553
DropdownButton.propTypes = propTypes;
5654

57-
export default bsClass('dropdown', DropdownButton);
55+
export default DropdownButton;

src/DropdownMenu.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,19 @@ class DropdownMenu extends React.Component {
3333

3434
handleKeyDown(event) {
3535
switch (event.keyCode) {
36-
case keycode.codes.down:
37-
this.focusNext();
38-
event.preventDefault();
39-
break;
40-
case keycode.codes.up:
41-
this.focusPrevious();
42-
event.preventDefault();
43-
break;
44-
case keycode.codes.esc:
45-
case keycode.codes.tab:
46-
this.props.onClose(event);
47-
break;
48-
default:
36+
case keycode.codes.down:
37+
this.focusNext();
38+
event.preventDefault();
39+
break;
40+
case keycode.codes.up:
41+
this.focusPrevious();
42+
event.preventDefault();
43+
break;
44+
case keycode.codes.esc:
45+
case keycode.codes.tab:
46+
this.props.onClose(event);
47+
break;
48+
default:
4949
}
5050
}
5151

src/FormControlFeedback.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ const contextTypes = {
1515
class FormControlFeedback extends React.Component {
1616
getGlyph(validationState) {
1717
switch (validationState) {
18-
case 'success': return 'ok';
19-
case 'warning': return 'warning-sign';
20-
case 'error': return 'remove';
21-
default: return null;
18+
case 'success': return 'ok';
19+
case 'warning': return 'warning-sign';
20+
case 'error': return 'remove';
21+
default: return null;
2222
}
2323
}
2424

src/Nav.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -133,17 +133,17 @@ class Nav extends React.Component {
133133
let nextActiveChild;
134134

135135
switch (event.keyCode) {
136-
case keycode.codes.left:
137-
case keycode.codes.up:
138-
nextActiveChild = this.getNextActiveChild(-1);
139-
break;
140-
case keycode.codes.right:
141-
case keycode.codes.down:
142-
nextActiveChild = this.getNextActiveChild(1);
143-
break;
144-
default:
145-
// It was a different key; don't handle this keypress.
146-
return;
136+
case keycode.codes.left:
137+
case keycode.codes.up:
138+
nextActiveChild = this.getNextActiveChild(-1);
139+
break;
140+
case keycode.codes.right:
141+
case keycode.codes.down:
142+
nextActiveChild = this.getNextActiveChild(1);
143+
break;
144+
default:
145+
// It was a different key; don't handle this keypress.
146+
return;
147147
}
148148

149149
event.preventDefault();

src/NavDropdown.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import pick from 'lodash-compat/object/pick';
33
import React from 'react';
44

55
import Dropdown from './Dropdown';
6-
import { bsClass, prefix } from './utils/bootstrapUtils';
76

87
const propTypes = {
98
...Dropdown.propTypes,
@@ -40,12 +39,11 @@ class NavDropdown extends React.Component {
4039
<Dropdown.Toggle
4140
{...toggleProps}
4241
useAnchor
43-
bsClass={prefix(props, 'toggle')}
4442
>
4543
{title}
4644
</Dropdown.Toggle>
4745

48-
<Dropdown.Menu bsClass={prefix(props, 'menu')}>
46+
<Dropdown.Menu>
4947
{children}
5048
</Dropdown.Menu>
5149
</Dropdown>
@@ -55,4 +53,4 @@ class NavDropdown extends React.Component {
5553

5654
NavDropdown.propTypes = propTypes;
5755

58-
export default bsClass('dropdown', NavDropdown);
56+
export default NavDropdown;

src/SplitButton.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import React from 'react';
55
import Button from './Button';
66
import Dropdown from './Dropdown';
77
import SplitToggle from './SplitToggle';
8-
import { bsClass, prefix } from './utils/bootstrapUtils';
98

109
const propTypes = {
1110
...Dropdown.propTypes,
@@ -57,12 +56,11 @@ class SplitButton extends React.Component {
5756
</Button>
5857
<SplitToggle
5958
aria-label={toggleLabel || title}
60-
bsClass={prefix(props, 'toggle')}
6159
bsSize={bsSize}
6260
bsStyle={bsStyle}
6361
/>
6462

65-
<Dropdown.Menu bsClass={prefix(props, 'menu')}>
63+
<Dropdown.Menu>
6664
{children}
6765
</Dropdown.Menu>
6866
</Dropdown>
@@ -74,4 +72,4 @@ SplitButton.propTypes = propTypes;
7472

7573
SplitButton.Toggle = SplitToggle;
7674

77-
export default bsClass('dropdown', SplitButton);
75+
export default SplitButton;

src/TabPane.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import React, { PropTypes } from 'react';
33
import elementType from 'react-prop-types/lib/elementType';
44
import warning from 'warning';
55

6-
import { getClassSet, omitBsProps, prefix } from './utils/bootstrapUtils';
6+
import { bsClass, getClassSet, omitBsProps, prefix }
7+
from './utils/bootstrapUtils';
78
import createChainedFunction from './utils/createChainedFunction';
89

910
import Fade from './Fade';
@@ -209,12 +210,8 @@ class TabPane extends React.Component {
209210

210211
const Transition = animation === true ? Fade : animation;
211212

212-
if (props.bsClass === undefined) {
213-
if (tabContent) {
214-
props.bsClass = prefix(tabContent, 'pane');
215-
} else {
216-
props.bsClass = 'tab-pane';
217-
}
213+
if (tabContent) {
214+
props.bsClass = prefix(tabContent, 'pane');
218215
}
219216

220217
const classes = {
@@ -271,4 +268,4 @@ TabPane.propTypes = propTypes;
271268
TabPane.contextTypes = contextTypes;
272269
TabPane.childContextTypes = childContextTypes;
273270

274-
export default TabPane;
271+
export default bsClass('tab-pane', TabPane);

test/.eslintrc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
"mocha"
1212
],
1313
"rules": {
14-
"no-console": 0,
1514
"no-script-url": 0,
1615
"no-unused-expressions": 0,
1716
"padded-blocks": 0,

0 commit comments

Comments
 (0)