Skip to content

Commit

Permalink
Added new context to some fields antd.
Browse files Browse the repository at this point in the history
  • Loading branch information
kestarumper committed Oct 16, 2019
1 parent 8a1bb13 commit 46174f5
Show file tree
Hide file tree
Showing 29 changed files with 98 additions and 62 deletions.
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/AutoField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import RadioField from 'uniforms-antd/RadioField';
import React from 'react';
import SelectField from 'uniforms-antd/SelectField';
import TextField from 'uniforms-antd/TextField';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/AutoFields.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import AutoFields from 'uniforms-antd/AutoFields';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/AutoForm.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import AutoForm from 'uniforms-antd/AutoForm';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createSchema from './_createSchema';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/BaseForm.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import BaseForm from 'uniforms-antd/BaseForm';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createSchema from './_createSchema';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/BoolField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import BoolField from 'uniforms-antd/BoolField';
import Checkbox from 'antd/lib/checkbox';
import React from 'react';
import Switch from 'antd/lib/switch';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/DateField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import DateField from 'uniforms-antd/DateField';
import DatePicker from 'antd/lib/date-picker';
import React from 'react';
import moment from 'moment';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/ErrorField.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import ErrorField from 'uniforms-antd/ErrorField';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/ErrorsField.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import ErrorsField from 'uniforms-antd/ErrorsField';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/FormGroup.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import FormGroup from 'uniforms-antd/FormGroup';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

test('FormGroup should be deprecated', () => {
console.error = jest.fn();
Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/HiddenField.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import HiddenField from 'uniforms-antd/HiddenField';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/ListAddField.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import ListAddField from 'uniforms-antd/ListAddField';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/ListDelField.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import ListDelField from 'uniforms-antd/ListDelField';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/ListField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import ListField from 'uniforms-antd/ListField';
import ListItemField from 'uniforms-antd/ListItemField';
import React from 'react';
import Tooltip from 'antd/lib/tooltip';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/ListItemField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import AutoField from 'uniforms-antd/AutoField';
import ListDelField from 'uniforms-antd/ListDelField';
import ListItemField from 'uniforms-antd/ListItemField';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/LongTextField.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import Input from 'antd/lib/input';
import LongTextField from 'uniforms-antd/LongTextField';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/NestField.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import AutoField from 'uniforms-antd/AutoField';
import NestField from 'uniforms-antd/NestField';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/NumField.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import InputNumber from 'antd/lib/input-number';
import NumField from 'uniforms-antd/NumField';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/QuickForm.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import QuickForm from 'uniforms-antd/QuickForm';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createSchema from './_createSchema';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/RadioField.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import Radio from 'antd/lib/radio';
import RadioField from 'uniforms-antd/RadioField';
import React from 'react';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/SelectField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import Radio from 'antd/lib/radio';
import React from 'react';
import Select from 'antd/lib/select';
import SelectField from 'uniforms-antd/SelectField';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/SubmitField.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import Button from 'antd/lib/button';
import React from 'react';
import SubmitField from 'uniforms-antd/SubmitField';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/TextField.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import Input from 'antd/lib/input';
import React from 'react';
import TextField from 'uniforms-antd/TextField';
import { mount } from 'enzyme';

import mount from './_mount';

import createContext from './_createContext';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/ValidateQuickForm.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import React from 'react';
import ValidatedQuickForm from 'uniforms-antd/ValidatedQuickForm';
import { mount } from 'enzyme';

import mount from './_mount';

import createSchema from './_createSchema';

Expand Down
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/ValidatedForm.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import React from 'react';
import ValidatedForm from 'uniforms-antd/ValidatedForm';
import { mount } from 'enzyme';

import mount from './_mount';

import createSchema from './_createSchema';

Expand Down
13 changes: 13 additions & 0 deletions packages/uniforms-antd/__tests__/_mount.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import React from 'react';
import { mount as enzyme } from 'enzyme';
import context from 'uniforms/context';

export default function mount(children, value) {
return enzyme(
value === undefined ? (
children
) : (
<context.Provider children={children} value={value.context} />
)
);
}
3 changes: 2 additions & 1 deletion packages/uniforms-antd/__tests__/wrapField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import Form from 'antd/lib/form';
import React from 'react';
import Tooltip from 'antd/lib/tooltip';
import wrapField from 'uniforms-antd/wrapField';
import { mount } from 'enzyme';

import mount from './_mount';

test('<wrapField> - renders wrapper with label', () => {
const element = wrapField({ label: 'Label' }, <div />);
Expand Down
14 changes: 7 additions & 7 deletions packages/uniforms-antd/src/AutoFields.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import PropTypes from 'prop-types';
import { createElement } from 'react';
import context from 'uniforms/context';
import { createElement, useContext } from 'react';

import AutoField from './AutoField';

const AutoFields = (
{ autoField, element, fields, omitFields, ...props }: any,
{ uniforms: { schema } }: any
) =>
createElement(
function AutoFields({ autoField, element, fields, omitFields, ...props }) {
const { schema } = useContext(context).uniforms;

return createElement(
element,
props,
(fields || schema.getSubfields())
Expand All @@ -16,7 +16,7 @@ const AutoFields = (
createElement(autoField, { key: field, name: field })
)
);
AutoFields.contextTypes = AutoField.contextTypes;
}

AutoFields.propTypes = {
autoField: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
Expand Down
15 changes: 7 additions & 8 deletions packages/uniforms-antd/src/ErrorsField.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import BaseField from 'uniforms/BaseField';
import React from 'react';
import React, { useContext } from 'react';
import context from 'uniforms/context';
import filterDOMProps from 'uniforms/filterDOMProps';
import nothing from 'uniforms/nothing';

const ErrorsField = (
{ children, ...props }: any,
{ uniforms: { error, schema } }: any
) =>
!error && !children ? (
function ErrorsField({ children, ...props }) {
const { error, schema } = useContext(context).uniforms;

return !error && !children ? (
nothing
) : (
<div {...filterDOMProps(props)}>
Expand All @@ -21,7 +20,7 @@ const ErrorsField = (
</ul>
</div>
);
ErrorsField.contextTypes = BaseField.contextTypes;
}

ErrorsField.defaultProps = {
style: {
Expand Down
43 changes: 21 additions & 22 deletions packages/uniforms-antd/src/SubmitField.tsx
Original file line number Diff line number Diff line change
@@ -1,27 +1,26 @@
import BaseField from 'uniforms/BaseField';
import Button from 'antd/lib/button';
import React from 'react';
import React, { useContext } from 'react';
import context from 'uniforms/context';

function SubmitField({ inputRef, value, ...props }) {
const {
error,
state: { disabled }
} = useContext(context).uniforms;

return (
<Button
disabled={!!(error || disabled)}
htmlType="submit"
ref={inputRef}
type="primary"
{...props}
>
{value}
</Button>
);
}

const SubmitField = (
{ inputRef, value, ...props },
{
uniforms: {
error,
state: { disabled }
}
}
) => (
<Button
disabled={!!(error || disabled)}
htmlType="submit"
ref={inputRef}
type="primary"
{...props}
>
{value}
</Button>
);
SubmitField.contextTypes = BaseField.contextTypes;
SubmitField.defaultProps = { value: 'Submit' };

export default SubmitField;

0 comments on commit 46174f5

Please sign in to comment.