import React, { useState, useLayoutEffect, Component } from 'react';
import { storiesOf } from '@storybook/react';
import { Button, Modal, TreeSelect, Row, Col, Avatar, Select as BasicSelect,
Form,
useFormState,
useFormApi,
useFieldApi,
useFieldState,
withFormState,
withFormApi,
withField,
ArrayField,
AutoComplete,
Collapse,
Icon,
} from '../../../index';
const { Input, Select, DatePicker, Switch, Slider, CheckboxGroup, Checkbox, RadioGroup, Radio, TimePicker, InputNumber, InputGroup } = Form;
const UseFormApiDemo = () => {
return (
{({ add, arrayFields }) => (
{arrayFields.map(({ field, key, remove }, i) => (
{/*
2D
3D
*/}
))}
)}
);
};
const CustomStringify = values => {
return JSON.stringify(values, (k, v) => (v === undefined ? '__undefined' : v)).replace(
'"__undefined"',
'undefined'
);
};
const ComponentUsingFormApi = () => {
const formApi = useFormApi();
const [count, setCount] = useState(0);
const change = () => {
let value0 = {
name: 'mikeyyaya',
cc: 'adele',
arrays: [
{ name: 1, type: '1' },
{ name: 2, type: '2' },
],
};
formApi.setValues(value0, { isOverride: true });
};
const change2 = () => {
let value2 = {
// name: '2',
// cc: 'mike',
arrays: [],
};
formApi.setValues(value2, { isOverride: true });
};
return (
<>
>
);
};
/** */
const ComponentUsingFormState = () => {
const formState = useFormState();
return (
{JSON.stringify(formState)}
{/* {CustomStringify(formState)} */}
);
};
const UseFormStateDemo = () => {
return (
);
};
const ComponentUsingFieldApi = () => {
const nameFieldApi = useFieldApi('name');
const change = () => {
nameFieldApi.setValue(Math.random());
};
return ;
};
const UseFieldApiDemo = () => {
return (
);
};
const ComponentUsingFieldState = props => {
const fieldState = useFieldState(props.field);
return (
{CustomStringify(fieldState)}
);
};
const UseFieldStateDemo = () => {
return (
【name】FieldState read by 【useFieldState】:
【country】FieldState read by 【useFieldState】:
);
};
const WithFormStateDemo = () => {
const SomeComponent = props => {CustomStringify(props.formState)};
const ComponentWithFormState = withFormState(SomeComponent);
return (
);
};
const WithFormApiDemo = () => {
const SomeComponet = props => (
);
const ComponentWithFormApi = withFormApi(SomeComponet);
return (
);
};
export { UseFormApiDemo, UseFormStateDemo, UseFieldApiDemo, UseFieldStateDemo, WithFormStateDemo, WithFormApiDemo, ComponentUsingFormState, CustomStringify };