Skip to content

Commit 17eda81

Browse files
authored
Merge pull request #854 from rvsia/antWarning
feat(ant): add warning
2 parents 748b77e + 8edf737 commit 17eda81

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

packages/ant-component-mapper/src/common/form-wrapper.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,17 @@ import { childrenPropTypes } from '@data-driven-forms/common/src/prop-types-temp
77

88
const AntForm = ({ label, children, isRequired, FormItemProps, meta, validateOnMount, helperText, description, hideLabel }) => {
99
const invalid = validationError(meta, validateOnMount);
10-
const help = invalid || helperText || description;
10+
const warning = (meta.touched || validateOnMount) && meta.warning;
11+
const help = invalid || warning || helperText || description;
1112

1213
return (
13-
<Form.Item validateStatus={!invalid ? '' : 'error'} help={help} label={!hideLabel && label} required={isRequired} {...FormItemProps}>
14+
<Form.Item
15+
validateStatus={!invalid ? (warning ? 'warning' : '') : 'error'}
16+
help={help}
17+
label={!hideLabel && label}
18+
required={isRequired}
19+
{...FormItemProps}
20+
>
1421
{children}
1522
</Form.Item>
1623
);

packages/ant-component-mapper/src/tests/components.test.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,29 @@ describe('formFields generated tests', () => {
103103
expect(wrapper.find('.ant-form-item-has-error').length).toBeGreaterThanOrEqual(1);
104104
});
105105

106+
it('renders with warning', async () => {
107+
const errorField = {
108+
...field,
109+
validate: [{ type: validatorTypes.REQUIRED, warning: true }],
110+
useWarnings: true,
111+
validateOnMount: true
112+
};
113+
let wrapper;
114+
115+
await act(async () => {
116+
wrapper = mount(<RendererWrapper schema={{ fields: [errorField] }} />);
117+
});
118+
wrapper.update();
119+
120+
expect(
121+
wrapper
122+
.find('.ant-form-item-explain')
123+
.last()
124+
.text()
125+
).toEqual(errorText);
126+
expect(wrapper.find('.ant-form-item-has-warning').length).toBeGreaterThanOrEqual(1);
127+
});
128+
106129
it('renders with error and validateOnMount', async () => {
107130
const errorField = {
108131
...field,

0 commit comments

Comments
 (0)