fix:useForm & auto save

This commit is contained in:
yehuozhili 2020-10-11 02:39:50 +08:00
parent 1e97dac908
commit fb81c1df58
7 changed files with 305 additions and 75 deletions

View File

@ -57,7 +57,7 @@
"@umijs/plugin-sass": "^1.1.1", "@umijs/plugin-sass": "^1.1.1",
"@umijs/preset-react": "1.x", "@umijs/preset-react": "1.x",
"@umijs/test": "^3.2.19", "@umijs/test": "^3.2.19",
"antd": "^4.2.3", "antd": "^4.7.0",
"antd-img-crop": "^3.10.0", "antd-img-crop": "^3.10.0",
"axios": "^0.19.2", "axios": "^0.19.2",
"chatbot-antd": "^0.6.0", "chatbot-antd": "^0.6.0",

View File

@ -1,5 +1,5 @@
import React, { memo, useEffect, FC } from 'react'; import React, { memo, useEffect, FC } from 'react';
import { Form, Select, Input, Modal } from 'antd'; import { Form, Select, Input, Modal, Button } from 'antd';
import Upload from '../Upload'; import Upload from '../Upload';
import { Store } from 'antd/lib/form/interface'; import { Store } from 'antd/lib/form/interface';
import { TDataListDefaultTypeItem } from '../FormEditor/types'; import { TDataListDefaultTypeItem } from '../FormEditor/types';
@ -28,6 +28,7 @@ export type EditorModalProps = {
const EditorModal: FC<EditorModalProps> = props => { const EditorModal: FC<EditorModalProps> = props => {
const { item, onSave, visible, onCancel } = props; const { item, onSave, visible, onCancel } = props;
const onFinish = (values: Store) => { const onFinish = (values: Store) => {
console.log(values);
onSave && onSave(values); onSave && onSave(values);
}; };
const handleOk = () => { const handleOk = () => {
@ -47,21 +48,25 @@ const EditorModal: FC<EditorModalProps> = props => {
const [form] = Form.useForm(); const [form] = Form.useForm();
useEffect(() => { useEffect(() => {
return () => { if (form && item && visible) {
form.resetFields(); form.resetFields();
}; }
}, [item]); }, [form, item, visible]);
return ( return (
<> <>
{!!item && ( {!!item && (
<Modal <Modal
title="编辑数据源" title="编辑数据源"
closable={false}
visible={visible} visible={visible}
onOk={handleOk} onOk={handleOk}
onCancel={onCancel}
okText="确定" okText="确定"
cancelText="取消" forceRender
footer={
<Button type={'primary'} onClick={() => handleOk()}>
</Button>
}
> >
<Form <Form
form={form} form={form}

View File

@ -169,16 +169,19 @@ const List = function(props: DataListType) {
}; };
const handleCancel = useCallback(() => { const handleCancel = useCallback(() => {
console.log('a');
setVisible(false); setVisible(false);
}, []); }, []);
const handleEdit = useCallback((item: TDataListDefaultTypeItem) => { const handleEdit = useCallback((item: TDataListDefaultTypeItem) => {
console.log('b');
setVisible(true); setVisible(true);
setCurItem(item); setCurItem(item);
}, []); }, []);
const handleSave = useCallback( const handleSave = useCallback(
(item: TDataListDefaultTypeItem) => { (item: TDataListDefaultTypeItem) => {
console.log('c');
setVisible(false); setVisible(false);
if (onChange) { if (onChange) {
onChange(list!.map(p => (p.id === item.id ? item : p))); onChange(list!.map(p => (p.id === item.id ? item : p)));
@ -186,7 +189,7 @@ const List = function(props: DataListType) {
} }
setList(prev => prev!.map(p => (p.id === item.id ? item : p))); setList(prev => prev!.map(p => (p.id === item.id ? item : p)));
}, },
[curItem], [list, onChange],
); );
const handleAdd = () => { const handleAdd = () => {

View File

@ -1,4 +1,4 @@
import React, { memo, useEffect, useMemo } from 'react'; import React, { memo, useEffect } from 'react';
import { Form, Select, InputNumber, Input, Switch, Radio, Button } from 'antd'; import { Form, Select, InputNumber, Input, Switch, Radio, Button } from 'antd';
import Upload from '../Upload'; import Upload from '../Upload';
import DataList from '../DataList'; import DataList from '../DataList';
@ -40,7 +40,6 @@ const FormEditor = (props: FormEditorProps) => {
const onFinish = (values: Store) => { const onFinish = (values: Store) => {
onSave && onSave(values); onSave && onSave(values);
}; };
const handleDel = () => { const handleDel = () => {
onDel && onDel(uid); onDel && onDel(uid);
}; };
@ -51,12 +50,12 @@ const FormEditor = (props: FormEditorProps) => {
return () => { return () => {
form.resetFields(); form.resetFields();
}; };
}, [defaultValue, form]); }, [uid, form]);
const handleInputChange = (values: any) => { const handlechange = () => {
let btn = document.getElementById('btn'); onFinish(form.getFieldsValue());
btn?.click();
}; };
return ( return (
<Form <Form
form={form} form={form}
@ -64,46 +63,48 @@ const FormEditor = (props: FormEditorProps) => {
{...formItemLayout} {...formItemLayout}
onFinish={onFinish} onFinish={onFinish}
initialValues={defaultValue} initialValues={defaultValue}
onValuesChange={handlechange}
> >
{config.map((item, i) => { {config.map((item, i) => {
return ( return (
<React.Fragment key={i}> <React.Fragment key={i}>
{item.type === 'Number' && ( {item.type === 'Number' && (
<Form.Item label={item.name} name={item.key}> <Form.Item label={item.name} name={item.key}>
<InputNumber max={item.range && item.range[1]} onChange={handleInputChange} /> <InputNumber max={item.range && item.range[1]} />
</Form.Item> </Form.Item>
)} )}
{item.type === 'Text' && ( {item.type === 'Text' && (
<Form.Item label={item.name} name={item.key}> <Form.Item label={item.name} name={item.key}>
<Input onChange={handleInputChange} /> <Input />
</Form.Item> </Form.Item>
)} )}
{item.type === 'TextArea' && ( {item.type === 'TextArea' && (
<Form.Item label={item.name} name={item.key}> <Form.Item label={item.name} name={item.key}>
<TextArea rows={4} onChange={handleInputChange} /> <TextArea rows={4} />
</Form.Item>
)}
{item.type === 'DataList' && (
<Form.Item label={item.name} name={item.key}>
<DataList onChange={handleInputChange} />
</Form.Item>
)}
{item.type === 'Color' && (
<Form.Item label={item.name} name={item.key}>
<Color onChange={handleInputChange} />
</Form.Item> </Form.Item>
)} )}
{item.type === 'MutiText' && ( {item.type === 'MutiText' && (
<Form.Item label={item.name} name={item.key}> <Form.Item label={item.name} name={item.key}>
<MutiText onChange={handleInputChange} /> <MutiText />
</Form.Item> </Form.Item>
)} )}
{item.type === 'DataList' && (
<Form.Item label={item.name} name={item.key}>
<DataList />
</Form.Item>
)}
{item.type === 'Color' && (
<Form.Item label={item.name} name={item.key}>
<Color />
</Form.Item>
)}
{item.type === 'Select' && ( {item.type === 'Select' && (
<Form.Item label={item.name} name={item.key}> <Form.Item label={item.name} name={item.key}>
<Select placeholder="请选择"> <Select placeholder="请选择">
{item.range.map((v: any, i: number) => { {item.range.map((v: any, i: number) => {
return ( return (
<Option value={v.key} key={i} onChange={handleInputChange}> <Option value={v.key} key={i}>
{v.text} {v.text}
</Option> </Option>
); );
@ -116,7 +117,7 @@ const FormEditor = (props: FormEditorProps) => {
<Radio.Group> <Radio.Group>
{item.range.map((v: any, i: number) => { {item.range.map((v: any, i: number) => {
return ( return (
<Radio value={v.key} key={i} onChange={handleInputChange}> <Radio value={v.key} key={i}>
{v.text} {v.text}
</Radio> </Radio>
); );
@ -126,7 +127,7 @@ const FormEditor = (props: FormEditorProps) => {
)} )}
{item.type === 'Switch' && ( {item.type === 'Switch' && (
<Form.Item label={item.name} name={item.key} valuePropName="checked"> <Form.Item label={item.name} name={item.key} valuePropName="checked">
<Switch onChange={handleInputChange} /> <Switch />
</Form.Item> </Form.Item>
)} )}
{item.type === 'Upload' && ( {item.type === 'Upload' && (
@ -136,44 +137,33 @@ const FormEditor = (props: FormEditorProps) => {
valuePropName="fileList" valuePropName="fileList"
getValueFromEvent={normFile} getValueFromEvent={normFile}
> >
<Upload <Upload cropRate={item.cropRate} isCrop={item.isCrop} />
cropRate={item.cropRate}
isCrop={item.isCrop}
onChange={handleInputChange}
/>
</Form.Item> </Form.Item>
)} )}
{item.type === 'CardPicker' && ( {item.type === 'CardPicker' && (
<Form.Item label={item.name} name={item.key} valuePropName="type"> <Form.Item label={item.name} name={item.key} valuePropName="type">
<CardPicker <CardPicker icons={item.icons} type={defaultValue['type']} />
icons={item.icons}
type={defaultValue['type']}
onChange={handleInputChange}
/>
</Form.Item> </Form.Item>
)} )}
{item.type === 'Table' && ( {item.type === 'Table' && (
<Form.Item label={item.name} name={item.key} valuePropName="data"> <Form.Item label={item.name} name={item.key} valuePropName="data">
<Table data={item.data} onChange={handleInputChange} /> <Table data={item.data} />
</Form.Item> </Form.Item>
)} )}
{item.type === 'Pos' && ( {item.type === 'Pos' && (
<Form.Item label={item.name} name={item.key}> <Form.Item label={item.name} name={item.key}>
<Pos onChange={handleInputChange} /> <Pos />
</Form.Item> </Form.Item>
)} )}
{item.type === 'FormItems' && ( {item.type === 'FormItems' && (
<Form.Item label={item.name} name={item.key} valuePropName="formList"> <Form.Item label={item.name} name={item.key} valuePropName="formList">
<FormItems data={item.data} onChange={handleInputChange} /> <FormItems data={item.data} />
</Form.Item> </Form.Item>
)} )}
</React.Fragment> </React.Fragment>
); );
})} })}
<Form.Item wrapperCol={{ span: 12, offset: 6 }}> <Form.Item wrapperCol={{ span: 12, offset: 6 }}>
<Button type="primary" hidden={true} htmlType="submit" id="btn">
</Button>
<Button danger style={{ marginLeft: '20px' }} onClick={handleDel}> <Button danger style={{ marginLeft: '20px' }} onClick={handleDel}>
</Button> </Button>

View File

@ -38,10 +38,10 @@ const EditorModal: FC<EditorModalProps> = props => {
const [form] = Form.useForm(); const [form] = Form.useForm();
useEffect(() => { useEffect(() => {
return () => { if (form && item && visible) {
form.resetFields(); form.resetFields();
}; }
}, [form, item]); }, [form, item, visible]);
return ( return (
<> <>

View File

@ -1,4 +1,4 @@
import React, { memo, useState, useEffect } from 'react'; import React, { memo, useEffect } from 'react';
import { Input, Button, Popconfirm } from 'antd'; import { Input, Button, Popconfirm } from 'antd';
import { MinusCircleOutlined } from '@ant-design/icons'; import { MinusCircleOutlined } from '@ant-design/icons';
import styles from './index.less'; import styles from './index.less';
@ -11,41 +11,30 @@ type MultiTextProps = {
export default memo(function MutiText(props: MultiTextProps) { export default memo(function MutiText(props: MultiTextProps) {
const { value, onChange } = props; const { value, onChange } = props;
const [valueList, setValueList] = useState(value || []);
const handleAdd = () => { const handleAdd = () => {
setValueList(prev => { onChange && onChange([...value!, '新增项目']);
return [...prev, '新增项'];
});
}; };
const handleDel = (index: number) => { const handleDel = (index: number) => {
setValueList(prev => { let newList = value!.filter((_item, i) => i !== index);
let newList = prev.filter((_item, i) => i !== index);
onChange && onChange(newList); onChange && onChange(newList);
return newList;
});
}; };
const handleChange = (index: number, e: React.ChangeEvent<HTMLInputElement>) => { const handleChange = (index: number, e: React.ChangeEvent<HTMLInputElement>) => {
const { value } = e.target; let newList = value!.map((item, i) => (i === index ? e.target.value : item));
setValueList(prev => {
let newList = prev.map((item, i) => (i === index ? value : item));
onChange && onChange(newList); onChange && onChange(newList);
return newList;
});
}; };
useEffect(() => { useEffect(() => {
window['currentCates'] = valueList; window['currentCates'] = value!;
return () => { return () => {
window['currentCates'] = null; window['currentCates'] = null;
}; };
}, [valueList]); }, [value]);
return ( return (
<div className={styles.mutiText}> <div className={styles.mutiText}>
{valueList.length ? ( {value && value.length ? (
valueList.map((item, i) => { value!.map((item, i) => {
return ( return (
<div className={styles.iptWrap} key={i}> <div className={styles.iptWrap} key={i}>
<Input defaultValue={item} onChange={e => handleChange(i, e)} /> <Input defaultValue={item} onChange={e => handleChange(i, e)} />
@ -68,7 +57,7 @@ export default memo(function MutiText(props: MultiTextProps) {
<Input /> <Input />
</div> </div>
)} )}
{valueList.length < 3 && ( {value && value.length < 3 && (
<div className={styles.iptWrap}> <div className={styles.iptWrap}>
<Button type="primary" onClick={handleAdd}> <Button type="primary" onClick={handleAdd}>

247
yarn.lock
View File

@ -3348,7 +3348,7 @@ antd-mobile@^2.3.1:
rmc-tabs "~1.2.0" rmc-tabs "~1.2.0"
rmc-tooltip "~1.0.0" rmc-tooltip "~1.0.0"
antd@^4.1.2, antd@^4.1.3, antd@^4.2.3: antd@^4.1.2, antd@^4.1.3:
version "4.6.4" version "4.6.4"
resolved "https://registry.yarnpkg.com/antd/-/antd-4.6.4.tgz#297c9d1856a7745bfa4bae6aa4554498a047e244" resolved "https://registry.yarnpkg.com/antd/-/antd-4.6.4.tgz#297c9d1856a7745bfa4bae6aa4554498a047e244"
integrity sha512-fzrxyXc93fq+h0A0Rduw+7we1qyZEIgwIefXJmZg7ft81M/nQcdJ1l37sbaJWcg120f+kjeuWIbrmCVUqTpgXw== integrity sha512-fzrxyXc93fq+h0A0Rduw+7we1qyZEIgwIefXJmZg7ft81M/nQcdJ1l37sbaJWcg120f+kjeuWIbrmCVUqTpgXw==
@ -3400,6 +3400,58 @@ antd@^4.1.2, antd@^4.1.3, antd@^4.2.3:
scroll-into-view-if-needed "^2.2.25" scroll-into-view-if-needed "^2.2.25"
warning "^4.0.3" warning "^4.0.3"
antd@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/antd/-/antd-4.7.0.tgz#84527b3306b91af1784c37d5e0e311960f92f3ba"
integrity sha512-qXXgclUmx6InkNce5BsIie9GR/39FGsVikwTMObofnVVALv+uOLH4D14reX7K50QldDXHZ7jIPU1JTkcNgtBoA==
dependencies:
"@ant-design/colors" "^4.0.5"
"@ant-design/css-animation" "^1.7.2"
"@ant-design/icons" "^4.2.1"
"@ant-design/react-slick" "~0.27.0"
"@babel/runtime" "^7.11.2"
array-tree-filter "^2.1.0"
classnames "^2.2.6"
copy-to-clipboard "^3.2.0"
lodash "^4.17.20"
moment "^2.25.3"
omit.js "^2.0.2"
raf "^3.4.1"
rc-animate "~3.1.0"
rc-cascader "~1.4.0"
rc-checkbox "~2.3.0"
rc-collapse "~2.0.0"
rc-dialog "~8.4.0"
rc-drawer "~4.1.0"
rc-dropdown "~3.2.0"
rc-field-form "~1.12.0"
rc-image "~3.2.1"
rc-input-number "~6.1.0"
rc-mentions "~1.5.0"
rc-menu "~8.7.1"
rc-motion "^2.2.0"
rc-notification "~4.5.2"
rc-pagination "~3.1.0"
rc-picker "~2.3.0"
rc-progress "~3.1.0"
rc-rate "~2.8.2"
rc-resize-observer "^0.2.3"
rc-select "~11.4.0"
rc-slider "~9.5.2"
rc-steps "~4.1.0"
rc-switch "~3.2.0"
rc-table "~7.10.0"
rc-tabs "~11.6.0"
rc-textarea "~0.3.0"
rc-tooltip "~5.0.0"
rc-tree "~3.10.0"
rc-tree-select "~4.1.1"
rc-trigger "~5.0.3"
rc-upload "~3.3.1"
rc-util "^5.1.0"
scroll-into-view-if-needed "^2.2.25"
warning "^4.0.3"
any-promise@^1.0.0, any-promise@^1.1.0: any-promise@^1.0.0, any-promise@^1.1.0:
version "1.3.0" version "1.3.0"
resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
@ -11390,6 +11442,16 @@ rc-cascader@~1.3.0:
rc-util "^5.0.1" rc-util "^5.0.1"
warning "^4.0.1" warning "^4.0.1"
rc-cascader@~1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-1.4.0.tgz#d731ea8e07433558627941036091a2820e895474"
integrity sha512-6kgQljDQEKjVAVRkZtvvoi+2qv4u42M6oLuvt4ZDBa16r3X9ZN8TAq3atVyC840ivbGKlHT50OcdVx/iwiHc1w==
dependencies:
array-tree-filter "^2.1.0"
rc-trigger "^5.0.4"
rc-util "^5.0.1"
warning "^4.0.1"
rc-checkbox@~2.0.0: rc-checkbox@~2.0.0:
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-2.0.3.tgz#436a9d508948e224980f0535ea738b48177a8f25" resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-2.0.3.tgz#436a9d508948e224980f0535ea738b48177a8f25"
@ -11438,6 +11500,16 @@ rc-dialog@~8.2.1, rc-dialog@~8.2.2:
rc-animate "3.x" rc-animate "3.x"
rc-util "^5.0.1" rc-util "^5.0.1"
rc-dialog@~8.4.0:
version "8.4.0"
resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-8.4.0.tgz#6b7a96ef836c85a8e8c7de864bddf43feb590702"
integrity sha512-JNLPB9aRkr7ZjrPGhgcgVanLmm4kiVt0a3TbW7vtKCA1bMdSLlufUUqeb4oyqqIh8is7RmFqwFJZf26/ypuPhg==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.6"
rc-motion "^2.3.0"
rc-util "^5.0.1"
rc-drawer@~4.1.0: rc-drawer@~4.1.0:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-4.1.0.tgz#d7bf0bc030300b62d282bc04e053b9acad6b08b4" resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-4.1.0.tgz#d7bf0bc030300b62d282bc04e053b9acad6b08b4"
@ -11456,6 +11528,15 @@ rc-dropdown@^3.1.3, rc-dropdown@~3.1.2:
classnames "^2.2.6" classnames "^2.2.6"
rc-trigger "^4.0.0" rc-trigger "^4.0.0"
rc-dropdown@~3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.2.0.tgz#da6c2ada403842baee3a9e909a0b1a91ba3e1090"
integrity sha512-j1HSw+/QqlhxyTEF6BArVZnTmezw2LnSmRk6I9W7BCqNCKaRwleRmMMs1PHbuaG8dKHVqP6e21RQ7vPBLVnnNw==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.6"
rc-trigger "^5.0.4"
rc-field-form@~1.10.0: rc-field-form@~1.10.0:
version "1.10.1" version "1.10.1"
resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.10.1.tgz#f6eb76b5f24b58938ebadfc03cdd814c24de7db3" resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.10.1.tgz#f6eb76b5f24b58938ebadfc03cdd814c24de7db3"
@ -11465,6 +11546,15 @@ rc-field-form@~1.10.0:
async-validator "^3.0.3" async-validator "^3.0.3"
rc-util "^5.0.0" rc-util "^5.0.0"
rc-field-form@~1.12.0:
version "1.12.1"
resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.12.1.tgz#e7f5dc5cc5a267420fd50e1e3ae3352e650c1425"
integrity sha512-c09NVEoGFtwqpTJH4Tw1D8UUitKrrTCW2UAFcJ57FHTg5zReozzgjrrv3UiKDVjbbFzikDLdYz3CzdWMlqVHXg==
dependencies:
"@babel/runtime" "^7.8.4"
async-validator "^3.0.3"
rc-util "^5.0.0"
rc-gesture@~0.0.18, rc-gesture@~0.0.22: rc-gesture@~0.0.18, rc-gesture@~0.0.22:
version "0.0.22" version "0.0.22"
resolved "https://registry.yarnpkg.com/rc-gesture/-/rc-gesture-0.0.22.tgz#fbcbdd5b46387a978b3ede48b42748e8ff77dddd" resolved "https://registry.yarnpkg.com/rc-gesture/-/rc-gesture-0.0.22.tgz#fbcbdd5b46387a978b3ede48b42748e8ff77dddd"
@ -11483,6 +11573,17 @@ rc-image@~3.0.6:
rc-dialog "~8.2.2" rc-dialog "~8.2.2"
rc-util "^5.0.6" rc-util "^5.0.6"
rc-image@~3.2.1:
version "3.2.2"
resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-3.2.2.tgz#5d2b7d474dd01ea7af2cbc84fe6af3de8905b3fe"
integrity sha512-8D1pj4qTdC93IfeTPstGFBwpDRZPC565emm4VevrtyFoD9QHBF6kp9kOtzk0JAmbybLAQuX4GGNcwoc7tbZ9Zw==
dependencies:
"@ant-design/icons" "^4.2.2"
"@babel/runtime" "^7.11.2"
classnames "^2.2.6"
rc-dialog "~8.4.0"
rc-util "^5.0.6"
rc-input-number@~6.0.0: rc-input-number@~6.0.0:
version "6.0.1" version "6.0.1"
resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-6.0.1.tgz#51d7a3762a4eaec091666e153e0056f372922dc5" resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-6.0.1.tgz#51d7a3762a4eaec091666e153e0056f372922dc5"
@ -11492,6 +11593,15 @@ rc-input-number@~6.0.0:
classnames "^2.2.5" classnames "^2.2.5"
rc-util "^5.0.1" rc-util "^5.0.1"
rc-input-number@~6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-6.1.0.tgz#bd11cd7ed2f8b60aa7b4ee8fc15158910acd2465"
integrity sha512-9JV9gbStukoM80yeqLG4su6uTsTOL/hJYdNZM2BT3szAkBqhclNRLkZdw9gIkaK6XTTJ8kZayIxjQpc4PPopAg==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.5"
rc-util "^5.0.1"
rc-mentions@~1.4.0: rc-mentions@~1.4.0:
version "1.4.2" version "1.4.2"
resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.4.2.tgz#534c29622445be8a5c197d405d20491e0ab35cf0" resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.4.2.tgz#534c29622445be8a5c197d405d20491e0ab35cf0"
@ -11504,6 +11614,18 @@ rc-mentions@~1.4.0:
rc-trigger "^4.3.0" rc-trigger "^4.3.0"
rc-util "^5.0.1" rc-util "^5.0.1"
rc-mentions@~1.5.0:
version "1.5.2"
resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.5.2.tgz#94559a369de73e7cc92f343badaf94499fb410a7"
integrity sha512-GqV0tOtHY3pLpOsFCxJ2i6Ad8AVfxFmz0NlD/8rb8IG8pMpthJKcdfnXlNZRx3Fa9O4YEgJpdSY1WEbmlx2DWQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.6"
rc-menu "^8.0.1"
rc-textarea "^0.3.0"
rc-trigger "^5.0.4"
rc-util "^5.0.1"
rc-menu@^8.0.1, rc-menu@^8.6.1, rc-menu@~8.6.1: rc-menu@^8.0.1, rc-menu@^8.6.1, rc-menu@~8.6.1:
version "8.6.1" version "8.6.1"
resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-8.6.1.tgz#edcacfb63a66cb57a33e131d43dc266ce633722c" resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-8.6.1.tgz#edcacfb63a66cb57a33e131d43dc266ce633722c"
@ -11519,6 +11641,21 @@ rc-menu@^8.0.1, rc-menu@^8.6.1, rc-menu@~8.6.1:
resize-observer-polyfill "^1.5.0" resize-observer-polyfill "^1.5.0"
shallowequal "^1.1.0" shallowequal "^1.1.0"
rc-menu@~8.7.1:
version "8.7.1"
resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-8.7.1.tgz#f3dcaeb25308568a07871b79f8ddd9515a64e8be"
integrity sha512-CuuJ9oS1oPAfenqAMa3CZZE7RrPcPTHV3310cf6RO2uJgE9ztqasRFMEBwtruH16OexTr0igTCXySm+e2/TBQg==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
mini-store "^3.0.1"
omit.js "^2.0.0"
rc-motion "^2.0.1"
rc-trigger "^5.0.4"
rc-util "^5.0.1"
resize-observer-polyfill "^1.5.0"
shallowequal "^1.1.0"
rc-motion@^1.0.0, rc-motion@^1.0.1: rc-motion@^1.0.0, rc-motion@^1.0.1:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-1.1.2.tgz#07212f1b96c715b8245ec121339146c4a9b0968c" resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-1.1.2.tgz#07212f1b96c715b8245ec121339146c4a9b0968c"
@ -11538,6 +11675,15 @@ rc-motion@^2.0.0:
classnames "^2.2.1" classnames "^2.2.1"
rc-util "^5.2.1" rc-util "^5.2.1"
rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.3.2.tgz#0c070b64e9f994af2fad2c1e0c36f28d38752d29"
integrity sha512-F81I4WzFW6JkfxWfkMnzT1uY09YKIodM66zh+Xsi/2BqiT1ZdFZtd2HB9wqwXpofflpZj4x6bMG6dyJ+2o5Jvw==
dependencies:
"@babel/runtime" "^7.11.1"
classnames "^2.2.1"
rc-util "^5.2.1"
rc-notification@~4.4.0: rc-notification@~4.4.0:
version "4.4.0" version "4.4.0"
resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.4.0.tgz#192d082cd6e2995705f43c6929162631c71e3db1" resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.4.0.tgz#192d082cd6e2995705f43c6929162631c71e3db1"
@ -11548,6 +11694,16 @@ rc-notification@~4.4.0:
rc-animate "3.x" rc-animate "3.x"
rc-util "^5.0.1" rc-util "^5.0.1"
rc-notification@~4.5.2:
version "4.5.2"
resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.5.2.tgz#7836fc04068e00a764fca944074101faa144d503"
integrity sha512-rIgQip4BzUbHpDXDdNc2EFgIh1gxI97UjUbhU8hzdsjytBVstIEHXH36EgHTGllMkOhL9PkQOByg+mgV+I60ZQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
rc-motion "^2.2.0"
rc-util "^5.0.1"
rc-pagination@~3.0.3: rc-pagination@~3.0.3:
version "3.0.4" version "3.0.4"
resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.0.4.tgz#32509fcdf77387ca124c025c3575e7bab0c7debd" resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.0.4.tgz#32509fcdf77387ca124c025c3575e7bab0c7debd"
@ -11556,6 +11712,14 @@ rc-pagination@~3.0.3:
"@babel/runtime" "^7.10.1" "@babel/runtime" "^7.10.1"
classnames "^2.2.1" classnames "^2.2.1"
rc-pagination@~3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.1.0.tgz#d5f53ba3c2fefe8b28658d8f57710bfe01ec3aad"
integrity sha512-Q4AYECQbI1xK1o/wTWZRNibjgmHNg1gRO2Mo2G3Yn2fxa0Sg+yKFg/kDduJCceNML6TJNiWy8E8+cdt859insQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.1"
rc-picker@~2.0.6: rc-picker@~2.0.6:
version "2.0.11" version "2.0.11"
resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.0.11.tgz#68524babfd3470f9cce2f2e9f35038ec99784dc0" resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.0.11.tgz#68524babfd3470f9cce2f2e9f35038ec99784dc0"
@ -11570,6 +11734,20 @@ rc-picker@~2.0.6:
rc-util "^5.0.1" rc-util "^5.0.1"
shallowequal "^1.1.0" shallowequal "^1.1.0"
rc-picker@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.3.0.tgz#574a1e00ca345cc77a2f783dd52a897ddd9245ad"
integrity sha512-UArXxifQqkwEvICWDe456Fx2LnCSbh3wYuEdPXSKJR3mIEjlF5qabNSEaoCykFZB3GtvDSmlsIMjXB8FMfRJ/A==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.1"
date-fns "^2.15.0"
dayjs "^1.8.30"
moment "^2.24.0"
rc-trigger "^5.0.4"
rc-util "^5.0.1"
shallowequal "^1.1.0"
rc-progress@~3.1.0: rc-progress@~3.1.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.1.0.tgz#cd4a5a7853db3e0c10918ad2c170688a68e3cebd" resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.1.0.tgz#cd4a5a7853db3e0c10918ad2c170688a68e3cebd"
@ -11610,6 +11788,19 @@ rc-select@^11.1.1, rc-select@~11.2.0:
rc-virtual-list "^3.0.3" rc-virtual-list "^3.0.3"
warning "^4.0.3" warning "^4.0.3"
rc-select@~11.4.0:
version "11.4.1"
resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-11.4.1.tgz#361a962c6b39441aa3699b307fc67a117e69014a"
integrity sha512-+qqN+43svFGgULXo6A9OADRdzq8xiWIU3ujfzqLN1C24WahZ5OXLBzxbPm9X29lZrnEDPD96D+1bY+pYJJE28g==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
rc-motion "^2.0.1"
rc-trigger "^5.0.4"
rc-util "^5.0.1"
rc-virtual-list "^3.0.3"
warning "^4.0.3"
rc-slider@~8.2.0: rc-slider@~8.2.0:
version "8.2.0" version "8.2.0"
resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-8.2.0.tgz#ae37d17144cad60e1da6eac0ee4ffcfea0b0a6e8" resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-8.2.0.tgz#ae37d17144cad60e1da6eac0ee4ffcfea0b0a6e8"
@ -11634,6 +11825,17 @@ rc-slider@~9.3.0:
rc-util "^5.0.0" rc-util "^5.0.0"
shallowequal "^1.1.0" shallowequal "^1.1.0"
rc-slider@~9.5.2:
version "9.5.3"
resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.5.3.tgz#af118add1414df68dd353746004036cc2b839241"
integrity sha512-ADatCsY9LUiPzm2v165/ZACmHrvhmDsmh8TpJtaAYB+xuRjLhlbFASZ11ZeuWPn8oMXT6L08OzNce4F3by/Ivw==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.5"
rc-tooltip "^5.0.1"
rc-util "^5.0.0"
shallowequal "^1.1.0"
rc-steps@~4.1.0: rc-steps@~4.1.0:
version "4.1.2" version "4.1.2"
resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-4.1.2.tgz#370f4c6b40d3888f03b271f1628953c66eb91c04" resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-4.1.2.tgz#370f4c6b40d3888f03b271f1628953c66eb91c04"
@ -11662,6 +11864,17 @@ rc-switch@~3.2.0:
classnames "^2.2.1" classnames "^2.2.1"
rc-util "^5.0.1" rc-util "^5.0.1"
rc-table@~7.10.0:
version "7.10.2"
resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.10.2.tgz#4551b7de4e7c37ad2009589073e388e4bbf0e308"
integrity sha512-I0ezeB0tSwocW4GCLwqLuNsJb9lqindNOMUfdEYDLhaB4eYoUzIfR5aCEmkkv+YrbWCsCby53iinHGIIgHERvg==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.5"
rc-resize-observer "^0.2.0"
rc-util "^5.4.0"
shallowequal "^1.1.0"
rc-table@~7.9.2: rc-table@~7.9.2:
version "7.9.9" version "7.9.9"
resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.9.9.tgz#6f1203a6ea82507f11f1a0b56e86862193f0ebba" resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.9.9.tgz#6f1203a6ea82507f11f1a0b56e86862193f0ebba"
@ -11714,7 +11927,7 @@ rc-tooltip@^4.0.0:
"@babel/runtime" "^7.11.2" "@babel/runtime" "^7.11.2"
rc-trigger "^4.2.1" rc-trigger "^4.2.1"
rc-tooltip@~5.0.0: rc-tooltip@^5.0.1, rc-tooltip@~5.0.0:
version "5.0.1" version "5.0.1"
resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.0.1.tgz#b82c4259604d2cb62ca610ed7932dd37fc6ef61d" resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.0.1.tgz#b82c4259604d2cb62ca610ed7932dd37fc6ef61d"
integrity sha512-3AnxhUS0j74xAV3khrKw8o6rg+Ima3nw09DJBezMPnX3ImQUAnayWsPSlN1mEnihjA43rcFkGM1emiKE+CXyMQ== integrity sha512-3AnxhUS0j74xAV3khrKw8o6rg+Ima3nw09DJBezMPnX3ImQUAnayWsPSlN1mEnihjA43rcFkGM1emiKE+CXyMQ==
@ -11744,6 +11957,17 @@ rc-tree@^3.8.0, rc-tree@~3.9.0:
rc-util "^5.0.0" rc-util "^5.0.0"
rc-virtual-list "^3.0.1" rc-virtual-list "^3.0.1"
rc-tree@~3.10.0:
version "3.10.0"
resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-3.10.0.tgz#897498b3756f6c84f41ad2b244ee9489abf43b7f"
integrity sha512-kf7J/f2E2T8Kfta3/1BIg65AzTmXOgOjn0KOpvD3KI/gqkfKMRKUS1ybkxW39JUPpKwdeOHFnYH+nFFMq7tkfg==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
rc-motion "^2.0.1"
rc-util "^5.0.0"
rc-virtual-list "^3.0.1"
rc-trigger@^2.2.2: rc-trigger@^2.2.2:
version "2.6.5" version "2.6.5"
resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885" resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885"
@ -11780,6 +12004,17 @@ rc-trigger@^5.0.0, rc-trigger@~5.0.3:
rc-motion "^2.0.0" rc-motion "^2.0.0"
rc-util "^5.2.1" rc-util "^5.2.1"
rc-trigger@^5.0.4:
version "5.0.6"
resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.0.6.tgz#7e84717525871a7923a671edb5a290e9e616525b"
integrity sha512-L/xIX5OO7a/bdTH0yYT9mwAsV6oM1inAqAbLjoUzpcIW+UUE3jjVOjm5VaKDfHd41rzDzOfN05URmhet5QzXKQ==
dependencies:
"@babel/runtime" "^7.11.2"
classnames "^2.2.6"
rc-align "^4.0.0"
rc-motion "^2.0.0"
rc-util "^5.3.4"
rc-upload@~3.3.1: rc-upload@~3.3.1:
version "3.3.1" version "3.3.1"
resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-3.3.1.tgz#ad8658b2a796031930b35d2b07ab312b7cd4c9ed" resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-3.3.1.tgz#ad8658b2a796031930b35d2b07ab312b7cd4c9ed"
@ -11808,6 +12043,14 @@ rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.4, rc-util@^5.0.5, rc-util@^5.0.6,
react-is "^16.12.0" react-is "^16.12.0"
shallowequal "^1.1.0" shallowequal "^1.1.0"
rc-util@^5.3.4, rc-util@^5.4.0:
version "5.4.0"
resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.4.0.tgz#688eaeecfdae9dae2bfdf10bedbe884591dba004"
integrity sha512-kXDn1JyLJTAWLBFt+fjkTcUtXhxKkipQCobQmxIEVrX62iXgo24z8YKoWehWfMxPZFPE+RXqrmEu9j5kHz/Lrg==
dependencies:
react-is "^16.12.0"
shallowequal "^1.1.0"
rc-virtual-list@^3.0.1, rc-virtual-list@^3.0.3: rc-virtual-list@^3.0.1, rc-virtual-list@^3.0.3:
version "3.0.16" version "3.0.16"
resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.0.16.tgz#6e8a8ba8bf52c32a75f4bbe5cdff5ee960f5d8ca" resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.0.16.tgz#6e8a8ba8bf52c32a75f4bbe5cdff5ee960f5d8ca"