Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 234a88f

Browse files
author
Jonatan E. Salas
authored
Merge pull request #80 from nikhilarunw/feature-disabled
Added disabled attribute in autoform field
2 parents 06b3540 + 5cc480a commit 234a88f

File tree

8 files changed

+26
-19
lines changed

8 files changed

+26
-19
lines changed

‎src/components/common/FormControl.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ class FormControl extends Component {
2424
};
2525

2626
getInput = () => {
27-
let { value, placeholder, componentClass, children, rows, inputType, min, max } = this.props;
28-
let formControlProps = { value, placeholder, componentClass, rows, min, max };
27+
let { value, placeholder, componentClass, children, rows, inputType, min, max, disabled } = this.props;
28+
let formControlProps = { value, placeholder, componentClass, rows, min, max, disabled };
2929

3030
return (
3131
<BootstrapFormControl type={inputType} ref="input" onChange={this.handleChange} onBlur={this.handleBlur} {...formControlProps}>

‎src/components/common/Input.js‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class Input extends Component {
2525
let {
2626
error, touched, displayName, name, help, fieldLayout, innerSize, children, inputType,
2727
value, placeholder, addonBefore, addonAfter, onChange, onBlur, componentClass, rows,
28-
min, max
28+
min, max, disabled
2929
} = this.props;
3030

3131
let formGroupProps = {
@@ -52,7 +52,8 @@ class Input extends Component {
5252
componentClass,
5353
rows,
5454
min,
55-
max
55+
max,
56+
disabled
5657
};
5758

5859
return (

‎src/components/field/ArrayContainer.js‎

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React, { Component, PropTypes } from 'react';
22
import GlyphButton from '../common/GlyphButton.js';
33
import Alert from 'react-bootstrap/lib/Alert';
4+
import Button from 'react-bootstrap/lib/Button'
45
import FormGroup from '../common/FormGroup';
56
import ArrayContainerItem from '../common/ArrayContainerItem';
67

@@ -51,8 +52,10 @@ class ArrayContainer extends Component {
5152
};
5253

5354
buildGroupComponent = (field) => {
54-
let { componentFactory, layout } = this.props;
55-
55+
let { componentFactory, layout, disabled } = this.props;
56+
57+
field = field.map((field)=>( { ...field, disabled} ));
58+
5659
return componentFactory.buildGroupComponent({
5760
component: layout.component,
5861
layout: layout,
@@ -63,7 +66,7 @@ class ArrayContainer extends Component {
6366

6467
getComponents = () => {
6568
let { fields } = this.props;
66-
69+
6770
return fields.map((field, index) => (
6871
<ArrayContainerItem key={index} index={index} onAction={this.handleItemAction}>
6972
{ this.buildGroupComponent(field) }
@@ -72,7 +75,7 @@ class ArrayContainer extends Component {
7275
};
7376

7477
getAddBar = () => {
75-
let { addText } = this.props;
78+
let { addText, disabled } = this.props;
7679

7780
let text = addText ? addText : "Add";
7881
let components = this.getComponents();
@@ -81,7 +84,7 @@ class ArrayContainer extends Component {
8184
return (
8285
<div className="add-bar">
8386
<span>
84-
<GlyphButton glyph="plus" text={text} bsSize="small" onClick={this.handleAdd}/>
87+
<GlyphButton glyph="plus" text={text} bsSize="small" onClick={this.handleAdd}disabled={disabled}/>
8588
</span>
8689
</div>
8790
);
@@ -93,14 +96,15 @@ class ArrayContainer extends Component {
9396

9497
getAllComponents = () => {
9598
//TODO: We should replace a for button!
99+
const { disabled } = this.props;
96100
let components = this.getComponents();
97101

98102
if (components.length) {
99103
return components;
100104
} else {
101105
return (
102106
<Alert bsStyle="warning">
103-
This array is empty. Consider <aonClick={ this.handleAdd }>adding a new item</a>.
107+
This array is empty. Consider <ButtonbsStyle="link"disabled={disabled}onClick={ this.handleAdd }>adding a new item</Button>.
104108
</Alert>
105109
);
106110
}

‎src/components/field/CheckBox.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import Col from 'react-bootstrap/lib/Col';
55

66
class Checkbox extends Component {
77
getContent = () => {
8-
let { value, name, displayName, error, touched, onChange, onBlur } = this.props;
8+
let { value, name, displayName, error, touched, onChange, onBlur, disabled } = this.props;
99
let validationState = error && touched ? 'error' : null;
10-
let checkboxProps = { checked: value, onChange, onBlur, validationState };
10+
let checkboxProps = { checked: value, onChange, onBlur, validationState, disabled };
1111

1212
return (
1313
<BootstrapCheckbox className="cb-fix" {...checkboxProps}>

‎src/components/field/DateTimePicker.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class DateTimePicker extends Component {
7979
};
8080

8181
render() {
82-
let { value, name, displayName, help, error, touched, onBlur, format, type, fieldLayout } = this.props;
82+
let { value, name, displayName, help, error, touched, onBlur, format, type, fieldLayout, disabled } = this.props;
8383
let localizer = getDateLocalizer();
8484

8585
if (typeof value == 'string') {
@@ -91,7 +91,7 @@ class DateTimePicker extends Component {
9191
}
9292
}
9393

94-
let reactWidgetsProps = { value, displayName, onChange: this.onChange, onBlur, format };
94+
let reactWidgetsProps = { value, displayName, onChange: this.onChange, onBlur, format, disabled };
9595
let formGroupProps = { error, touched, displayName, name, help, fieldLayout };
9696

9797
this.setReactWidgetsProps(reactWidgetsProps, type);

‎src/components/field/EntityContainer.js‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ class EntityContainer extends Component {
1919
};
2020

2121
_renderComponents = () => {
22-
let { componentFactory, layout, fields } = this.props;
23-
22+
let { componentFactory, layout, fields, disabled } = this.props;
23+
fields=fields.map((field)=>({ ...field, disabled}));
2424
return componentFactory.buildGroupComponent({
2525
component: layout.component,
2626
layout: layout,
@@ -60,6 +60,7 @@ EntityContainer.props = {
6060
visited: PropTypes.bool,
6161
autofilled: PropTypes.bool,
6262
required: PropTypes.bool,
63+
disabled: PropTypes.bool,
6364

6465
//String props
6566
group: PropTypes.string,

‎src/components/field/Lookup.js‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class Lookup extends Component {
1414
};
1515

1616
render() {
17-
let {value, name, displayName, help, error, touched, onChange, onBlur, options, fieldLayout} = this.props;
17+
let {value, name, displayName, help, error, touched, onChange, onBlur, options, fieldLayout, disabled} = this.props;
1818
let formGroupProps = {error, touched, displayName, name, help, fieldLayout};
1919
let selectProps;
2020

@@ -23,6 +23,7 @@ class Lookup extends Component {
2323
options,
2424
value,
2525
name,
26+
disabled,
2627
onChange,
2728
onBlur: (event) => onBlur()
2829
};

‎src/components/field/Radio.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ class Radio extends Component {
99
};
1010

1111
getOptions = (value) => {
12-
let { options, name, fieldLayout } = this.props;
12+
let { options, name, fieldLayout, disabled } = this.props;
1313

1414
// these props don't vary per item
15-
let invariantRadioProps = { inline: fieldLayout == 'inline', name, onChange: this.handleChange };
15+
let invariantRadioProps = { inline: fieldLayout == 'inline', name, onChange: this.handleChange, disabled };
1616

1717
return options.map((item, index) => (
1818
<BootstrapRadio key={index} value={item.value} checked={item.value == value} {...invariantRadioProps}>

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /