Skip to content

Commit b6ee83d

Browse files
committed
Set fields with submit errror to touched
1 parent cce82c1 commit b6ee83d

File tree

6 files changed

+30
-5
lines changed

6 files changed

+30
-5
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ describe('formFields generated tests', () => {
1515
FormTemplate={(props) => <FormTemplate {...props} />}
1616
schema={schema}
1717
componentMapper={componentMapper}
18+
subscription={{ submitFailed: true }}
1819
{...props}
1920
/>
2021
);

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ describe('formFields generated tests', () => {
1515
FormTemplate={(props) => <FormTemplate {...props} />}
1616
schema={schema}
1717
componentMapper={componentMapper}
18+
subscription={{ submitFailed: true }}
1819
{...props}
1920
/>
2021
);

packages/form-state-manager/src/utils/manager-api.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -646,6 +646,20 @@ const createManagerApi: CreateManagerApi = ({
646646
return;
647647
}
648648

649+
state.registeredFields.forEach((name) => {
650+
const warning = getFieldState(name)?.meta.warning;
651+
652+
if (warning) {
653+
setFieldState(name, (state) => ({
654+
...state,
655+
meta: {
656+
...state.meta,
657+
touched: true
658+
}
659+
}));
660+
}
661+
});
662+
649663
let error = false;
650664
state.registeredFields.forEach((name) =>
651665
traverseObject(state.fieldListeners[name].fields, (field) => {
@@ -703,7 +717,8 @@ const createManagerApi: CreateManagerApi = ({
703717
submitFailed: state.submitFailed,
704718
submitSucceeded: state.submitSucceeded,
705719
submitError: flatSubmitErrors[name],
706-
submitting: state.submitting
720+
submitting: state.submitting,
721+
...(flatSubmitErrors[name] && { touched: true })
707722
}
708723
}),
709724
true

packages/mui-component-mapper/src/tests/form-fields.test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const RendererWrapper = ({ schema = { fields: [] }, ...props }) => (
1717
FormTemplate={(props) => <FormTemplate {...props} />}
1818
schema={schema}
1919
componentMapper={componentMapper}
20+
subscription={{ submitFailed: true }}
2021
{...props}
2122
/>
2223
);
@@ -255,7 +256,7 @@ describe('formFields', () => {
255256
}
256257
});
257258

258-
it('renders with error', () => {
259+
it('renders with submitError', () => {
259260
const wrapper = mount(<RendererWrapper schema={schema} onSubmit={() => ({ [field.name]: errorText })} />);
260261
wrapper.find('form').simulate('submit');
261262
expect(

packages/pf4-component-mapper/src/tests/form-fields.test.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ describe('FormFields', () => {
4848
FormTemplate={(props) => <FormTemplate {...props} />}
4949
schema={schema}
5050
componentMapper={componentMapper}
51+
subscription={{ submitFailed: true }}
5152
{...props}
5253
/>
5354
);
@@ -305,9 +306,14 @@ describe('FormFields', () => {
305306
}
306307
});
307308

308-
it('renders with submit error', () => {
309+
it('renders with submit error', async () => {
309310
const wrapper = mount(<RendererWrapper schema={schema} onSubmit={() => ({ [field.name]: errorText })} />);
310-
wrapper.find('form').simulate('submit');
311+
312+
await act(async () => {
313+
wrapper.find('form').simulate('submit');
314+
});
315+
wrapper.update();
316+
311317
expect(
312318
wrapper
313319
.find('.pf-m-error')

packages/suir-component-mapper/src/tests/form-fields.test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const RendererWrapper = ({ schema = { fields: [] }, ...props }) => (
1717
FormTemplate={(props) => <FormTemplate {...props} />}
1818
schema={schema}
1919
componentMapper={componentMapper}
20+
subscription={{ submitFailed: true }}
2021
{...props}
2122
/>
2223
);
@@ -232,7 +233,7 @@ describe('formFields', () => {
232233
}
233234
});
234235

235-
it('renders with error', () => {
236+
it('renders with submitError', () => {
236237
const wrapper = mount(<RendererWrapper schema={schema} onSubmit={() => ({ [field.name]: errorText })} />);
237238
wrapper.find('form').simulate('submit');
238239
expect(

0 commit comments

Comments
 (0)