Skip to content

Commit 1e4cd18

Browse files
committed
Updating docs to use ButtonInput
1 parent 576827f commit 1e4cd18

8 files changed

Lines changed: 57 additions & 1 deletion

File tree

docs/examples/.eslintrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"Badge",
1313
"Button",
1414
"ButtonGroup",
15+
"ButtonInput",
1516
"ButtonToolbar",
1617
"CollapsibleNav",
1718
"CollapsibleMixin",

docs/examples/ButtonInput.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
const ButtonInputExample = React.createClass({
2+
getInitialState() {
3+
return {
4+
disabled: true,
5+
style: ''
6+
};
7+
},
8+
9+
resetValidation() {
10+
this.setState({
11+
disabled: true,
12+
style: ''
13+
});
14+
},
15+
16+
validationState() {
17+
let length = this.refs.input.getValue().length;
18+
let style = 'danger';
19+
20+
if (length > 10) { style = 'success'; }
21+
else if (length > 5) { style = 'warning'; }
22+
23+
let disabled = style !== 'success';
24+
25+
return { style, disabled };
26+
},
27+
28+
handleChange() {
29+
this.setState( this.validationState() );
30+
},
31+
32+
render() {
33+
return (
34+
<form>
35+
<Input type="text" ref="input" onChange={this.handleChange} />
36+
<ButtonInput bsSize="small">Child Text</ButtonInput>
37+
<ButtonInput type="reset" bsStyle="primary" onClick={this.resetValidation} />
38+
<ButtonInput type="submit" value="Submit Your Input" bsStyle={this.state.style} bsSize="large" disabled={this.state.disabled} />
39+
</form>
40+
);
41+
}
42+
});
43+
44+
React.render(<ButtonInputExample />, mountNode);

docs/examples/InputTypes.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ const inputTypeInstance = (
1616
</Input>
1717
<Input type='textarea' label='Text Area' placeholder='textarea' />
1818
<Input type='static' value='Static Text' />
19-
<Input type='submit' value='Submit button' />
19+
<ButtonInput value='Button Input' />
20+
<ButtonInput type='reset' value='Reset Button' />
21+
<ButtonInput type='submit' value='Submit Button' />
2022
</form>
2123
);
2224

docs/src/ComponentsPage.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,9 @@ const ComponentsPage = React.createClass({
551551
<h2 id='input-types'>Types</h2>
552552
<p>Supports <code>select</code>, <code>textarea</code>, <code>static</code> as well as standard HTML input types. <code>getValue()</code> returns an array for multiple select.</p>
553553
<ReactPlayground codeText={Samples.InputTypes} />
554+
<h2 id='button-input-types'>Button Input Types</h2>
555+
<p>Form buttons are encapsulated by <code>ButtonInput</code>. Pass in <code>type="reset"</code> or <code>type="submit"</code> to suit your needs. Styling is the same as <code>Button</code>.</p>
556+
<ReactPlayground codeText={Samples.ButtonInput} />
554557
<h2 id='input-addons'>Add-ons</h2>
555558
<p>Use <code>addonBefore</code> and <code>addonAfter</code> for normal addons, <code>buttonBefore</code> and <code>buttonAfter</code> for button addons.
556559
Exotic configurations may require some css on your side.</p>

docs/src/ReactPlayground.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import * as modAlert from '../../src/Alert';
55
import * as modBadge from '../../src/Badge';
66
import * as modmodButton from '../../src/Button';
77
import * as modButtonGroup from '../../src/ButtonGroup';
8+
import * as modButtonInput from '../../src/ButtonInput';
89
import * as modmodButtonToolbar from '../../src/ButtonToolbar';
910
import * as modCollapsibleNav from '../../src/CollapsibleNav';
1011
import * as modCollapsibleMixin from '../../src/CollapsibleMixin';
@@ -52,6 +53,7 @@ const Alert = modAlert.default;
5253
const Badge = modBadge.default;
5354
const Button = modmodButton.default;
5455
const ButtonGroup = modButtonGroup.default;
56+
const ButtonInput = modButtonInput.default;
5557
const ButtonToolbar = modmodButtonToolbar.default;
5658
const CollapsibleNav = modCollapsibleNav.default;
5759
const CollapsibleMixin = modCollapsibleMixin.default;

docs/src/Samples.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ export default {
8383
TableResponsive: require('fs').readFileSync(__dirname + '/../examples/TableResponsive.js', 'utf8'),
8484
Input: require('fs').readFileSync(__dirname + '/../examples/Input.js', 'utf8'),
8585
InputTypes: require('fs').readFileSync(__dirname + '/../examples/InputTypes.js', 'utf8'),
86+
ButtonInput: require('fs').readFileSync(__dirname + '/../examples/ButtonInput.js', 'utf8'),
8687
InputAddons: require('fs').readFileSync(__dirname + '/../examples/InputAddons.js', 'utf8'),
8788
InputSizes: require('fs').readFileSync(__dirname + '/../examples/InputSizes.js', 'utf8'),
8889
InputValidation: require('fs').readFileSync(__dirname + '/../examples/InputValidation.js', 'utf8'),

src/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import BootstrapMixin from './BootstrapMixin';
66
import Badge from './Badge';
77
import Button from './Button';
88
import ButtonGroup from './ButtonGroup';
9+
import ButtonInput from './ButtonInput';
910
import ButtonToolbar from './ButtonToolbar';
1011
import CollapsableNav from './CollapsableNav';
1112
import CollapsibleNav from './CollapsibleNav';
@@ -60,6 +61,7 @@ export default {
6061
Badge,
6162
Button,
6263
ButtonGroup,
64+
ButtonInput,
6365
ButtonToolbar,
6466
CollapsableNav,
6567
CollapsibleNav,

test/FactoriesSpec.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react';
22
import components from '../tools/public-components';
33

44
let props = {
5+
ButtonInput: {value: 'button'},
56
Glyphicon: {glyph: 'star'},
67
Modal: {onRequestHide() {}},
78
ModalTrigger: {modal: React.DOM.div(null)},

0 commit comments

Comments
 (0)