Skip to content

Commit 83f4d17

Browse files
authored
Merge pull request #1440 from data-driven-forms/default-props
fix(all): replace defaultProps with inline function defaults
2 parents 970d5c5 + c0eb916 commit 83f4d17

File tree

62 files changed

+517
-882
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+517
-882
lines changed

packages/ant-component-mapper/src/date-picker/date-picker.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import { validationError } from '../validation-error/validation-error';
55
import { useFieldApi } from '@data-driven-forms/react-form-renderer';
66
import FormGroup from '../form-group';
77

8-
const DatePicker = (props) => {
9-
const { input, isReadOnly, isDisabled, placeholder, isRequired, label, helperText, description, validateOnMount, meta, FormItemProps, ...rest } =
8+
const DatePicker = ({ placeholder = 'Select date', ...props }) => {
9+
const { input, isReadOnly, isDisabled, isRequired, label, helperText, description, validateOnMount, meta, FormItemProps, ...rest } =
1010
useFieldApi(props);
1111
const invalid = validationError(meta, validateOnMount);
1212

@@ -50,8 +50,4 @@ DatePicker.propTypes = {
5050
FormItemProps: PropTypes.object,
5151
};
5252

53-
DatePicker.defaultProps = {
54-
placeholder: 'Select date',
55-
};
56-
5753
export default DatePicker;

packages/ant-component-mapper/src/field-array/field-array.js

Lines changed: 19 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -103,32 +103,32 @@ const DynamicArray = ({ ...props }) => {
103103
fields: formFields,
104104
defaultItem,
105105
meta,
106-
minItems,
107-
maxItems,
108-
noItemsMessage,
106+
minItems = 0,
107+
maxItems = Infinity,
108+
noItemsMessage = 'No items added',
109109
FormFieldGridProps,
110110
FormControlProps,
111111
buttonLabels,
112112
validateOnMount,
113113
isRequired,
114114
helperText,
115115
// customization props
116-
FormItemProps,
117-
ArrayItemProps,
118-
FieldsContainerProps,
119-
RemoveContainerProps,
120-
RemoveButtonProps,
121-
FieldArrayRowProps,
122-
FieldArrayRowCol,
123-
FieldArrayHeaderProps,
124-
FieldArrayLabelProps,
125-
FieldArrayButtonsProps,
126-
UndoButtonProps,
127-
RedoButtonProps,
128-
AddButtonProps,
129-
FieldArrayDescriptionProps,
130-
NoItemsMessageProps,
131-
ErrorMessageProps,
116+
FormItemProps = {},
117+
ArrayItemProps = {},
118+
FieldsContainerProps = {},
119+
RemoveContainerProps = {},
120+
RemoveButtonProps = {},
121+
FieldArrayRowProps = {},
122+
FieldArrayRowCol = {},
123+
FieldArrayHeaderProps = {},
124+
FieldArrayLabelProps = {},
125+
FieldArrayButtonsProps = {},
126+
UndoButtonProps = {},
127+
RedoButtonProps = {},
128+
AddButtonProps = {},
129+
FieldArrayDescriptionProps = {},
130+
NoItemsMessageProps = {},
131+
ErrorMessageProps = {},
132132
...rest
133133
} = useFieldApi(props);
134134
const [state, dispatch] = useReducer(reducer, initialState);
@@ -275,26 +275,4 @@ DynamicArray.propTypes = {
275275
ErrorMessageProps: PropTypes.object,
276276
};
277277

278-
DynamicArray.defaultProps = {
279-
maxItems: Infinity,
280-
minItems: 0,
281-
noItemsMessage: 'No items added',
282-
FormItemProps: {},
283-
ArrayItemProps: {},
284-
FieldsContainerProps: {},
285-
RemoveContainerProps: {},
286-
RemoveButtonProps: {},
287-
FieldArrayRowProps: {},
288-
FieldArrayRowCol: {},
289-
FieldArrayHeaderProps: {},
290-
FieldArrayLabelProps: {},
291-
FieldArrayButtonsProps: {},
292-
UndoButtonProps: {},
293-
RedoButtonProps: {},
294-
AddButtonProps: {},
295-
FieldArrayDescriptionProps: {},
296-
NoItemsMessageProps: {},
297-
ErrorMessageProps: {},
298-
};
299-
300278
export default DynamicArray;

packages/ant-component-mapper/src/form-template/form-template.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import { childrenPropTypes } from '@data-driven-forms/common/prop-types-template
66

77
const { Title, Paragraph } = Typography;
88

9-
const Form = ({ children, onSubmit, ...props }) => (
10-
<AntForm onFinish={onSubmit} {...props}>
9+
const Form = ({ children, onSubmit, layout = 'vertical', ...props }) => (
10+
<AntForm onFinish={onSubmit} layout={layout} {...props}>
1111
{children}
1212
</AntForm>
1313
);
@@ -18,10 +18,6 @@ Form.propTypes = {
1818
children: childrenPropTypes,
1919
};
2020

21-
Form.defaultProps = {
22-
layout: 'vertical',
23-
};
24-
2521
const Description = ({ children, ...props }) => (
2622
<Typography {...props}>
2723
<Paragraph>{children}</Paragraph>

packages/ant-component-mapper/src/radio/radio.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,23 @@ RadioOption.propTypes = {
1717
};
1818

1919
const Radio = ({ name, component, ...props }) => {
20-
const { options, isDisabled, label, isRequired, helperText, description, isReadOnly, meta, validateOnMount, FormItemProps, input, ...rest } =
21-
useFieldApi({
22-
...props,
23-
name,
24-
});
20+
const {
21+
options = [],
22+
isDisabled,
23+
label,
24+
isRequired,
25+
helperText,
26+
description,
27+
isReadOnly,
28+
meta,
29+
validateOnMount,
30+
FormItemProps,
31+
input,
32+
...rest
33+
} = useFieldApi({
34+
...props,
35+
name,
36+
});
2537

2638
return (
2739
<FormGroup
@@ -58,8 +70,4 @@ Radio.propTypes = {
5870
component: PropTypes.string,
5971
};
6072

61-
Radio.defaultProps = {
62-
options: [],
63-
};
64-
6573
export default Radio;

packages/ant-component-mapper/src/time-picker/time-picker.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,20 @@ import { useFieldApi } from '@data-driven-forms/react-form-renderer';
66
import FormGroup from '../form-group';
77

88
const TimePicker = (props) => {
9-
const { input, isReadOnly, isDisabled, placeholder, isRequired, label, helperText, description, validateOnMount, meta, FormItemProps, ...rest } =
10-
useFieldApi(props);
9+
const {
10+
input,
11+
isReadOnly,
12+
isDisabled,
13+
placeholder = 'Select date',
14+
isRequired,
15+
label,
16+
helperText,
17+
description,
18+
validateOnMount,
19+
meta,
20+
FormItemProps,
21+
...rest
22+
} = useFieldApi(props);
1123
const invalid = validationError(meta, validateOnMount);
1224

1325
return (
@@ -52,8 +64,4 @@ TimePicker.propTypes = {
5264
FormItemProps: PropTypes.object,
5365
};
5466

55-
TimePicker.defaultProps = {
56-
placeholder: 'Select date',
57-
};
58-
5967
export default TimePicker;

packages/ant-component-mapper/src/wizard/wizard-step.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import WizardStepButtons from './step-buttons';
55

66
import './wizard-step.css';
77

8-
const WizardStep = ({ fields, formOptions, WizardStepProps, ...rest }) => (
8+
const WizardStep = ({ fields = [], formOptions, WizardStepProps, ...rest }) => (
99
<Fragment>
1010
<div className="ddorg__ant-component-mapper_wizard-step" {...WizardStepProps}>
1111
{fields.map((item) => formOptions.renderForm([item], formOptions))}
@@ -22,8 +22,4 @@ WizardStep.propTypes = {
2222
WizardStepProps: PropTypes.object,
2323
};
2424

25-
WizardStep.defaultProps = {
26-
fields: [],
27-
};
28-
2925
export default WizardStep;

packages/blueprint-component-mapper/src/date-picker/date-picker.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,21 @@ import { DatePicker as BDatePicker } from '@blueprintjs/datetime';
77
import FormGroupWrapper from '../form-group/form-group';
88
import propsCatcher from '../props-catcher/props-catcher';
99

10-
const DatePicker = ({ input, disabled, placeholder, valueRenderer, PopoverProps, ButtonProps, ...props }) => (
10+
const DatePicker = ({
11+
input,
12+
disabled,
13+
placeholder = 'Select date...',
14+
valueRenderer = (value) => value.toString(),
15+
PopoverProps,
16+
ButtonProps,
17+
...props
18+
}) => (
1119
<Popover disabled={disabled} {...PopoverProps}>
1220
<Button text={input.value ? valueRenderer(input.value) : placeholder} disabled={disabled} {...ButtonProps} />
1321
<BDatePicker id={input.name} {...propsCatcher(props)} {...input} value={input.value || null} />
1422
</Popover>
1523
);
1624

17-
DatePicker.defaultProps = {
18-
placeholder: 'Select date...',
19-
valueRenderer: (value) => value.toString(),
20-
};
21-
2225
DatePicker.propTypes = {
2326
input: PropTypes.object,
2427
disabled: PropTypes.bool,

0 commit comments

Comments
 (0)