@kne/react-form-antd 2.0.9 → 2.0.13-alpha.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +35 -35
- package/dist/index.js +29 -19
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +24 -19
- package/dist/index.modern.js.map +1 -1
- package/package.json +89 -89
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2019 kne-union
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2019 kne-union
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# react-form
|
|
2
|
-
用于表单验证的react组件
|
|
3
|
-
|
|
4
|
-
### demo
|
|
5
|
-
``
|
|
6
|
-
|
|
7
|
-
<Avatar editor={{open: true, width: 250, height: 250, borderRadius: 1}}
|
|
8
|
-
beforeUpload={(file) => {}}/>
|
|
9
|
-
|
|
10
|
-
<Input realtime debounce={1000} name="name" label="姓名" rule="REQ TEL EXIT"/>
|
|
11
|
-
{isShow ? <Input name="rname" label="姓名哈哈哈" rule="REQ TEL EXIT"/> : null}
|
|
12
|
-
<Select name="select" label="选项" rule="REQ">
|
|
13
|
-
<Select.Option value="1">选项一</Select.Option>
|
|
14
|
-
<Select.Option value="2">选项二</Select.Option>
|
|
15
|
-
<Select.Option value="3">选项三</Select.Option>
|
|
16
|
-
</Select>
|
|
17
|
-
<DatePicker name="date" label="日期" rule="REQ" format="" YYYY-MM-DD/>
|
|
18
|
-
<RadioGroup name="radio" label="单选" rule="REQ">
|
|
19
|
-
<RadioGroup.Radio value="1">选项一</RadioGroup.Radio>
|
|
20
|
-
<RadioGroup.Radio value="2">选项二</RadioGroup.Radio>
|
|
21
|
-
<RadioGroup.Radio value="3">选项三</RadioGroup.Radio>
|
|
22
|
-
</RadioGroup>
|
|
23
|
-
|
|
24
|
-
``
|
|
25
|
-
|
|
26
|
-
# Change Log
|
|
27
|
-
|
|
28
|
-
20200430 v0.1.13 添加了SelectFetch和SelectSearch控件
|
|
29
|
-
20200430 v0.1.14 修改Select组件样式的默认宽度为100%
|
|
30
|
-
20200508 v0.1.16 删除field last-child 样式 margin-bottom 为0
|
|
31
|
-
20200509 v0.1.17 修改导出文件结构,增加fields导出所有field组件
|
|
32
|
-
20200522 v0.1.20 添加头像上传组件
|
|
33
|
-
20200525 v0.1.22 更新@kne/react-fetch以支持setData方法
|
|
34
|
-
20200529 v0.1.23 添加头像上传组件field Avatar
|
|
35
|
-
20200603 v0.1.24 修正Switch的值转换bug
|
|
1
|
+
# react-form
|
|
2
|
+
用于表单验证的react组件
|
|
3
|
+
|
|
4
|
+
### demo
|
|
5
|
+
``
|
|
6
|
+
|
|
7
|
+
<Avatar editor={{open: true, width: 250, height: 250, borderRadius: 1}}
|
|
8
|
+
beforeUpload={(file) => {}}/>
|
|
9
|
+
|
|
10
|
+
<Input realtime debounce={1000} name="name" label="姓名" rule="REQ TEL EXIT"/>
|
|
11
|
+
{isShow ? <Input name="rname" label="姓名哈哈哈" rule="REQ TEL EXIT"/> : null}
|
|
12
|
+
<Select name="select" label="选项" rule="REQ">
|
|
13
|
+
<Select.Option value="1">选项一</Select.Option>
|
|
14
|
+
<Select.Option value="2">选项二</Select.Option>
|
|
15
|
+
<Select.Option value="3">选项三</Select.Option>
|
|
16
|
+
</Select>
|
|
17
|
+
<DatePicker name="date" label="日期" rule="REQ" format="" YYYY-MM-DD/>
|
|
18
|
+
<RadioGroup name="radio" label="单选" rule="REQ">
|
|
19
|
+
<RadioGroup.Radio value="1">选项一</RadioGroup.Radio>
|
|
20
|
+
<RadioGroup.Radio value="2">选项二</RadioGroup.Radio>
|
|
21
|
+
<RadioGroup.Radio value="3">选项三</RadioGroup.Radio>
|
|
22
|
+
</RadioGroup>
|
|
23
|
+
|
|
24
|
+
``
|
|
25
|
+
|
|
26
|
+
# Change Log
|
|
27
|
+
|
|
28
|
+
20200430 v0.1.13 添加了SelectFetch和SelectSearch控件
|
|
29
|
+
20200430 v0.1.14 修改Select组件样式的默认宽度为100%
|
|
30
|
+
20200508 v0.1.16 删除field last-child 样式 margin-bottom 为0
|
|
31
|
+
20200509 v0.1.17 修改导出文件结构,增加fields导出所有field组件
|
|
32
|
+
20200522 v0.1.20 添加头像上传组件
|
|
33
|
+
20200525 v0.1.22 更新@kne/react-fetch以支持setData方法
|
|
34
|
+
20200529 v0.1.23 添加头像上传组件field Avatar
|
|
35
|
+
20200603 v0.1.24 修正Switch的值转换bug
|
package/dist/index.js
CHANGED
|
@@ -133,6 +133,7 @@ var globalParams = {
|
|
|
133
133
|
rules: {},
|
|
134
134
|
field: {
|
|
135
135
|
upload: {
|
|
136
|
+
displayFilename: 'filename',
|
|
136
137
|
action: '/open-api/upload_static_file/interview-manager',
|
|
137
138
|
transformResponse: function transformResponse(response) {
|
|
138
139
|
var targetPath = get__default["default"](response, 'results[0].targetPath');
|
|
@@ -140,7 +141,7 @@ var globalParams = {
|
|
|
140
141
|
return {
|
|
141
142
|
code: response.code,
|
|
142
143
|
msg: response.msg,
|
|
143
|
-
results: targetPath + (filename ?
|
|
144
|
+
results: targetPath + (filename ? "?" + globalParams.field.upload.displayFilename + "=" + encodeURIComponent(filename) : '')
|
|
144
145
|
};
|
|
145
146
|
}
|
|
146
147
|
},
|
|
@@ -175,7 +176,9 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
175
176
|
size = _ref.fileSize,
|
|
176
177
|
children = _ref.children,
|
|
177
178
|
onError = _ref.onError,
|
|
178
|
-
editor = _ref.editor
|
|
179
|
+
editor = _ref.editor,
|
|
180
|
+
previewImg = _ref.previewImg,
|
|
181
|
+
previewRender = _ref.previewRender;
|
|
179
182
|
|
|
180
183
|
var _useState = React.useState(false),
|
|
181
184
|
loading = _useState[0],
|
|
@@ -192,7 +195,7 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
192
195
|
/* base64转blob */
|
|
193
196
|
|
|
194
197
|
var dataURLtoBlob = function dataURLtoBlob(dataurl) {
|
|
195
|
-
var arr = dataurl.split(
|
|
198
|
+
var arr = dataurl.split(","); // 注意base64的最后面中括号和引号是不转译的
|
|
196
199
|
|
|
197
200
|
var _arr = arr[1].substring(0, arr[1].length - 2);
|
|
198
201
|
|
|
@@ -239,8 +242,8 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
239
242
|
|
|
240
243
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
241
244
|
style: {
|
|
242
|
-
|
|
243
|
-
|
|
245
|
+
"width": editor.width,
|
|
246
|
+
"margin": "auto"
|
|
244
247
|
}
|
|
245
248
|
}, /*#__PURE__*/React__default["default"].createElement(AvatarEditor__default["default"], {
|
|
246
249
|
ref: editorRef,
|
|
@@ -286,13 +289,13 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
286
289
|
var beforeUpload = function beforeUpload(file) {
|
|
287
290
|
try {
|
|
288
291
|
return Promise.resolve(new Promise(function (resolve, reject) {
|
|
289
|
-
console.log(
|
|
292
|
+
console.log("文件", file);
|
|
290
293
|
var isJpgOrPng = imageType.indexOf(file.type) > -1;
|
|
291
294
|
|
|
292
295
|
if (!isJpgOrPng) {
|
|
293
296
|
onError("\u53EA\u652F\u6301" + imageType.map(function (str) {
|
|
294
|
-
return str.replace(
|
|
295
|
-
}).join(
|
|
297
|
+
return str.replace("image/", "");
|
|
298
|
+
}).join("/") + "\u683C\u5F0F\u56FE\u7247!", "typeError", {
|
|
296
299
|
type: imageType,
|
|
297
300
|
fileType: file.type
|
|
298
301
|
});
|
|
@@ -303,7 +306,7 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
303
306
|
var isLt = file.size / 1024 / 1024 < size;
|
|
304
307
|
|
|
305
308
|
if (!isLt) {
|
|
306
|
-
onError("\u56FE\u7247\u4E0D\u80FD\u8D85\u8FC7" + size + "MB!",
|
|
309
|
+
onError("\u56FE\u7247\u4E0D\u80FD\u8D85\u8FC7" + size + "MB!", "sizeError", {
|
|
307
310
|
size: size,
|
|
308
311
|
fileSize: file.size
|
|
309
312
|
});
|
|
@@ -317,7 +320,7 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
317
320
|
if (editor.open) {
|
|
318
321
|
antd.Modal.success({
|
|
319
322
|
// title: '剪切图像',
|
|
320
|
-
icon:
|
|
323
|
+
icon: "",
|
|
321
324
|
width: editor.width * 2,
|
|
322
325
|
content: /*#__PURE__*/React__default["default"].createElement(AvatarEditorBox, {
|
|
323
326
|
file: file
|
|
@@ -348,31 +351,31 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
348
351
|
};
|
|
349
352
|
|
|
350
353
|
var onChange = function onChange(info) {
|
|
351
|
-
if (info.file.status ===
|
|
354
|
+
if (info.file.status === "uploading") {
|
|
352
355
|
setLoading(true);
|
|
353
356
|
return;
|
|
354
357
|
}
|
|
355
358
|
|
|
356
|
-
if (info.file.status ===
|
|
359
|
+
if (info.file.status === "done") {
|
|
357
360
|
setLoading(false);
|
|
358
361
|
var response = (transformResponse || avatarParams.transformResponse)(info.file.response);
|
|
359
362
|
|
|
360
363
|
if (response.code === 200) {
|
|
361
364
|
propsChange(response.results);
|
|
362
365
|
} else {
|
|
363
|
-
onError(response.msg,
|
|
366
|
+
onError(response.msg, "xhrError", response);
|
|
364
367
|
}
|
|
365
368
|
}
|
|
366
369
|
};
|
|
367
370
|
|
|
368
371
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(antd.Upload, {
|
|
369
|
-
className: classnames__default["default"](className,
|
|
372
|
+
className: classnames__default["default"](className, "react-form-avatar"),
|
|
370
373
|
listType: "picture-card",
|
|
371
374
|
showUploadList: false,
|
|
372
375
|
action: action || avatarParams.action,
|
|
373
376
|
beforeUpload: beforeUpload,
|
|
374
377
|
onChange: onChange
|
|
375
|
-
}, showImageUrl ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
378
|
+
}, previewImg && showImageUrl ? previewRender ? previewRender(showImageUrl) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
376
379
|
className: "preview"
|
|
377
380
|
}, /*#__PURE__*/React__default["default"].createElement("img", {
|
|
378
381
|
src: showImageUrl,
|
|
@@ -381,7 +384,7 @@ var _Avatar = function _Avatar(_ref) {
|
|
|
381
384
|
};
|
|
382
385
|
|
|
383
386
|
_Avatar.defaultProps = {
|
|
384
|
-
imageType: [
|
|
387
|
+
imageType: ["image/jpeg", "image/png"],
|
|
385
388
|
fileSize: 2,
|
|
386
389
|
// 单位MB
|
|
387
390
|
children: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -390,12 +393,14 @@ _Avatar.defaultProps = {
|
|
|
390
393
|
onError: function onError(info) {
|
|
391
394
|
return antd.message.error(info);
|
|
392
395
|
},
|
|
396
|
+
previewImg: true,
|
|
397
|
+
previewRender: null,
|
|
393
398
|
editor: {
|
|
394
399
|
open: false,
|
|
395
400
|
width: 250,
|
|
396
401
|
height: 250,
|
|
397
402
|
borderRadius: 1,
|
|
398
|
-
text:
|
|
403
|
+
text: "剪切"
|
|
399
404
|
}
|
|
400
405
|
};
|
|
401
406
|
|
|
@@ -759,6 +764,8 @@ var _Upload = function _Upload(_ref3) {
|
|
|
759
764
|
transformResponse = _ref3.transformResponse,
|
|
760
765
|
props = _objectWithoutPropertiesLoose(_ref3, _excluded$2);
|
|
761
766
|
|
|
767
|
+
displayFilename = displayFilename || uploadParams.displayFilename;
|
|
768
|
+
|
|
762
769
|
var _useState = React.useState([]),
|
|
763
770
|
list = _useState[0],
|
|
764
771
|
setList = _useState[1];
|
|
@@ -768,7 +775,7 @@ var _Upload = function _Upload(_ref3) {
|
|
|
768
775
|
return !list.find(function (file) {
|
|
769
776
|
return get__default["default"](file, 'response.results') === url;
|
|
770
777
|
});
|
|
771
|
-
})).concat(list);
|
|
778
|
+
}), displayFilename).concat(list);
|
|
772
779
|
}, [list, value, displayFilename]);
|
|
773
780
|
|
|
774
781
|
var changeHandler = function changeHandler(info) {
|
|
@@ -839,7 +846,6 @@ _Upload.defaultProps = {
|
|
|
839
846
|
accept: [],
|
|
840
847
|
fileSize: 2,
|
|
841
848
|
maxLength: 1,
|
|
842
|
-
displayFilename: 'filename',
|
|
843
849
|
children: /*#__PURE__*/React__default["default"].createElement(antd.Button, null, /*#__PURE__*/React__default["default"].createElement(icons.UploadOutlined, null), "\u70B9\u51FB\u4E0A\u4F20"),
|
|
844
850
|
onError: function onError(info) {
|
|
845
851
|
return antd.message.error(info);
|
|
@@ -974,6 +980,10 @@ Object.defineProperty(exports, 'utils', {
|
|
|
974
980
|
enumerable: true,
|
|
975
981
|
get: function () { return reactFormHelper.utils; }
|
|
976
982
|
});
|
|
983
|
+
Object.defineProperty(exports, 'widget', {
|
|
984
|
+
enumerable: true,
|
|
985
|
+
get: function () { return reactFormHelper.widget; }
|
|
986
|
+
});
|
|
977
987
|
exports.Avatar = Avatar;
|
|
978
988
|
exports.Cascader = Cascader;
|
|
979
989
|
exports.Checkbox = Checkbox;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/Form.js","../src/preset.js","../src/fields/Avatar.js","../src/fields/Cascader.js","../src/fields/Checkbox.js","../src/fields/CheckboxGroup.js","../src/fields/DatePicker.js","../src/fields/DatePickerToday.js","../src/fields/Input.js","../src/fields/InputNumber.js","../src/fields/RadioGroup.js","../src/fields/Select.js","../src/fields/SelectFetch.js","../src/fields/Switch.js","../src/fields/TextArea.js","../src/fields/TimePicker.js","../src/fields/TreeSelect.js","../src/fields/Upload.js","../src/SubmitButton.js","../src/ResetButton.js","../src/FormModal.js","../src/index.js"],"sourcesContent":["import React, {forwardRef} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport ReactForm from '@kne/react-form';\nimport {widget} from '@kne/react-form-helper';\nimport './assets/index.scss';\n\nexport * from '@kne/react-form';\nexport {hooks, utils} from '@kne/react-form-helper';\n\nconst {ScrollToError, EnterSubmit, FormStore, MaxLabelProvider, SizeProvider} = widget;\n\nconst Form = forwardRef(({className, cache, enterSubmit, scrollToError, scrollProps, type, size, children, ...props}, ref) => {\n let computedClass = 'react-form';\n if (type !== 'default') {\n computedClass += `--${type}`;\n }\n\n if (size !== 'middle') {\n computedClass += `--${size}`;\n }\n\n const maxLabel = <MaxLabelProvider>\n {children}\n </MaxLabelProvider>;\n\n return (\n <form className={classnames(computedClass, className)} onSubmit={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}>\n <SizeProvider value={{size}}>\n <ReactForm {...props} ref={ref}>\n {cache ? <FormStore cache={cache}/> : null}\n {scrollToError ? <ScrollToError scrollProps={scrollProps}/> : null}\n {enterSubmit ? <EnterSubmit>\n {maxLabel}\n </EnterSubmit> : maxLabel}\n </ReactForm>\n </SizeProvider>\n </form>\n );\n});\n\nForm.defaultProps = {\n type: 'default',\n size: 'middle',\n scrollToError: true,\n enterSubmit: false,\n scrollProps: {\n block: 'center'\n }\n};\n\nForm.propTypes = {\n className: PropTypes.string,\n type: PropTypes.oneOf(['inline', 'default', 'inner']),\n size: PropTypes.oneOf(['small', 'middle', 'large']),\n enterSubmit: PropTypes.bool,\n scrollToError: PropTypes.bool,\n scrollProps: PropTypes.shape({\n block: PropTypes.oneOf(['start', 'center', 'end', 'nearest']),\n behavior: PropTypes.oneOf(['auto', 'smooth']),\n inline: PropTypes.oneOf(['start', 'center', 'end', 'nearest'])\n })\n};\n\nexport default Form;","import {preset as presetRules} from '@kne/react-form';\nimport merge from 'lodash/merge';\nimport get from \"lodash/get\";\n\nexport const globalParams = {\n rules: {},\n field: {\n upload: {\n action: '/open-api/upload_static_file/interview-manager',\n transformResponse: (response) => {\n const targetPath = get(response, 'results[0].targetPath');\n const filename = get(response, 'results[0].filename');\n return {\n code: response.code,\n msg: response.msg,\n results: targetPath + (filename ? '?filename=' + encodeURIComponent(filename) : '')\n };\n }\n },\n avatar: {\n transformResponse: (response) => {\n return {\n code: response.code,\n results: response.results,\n msg: response.msg\n }\n },\n action: '/upload'\n }\n }\n};\n\nexport default (props) => {\n merge(globalParams, props);\n presetRules(globalParams.rules);\n};\n","import React, {useState, useRef, useEffect} from 'react';\nimport {Upload, message, Modal, Slider, Row, Col, Space} from 'antd';\nimport {globalParams} from '../preset';\nimport classnames from 'classnames';\nimport {\n PlusOutlined,\n LoadingOutlined\n} from '@ant-design/icons';\nimport AvatarEditor from \"react-avatar-editor\";\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\nconst avatarParams = globalParams.field.avatar;\n\n\nconst _Avatar = ({className, value: imageUrl, onChange: propsChange, beforeUpload: onBeforeUpload, transformResponse, action, imageType, fileSize: size, children, onError, editor}) => {\n const [loading, setLoading] = useState(false);\n const [showImageUrl, setImageUrl] = useState(imageUrl);\n const editorRef = useRef();\n\n useEffect(() => {\n setImageUrl(imageUrl)\n }, [imageUrl])\n\n /* base64转blob */\n const dataURLtoBlob = (dataurl) => {\n let arr = dataurl.split(',');\n // 注意base64的最后面中括号和引号是不转译的\n let _arr = arr[1].substring(0, arr[1].length - 2);\n let mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(_arr),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new Blob([u8arr], {\n type: mime\n });\n };\n\n\n\n const AvatarEditorBox = ({file})=>{\n const [rotate, setRotate] = useState(0);\n const [scale, setScale] = useState(()=>{\n if(editor.width===editor.height){\n return 1\n }\n return 0.35\n });\n\n const onChange = (v)=>{\n console.log(v);\n setRotate(v);\n }\n const onChangeScale = (v)=>{\n console.log(v);\n setScale(v);\n }\n return (\n <div style={{'width': editor.width,\n 'margin': 'auto'}}>\n <AvatarEditor\n ref={editorRef}\n image={file}\n width={editor.width}\n height={editor.height}\n border={1}\n borderRadius={editor.borderRadius}\n color={[24, 144, 255, 1]} // RGBA\n scale={scale}\n rotate={rotate}\n />\n <Row gutter={4}>\n <Col span={4}><span>旋转</span></Col>\n <Col span={15}>\n <Slider tooltipVisible={false} defaultValue={rotate} min={-180} max={180} onChange={onChange} />\n </Col>\n </Row>\n <Row gutter={4}>\n <Col span={4}><span>放大</span></Col>\n <Col span={15}>\n <Slider tooltipVisible={false} defaultValue={scale} step={0.05} min={0.2} max={3} onChange={onChangeScale} />\n </Col>\n </Row>\n </div>\n )\n }\n\n const uploadButton = (\n <div>\n {loading ? <LoadingOutlined/> : <PlusOutlined/>}\n {children}\n </div>\n );\n\n const beforeUpload = async (file) => {\n return new Promise((resolve, reject) => {\n\n console.log('文件', file);\n const isJpgOrPng = imageType.indexOf(file.type) > -1;\n if (!isJpgOrPng) {\n onError(`只支持${imageType.map((str) => str.replace('image/', '')).join('/')}格式图片!`, 'typeError', {\n type: imageType,\n fileType: file.type\n });\n reject();\n return false;\n }\n const isLt = file.size / 1024 / 1024 < size;\n if (!isLt) {\n onError(`图片不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\n reject();\n return false;\n }\n\n /*剪切图像*/\n // editor:{open:false,width:250,height:250,borderRadius:0-100,text:'剪切'}\n if (editor.open) {\n Modal.success({\n // title: '剪切图像',\n icon: '',\n width: editor.width*2,\n content: <AvatarEditorBox file={file}/>,\n okText: editor.text,\n onOk: (close) => {\n // console.log(editorRef.current);\n let base64 = editorRef.current.getImage().toDataURL();\n setImageUrl(base64);\n let blob = dataURLtoBlob(base64);\n const files = new window.File(\n [blob],\n file.name,\n { type: file.type }\n );\n onBeforeUpload && onBeforeUpload(files);\n resolve(files);\n // console.log(files);\n close();\n }\n })\n } else {\n onBeforeUpload && onBeforeUpload(file);\n resolve(file);\n // return onBeforeUpload && onBeforeUpload(file);\n }\n })\n\n };\n\n const onChange = (info) => {\n if (info.file.status === 'uploading') {\n setLoading(true);\n return;\n }\n if (info.file.status === 'done') {\n setLoading(false);\n const response = (transformResponse || avatarParams.transformResponse)(info.file.response);\n if (response.code === 200) {\n propsChange(response.results);\n } else {\n onError(response.msg, 'xhrError', response);\n }\n }\n };\n\n return (\n <>\n <Upload className={classnames(className, 'react-form-avatar')} listType=\"picture-card\"\n showUploadList={false}\n action={action || avatarParams.action}\n beforeUpload={beforeUpload} onChange={onChange}>\n {showImageUrl ? <div className=\"preview\"><img src={showImageUrl} alt=\"avatar\"/></div> : uploadButton}\n </Upload>\n </>\n );\n};\n\n_Avatar.defaultProps = {\n imageType: ['image/jpeg', 'image/png'],\n fileSize: 2, // 单位MB\n children: <div className=\"ant-upload-text\">点击上传</div>,\n onError: (info) => message.error(info),\n editor: {open: false, width: 250, height: 250, borderRadius: 1, text: '剪切'}\n};\n\nconst AvatarInput = (props) => {\n const render = useOnChange(props);\n return render(_Avatar);\n};\n\nAvatarInput.field = _Avatar;\n\nexport default AvatarInput;\n","import {Cascader as _Cascader} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst Cascader = (props) => {\n const render = useOnChange(props);\n return render(_Cascader);\n};\n\nexport default Cascader;\n\n","import {Checkbox as _Checkbox} from 'antd';\nimport {hooks, hoc} from '@kne/react-form-helper';\n\nconst {useOnChange, useCheckedToValue} = hooks;\nconst {withChecked} = hoc;\n\nconst WithCheckbox = withChecked(_Checkbox);\n\nconst Checkbox = (props) => {\n const checkedProps = useCheckedToValue(props);\n const render = useOnChange(checkedProps);\n return render(WithCheckbox);\n};\n\nexport default Checkbox;\n","import {Checkbox} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _CheckboxGroup = Checkbox.Group;\n\nconst CheckboxGroup = (props) => {\n const render = useOnChange(props);\n return render(_CheckboxGroup);\n};\n\nCheckboxGroup.Checkbox = Checkbox;\n\nexport default CheckboxGroup;\n","import {DatePicker} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst {MonthPicker, RangePicker, WeekPicker} = DatePicker;\n\nconst _DatePicker = (props) => {\n const render = useOnChange(props);\n return render(DatePicker);\n};\n\nconst _MonthPicker = (props) => {\n const render = useOnChange(props);\n return render(MonthPicker);\n};\n\nconst _RangePicker = (props) => {\n const render = useOnChange(props);\n // if(props.selectToday){\n // return render(RangePickerToday);\n // }\n return render(RangePicker);\n};\n\nconst _WeekPicker = (props) => {\n const render = useOnChange(props);\n return render(WeekPicker);\n};\n\n_DatePicker.MonthPicker = _MonthPicker;\n_DatePicker.RangePicker = _RangePicker;\n_DatePicker.WeekPicker = _WeekPicker;\n\n\nexport default _DatePicker;\n","import {Button, DatePicker} from 'antd';\nimport React, {useRef, useEffect, useMemo} from 'react'\nimport moment from 'moment'\nimport get from 'lodash/get'\nimport useControlValue from '@kne/use-control-value'\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst PickerToday = (props) => {\n // console.log('>>>>data', data);\n const [data, onChange] = useControlValue(props);\n const ref_d = useRef();\n const newData = useMemo(() => {\n // console.log('......', data);\n const s = get(data, 0, '');\n const d = get(data, 1, '');\n const p = get(props, ['placeholder'], ['开始日期', '结束日期']);\n return {\n start: s ? moment(s) : '',\n end: d === '至今' ? moment('2099-09-09') : (d ? moment(d) : ''),\n showZj: d === '至今',\n placeholder: p\n }\n }, [data]);\n\n const startChange = (v) => {\n // 比较日期大小\n if (!newData.showZj && newData.end && v && newData.end.isBefore(v)) {\n onChange([newData.end, v]);\n return\n }\n onChange([v || '', newData.showZj ? '至今' : newData.end]);\n };\n\n const endChange = (v) => {\n if (newData.start && v && v.isBefore(newData.start)) {\n onChange([v, newData.start]);\n return\n }\n onChange([newData.start, v || '']);\n };\n\n const foot = () => {\n return (\n <Button onClick={(v) => {\n ref_d.current.blur();\n onChange([newData.start || '', '至今']);\n }}>\n 至今\n </Button>\n )\n }\n return (\n <div style={{display: 'flex'}}>\n <DatePicker {...{showToday: false, ...props, placeholder: newData.placeholder[0], value: newData.start}}\n onChange={startChange}/>\n <div className={'svg_box'}>\n <svg viewBox=\"0 0 1024 1024\" focusable=\"false\" data-icon=\"swap-right\" width=\"1em\" height=\"1em\"\n fill=\"currentColor\" aria-hidden=\"true\">\n <path\n d=\"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\"/>\n </svg>\n </div>\n <div className={newData.showZj ? 'data_range_picker data_range_picker_dis' : 'data_range_picker'}>\n <span className={newData.showZj ? 'zhijin zhijin_show' : 'zhijin'}>至今</span>\n <DatePicker {...{\n showToday: false,\n ...props,\n placeholder: newData.showZj ? '' : newData.placeholder[1],\n value: newData.end\n }} ref={ref_d}\n onChange={endChange} renderExtraFooter={foot}/>\n </div>\n </div>\n );\n}\n\n\nconst RangePickerToday = (props) => {\n const render = useOnChange(props);\n return render(PickerToday);\n};\n\nRangePickerToday.field = PickerToday;\n\nexport default RangePickerToday;\n","import {Input} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst InputField = (props) => {\n const render = useDecorator(props);\n return render(Input);\n};\n\nInputField.defaultProps = {\n autoComplete: 'off'\n};\n\nexport default InputField;\n","import {InputNumber} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst InputNumberField = (props) => {\n const render = useDecorator(props);\n return render(InputNumber);\n};\n\nInputNumberField.defaultProps = {\n autoComplete: 'off'\n};\n\nexport default InputNumberField;\n","import React, {useCallback} from 'react';\nimport {Radio} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst RadioGroup = ({onChange, ...props})=>{\n const handler = useCallback((e) => {\n onChange && onChange(e.target.value);\n }, [onChange]);\n return <Radio.Group {...props} onChange={handler}/>\n};\n\nconst _RadioGroup = (props) => {\n const render = useOnChange(props);\n return render(RadioGroup);\n};\n\n_RadioGroup.Radio = Radio;\n\nexport default _RadioGroup;\n","import {Select} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _Select = (props) => {\n const render = useOnChange(props);\n return render(Select);\n};\n\n_Select.Option = Select.Option;\n_Select.OptGroup = Select.OptGroup;\n\nexport default _Select;\n","import React from 'react';\nimport {Select} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\nimport {withFetch} from '@kne/react-fetch';\n\nconst {useOnChange} = hooks;\n\nconst _SelectFetch = withFetch(({data, setData, refresh, isLoading, children, ...props}) => {\n return <Select {...props}>{children({data, refresh, isLoading, setData})}</Select>;\n});\n\nconst SelectFetch = (props) => {\n const render = useOnChange(props);\n return render(_SelectFetch);\n};\n\nSelectFetch.Option = Select.Option;\nSelectFetch.OptGroup = Select.OptGroup;\n\nexport default SelectFetch;\n","import {Switch as _Switch} from 'antd';\nimport {hooks, hoc} from '@kne/react-form-helper';\n\nconst {useOnChange, useCheckedToValue} = hooks;\nconst {withChecked} = hoc;\nconst WithSwitch = withChecked(_Switch);\n\nconst Switch = (props) => {\n const checkedProps = useCheckedToValue(props);\n const render = useOnChange(checkedProps);\n return render(WithSwitch);\n};\n\nexport default Switch;\n","import {Input} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst TextArea = (props) => {\n const render = useDecorator(props);\n return render(Input.TextArea);\n};\n\nexport default TextArea;\n","import {TimePicker} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst {RangePicker} = TimePicker;\n\nconst _TimePicker = (props) => {\n const render = useOnChange(props);\n return render(TimePicker);\n};\n\nconst _RangePicker = (props) => {\n const render = useOnChange(props);\n return render(RangePicker);\n};\n\n_TimePicker.RangePicker = _RangePicker;\n\nexport default _TimePicker;\n","import {TreeSelect} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _TreeSelect = (props) => {\n const render = useOnChange(props);\n return render(TreeSelect);\n};\n\n_TreeSelect.TreeNode = TreeSelect.TreeNode;\n\nexport default _TreeSelect;\n","import React, {useState, useMemo} from 'react';\nimport {Upload, message, Button} from 'antd';\nimport {\n UploadOutlined\n} from '@ant-design/icons';\nimport get from 'lodash/get';\nimport groupBy from 'lodash/groupBy';\nimport uniqueId from 'lodash/uniqueId';\nimport {hooks} from '@kne/react-form-helper';\nimport {globalParams} from \"../preset\";\n\nconst {useOnChange} = hooks;\n\nconst {Dragger} = Upload;\n\nconst uploadParams = globalParams.field.upload;\n\nconst computedFilename = (path, displayFilename = 'filename') => {\n const strArray = path.split('?');\n if (strArray[1]) {\n const query = {};\n strArray[1].split('&').forEach((str) => {\n const [key, value] = str.split('=');\n query[key] = value;\n });\n if (query[displayFilename]) {\n return decodeURIComponent(query[displayFilename]);\n }\n }\n return path;\n};\n\nconst valueToList = (value, displayFilename) => {\n if (!value) {\n return [];\n }\n return value.map((item) => {\n return {\n uid: uniqueId(),\n name: computedFilename(item.substr(item.lastIndexOf('/') + 1), displayFilename),\n status: 'done',\n response: {code: 200, results: item}\n }\n });\n};\n\nconst listToValue = (value) => {\n return (value || []).slice(0).filter(({status}) => status === 'done').map(({response}) => response.results);\n};\n\nconst _Upload = ({action, value, onChange, drag, children, displayFilename, accept, fileSize: size, onError, onUploadComplete, onBeforeUpload, maxLength, transformResponse, ...props}) => {\n const [list, setList] = useState([]);\n const valueList = useMemo(() => {\n return valueToList(value.filter((url) => {\n return !list.find((file) => get(file, 'response.results') === url);\n })).concat(list);\n }, [list, value, displayFilename]);\n const changeHandler = (info) => {\n if (['uploading', 'done', 'error', 'removed'].indexOf(info.file.status) === -1) {\n return;\n }\n if (info.fileList.length > maxLength) {\n onError(`上传文件不能超过最大允许数量${maxLength}`, 'xhrError', maxLength);\n return;\n }\n if (info.file.status === 'done') {\n info.file.response = (transformResponse || uploadParams.transformResponse)(info.file.response);\n if (info.file.response.code === 200) {\n info.file.name = computedFilename(info.file.response.results.substr(info.file.response.results.lastIndexOf('/') + 1), displayFilename);\n onUploadComplete(info);\n } else {\n info.file.status = 'error';\n onError(info.file.response.msg, 'xhrError', info.file.response);\n }\n }\n const {done} = groupBy(info.fileList, (file) => file.status === 'done' ? 'done' : 'uploading');\n if (['done', 'removed'].indexOf(info.file.status) > -1) {\n onChange(listToValue(done));\n }\n setList(info.fileList);\n };\n const beforeUploadHandler = (file) => {\n const isLt = file.size / 1024 / 1024 < size;\n if (!isLt) {\n onError(`文件不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\n return false;\n }\n if (maxLength === 1) {\n onChange([]);\n setList([]);\n }\n return onBeforeUpload && onBeforeUpload(file);\n };\n const UploadComponent = drag ? Dragger : Upload;\n return <UploadComponent {...props} action={action || uploadParams.action} fileList={valueList}\n accept={accept.join(',')} onChange={changeHandler} beforeUpload={beforeUploadHandler}>\n {children}\n </UploadComponent>\n};\n\n_Upload.defaultProps = {\n value: [],\n accept: [],\n fileSize: 2,\n maxLength: 1,\n displayFilename: 'filename',\n children: <Button><UploadOutlined/>点击上传</Button>,\n onError: (info) => message.error(info),\n onUploadComplete: () => {\n }\n};\n\nconst UploadInput = (props) => {\n const render = useOnChange(props);\n return render(_Upload);\n};\n\n\nUploadInput.field = _Upload;\n\nexport default UploadInput;\n","import React from 'react';\nimport {useSubmit} from '@kne/react-form';\nimport {Button} from 'antd';\n\nconst SubmitButton = (props) => {\n const {isPass, isLoading,...submitProps} = useSubmit(props);\n return (\n <Button loading={isLoading} {...submitProps} {...props}/>\n );\n};\n\nexport default SubmitButton;\n","import React from 'react';\nimport {useReset} from '@kne/react-form';\nimport {Button} from 'antd';\n\nconst ResetButton = (props) => {\n const resetProps = useReset();\n return (\n <Button {...resetProps} {...props}/>\n );\n};\n\nexport default ResetButton;\n","import React from 'react';\nimport {Modal, Space} from 'antd';\nimport SubmitButton from './SubmitButton';\nimport ResetButton from './ResetButton';\nimport Form from \"./Form\";\nimport {withFetch} from '@kne/react-fetch';\nimport classnames from 'classnames';\n\nconst FetchForm = withFetch(Form);\n\nconst CommonModal = ({formProps, footer, children}) => {\n const TargetForm = formProps.hasOwnProperty('url') ? FetchForm : Form;\n return <TargetForm {...formProps}>\n <div className=\"ant-modal-body\">\n {children}\n </div>\n <div className=\"ant-modal-footer\">\n {footer ? footer : <Space>\n <ResetButton>重置</ResetButton>\n <SubmitButton type=\"primary\">确定</SubmitButton>\n </Space>}\n </div>\n </TargetForm>;\n};\n\nconst FormModal = ({className, formProps = {}, footer, children, ...props}) => {\n return <Modal {...props} className={classnames(className, 'react-form-modal')} footer={null}>\n <CommonModal formProps={formProps} footer={footer}>{children}</CommonModal>\n </Modal>\n};\n\nFormModal.modal = ({className, title, formProps = {}, footer, content, ...props}) => Modal.info({\n ...props,\n title: title ? <div className=\"ant-modal-header\">\n <div className=\"ant-modal-title\">{title}</div>\n </div> : null,\n className: classnames(className, 'react-form-modal'),\n content: <CommonModal formProps={formProps} footer={footer}>{content}</CommonModal>,\n icon: null,\n footer: null\n});\n\nexport default FormModal;\n","import Form from './Form';\n\nimport Avatar$ from './fields/Avatar';\nimport Cascader$ from './fields/Cascader';\nimport Checkbox$ from './fields/Checkbox';\nimport CheckboxGroup$ from './fields/CheckboxGroup';\nimport DatePicker$ from './fields/DatePicker';\nimport DatePickerToday$ from './fields/DatePickerToday';\nimport Input$ from './fields/Input';\nimport InputNumber$ from './fields/InputNumber';\nimport RadioGroup$ from './fields/RadioGroup';\nimport Select$ from './fields/Select';\nimport SelectFetch$ from './fields/SelectFetch';\nimport Switch$ from './fields/Switch';\nimport TextArea$ from './fields/TextArea';\nimport TimePicker$ from './fields/TimePicker';\nimport TreeSelect$ from './fields/TreeSelect';\nimport Upload$ from './fields/Upload';\n\nexport * from './Form';\nexport default Form;\nexport {default as preset} from './preset';\nexport {default as FormModal} from './FormModal';\nexport {default as ResetButton} from './ResetButton';\nexport {default as SubmitButton} from './SubmitButton';\n\nexport const Avatar = Avatar$;\nexport const Cascader = Cascader$;\nexport const Checkbox = Checkbox$;\nexport const CheckboxGroup = CheckboxGroup$;\nexport const DatePicker = DatePicker$;\nexport const DatePickerToday = DatePickerToday$;\nexport const Input = Input$;\nexport const InputNumber = InputNumber$;\nexport const RadioGroup = RadioGroup$;\nexport const Select = Select$;\nexport const SelectFetch = SelectFetch$;\nexport const Switch = Switch$;\nexport const TextArea = TextArea$;\nexport const TimePicker = TimePicker$;\nexport const TreeSelect = TreeSelect$;\nexport const Upload = Upload$;\n\nexport const fields = { Avatar, Cascader, Checkbox, CheckboxGroup, DatePicker, DatePickerToday, Input, InputNumber, RadioGroup, Select, SelectFetch, Switch, TextArea, TimePicker, TreeSelect, Upload };"],"names":["ScrollToError","widget","EnterSubmit","FormStore","MaxLabelProvider","SizeProvider","Form","forwardRef","ref","className","cache","enterSubmit","scrollToError","scrollProps","type","size","children","props","computedClass","maxLabel","React","classnames","e","preventDefault","stopPropagation","ReactForm","defaultProps","block","propTypes","PropTypes","string","oneOf","bool","shape","behavior","inline","globalParams","rules","field","upload","action","transformResponse","response","targetPath","get","filename","code","msg","results","encodeURIComponent","avatar","merge","presetRules","useOnChange","hooks","avatarParams","_Avatar","imageUrl","value","propsChange","onChange","onBeforeUpload","beforeUpload","imageType","fileSize","onError","editor","useState","loading","setLoading","showImageUrl","setImageUrl","editorRef","useRef","useEffect","dataURLtoBlob","dataurl","arr","split","_arr","substring","length","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","Blob","AvatarEditorBox","file","rotate","setRotate","width","height","scale","setScale","v","console","log","onChangeScale","AvatarEditor","borderRadius","Row","Col","Slider","uploadButton","LoadingOutlined","PlusOutlined","Promise","resolve","reject","isJpgOrPng","indexOf","map","str","replace","join","fileType","isLt","open","Modal","success","icon","content","okText","text","onOk","close","base64","current","getImage","toDataURL","blob","files","window","File","name","info","status","Upload","message","error","AvatarInput","render","Cascader","_Cascader","useCheckedToValue","withChecked","hoc","WithCheckbox","_Checkbox","Checkbox","checkedProps","_CheckboxGroup","Group","CheckboxGroup","MonthPicker","DatePicker","RangePicker","WeekPicker","_DatePicker","_MonthPicker","_RangePicker","_WeekPicker","PickerToday","useControlValue","data","ref_d","newData","useMemo","s","d","p","start","moment","end","showZj","placeholder","startChange","isBefore","endChange","foot","Button","blur","display","showToday","RangePickerToday","useDecorator","InputField","Input","autoComplete","InputNumberField","InputNumber","RadioGroup","handler","useCallback","target","Radio","_RadioGroup","_Select","Select","Option","OptGroup","_SelectFetch","withFetch","setData","refresh","isLoading","SelectFetch","WithSwitch","_Switch","Switch","TextArea","TimePicker","_TimePicker","_TreeSelect","TreeSelect","TreeNode","Dragger","uploadParams","computedFilename","path","displayFilename","strArray","query","forEach","key","decodeURIComponent","valueToList","item","uid","uniqueId","substr","lastIndexOf","listToValue","slice","filter","_Upload","drag","accept","onUploadComplete","maxLength","list","setList","valueList","url","find","concat","changeHandler","fileList","groupBy","done","beforeUploadHandler","UploadComponent","UploadOutlined","UploadInput","SubmitButton","useSubmit","submitProps","ResetButton","resetProps","useReset","FetchForm","CommonModal","formProps","footer","TargetForm","hasOwnProperty","Space","FormModal","modal","title","Avatar","Avatar$","Cascader$","Checkbox$","CheckboxGroup$","DatePicker$","DatePickerToday","DatePickerToday$","Input$","InputNumber$","RadioGroup$","Select$","SelectFetch$","Switch$","TextArea$","TimePicker$","TreeSelect$","Upload$","fields"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/Form.js","../src/preset.js","../src/fields/Avatar.js","../src/fields/Cascader.js","../src/fields/Checkbox.js","../src/fields/CheckboxGroup.js","../src/fields/DatePicker.js","../src/fields/DatePickerToday.js","../src/fields/Input.js","../src/fields/InputNumber.js","../src/fields/RadioGroup.js","../src/fields/Select.js","../src/fields/SelectFetch.js","../src/fields/Switch.js","../src/fields/TextArea.js","../src/fields/TimePicker.js","../src/fields/TreeSelect.js","../src/fields/Upload.js","../src/SubmitButton.js","../src/ResetButton.js","../src/FormModal.js","../src/index.js"],"sourcesContent":["import React, {forwardRef} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport ReactForm from '@kne/react-form';\r\nimport {widget} from '@kne/react-form-helper';\r\nimport './assets/index.scss';\r\n\r\nexport * from '@kne/react-form';\r\nexport {hooks, widget, utils} from '@kne/react-form-helper';\r\n\r\nconst {ScrollToError, EnterSubmit, FormStore, MaxLabelProvider, SizeProvider} = widget;\r\n\r\nconst Form = forwardRef(({className, cache, enterSubmit, scrollToError, scrollProps, type, size, children, ...props}, ref) => {\r\n let computedClass = 'react-form';\r\n if (type !== 'default') {\r\n computedClass += `--${type}`;\r\n }\r\n\r\n if (size !== 'middle') {\r\n computedClass += `--${size}`;\r\n }\r\n\r\n const maxLabel = <MaxLabelProvider>\r\n {children}\r\n </MaxLabelProvider>;\r\n\r\n return (\r\n <form className={classnames(computedClass, className)} onSubmit={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }}>\r\n <SizeProvider value={{size}}>\r\n <ReactForm {...props} ref={ref}>\r\n {cache ? <FormStore cache={cache}/> : null}\r\n {scrollToError ? <ScrollToError scrollProps={scrollProps}/> : null}\r\n {enterSubmit ? <EnterSubmit>\r\n {maxLabel}\r\n </EnterSubmit> : maxLabel}\r\n </ReactForm>\r\n </SizeProvider>\r\n </form>\r\n );\r\n});\r\n\r\nForm.defaultProps = {\r\n type: 'default',\r\n size: 'middle',\r\n scrollToError: true,\r\n enterSubmit: false,\r\n scrollProps: {\r\n block: 'center'\r\n }\r\n};\r\n\r\nForm.propTypes = {\r\n className: PropTypes.string,\r\n type: PropTypes.oneOf(['inline', 'default', 'inner']),\r\n size: PropTypes.oneOf(['small', 'middle', 'large']),\r\n enterSubmit: PropTypes.bool,\r\n scrollToError: PropTypes.bool,\r\n scrollProps: PropTypes.shape({\r\n block: PropTypes.oneOf(['start', 'center', 'end', 'nearest']),\r\n behavior: PropTypes.oneOf(['auto', 'smooth']),\r\n inline: PropTypes.oneOf(['start', 'center', 'end', 'nearest'])\r\n })\r\n};\r\n\r\nexport default Form;","import {preset as presetRules} from '@kne/react-form';\r\nimport merge from 'lodash/merge';\r\nimport get from \"lodash/get\";\r\n\r\nexport const globalParams = {\r\n rules: {},\r\n field: {\r\n upload: {\r\n displayFilename: 'filename',\r\n action: '/open-api/upload_static_file/interview-manager',\r\n transformResponse: (response) => {\r\n const targetPath = get(response, 'results[0].targetPath');\r\n const filename = get(response, 'results[0].filename');\r\n return {\r\n code: response.code,\r\n msg: response.msg,\r\n results: targetPath + (filename ? `?${globalParams.field.upload.displayFilename}=` + encodeURIComponent(filename) : '')\r\n };\r\n }\r\n },\r\n avatar: {\r\n transformResponse: (response) => {\r\n return {\r\n code: response.code,\r\n results: response.results,\r\n msg: response.msg\r\n }\r\n },\r\n action: '/upload'\r\n }\r\n }\r\n};\r\n\r\nexport default (props) => {\r\n merge(globalParams, props);\r\n presetRules(globalParams.rules);\r\n};\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { Upload, message, Modal, Slider, Row, Col, Space } from \"antd\";\r\nimport { globalParams } from \"../preset\";\r\nimport classnames from \"classnames\";\r\nimport {\r\n PlusOutlined, LoadingOutlined\r\n} from \"@ant-design/icons\";\r\nimport AvatarEditor from \"react-avatar-editor\";\r\nimport { hooks } from \"@kne/react-form-helper\";\r\n\r\nconst { useOnChange } = hooks;\r\nconst avatarParams = globalParams.field.avatar;\r\n\r\n\r\nconst _Avatar = ({\r\n className,\r\n value: imageUrl,\r\n onChange: propsChange,\r\n beforeUpload: onBeforeUpload,\r\n transformResponse,\r\n action,\r\n imageType,\r\n fileSize: size,\r\n children,\r\n onError,\r\n editor,\r\n previewImg,\r\n previewRender\r\n }) => {\r\n const [loading, setLoading] = useState(false);\r\n const [showImageUrl, setImageUrl] = useState(imageUrl);\r\n const editorRef = useRef();\r\n\r\n useEffect(() => {\r\n setImageUrl(imageUrl);\r\n }, [imageUrl]);\r\n\r\n /* base64转blob */\r\n const dataURLtoBlob = (dataurl) => {\r\n let arr = dataurl.split(\",\");\r\n // 注意base64的最后面中括号和引号是不转译的\r\n let _arr = arr[1].substring(0, arr[1].length - 2);\r\n let mime = arr[0].match(/:(.*?);/)[1], bstr = atob(_arr), n = bstr.length, u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new Blob([u8arr], {\r\n type: mime\r\n });\r\n };\r\n\r\n\r\n const AvatarEditorBox = ({ file }) => {\r\n const [rotate, setRotate] = useState(0);\r\n const [scale, setScale] = useState(() => {\r\n if (editor.width === editor.height) {\r\n return 1;\r\n }\r\n return 0.35;\r\n });\r\n\r\n const onChange = (v) => {\r\n console.log(v);\r\n setRotate(v);\r\n };\r\n const onChangeScale = (v) => {\r\n console.log(v);\r\n setScale(v);\r\n };\r\n return (<div style={{\r\n \"width\": editor.width, \"margin\": \"auto\"\r\n }}>\r\n <AvatarEditor\r\n ref={editorRef}\r\n image={file}\r\n width={editor.width}\r\n height={editor.height}\r\n border={1}\r\n borderRadius={editor.borderRadius}\r\n color={[24, 144, 255, 1]} // RGBA\r\n scale={scale}\r\n rotate={rotate}\r\n />\r\n <Row gutter={4}>\r\n <Col span={4}><span>旋转</span></Col>\r\n <Col span={15}>\r\n <Slider tooltipVisible={false} defaultValue={rotate} min={-180} max={180} onChange={onChange} />\r\n </Col>\r\n </Row>\r\n <Row gutter={4}>\r\n <Col span={4}><span>放大</span></Col>\r\n <Col span={15}>\r\n <Slider tooltipVisible={false} defaultValue={scale} step={0.05} min={0.2} max={3}\r\n onChange={onChangeScale} />\r\n </Col>\r\n </Row>\r\n </div>);\r\n };\r\n\r\n const uploadButton = (<div>\r\n {loading ? <LoadingOutlined /> : <PlusOutlined />}\r\n {children}\r\n </div>);\r\n\r\n const beforeUpload = async (file) => {\r\n return new Promise((resolve, reject) => {\r\n\r\n console.log(\"文件\", file);\r\n const isJpgOrPng = imageType.indexOf(file.type) > -1;\r\n if (!isJpgOrPng) {\r\n onError(`只支持${imageType.map((str) => str.replace(\"image/\", \"\")).join(\"/\")}格式图片!`, \"typeError\", {\r\n type: imageType, fileType: file.type\r\n });\r\n reject();\r\n return false;\r\n }\r\n const isLt = file.size / 1024 / 1024 < size;\r\n if (!isLt) {\r\n onError(`图片不能超过${size}MB!`, \"sizeError\", { size, fileSize: file.size });\r\n reject();\r\n return false;\r\n }\r\n\r\n /*剪切图像*/\r\n // editor:{open:false,width:250,height:250,borderRadius:0-100,text:'剪切'}\r\n if (editor.open) {\r\n Modal.success({\r\n // title: '剪切图像',\r\n icon: \"\",\r\n width: editor.width * 2,\r\n content: <AvatarEditorBox file={file} />,\r\n okText: editor.text,\r\n onOk: (close) => {\r\n // console.log(editorRef.current);\r\n let base64 = editorRef.current.getImage().toDataURL();\r\n setImageUrl(base64);\r\n let blob = dataURLtoBlob(base64);\r\n const files = new window.File([blob], file.name, { type: file.type });\r\n onBeforeUpload && onBeforeUpload(files);\r\n resolve(files);\r\n // console.log(files);\r\n close();\r\n }\r\n });\r\n } else {\r\n onBeforeUpload && onBeforeUpload(file);\r\n resolve(file);\r\n // return onBeforeUpload && onBeforeUpload(file);\r\n }\r\n });\r\n\r\n };\r\n\r\n const onChange = (info) => {\r\n if (info.file.status === \"uploading\") {\r\n setLoading(true);\r\n return;\r\n }\r\n if (info.file.status === \"done\") {\r\n setLoading(false);\r\n const response = (transformResponse || avatarParams.transformResponse)(info.file.response);\r\n if (response.code === 200) {\r\n propsChange(response.results);\r\n } else {\r\n onError(response.msg, \"xhrError\", response);\r\n }\r\n }\r\n };\r\n\r\n return (<>\r\n <Upload className={classnames(className, \"react-form-avatar\")} listType=\"picture-card\"\r\n showUploadList={false}\r\n action={action || avatarParams.action}\r\n beforeUpload={beforeUpload} onChange={onChange}>\r\n {previewImg && showImageUrl ? previewRender ? previewRender(showImageUrl) :\r\n <div className=\"preview\"><img src={showImageUrl} alt=\"avatar\" /></div> : uploadButton}\r\n </Upload>\r\n </>);\r\n};\r\n\r\n_Avatar.defaultProps = {\r\n imageType: [\"image/jpeg\", \"image/png\"],\r\n fileSize: 2, // 单位MB\r\n children: <div className=\"ant-upload-text\">点击上传</div>,\r\n onError: (info) => message.error(info),\r\n previewImg: true,\r\n previewRender: null,\r\n editor: { open: false, width: 250, height: 250, borderRadius: 1, text: \"剪切\" }\r\n};\r\n\r\nconst AvatarInput = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Avatar);\r\n};\r\n\r\nAvatarInput.field = _Avatar;\r\n\r\nexport default AvatarInput;\r\n","import {Cascader as _Cascader} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst Cascader = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Cascader);\r\n};\r\n\r\nexport default Cascader;\r\n\r\n","import {Checkbox as _Checkbox} from 'antd';\r\nimport {hooks, hoc} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange, useCheckedToValue} = hooks;\r\nconst {withChecked} = hoc;\r\n\r\nconst WithCheckbox = withChecked(_Checkbox);\r\n\r\nconst Checkbox = (props) => {\r\n const checkedProps = useCheckedToValue(props);\r\n const render = useOnChange(checkedProps);\r\n return render(WithCheckbox);\r\n};\r\n\r\nexport default Checkbox;\r\n","import {Checkbox} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _CheckboxGroup = Checkbox.Group;\r\n\r\nconst CheckboxGroup = (props) => {\r\n const render = useOnChange(props);\r\n return render(_CheckboxGroup);\r\n};\r\n\r\nCheckboxGroup.Checkbox = Checkbox;\r\n\r\nexport default CheckboxGroup;\r\n","import {DatePicker} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {MonthPicker, RangePicker, WeekPicker} = DatePicker;\r\n\r\nconst _DatePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(DatePicker);\r\n};\r\n\r\nconst _MonthPicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(MonthPicker);\r\n};\r\n\r\nconst _RangePicker = (props) => {\r\n const render = useOnChange(props);\r\n // if(props.selectToday){\r\n // return render(RangePickerToday);\r\n // }\r\n return render(RangePicker);\r\n};\r\n\r\nconst _WeekPicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(WeekPicker);\r\n};\r\n\r\n_DatePicker.MonthPicker = _MonthPicker;\r\n_DatePicker.RangePicker = _RangePicker;\r\n_DatePicker.WeekPicker = _WeekPicker;\r\n\r\n\r\nexport default _DatePicker;\r\n","import {Button, DatePicker} from 'antd';\r\nimport React, {useRef, useEffect, useMemo} from 'react'\r\nimport moment from 'moment'\r\nimport get from 'lodash/get'\r\nimport useControlValue from '@kne/use-control-value'\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst PickerToday = (props) => {\r\n // console.log('>>>>data', data);\r\n const [data, onChange] = useControlValue(props);\r\n const ref_d = useRef();\r\n const newData = useMemo(() => {\r\n // console.log('......', data);\r\n const s = get(data, 0, '');\r\n const d = get(data, 1, '');\r\n const p = get(props, ['placeholder'], ['开始日期', '结束日期']);\r\n return {\r\n start: s ? moment(s) : '',\r\n end: d === '至今' ? moment('2099-09-09') : (d ? moment(d) : ''),\r\n showZj: d === '至今',\r\n placeholder: p\r\n }\r\n }, [data]);\r\n\r\n const startChange = (v) => {\r\n // 比较日期大小\r\n if (!newData.showZj && newData.end && v && newData.end.isBefore(v)) {\r\n onChange([newData.end, v]);\r\n return\r\n }\r\n onChange([v || '', newData.showZj ? '至今' : newData.end]);\r\n };\r\n\r\n const endChange = (v) => {\r\n if (newData.start && v && v.isBefore(newData.start)) {\r\n onChange([v, newData.start]);\r\n return\r\n }\r\n onChange([newData.start, v || '']);\r\n };\r\n\r\n const foot = () => {\r\n return (\r\n <Button onClick={(v) => {\r\n ref_d.current.blur();\r\n onChange([newData.start || '', '至今']);\r\n }}>\r\n 至今\r\n </Button>\r\n )\r\n }\r\n return (\r\n <div style={{display: 'flex'}}>\r\n <DatePicker {...{showToday: false, ...props, placeholder: newData.placeholder[0], value: newData.start}}\r\n onChange={startChange}/>\r\n <div className={'svg_box'}>\r\n <svg viewBox=\"0 0 1024 1024\" focusable=\"false\" data-icon=\"swap-right\" width=\"1em\" height=\"1em\"\r\n fill=\"currentColor\" aria-hidden=\"true\">\r\n <path\r\n d=\"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\"/>\r\n </svg>\r\n </div>\r\n <div className={newData.showZj ? 'data_range_picker data_range_picker_dis' : 'data_range_picker'}>\r\n <span className={newData.showZj ? 'zhijin zhijin_show' : 'zhijin'}>至今</span>\r\n <DatePicker {...{\r\n showToday: false,\r\n ...props,\r\n placeholder: newData.showZj ? '' : newData.placeholder[1],\r\n value: newData.end\r\n }} ref={ref_d}\r\n onChange={endChange} renderExtraFooter={foot}/>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n\r\nconst RangePickerToday = (props) => {\r\n const render = useOnChange(props);\r\n return render(PickerToday);\r\n};\r\n\r\nRangePickerToday.field = PickerToday;\r\n\r\nexport default RangePickerToday;\r\n","import {Input} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst InputField = (props) => {\r\n const render = useDecorator(props);\r\n return render(Input);\r\n};\r\n\r\nInputField.defaultProps = {\r\n autoComplete: 'off'\r\n};\r\n\r\nexport default InputField;\r\n","import {InputNumber} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst InputNumberField = (props) => {\r\n const render = useDecorator(props);\r\n return render(InputNumber);\r\n};\r\n\r\nInputNumberField.defaultProps = {\r\n autoComplete: 'off'\r\n};\r\n\r\nexport default InputNumberField;\r\n","import React, {useCallback} from 'react';\r\nimport {Radio} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst RadioGroup = ({onChange, ...props})=>{\r\n const handler = useCallback((e) => {\r\n onChange && onChange(e.target.value);\r\n }, [onChange]);\r\n return <Radio.Group {...props} onChange={handler}/>\r\n};\r\n\r\nconst _RadioGroup = (props) => {\r\n const render = useOnChange(props);\r\n return render(RadioGroup);\r\n};\r\n\r\n_RadioGroup.Radio = Radio;\r\n\r\nexport default _RadioGroup;\r\n","import {Select} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _Select = (props) => {\r\n const render = useOnChange(props);\r\n return render(Select);\r\n};\r\n\r\n_Select.Option = Select.Option;\r\n_Select.OptGroup = Select.OptGroup;\r\n\r\nexport default _Select;\r\n","import React from 'react';\r\nimport {Select} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\nimport {withFetch} from '@kne/react-fetch';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _SelectFetch = withFetch(({data, setData, refresh, isLoading, children, ...props}) => {\r\n return <Select {...props}>{children({data, refresh, isLoading, setData})}</Select>;\r\n});\r\n\r\nconst SelectFetch = (props) => {\r\n const render = useOnChange(props);\r\n return render(_SelectFetch);\r\n};\r\n\r\nSelectFetch.Option = Select.Option;\r\nSelectFetch.OptGroup = Select.OptGroup;\r\n\r\nexport default SelectFetch;\r\n","import {Switch as _Switch} from 'antd';\r\nimport {hooks, hoc} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange, useCheckedToValue} = hooks;\r\nconst {withChecked} = hoc;\r\nconst WithSwitch = withChecked(_Switch);\r\n\r\nconst Switch = (props) => {\r\n const checkedProps = useCheckedToValue(props);\r\n const render = useOnChange(checkedProps);\r\n return render(WithSwitch);\r\n};\r\n\r\nexport default Switch;\r\n","import {Input} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst TextArea = (props) => {\r\n const render = useDecorator(props);\r\n return render(Input.TextArea);\r\n};\r\n\r\nexport default TextArea;\r\n","import {TimePicker} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {RangePicker} = TimePicker;\r\n\r\nconst _TimePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(TimePicker);\r\n};\r\n\r\nconst _RangePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(RangePicker);\r\n};\r\n\r\n_TimePicker.RangePicker = _RangePicker;\r\n\r\nexport default _TimePicker;\r\n","import {TreeSelect} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _TreeSelect = (props) => {\r\n const render = useOnChange(props);\r\n return render(TreeSelect);\r\n};\r\n\r\n_TreeSelect.TreeNode = TreeSelect.TreeNode;\r\n\r\nexport default _TreeSelect;\r\n","import React, {useState, useMemo} from 'react';\r\nimport {Upload, message, Button} from 'antd';\r\nimport {\r\n UploadOutlined\r\n} from '@ant-design/icons';\r\nimport get from 'lodash/get';\r\nimport groupBy from 'lodash/groupBy';\r\nimport uniqueId from 'lodash/uniqueId';\r\nimport {hooks} from '@kne/react-form-helper';\r\nimport {globalParams} from \"../preset\";\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {Dragger} = Upload;\r\n\r\nconst uploadParams = globalParams.field.upload;\r\n\r\nconst computedFilename = (path, displayFilename = 'filename') => {\r\n const strArray = path.split('?');\r\n if (strArray[1]) {\r\n const query = {};\r\n strArray[1].split('&').forEach((str) => {\r\n const [key, value] = str.split('=');\r\n query[key] = value;\r\n });\r\n if (query[displayFilename]) {\r\n return decodeURIComponent(query[displayFilename]);\r\n }\r\n }\r\n return path;\r\n};\r\n\r\nconst valueToList = (value, displayFilename) => {\r\n if (!value) {\r\n return [];\r\n }\r\n return value.map((item) => {\r\n return {\r\n uid: uniqueId(),\r\n name: computedFilename(item.substr(item.lastIndexOf('/') + 1), displayFilename),\r\n status: 'done',\r\n response: {code: 200, results: item}\r\n }\r\n });\r\n};\r\n\r\nconst listToValue = (value) => {\r\n return (value || []).slice(0).filter(({status}) => status === 'done').map(({response}) => response.results);\r\n};\r\n\r\nconst _Upload = ({action, value, onChange, drag, children, displayFilename, accept, fileSize: size, onError, onUploadComplete, onBeforeUpload, maxLength, transformResponse, ...props}) => {\r\n displayFilename = displayFilename || uploadParams.displayFilename;\r\n const [list, setList] = useState([]);\r\n const valueList = useMemo(() => {\r\n return valueToList(value.filter((url) => {\r\n return !list.find((file) => get(file, 'response.results') === url);\r\n }), displayFilename).concat(list);\r\n }, [list, value, displayFilename]);\r\n const changeHandler = (info) => {\r\n if (['uploading', 'done', 'error', 'removed'].indexOf(info.file.status) === -1) {\r\n return;\r\n }\r\n if (info.fileList.length > maxLength) {\r\n onError(`上传文件不能超过最大允许数量${maxLength}`, 'xhrError', maxLength);\r\n return;\r\n }\r\n if (info.file.status === 'done') {\r\n info.file.response = (transformResponse || uploadParams.transformResponse)(info.file.response);\r\n if (info.file.response.code === 200) {\r\n info.file.name = computedFilename(info.file.response.results.substr(info.file.response.results.lastIndexOf('/') + 1), displayFilename);\r\n onUploadComplete(info);\r\n } else {\r\n info.file.status = 'error';\r\n onError(info.file.response.msg, 'xhrError', info.file.response);\r\n }\r\n }\r\n const {done} = groupBy(info.fileList, (file) => file.status === 'done' ? 'done' : 'uploading');\r\n if (['done', 'removed'].indexOf(info.file.status) > -1) {\r\n onChange(listToValue(done));\r\n }\r\n setList(info.fileList);\r\n };\r\n const beforeUploadHandler = (file) => {\r\n const isLt = file.size / 1024 / 1024 < size;\r\n if (!isLt) {\r\n onError(`文件不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\r\n return false;\r\n }\r\n if (maxLength === 1) {\r\n onChange([]);\r\n setList([]);\r\n }\r\n return onBeforeUpload && onBeforeUpload(file);\r\n };\r\n const UploadComponent = drag ? Dragger : Upload;\r\n return <UploadComponent {...props} action={action || uploadParams.action} fileList={valueList}\r\n accept={accept.join(',')} onChange={changeHandler} beforeUpload={beforeUploadHandler}>\r\n {children}\r\n </UploadComponent>\r\n};\r\n\r\n_Upload.defaultProps = {\r\n value: [],\r\n accept: [],\r\n fileSize: 2,\r\n maxLength: 1,\r\n children: <Button><UploadOutlined/>点击上传</Button>,\r\n onError: (info) => message.error(info),\r\n onUploadComplete: () => {\r\n }\r\n};\r\n\r\nconst UploadInput = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Upload);\r\n};\r\n\r\n\r\nUploadInput.field = _Upload;\r\n\r\nexport default UploadInput;\r\n","import React from 'react';\r\nimport {useSubmit} from '@kne/react-form';\r\nimport {Button} from 'antd';\r\n\r\nconst SubmitButton = (props) => {\r\n const {isPass, isLoading,...submitProps} = useSubmit(props);\r\n return (\r\n <Button loading={isLoading} {...submitProps} {...props}/>\r\n );\r\n};\r\n\r\nexport default SubmitButton;\r\n","import React from 'react';\r\nimport {useReset} from '@kne/react-form';\r\nimport {Button} from 'antd';\r\n\r\nconst ResetButton = (props) => {\r\n const resetProps = useReset();\r\n return (\r\n <Button {...resetProps} {...props}/>\r\n );\r\n};\r\n\r\nexport default ResetButton;\r\n","import React from 'react';\r\nimport {Modal, Space} from 'antd';\r\nimport SubmitButton from './SubmitButton';\r\nimport ResetButton from './ResetButton';\r\nimport Form from \"./Form\";\r\nimport {withFetch} from '@kne/react-fetch';\r\nimport classnames from 'classnames';\r\n\r\nconst FetchForm = withFetch(Form);\r\n\r\nconst CommonModal = ({formProps, footer, children}) => {\r\n const TargetForm = formProps.hasOwnProperty('url') ? FetchForm : Form;\r\n return <TargetForm {...formProps}>\r\n <div className=\"ant-modal-body\">\r\n {children}\r\n </div>\r\n <div className=\"ant-modal-footer\">\r\n {footer ? footer : <Space>\r\n <ResetButton>重置</ResetButton>\r\n <SubmitButton type=\"primary\">确定</SubmitButton>\r\n </Space>}\r\n </div>\r\n </TargetForm>;\r\n};\r\n\r\nconst FormModal = ({className, formProps = {}, footer, children, ...props}) => {\r\n return <Modal {...props} className={classnames(className, 'react-form-modal')} footer={null}>\r\n <CommonModal formProps={formProps} footer={footer}>{children}</CommonModal>\r\n </Modal>\r\n};\r\n\r\nFormModal.modal = ({className, title, formProps = {}, footer, content, ...props}) => Modal.info({\r\n ...props,\r\n title: title ? <div className=\"ant-modal-header\">\r\n <div className=\"ant-modal-title\">{title}</div>\r\n </div> : null,\r\n className: classnames(className, 'react-form-modal'),\r\n content: <CommonModal formProps={formProps} footer={footer}>{content}</CommonModal>,\r\n icon: null,\r\n footer: null\r\n});\r\n\r\nexport default FormModal;\r\n","import Form from './Form';\r\n\r\nimport Avatar$ from './fields/Avatar';\r\nimport Cascader$ from './fields/Cascader';\r\nimport Checkbox$ from './fields/Checkbox';\r\nimport CheckboxGroup$ from './fields/CheckboxGroup';\r\nimport DatePicker$ from './fields/DatePicker';\r\nimport DatePickerToday$ from './fields/DatePickerToday';\r\nimport Input$ from './fields/Input';\r\nimport InputNumber$ from './fields/InputNumber';\r\nimport RadioGroup$ from './fields/RadioGroup';\r\nimport Select$ from './fields/Select';\r\nimport SelectFetch$ from './fields/SelectFetch';\r\nimport Switch$ from './fields/Switch';\r\nimport TextArea$ from './fields/TextArea';\r\nimport TimePicker$ from './fields/TimePicker';\r\nimport TreeSelect$ from './fields/TreeSelect';\r\nimport Upload$ from './fields/Upload';\r\n\r\nexport * from './Form';\r\nexport default Form;\r\nexport {default as preset} from './preset';\r\nexport {default as FormModal} from './FormModal';\r\nexport {default as ResetButton} from './ResetButton';\r\nexport {default as SubmitButton} from './SubmitButton';\r\n\r\nexport const Avatar = Avatar$;\r\nexport const Cascader = Cascader$;\r\nexport const Checkbox = Checkbox$;\r\nexport const CheckboxGroup = CheckboxGroup$;\r\nexport const DatePicker = DatePicker$;\r\nexport const DatePickerToday = DatePickerToday$;\r\nexport const Input = Input$;\r\nexport const InputNumber = InputNumber$;\r\nexport const RadioGroup = RadioGroup$;\r\nexport const Select = Select$;\r\nexport const SelectFetch = SelectFetch$;\r\nexport const Switch = Switch$;\r\nexport const TextArea = TextArea$;\r\nexport const TimePicker = TimePicker$;\r\nexport const TreeSelect = TreeSelect$;\r\nexport const Upload = Upload$;\r\n\r\nexport const fields = { Avatar, Cascader, Checkbox, CheckboxGroup, DatePicker, DatePickerToday, Input, InputNumber, RadioGroup, Select, SelectFetch, Switch, TextArea, TimePicker, TreeSelect, Upload };"],"names":["ScrollToError","widget","EnterSubmit","FormStore","MaxLabelProvider","SizeProvider","Form","forwardRef","ref","className","cache","enterSubmit","scrollToError","scrollProps","type","size","children","props","computedClass","maxLabel","React","classnames","e","preventDefault","stopPropagation","ReactForm","defaultProps","block","propTypes","PropTypes","string","oneOf","bool","shape","behavior","inline","globalParams","rules","field","upload","displayFilename","action","transformResponse","response","targetPath","get","filename","code","msg","results","encodeURIComponent","avatar","merge","presetRules","useOnChange","hooks","avatarParams","_Avatar","imageUrl","value","propsChange","onChange","onBeforeUpload","beforeUpload","imageType","fileSize","onError","editor","previewImg","previewRender","useState","loading","setLoading","showImageUrl","setImageUrl","editorRef","useRef","useEffect","dataURLtoBlob","dataurl","arr","split","_arr","substring","length","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","Blob","AvatarEditorBox","file","rotate","setRotate","width","height","scale","setScale","v","console","log","onChangeScale","AvatarEditor","borderRadius","Row","Col","Slider","uploadButton","LoadingOutlined","PlusOutlined","Promise","resolve","reject","isJpgOrPng","indexOf","map","str","replace","join","fileType","isLt","open","Modal","success","icon","content","okText","text","onOk","close","base64","current","getImage","toDataURL","blob","files","window","File","name","info","status","Upload","message","error","AvatarInput","render","Cascader","_Cascader","useCheckedToValue","withChecked","hoc","WithCheckbox","_Checkbox","Checkbox","checkedProps","_CheckboxGroup","Group","CheckboxGroup","MonthPicker","DatePicker","RangePicker","WeekPicker","_DatePicker","_MonthPicker","_RangePicker","_WeekPicker","PickerToday","useControlValue","data","ref_d","newData","useMemo","s","d","p","start","moment","end","showZj","placeholder","startChange","isBefore","endChange","foot","Button","blur","display","showToday","RangePickerToday","useDecorator","InputField","Input","autoComplete","InputNumberField","InputNumber","RadioGroup","handler","useCallback","target","Radio","_RadioGroup","_Select","Select","Option","OptGroup","_SelectFetch","withFetch","setData","refresh","isLoading","SelectFetch","WithSwitch","_Switch","Switch","TextArea","TimePicker","_TimePicker","_TreeSelect","TreeSelect","TreeNode","Dragger","uploadParams","computedFilename","path","strArray","query","forEach","key","decodeURIComponent","valueToList","item","uid","uniqueId","substr","lastIndexOf","listToValue","slice","filter","_Upload","drag","accept","onUploadComplete","maxLength","list","setList","valueList","url","find","concat","changeHandler","fileList","groupBy","done","beforeUploadHandler","UploadComponent","UploadOutlined","UploadInput","SubmitButton","useSubmit","submitProps","ResetButton","resetProps","useReset","FetchForm","CommonModal","formProps","footer","TargetForm","hasOwnProperty","Space","FormModal","modal","title","Avatar","Avatar$","Cascader$","Checkbox$","CheckboxGroup$","DatePicker$","DatePickerToday","DatePickerToday$","Input$","InputNumber$","RadioGroup$","Select$","SelectFetch$","Switch$","TextArea$","TimePicker$","TreeSelect$","Upload$","fields"],"mappings":"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"}
|
package/dist/index.modern.js
CHANGED
|
@@ -4,7 +4,7 @@ import classnames from 'classnames';
|
|
|
4
4
|
import ReactForm__default, { preset as preset$1, useSubmit, useReset } from '@kne/react-form';
|
|
5
5
|
export * from '@kne/react-form';
|
|
6
6
|
import { widget, hooks, hoc } from '@kne/react-form-helper';
|
|
7
|
-
export { hooks, utils } from '@kne/react-form-helper';
|
|
7
|
+
export { hooks, utils, widget } from '@kne/react-form-helper';
|
|
8
8
|
import { Upload as Upload$1, message, Modal, Row, Col, Slider, Cascader as Cascader$2, Checkbox as Checkbox$2, DatePicker as DatePicker$1, Button, Input as Input$1, InputNumber as InputNumber$1, Radio, Select as Select$1, Switch as Switch$2, TimePicker as TimePicker$1, TreeSelect as TreeSelect$1, Space } from 'antd';
|
|
9
9
|
import merge from 'lodash/merge';
|
|
10
10
|
import get from 'lodash/get';
|
|
@@ -125,6 +125,7 @@ const globalParams = {
|
|
|
125
125
|
rules: {},
|
|
126
126
|
field: {
|
|
127
127
|
upload: {
|
|
128
|
+
displayFilename: 'filename',
|
|
128
129
|
action: '/open-api/upload_static_file/interview-manager',
|
|
129
130
|
transformResponse: response => {
|
|
130
131
|
const targetPath = get(response, 'results[0].targetPath');
|
|
@@ -132,7 +133,7 @@ const globalParams = {
|
|
|
132
133
|
return {
|
|
133
134
|
code: response.code,
|
|
134
135
|
msg: response.msg,
|
|
135
|
-
results: targetPath + (filename ?
|
|
136
|
+
results: targetPath + (filename ? `?${globalParams.field.upload.displayFilename}=` + encodeURIComponent(filename) : '')
|
|
136
137
|
};
|
|
137
138
|
}
|
|
138
139
|
},
|
|
@@ -169,7 +170,9 @@ const _Avatar = ({
|
|
|
169
170
|
fileSize: size,
|
|
170
171
|
children,
|
|
171
172
|
onError,
|
|
172
|
-
editor
|
|
173
|
+
editor,
|
|
174
|
+
previewImg,
|
|
175
|
+
previewRender
|
|
173
176
|
}) => {
|
|
174
177
|
const [loading, setLoading] = useState(false);
|
|
175
178
|
const [showImageUrl, setImageUrl] = useState(imageUrl);
|
|
@@ -180,7 +183,7 @@ const _Avatar = ({
|
|
|
180
183
|
/* base64转blob */
|
|
181
184
|
|
|
182
185
|
const dataURLtoBlob = dataurl => {
|
|
183
|
-
let arr = dataurl.split(
|
|
186
|
+
let arr = dataurl.split(","); // 注意base64的最后面中括号和引号是不转译的
|
|
184
187
|
|
|
185
188
|
let _arr = arr[1].substring(0, arr[1].length - 2);
|
|
186
189
|
|
|
@@ -222,8 +225,8 @@ const _Avatar = ({
|
|
|
222
225
|
|
|
223
226
|
return /*#__PURE__*/React.createElement("div", {
|
|
224
227
|
style: {
|
|
225
|
-
|
|
226
|
-
|
|
228
|
+
"width": editor.width,
|
|
229
|
+
"margin": "auto"
|
|
227
230
|
}
|
|
228
231
|
}, /*#__PURE__*/React.createElement(AvatarEditor, {
|
|
229
232
|
ref: editorRef,
|
|
@@ -268,11 +271,11 @@ const _Avatar = ({
|
|
|
268
271
|
|
|
269
272
|
const beforeUpload = async file => {
|
|
270
273
|
return new Promise((resolve, reject) => {
|
|
271
|
-
console.log(
|
|
274
|
+
console.log("文件", file);
|
|
272
275
|
const isJpgOrPng = imageType.indexOf(file.type) > -1;
|
|
273
276
|
|
|
274
277
|
if (!isJpgOrPng) {
|
|
275
|
-
onError(`只支持${imageType.map(str => str.replace(
|
|
278
|
+
onError(`只支持${imageType.map(str => str.replace("image/", "")).join("/")}格式图片!`, "typeError", {
|
|
276
279
|
type: imageType,
|
|
277
280
|
fileType: file.type
|
|
278
281
|
});
|
|
@@ -283,7 +286,7 @@ const _Avatar = ({
|
|
|
283
286
|
const isLt = file.size / 1024 / 1024 < size;
|
|
284
287
|
|
|
285
288
|
if (!isLt) {
|
|
286
|
-
onError(`图片不能超过${size}MB!`,
|
|
289
|
+
onError(`图片不能超过${size}MB!`, "sizeError", {
|
|
287
290
|
size,
|
|
288
291
|
fileSize: file.size
|
|
289
292
|
});
|
|
@@ -297,7 +300,7 @@ const _Avatar = ({
|
|
|
297
300
|
if (editor.open) {
|
|
298
301
|
Modal.success({
|
|
299
302
|
// title: '剪切图像',
|
|
300
|
-
icon:
|
|
303
|
+
icon: "",
|
|
301
304
|
width: editor.width * 2,
|
|
302
305
|
content: /*#__PURE__*/React.createElement(AvatarEditorBox, {
|
|
303
306
|
file: file
|
|
@@ -325,31 +328,31 @@ const _Avatar = ({
|
|
|
325
328
|
};
|
|
326
329
|
|
|
327
330
|
const onChange = info => {
|
|
328
|
-
if (info.file.status ===
|
|
331
|
+
if (info.file.status === "uploading") {
|
|
329
332
|
setLoading(true);
|
|
330
333
|
return;
|
|
331
334
|
}
|
|
332
335
|
|
|
333
|
-
if (info.file.status ===
|
|
336
|
+
if (info.file.status === "done") {
|
|
334
337
|
setLoading(false);
|
|
335
338
|
const response = (transformResponse || avatarParams.transformResponse)(info.file.response);
|
|
336
339
|
|
|
337
340
|
if (response.code === 200) {
|
|
338
341
|
propsChange(response.results);
|
|
339
342
|
} else {
|
|
340
|
-
onError(response.msg,
|
|
343
|
+
onError(response.msg, "xhrError", response);
|
|
341
344
|
}
|
|
342
345
|
}
|
|
343
346
|
};
|
|
344
347
|
|
|
345
348
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Upload$1, {
|
|
346
|
-
className: classnames(className,
|
|
349
|
+
className: classnames(className, "react-form-avatar"),
|
|
347
350
|
listType: "picture-card",
|
|
348
351
|
showUploadList: false,
|
|
349
352
|
action: action || avatarParams.action,
|
|
350
353
|
beforeUpload: beforeUpload,
|
|
351
354
|
onChange: onChange
|
|
352
|
-
}, showImageUrl ? /*#__PURE__*/React.createElement("div", {
|
|
355
|
+
}, previewImg && showImageUrl ? previewRender ? previewRender(showImageUrl) : /*#__PURE__*/React.createElement("div", {
|
|
353
356
|
className: "preview"
|
|
354
357
|
}, /*#__PURE__*/React.createElement("img", {
|
|
355
358
|
src: showImageUrl,
|
|
@@ -358,19 +361,21 @@ const _Avatar = ({
|
|
|
358
361
|
};
|
|
359
362
|
|
|
360
363
|
_Avatar.defaultProps = {
|
|
361
|
-
imageType: [
|
|
364
|
+
imageType: ["image/jpeg", "image/png"],
|
|
362
365
|
fileSize: 2,
|
|
363
366
|
// 单位MB
|
|
364
367
|
children: /*#__PURE__*/React.createElement("div", {
|
|
365
368
|
className: "ant-upload-text"
|
|
366
369
|
}, "\u70B9\u51FB\u4E0A\u4F20"),
|
|
367
370
|
onError: info => message.error(info),
|
|
371
|
+
previewImg: true,
|
|
372
|
+
previewRender: null,
|
|
368
373
|
editor: {
|
|
369
374
|
open: false,
|
|
370
375
|
width: 250,
|
|
371
376
|
height: 250,
|
|
372
377
|
borderRadius: 1,
|
|
373
|
-
text:
|
|
378
|
+
text: "剪切"
|
|
374
379
|
}
|
|
375
380
|
};
|
|
376
381
|
|
|
@@ -768,11 +773,12 @@ const _Upload = _ref => {
|
|
|
768
773
|
} = _ref,
|
|
769
774
|
props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
770
775
|
|
|
776
|
+
displayFilename = displayFilename || uploadParams.displayFilename;
|
|
771
777
|
const [list, setList] = useState([]);
|
|
772
778
|
const valueList = useMemo(() => {
|
|
773
779
|
return valueToList(value.filter(url => {
|
|
774
780
|
return !list.find(file => get(file, 'response.results') === url);
|
|
775
|
-
})).concat(list);
|
|
781
|
+
}), displayFilename).concat(list);
|
|
776
782
|
}, [list, value, displayFilename]);
|
|
777
783
|
|
|
778
784
|
const changeHandler = info => {
|
|
@@ -842,7 +848,6 @@ _Upload.defaultProps = {
|
|
|
842
848
|
accept: [],
|
|
843
849
|
fileSize: 2,
|
|
844
850
|
maxLength: 1,
|
|
845
|
-
displayFilename: 'filename',
|
|
846
851
|
children: /*#__PURE__*/React.createElement(Button, null, /*#__PURE__*/React.createElement(UploadOutlined, null), "\u70B9\u51FB\u4E0A\u4F20"),
|
|
847
852
|
onError: info => message.error(info),
|
|
848
853
|
onUploadComplete: () => {}
|
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/Form.js","../src/preset.js","../src/fields/Avatar.js","../src/fields/Cascader.js","../src/fields/Checkbox.js","../src/fields/CheckboxGroup.js","../src/fields/DatePicker.js","../src/fields/DatePickerToday.js","../src/fields/Input.js","../src/fields/InputNumber.js","../src/fields/RadioGroup.js","../src/fields/Select.js","../src/fields/SelectFetch.js","../src/fields/Switch.js","../src/fields/TextArea.js","../src/fields/TimePicker.js","../src/fields/TreeSelect.js","../src/fields/Upload.js","../src/SubmitButton.js","../src/ResetButton.js","../src/FormModal.js","../src/index.js"],"sourcesContent":["import React, {forwardRef} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport ReactForm from '@kne/react-form';\nimport {widget} from '@kne/react-form-helper';\nimport './assets/index.scss';\n\nexport * from '@kne/react-form';\nexport {hooks, utils} from '@kne/react-form-helper';\n\nconst {ScrollToError, EnterSubmit, FormStore, MaxLabelProvider, SizeProvider} = widget;\n\nconst Form = forwardRef(({className, cache, enterSubmit, scrollToError, scrollProps, type, size, children, ...props}, ref) => {\n let computedClass = 'react-form';\n if (type !== 'default') {\n computedClass += `--${type}`;\n }\n\n if (size !== 'middle') {\n computedClass += `--${size}`;\n }\n\n const maxLabel = <MaxLabelProvider>\n {children}\n </MaxLabelProvider>;\n\n return (\n <form className={classnames(computedClass, className)} onSubmit={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}>\n <SizeProvider value={{size}}>\n <ReactForm {...props} ref={ref}>\n {cache ? <FormStore cache={cache}/> : null}\n {scrollToError ? <ScrollToError scrollProps={scrollProps}/> : null}\n {enterSubmit ? <EnterSubmit>\n {maxLabel}\n </EnterSubmit> : maxLabel}\n </ReactForm>\n </SizeProvider>\n </form>\n );\n});\n\nForm.defaultProps = {\n type: 'default',\n size: 'middle',\n scrollToError: true,\n enterSubmit: false,\n scrollProps: {\n block: 'center'\n }\n};\n\nForm.propTypes = {\n className: PropTypes.string,\n type: PropTypes.oneOf(['inline', 'default', 'inner']),\n size: PropTypes.oneOf(['small', 'middle', 'large']),\n enterSubmit: PropTypes.bool,\n scrollToError: PropTypes.bool,\n scrollProps: PropTypes.shape({\n block: PropTypes.oneOf(['start', 'center', 'end', 'nearest']),\n behavior: PropTypes.oneOf(['auto', 'smooth']),\n inline: PropTypes.oneOf(['start', 'center', 'end', 'nearest'])\n })\n};\n\nexport default Form;","import {preset as presetRules} from '@kne/react-form';\nimport merge from 'lodash/merge';\nimport get from \"lodash/get\";\n\nexport const globalParams = {\n rules: {},\n field: {\n upload: {\n action: '/open-api/upload_static_file/interview-manager',\n transformResponse: (response) => {\n const targetPath = get(response, 'results[0].targetPath');\n const filename = get(response, 'results[0].filename');\n return {\n code: response.code,\n msg: response.msg,\n results: targetPath + (filename ? '?filename=' + encodeURIComponent(filename) : '')\n };\n }\n },\n avatar: {\n transformResponse: (response) => {\n return {\n code: response.code,\n results: response.results,\n msg: response.msg\n }\n },\n action: '/upload'\n }\n }\n};\n\nexport default (props) => {\n merge(globalParams, props);\n presetRules(globalParams.rules);\n};\n","import React, {useState, useRef, useEffect} from 'react';\nimport {Upload, message, Modal, Slider, Row, Col, Space} from 'antd';\nimport {globalParams} from '../preset';\nimport classnames from 'classnames';\nimport {\n PlusOutlined,\n LoadingOutlined\n} from '@ant-design/icons';\nimport AvatarEditor from \"react-avatar-editor\";\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\nconst avatarParams = globalParams.field.avatar;\n\n\nconst _Avatar = ({className, value: imageUrl, onChange: propsChange, beforeUpload: onBeforeUpload, transformResponse, action, imageType, fileSize: size, children, onError, editor}) => {\n const [loading, setLoading] = useState(false);\n const [showImageUrl, setImageUrl] = useState(imageUrl);\n const editorRef = useRef();\n\n useEffect(() => {\n setImageUrl(imageUrl)\n }, [imageUrl])\n\n /* base64转blob */\n const dataURLtoBlob = (dataurl) => {\n let arr = dataurl.split(',');\n // 注意base64的最后面中括号和引号是不转译的\n let _arr = arr[1].substring(0, arr[1].length - 2);\n let mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(_arr),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new Blob([u8arr], {\n type: mime\n });\n };\n\n\n\n const AvatarEditorBox = ({file})=>{\n const [rotate, setRotate] = useState(0);\n const [scale, setScale] = useState(()=>{\n if(editor.width===editor.height){\n return 1\n }\n return 0.35\n });\n\n const onChange = (v)=>{\n console.log(v);\n setRotate(v);\n }\n const onChangeScale = (v)=>{\n console.log(v);\n setScale(v);\n }\n return (\n <div style={{'width': editor.width,\n 'margin': 'auto'}}>\n <AvatarEditor\n ref={editorRef}\n image={file}\n width={editor.width}\n height={editor.height}\n border={1}\n borderRadius={editor.borderRadius}\n color={[24, 144, 255, 1]} // RGBA\n scale={scale}\n rotate={rotate}\n />\n <Row gutter={4}>\n <Col span={4}><span>旋转</span></Col>\n <Col span={15}>\n <Slider tooltipVisible={false} defaultValue={rotate} min={-180} max={180} onChange={onChange} />\n </Col>\n </Row>\n <Row gutter={4}>\n <Col span={4}><span>放大</span></Col>\n <Col span={15}>\n <Slider tooltipVisible={false} defaultValue={scale} step={0.05} min={0.2} max={3} onChange={onChangeScale} />\n </Col>\n </Row>\n </div>\n )\n }\n\n const uploadButton = (\n <div>\n {loading ? <LoadingOutlined/> : <PlusOutlined/>}\n {children}\n </div>\n );\n\n const beforeUpload = async (file) => {\n return new Promise((resolve, reject) => {\n\n console.log('文件', file);\n const isJpgOrPng = imageType.indexOf(file.type) > -1;\n if (!isJpgOrPng) {\n onError(`只支持${imageType.map((str) => str.replace('image/', '')).join('/')}格式图片!`, 'typeError', {\n type: imageType,\n fileType: file.type\n });\n reject();\n return false;\n }\n const isLt = file.size / 1024 / 1024 < size;\n if (!isLt) {\n onError(`图片不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\n reject();\n return false;\n }\n\n /*剪切图像*/\n // editor:{open:false,width:250,height:250,borderRadius:0-100,text:'剪切'}\n if (editor.open) {\n Modal.success({\n // title: '剪切图像',\n icon: '',\n width: editor.width*2,\n content: <AvatarEditorBox file={file}/>,\n okText: editor.text,\n onOk: (close) => {\n // console.log(editorRef.current);\n let base64 = editorRef.current.getImage().toDataURL();\n setImageUrl(base64);\n let blob = dataURLtoBlob(base64);\n const files = new window.File(\n [blob],\n file.name,\n { type: file.type }\n );\n onBeforeUpload && onBeforeUpload(files);\n resolve(files);\n // console.log(files);\n close();\n }\n })\n } else {\n onBeforeUpload && onBeforeUpload(file);\n resolve(file);\n // return onBeforeUpload && onBeforeUpload(file);\n }\n })\n\n };\n\n const onChange = (info) => {\n if (info.file.status === 'uploading') {\n setLoading(true);\n return;\n }\n if (info.file.status === 'done') {\n setLoading(false);\n const response = (transformResponse || avatarParams.transformResponse)(info.file.response);\n if (response.code === 200) {\n propsChange(response.results);\n } else {\n onError(response.msg, 'xhrError', response);\n }\n }\n };\n\n return (\n <>\n <Upload className={classnames(className, 'react-form-avatar')} listType=\"picture-card\"\n showUploadList={false}\n action={action || avatarParams.action}\n beforeUpload={beforeUpload} onChange={onChange}>\n {showImageUrl ? <div className=\"preview\"><img src={showImageUrl} alt=\"avatar\"/></div> : uploadButton}\n </Upload>\n </>\n );\n};\n\n_Avatar.defaultProps = {\n imageType: ['image/jpeg', 'image/png'],\n fileSize: 2, // 单位MB\n children: <div className=\"ant-upload-text\">点击上传</div>,\n onError: (info) => message.error(info),\n editor: {open: false, width: 250, height: 250, borderRadius: 1, text: '剪切'}\n};\n\nconst AvatarInput = (props) => {\n const render = useOnChange(props);\n return render(_Avatar);\n};\n\nAvatarInput.field = _Avatar;\n\nexport default AvatarInput;\n","import {Cascader as _Cascader} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst Cascader = (props) => {\n const render = useOnChange(props);\n return render(_Cascader);\n};\n\nexport default Cascader;\n\n","import {Checkbox as _Checkbox} from 'antd';\nimport {hooks, hoc} from '@kne/react-form-helper';\n\nconst {useOnChange, useCheckedToValue} = hooks;\nconst {withChecked} = hoc;\n\nconst WithCheckbox = withChecked(_Checkbox);\n\nconst Checkbox = (props) => {\n const checkedProps = useCheckedToValue(props);\n const render = useOnChange(checkedProps);\n return render(WithCheckbox);\n};\n\nexport default Checkbox;\n","import {Checkbox} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _CheckboxGroup = Checkbox.Group;\n\nconst CheckboxGroup = (props) => {\n const render = useOnChange(props);\n return render(_CheckboxGroup);\n};\n\nCheckboxGroup.Checkbox = Checkbox;\n\nexport default CheckboxGroup;\n","import {DatePicker} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst {MonthPicker, RangePicker, WeekPicker} = DatePicker;\n\nconst _DatePicker = (props) => {\n const render = useOnChange(props);\n return render(DatePicker);\n};\n\nconst _MonthPicker = (props) => {\n const render = useOnChange(props);\n return render(MonthPicker);\n};\n\nconst _RangePicker = (props) => {\n const render = useOnChange(props);\n // if(props.selectToday){\n // return render(RangePickerToday);\n // }\n return render(RangePicker);\n};\n\nconst _WeekPicker = (props) => {\n const render = useOnChange(props);\n return render(WeekPicker);\n};\n\n_DatePicker.MonthPicker = _MonthPicker;\n_DatePicker.RangePicker = _RangePicker;\n_DatePicker.WeekPicker = _WeekPicker;\n\n\nexport default _DatePicker;\n","import {Button, DatePicker} from 'antd';\nimport React, {useRef, useEffect, useMemo} from 'react'\nimport moment from 'moment'\nimport get from 'lodash/get'\nimport useControlValue from '@kne/use-control-value'\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst PickerToday = (props) => {\n // console.log('>>>>data', data);\n const [data, onChange] = useControlValue(props);\n const ref_d = useRef();\n const newData = useMemo(() => {\n // console.log('......', data);\n const s = get(data, 0, '');\n const d = get(data, 1, '');\n const p = get(props, ['placeholder'], ['开始日期', '结束日期']);\n return {\n start: s ? moment(s) : '',\n end: d === '至今' ? moment('2099-09-09') : (d ? moment(d) : ''),\n showZj: d === '至今',\n placeholder: p\n }\n }, [data]);\n\n const startChange = (v) => {\n // 比较日期大小\n if (!newData.showZj && newData.end && v && newData.end.isBefore(v)) {\n onChange([newData.end, v]);\n return\n }\n onChange([v || '', newData.showZj ? '至今' : newData.end]);\n };\n\n const endChange = (v) => {\n if (newData.start && v && v.isBefore(newData.start)) {\n onChange([v, newData.start]);\n return\n }\n onChange([newData.start, v || '']);\n };\n\n const foot = () => {\n return (\n <Button onClick={(v) => {\n ref_d.current.blur();\n onChange([newData.start || '', '至今']);\n }}>\n 至今\n </Button>\n )\n }\n return (\n <div style={{display: 'flex'}}>\n <DatePicker {...{showToday: false, ...props, placeholder: newData.placeholder[0], value: newData.start}}\n onChange={startChange}/>\n <div className={'svg_box'}>\n <svg viewBox=\"0 0 1024 1024\" focusable=\"false\" data-icon=\"swap-right\" width=\"1em\" height=\"1em\"\n fill=\"currentColor\" aria-hidden=\"true\">\n <path\n d=\"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\"/>\n </svg>\n </div>\n <div className={newData.showZj ? 'data_range_picker data_range_picker_dis' : 'data_range_picker'}>\n <span className={newData.showZj ? 'zhijin zhijin_show' : 'zhijin'}>至今</span>\n <DatePicker {...{\n showToday: false,\n ...props,\n placeholder: newData.showZj ? '' : newData.placeholder[1],\n value: newData.end\n }} ref={ref_d}\n onChange={endChange} renderExtraFooter={foot}/>\n </div>\n </div>\n );\n}\n\n\nconst RangePickerToday = (props) => {\n const render = useOnChange(props);\n return render(PickerToday);\n};\n\nRangePickerToday.field = PickerToday;\n\nexport default RangePickerToday;\n","import {Input} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst InputField = (props) => {\n const render = useDecorator(props);\n return render(Input);\n};\n\nInputField.defaultProps = {\n autoComplete: 'off'\n};\n\nexport default InputField;\n","import {InputNumber} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst InputNumberField = (props) => {\n const render = useDecorator(props);\n return render(InputNumber);\n};\n\nInputNumberField.defaultProps = {\n autoComplete: 'off'\n};\n\nexport default InputNumberField;\n","import React, {useCallback} from 'react';\nimport {Radio} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst RadioGroup = ({onChange, ...props})=>{\n const handler = useCallback((e) => {\n onChange && onChange(e.target.value);\n }, [onChange]);\n return <Radio.Group {...props} onChange={handler}/>\n};\n\nconst _RadioGroup = (props) => {\n const render = useOnChange(props);\n return render(RadioGroup);\n};\n\n_RadioGroup.Radio = Radio;\n\nexport default _RadioGroup;\n","import {Select} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _Select = (props) => {\n const render = useOnChange(props);\n return render(Select);\n};\n\n_Select.Option = Select.Option;\n_Select.OptGroup = Select.OptGroup;\n\nexport default _Select;\n","import React from 'react';\nimport {Select} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\nimport {withFetch} from '@kne/react-fetch';\n\nconst {useOnChange} = hooks;\n\nconst _SelectFetch = withFetch(({data, setData, refresh, isLoading, children, ...props}) => {\n return <Select {...props}>{children({data, refresh, isLoading, setData})}</Select>;\n});\n\nconst SelectFetch = (props) => {\n const render = useOnChange(props);\n return render(_SelectFetch);\n};\n\nSelectFetch.Option = Select.Option;\nSelectFetch.OptGroup = Select.OptGroup;\n\nexport default SelectFetch;\n","import {Switch as _Switch} from 'antd';\nimport {hooks, hoc} from '@kne/react-form-helper';\n\nconst {useOnChange, useCheckedToValue} = hooks;\nconst {withChecked} = hoc;\nconst WithSwitch = withChecked(_Switch);\n\nconst Switch = (props) => {\n const checkedProps = useCheckedToValue(props);\n const render = useOnChange(checkedProps);\n return render(WithSwitch);\n};\n\nexport default Switch;\n","import {Input} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useDecorator} = hooks;\n\nconst TextArea = (props) => {\n const render = useDecorator(props);\n return render(Input.TextArea);\n};\n\nexport default TextArea;\n","import {TimePicker} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst {RangePicker} = TimePicker;\n\nconst _TimePicker = (props) => {\n const render = useOnChange(props);\n return render(TimePicker);\n};\n\nconst _RangePicker = (props) => {\n const render = useOnChange(props);\n return render(RangePicker);\n};\n\n_TimePicker.RangePicker = _RangePicker;\n\nexport default _TimePicker;\n","import {TreeSelect} from 'antd';\nimport {hooks} from '@kne/react-form-helper';\n\nconst {useOnChange} = hooks;\n\nconst _TreeSelect = (props) => {\n const render = useOnChange(props);\n return render(TreeSelect);\n};\n\n_TreeSelect.TreeNode = TreeSelect.TreeNode;\n\nexport default _TreeSelect;\n","import React, {useState, useMemo} from 'react';\nimport {Upload, message, Button} from 'antd';\nimport {\n UploadOutlined\n} from '@ant-design/icons';\nimport get from 'lodash/get';\nimport groupBy from 'lodash/groupBy';\nimport uniqueId from 'lodash/uniqueId';\nimport {hooks} from '@kne/react-form-helper';\nimport {globalParams} from \"../preset\";\n\nconst {useOnChange} = hooks;\n\nconst {Dragger} = Upload;\n\nconst uploadParams = globalParams.field.upload;\n\nconst computedFilename = (path, displayFilename = 'filename') => {\n const strArray = path.split('?');\n if (strArray[1]) {\n const query = {};\n strArray[1].split('&').forEach((str) => {\n const [key, value] = str.split('=');\n query[key] = value;\n });\n if (query[displayFilename]) {\n return decodeURIComponent(query[displayFilename]);\n }\n }\n return path;\n};\n\nconst valueToList = (value, displayFilename) => {\n if (!value) {\n return [];\n }\n return value.map((item) => {\n return {\n uid: uniqueId(),\n name: computedFilename(item.substr(item.lastIndexOf('/') + 1), displayFilename),\n status: 'done',\n response: {code: 200, results: item}\n }\n });\n};\n\nconst listToValue = (value) => {\n return (value || []).slice(0).filter(({status}) => status === 'done').map(({response}) => response.results);\n};\n\nconst _Upload = ({action, value, onChange, drag, children, displayFilename, accept, fileSize: size, onError, onUploadComplete, onBeforeUpload, maxLength, transformResponse, ...props}) => {\n const [list, setList] = useState([]);\n const valueList = useMemo(() => {\n return valueToList(value.filter((url) => {\n return !list.find((file) => get(file, 'response.results') === url);\n })).concat(list);\n }, [list, value, displayFilename]);\n const changeHandler = (info) => {\n if (['uploading', 'done', 'error', 'removed'].indexOf(info.file.status) === -1) {\n return;\n }\n if (info.fileList.length > maxLength) {\n onError(`上传文件不能超过最大允许数量${maxLength}`, 'xhrError', maxLength);\n return;\n }\n if (info.file.status === 'done') {\n info.file.response = (transformResponse || uploadParams.transformResponse)(info.file.response);\n if (info.file.response.code === 200) {\n info.file.name = computedFilename(info.file.response.results.substr(info.file.response.results.lastIndexOf('/') + 1), displayFilename);\n onUploadComplete(info);\n } else {\n info.file.status = 'error';\n onError(info.file.response.msg, 'xhrError', info.file.response);\n }\n }\n const {done} = groupBy(info.fileList, (file) => file.status === 'done' ? 'done' : 'uploading');\n if (['done', 'removed'].indexOf(info.file.status) > -1) {\n onChange(listToValue(done));\n }\n setList(info.fileList);\n };\n const beforeUploadHandler = (file) => {\n const isLt = file.size / 1024 / 1024 < size;\n if (!isLt) {\n onError(`文件不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\n return false;\n }\n if (maxLength === 1) {\n onChange([]);\n setList([]);\n }\n return onBeforeUpload && onBeforeUpload(file);\n };\n const UploadComponent = drag ? Dragger : Upload;\n return <UploadComponent {...props} action={action || uploadParams.action} fileList={valueList}\n accept={accept.join(',')} onChange={changeHandler} beforeUpload={beforeUploadHandler}>\n {children}\n </UploadComponent>\n};\n\n_Upload.defaultProps = {\n value: [],\n accept: [],\n fileSize: 2,\n maxLength: 1,\n displayFilename: 'filename',\n children: <Button><UploadOutlined/>点击上传</Button>,\n onError: (info) => message.error(info),\n onUploadComplete: () => {\n }\n};\n\nconst UploadInput = (props) => {\n const render = useOnChange(props);\n return render(_Upload);\n};\n\n\nUploadInput.field = _Upload;\n\nexport default UploadInput;\n","import React from 'react';\nimport {useSubmit} from '@kne/react-form';\nimport {Button} from 'antd';\n\nconst SubmitButton = (props) => {\n const {isPass, isLoading,...submitProps} = useSubmit(props);\n return (\n <Button loading={isLoading} {...submitProps} {...props}/>\n );\n};\n\nexport default SubmitButton;\n","import React from 'react';\nimport {useReset} from '@kne/react-form';\nimport {Button} from 'antd';\n\nconst ResetButton = (props) => {\n const resetProps = useReset();\n return (\n <Button {...resetProps} {...props}/>\n );\n};\n\nexport default ResetButton;\n","import React from 'react';\nimport {Modal, Space} from 'antd';\nimport SubmitButton from './SubmitButton';\nimport ResetButton from './ResetButton';\nimport Form from \"./Form\";\nimport {withFetch} from '@kne/react-fetch';\nimport classnames from 'classnames';\n\nconst FetchForm = withFetch(Form);\n\nconst CommonModal = ({formProps, footer, children}) => {\n const TargetForm = formProps.hasOwnProperty('url') ? FetchForm : Form;\n return <TargetForm {...formProps}>\n <div className=\"ant-modal-body\">\n {children}\n </div>\n <div className=\"ant-modal-footer\">\n {footer ? footer : <Space>\n <ResetButton>重置</ResetButton>\n <SubmitButton type=\"primary\">确定</SubmitButton>\n </Space>}\n </div>\n </TargetForm>;\n};\n\nconst FormModal = ({className, formProps = {}, footer, children, ...props}) => {\n return <Modal {...props} className={classnames(className, 'react-form-modal')} footer={null}>\n <CommonModal formProps={formProps} footer={footer}>{children}</CommonModal>\n </Modal>\n};\n\nFormModal.modal = ({className, title, formProps = {}, footer, content, ...props}) => Modal.info({\n ...props,\n title: title ? <div className=\"ant-modal-header\">\n <div className=\"ant-modal-title\">{title}</div>\n </div> : null,\n className: classnames(className, 'react-form-modal'),\n content: <CommonModal formProps={formProps} footer={footer}>{content}</CommonModal>,\n icon: null,\n footer: null\n});\n\nexport default FormModal;\n","import Form from './Form';\n\nimport Avatar$ from './fields/Avatar';\nimport Cascader$ from './fields/Cascader';\nimport Checkbox$ from './fields/Checkbox';\nimport CheckboxGroup$ from './fields/CheckboxGroup';\nimport DatePicker$ from './fields/DatePicker';\nimport DatePickerToday$ from './fields/DatePickerToday';\nimport Input$ from './fields/Input';\nimport InputNumber$ from './fields/InputNumber';\nimport RadioGroup$ from './fields/RadioGroup';\nimport Select$ from './fields/Select';\nimport SelectFetch$ from './fields/SelectFetch';\nimport Switch$ from './fields/Switch';\nimport TextArea$ from './fields/TextArea';\nimport TimePicker$ from './fields/TimePicker';\nimport TreeSelect$ from './fields/TreeSelect';\nimport Upload$ from './fields/Upload';\n\nexport * from './Form';\nexport default Form;\nexport {default as preset} from './preset';\nexport {default as FormModal} from './FormModal';\nexport {default as ResetButton} from './ResetButton';\nexport {default as SubmitButton} from './SubmitButton';\n\nexport const Avatar = Avatar$;\nexport const Cascader = Cascader$;\nexport const Checkbox = Checkbox$;\nexport const CheckboxGroup = CheckboxGroup$;\nexport const DatePicker = DatePicker$;\nexport const DatePickerToday = DatePickerToday$;\nexport const Input = Input$;\nexport const InputNumber = InputNumber$;\nexport const RadioGroup = RadioGroup$;\nexport const Select = Select$;\nexport const SelectFetch = SelectFetch$;\nexport const Switch = Switch$;\nexport const TextArea = TextArea$;\nexport const TimePicker = TimePicker$;\nexport const TreeSelect = TreeSelect$;\nexport const Upload = Upload$;\n\nexport const fields = { Avatar, Cascader, Checkbox, CheckboxGroup, DatePicker, DatePickerToday, Input, InputNumber, RadioGroup, Select, SelectFetch, Switch, TextArea, TimePicker, TreeSelect, Upload };"],"names":["ScrollToError","EnterSubmit","FormStore","MaxLabelProvider","SizeProvider","widget","Form","forwardRef","ref","className","cache","enterSubmit","scrollToError","scrollProps","type","size","children","props","computedClass","maxLabel","classnames","e","preventDefault","stopPropagation","ReactForm","defaultProps","block","propTypes","PropTypes","string","oneOf","bool","shape","behavior","inline","globalParams","rules","field","upload","action","transformResponse","response","targetPath","get","filename","code","msg","results","encodeURIComponent","avatar","merge","presetRules","useOnChange","hooks","avatarParams","_Avatar","value","imageUrl","onChange","propsChange","beforeUpload","onBeforeUpload","imageType","fileSize","onError","editor","loading","setLoading","useState","showImageUrl","setImageUrl","editorRef","useRef","useEffect","dataURLtoBlob","dataurl","arr","split","_arr","substring","length","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","Blob","AvatarEditorBox","file","rotate","setRotate","scale","setScale","width","height","v","console","log","onChangeScale","borderRadius","uploadButton","Promise","resolve","reject","isJpgOrPng","indexOf","map","str","replace","join","fileType","isLt","open","Modal","success","icon","content","okText","text","onOk","close","base64","current","getImage","toDataURL","blob","files","window","File","name","info","status","Upload","message","error","AvatarInput","render","Cascader","_Cascader","useCheckedToValue","withChecked","hoc","WithCheckbox","_Checkbox","Checkbox","checkedProps","_CheckboxGroup","Group","CheckboxGroup","MonthPicker","RangePicker","WeekPicker","DatePicker","_DatePicker","_MonthPicker","_RangePicker","_WeekPicker","PickerToday","data","useControlValue","ref_d","newData","useMemo","s","d","p","start","moment","end","showZj","placeholder","startChange","isBefore","endChange","foot","blur","display","showToday","RangePickerToday","useDecorator","InputField","Input","autoComplete","InputNumberField","InputNumber","RadioGroup","handler","useCallback","target","_RadioGroup","Radio","_Select","Select","Option","OptGroup","_SelectFetch","withFetch","setData","refresh","isLoading","SelectFetch","WithSwitch","_Switch","Switch","TextArea","TimePicker","_TimePicker","_TreeSelect","TreeSelect","TreeNode","Dragger","uploadParams","computedFilename","path","displayFilename","strArray","query","forEach","key","decodeURIComponent","valueToList","item","uid","uniqueId","substr","lastIndexOf","listToValue","slice","filter","_Upload","drag","accept","onUploadComplete","maxLength","list","setList","valueList","url","find","concat","changeHandler","fileList","done","groupBy","beforeUploadHandler","UploadComponent","UploadInput","SubmitButton","useSubmit","submitProps","ResetButton","resetProps","useReset","FetchForm","CommonModal","formProps","footer","TargetForm","hasOwnProperty","FormModal","modal","title","Avatar","Avatar$","Cascader$","Checkbox$","CheckboxGroup$","DatePicker$","DatePickerToday","DatePickerToday$","Input$","InputNumber$","RadioGroup$","Select$","SelectFetch$","Switch$","TextArea$","TimePicker$","TreeSelect$","Upload$","fields"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/Form.js","../src/preset.js","../src/fields/Avatar.js","../src/fields/Cascader.js","../src/fields/Checkbox.js","../src/fields/CheckboxGroup.js","../src/fields/DatePicker.js","../src/fields/DatePickerToday.js","../src/fields/Input.js","../src/fields/InputNumber.js","../src/fields/RadioGroup.js","../src/fields/Select.js","../src/fields/SelectFetch.js","../src/fields/Switch.js","../src/fields/TextArea.js","../src/fields/TimePicker.js","../src/fields/TreeSelect.js","../src/fields/Upload.js","../src/SubmitButton.js","../src/ResetButton.js","../src/FormModal.js","../src/index.js"],"sourcesContent":["import React, {forwardRef} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport ReactForm from '@kne/react-form';\r\nimport {widget} from '@kne/react-form-helper';\r\nimport './assets/index.scss';\r\n\r\nexport * from '@kne/react-form';\r\nexport {hooks, widget, utils} from '@kne/react-form-helper';\r\n\r\nconst {ScrollToError, EnterSubmit, FormStore, MaxLabelProvider, SizeProvider} = widget;\r\n\r\nconst Form = forwardRef(({className, cache, enterSubmit, scrollToError, scrollProps, type, size, children, ...props}, ref) => {\r\n let computedClass = 'react-form';\r\n if (type !== 'default') {\r\n computedClass += `--${type}`;\r\n }\r\n\r\n if (size !== 'middle') {\r\n computedClass += `--${size}`;\r\n }\r\n\r\n const maxLabel = <MaxLabelProvider>\r\n {children}\r\n </MaxLabelProvider>;\r\n\r\n return (\r\n <form className={classnames(computedClass, className)} onSubmit={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }}>\r\n <SizeProvider value={{size}}>\r\n <ReactForm {...props} ref={ref}>\r\n {cache ? <FormStore cache={cache}/> : null}\r\n {scrollToError ? <ScrollToError scrollProps={scrollProps}/> : null}\r\n {enterSubmit ? <EnterSubmit>\r\n {maxLabel}\r\n </EnterSubmit> : maxLabel}\r\n </ReactForm>\r\n </SizeProvider>\r\n </form>\r\n );\r\n});\r\n\r\nForm.defaultProps = {\r\n type: 'default',\r\n size: 'middle',\r\n scrollToError: true,\r\n enterSubmit: false,\r\n scrollProps: {\r\n block: 'center'\r\n }\r\n};\r\n\r\nForm.propTypes = {\r\n className: PropTypes.string,\r\n type: PropTypes.oneOf(['inline', 'default', 'inner']),\r\n size: PropTypes.oneOf(['small', 'middle', 'large']),\r\n enterSubmit: PropTypes.bool,\r\n scrollToError: PropTypes.bool,\r\n scrollProps: PropTypes.shape({\r\n block: PropTypes.oneOf(['start', 'center', 'end', 'nearest']),\r\n behavior: PropTypes.oneOf(['auto', 'smooth']),\r\n inline: PropTypes.oneOf(['start', 'center', 'end', 'nearest'])\r\n })\r\n};\r\n\r\nexport default Form;","import {preset as presetRules} from '@kne/react-form';\r\nimport merge from 'lodash/merge';\r\nimport get from \"lodash/get\";\r\n\r\nexport const globalParams = {\r\n rules: {},\r\n field: {\r\n upload: {\r\n displayFilename: 'filename',\r\n action: '/open-api/upload_static_file/interview-manager',\r\n transformResponse: (response) => {\r\n const targetPath = get(response, 'results[0].targetPath');\r\n const filename = get(response, 'results[0].filename');\r\n return {\r\n code: response.code,\r\n msg: response.msg,\r\n results: targetPath + (filename ? `?${globalParams.field.upload.displayFilename}=` + encodeURIComponent(filename) : '')\r\n };\r\n }\r\n },\r\n avatar: {\r\n transformResponse: (response) => {\r\n return {\r\n code: response.code,\r\n results: response.results,\r\n msg: response.msg\r\n }\r\n },\r\n action: '/upload'\r\n }\r\n }\r\n};\r\n\r\nexport default (props) => {\r\n merge(globalParams, props);\r\n presetRules(globalParams.rules);\r\n};\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { Upload, message, Modal, Slider, Row, Col, Space } from \"antd\";\r\nimport { globalParams } from \"../preset\";\r\nimport classnames from \"classnames\";\r\nimport {\r\n PlusOutlined, LoadingOutlined\r\n} from \"@ant-design/icons\";\r\nimport AvatarEditor from \"react-avatar-editor\";\r\nimport { hooks } from \"@kne/react-form-helper\";\r\n\r\nconst { useOnChange } = hooks;\r\nconst avatarParams = globalParams.field.avatar;\r\n\r\n\r\nconst _Avatar = ({\r\n className,\r\n value: imageUrl,\r\n onChange: propsChange,\r\n beforeUpload: onBeforeUpload,\r\n transformResponse,\r\n action,\r\n imageType,\r\n fileSize: size,\r\n children,\r\n onError,\r\n editor,\r\n previewImg,\r\n previewRender\r\n }) => {\r\n const [loading, setLoading] = useState(false);\r\n const [showImageUrl, setImageUrl] = useState(imageUrl);\r\n const editorRef = useRef();\r\n\r\n useEffect(() => {\r\n setImageUrl(imageUrl);\r\n }, [imageUrl]);\r\n\r\n /* base64转blob */\r\n const dataURLtoBlob = (dataurl) => {\r\n let arr = dataurl.split(\",\");\r\n // 注意base64的最后面中括号和引号是不转译的\r\n let _arr = arr[1].substring(0, arr[1].length - 2);\r\n let mime = arr[0].match(/:(.*?);/)[1], bstr = atob(_arr), n = bstr.length, u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new Blob([u8arr], {\r\n type: mime\r\n });\r\n };\r\n\r\n\r\n const AvatarEditorBox = ({ file }) => {\r\n const [rotate, setRotate] = useState(0);\r\n const [scale, setScale] = useState(() => {\r\n if (editor.width === editor.height) {\r\n return 1;\r\n }\r\n return 0.35;\r\n });\r\n\r\n const onChange = (v) => {\r\n console.log(v);\r\n setRotate(v);\r\n };\r\n const onChangeScale = (v) => {\r\n console.log(v);\r\n setScale(v);\r\n };\r\n return (<div style={{\r\n \"width\": editor.width, \"margin\": \"auto\"\r\n }}>\r\n <AvatarEditor\r\n ref={editorRef}\r\n image={file}\r\n width={editor.width}\r\n height={editor.height}\r\n border={1}\r\n borderRadius={editor.borderRadius}\r\n color={[24, 144, 255, 1]} // RGBA\r\n scale={scale}\r\n rotate={rotate}\r\n />\r\n <Row gutter={4}>\r\n <Col span={4}><span>旋转</span></Col>\r\n <Col span={15}>\r\n <Slider tooltipVisible={false} defaultValue={rotate} min={-180} max={180} onChange={onChange} />\r\n </Col>\r\n </Row>\r\n <Row gutter={4}>\r\n <Col span={4}><span>放大</span></Col>\r\n <Col span={15}>\r\n <Slider tooltipVisible={false} defaultValue={scale} step={0.05} min={0.2} max={3}\r\n onChange={onChangeScale} />\r\n </Col>\r\n </Row>\r\n </div>);\r\n };\r\n\r\n const uploadButton = (<div>\r\n {loading ? <LoadingOutlined /> : <PlusOutlined />}\r\n {children}\r\n </div>);\r\n\r\n const beforeUpload = async (file) => {\r\n return new Promise((resolve, reject) => {\r\n\r\n console.log(\"文件\", file);\r\n const isJpgOrPng = imageType.indexOf(file.type) > -1;\r\n if (!isJpgOrPng) {\r\n onError(`只支持${imageType.map((str) => str.replace(\"image/\", \"\")).join(\"/\")}格式图片!`, \"typeError\", {\r\n type: imageType, fileType: file.type\r\n });\r\n reject();\r\n return false;\r\n }\r\n const isLt = file.size / 1024 / 1024 < size;\r\n if (!isLt) {\r\n onError(`图片不能超过${size}MB!`, \"sizeError\", { size, fileSize: file.size });\r\n reject();\r\n return false;\r\n }\r\n\r\n /*剪切图像*/\r\n // editor:{open:false,width:250,height:250,borderRadius:0-100,text:'剪切'}\r\n if (editor.open) {\r\n Modal.success({\r\n // title: '剪切图像',\r\n icon: \"\",\r\n width: editor.width * 2,\r\n content: <AvatarEditorBox file={file} />,\r\n okText: editor.text,\r\n onOk: (close) => {\r\n // console.log(editorRef.current);\r\n let base64 = editorRef.current.getImage().toDataURL();\r\n setImageUrl(base64);\r\n let blob = dataURLtoBlob(base64);\r\n const files = new window.File([blob], file.name, { type: file.type });\r\n onBeforeUpload && onBeforeUpload(files);\r\n resolve(files);\r\n // console.log(files);\r\n close();\r\n }\r\n });\r\n } else {\r\n onBeforeUpload && onBeforeUpload(file);\r\n resolve(file);\r\n // return onBeforeUpload && onBeforeUpload(file);\r\n }\r\n });\r\n\r\n };\r\n\r\n const onChange = (info) => {\r\n if (info.file.status === \"uploading\") {\r\n setLoading(true);\r\n return;\r\n }\r\n if (info.file.status === \"done\") {\r\n setLoading(false);\r\n const response = (transformResponse || avatarParams.transformResponse)(info.file.response);\r\n if (response.code === 200) {\r\n propsChange(response.results);\r\n } else {\r\n onError(response.msg, \"xhrError\", response);\r\n }\r\n }\r\n };\r\n\r\n return (<>\r\n <Upload className={classnames(className, \"react-form-avatar\")} listType=\"picture-card\"\r\n showUploadList={false}\r\n action={action || avatarParams.action}\r\n beforeUpload={beforeUpload} onChange={onChange}>\r\n {previewImg && showImageUrl ? previewRender ? previewRender(showImageUrl) :\r\n <div className=\"preview\"><img src={showImageUrl} alt=\"avatar\" /></div> : uploadButton}\r\n </Upload>\r\n </>);\r\n};\r\n\r\n_Avatar.defaultProps = {\r\n imageType: [\"image/jpeg\", \"image/png\"],\r\n fileSize: 2, // 单位MB\r\n children: <div className=\"ant-upload-text\">点击上传</div>,\r\n onError: (info) => message.error(info),\r\n previewImg: true,\r\n previewRender: null,\r\n editor: { open: false, width: 250, height: 250, borderRadius: 1, text: \"剪切\" }\r\n};\r\n\r\nconst AvatarInput = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Avatar);\r\n};\r\n\r\nAvatarInput.field = _Avatar;\r\n\r\nexport default AvatarInput;\r\n","import {Cascader as _Cascader} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst Cascader = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Cascader);\r\n};\r\n\r\nexport default Cascader;\r\n\r\n","import {Checkbox as _Checkbox} from 'antd';\r\nimport {hooks, hoc} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange, useCheckedToValue} = hooks;\r\nconst {withChecked} = hoc;\r\n\r\nconst WithCheckbox = withChecked(_Checkbox);\r\n\r\nconst Checkbox = (props) => {\r\n const checkedProps = useCheckedToValue(props);\r\n const render = useOnChange(checkedProps);\r\n return render(WithCheckbox);\r\n};\r\n\r\nexport default Checkbox;\r\n","import {Checkbox} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _CheckboxGroup = Checkbox.Group;\r\n\r\nconst CheckboxGroup = (props) => {\r\n const render = useOnChange(props);\r\n return render(_CheckboxGroup);\r\n};\r\n\r\nCheckboxGroup.Checkbox = Checkbox;\r\n\r\nexport default CheckboxGroup;\r\n","import {DatePicker} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {MonthPicker, RangePicker, WeekPicker} = DatePicker;\r\n\r\nconst _DatePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(DatePicker);\r\n};\r\n\r\nconst _MonthPicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(MonthPicker);\r\n};\r\n\r\nconst _RangePicker = (props) => {\r\n const render = useOnChange(props);\r\n // if(props.selectToday){\r\n // return render(RangePickerToday);\r\n // }\r\n return render(RangePicker);\r\n};\r\n\r\nconst _WeekPicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(WeekPicker);\r\n};\r\n\r\n_DatePicker.MonthPicker = _MonthPicker;\r\n_DatePicker.RangePicker = _RangePicker;\r\n_DatePicker.WeekPicker = _WeekPicker;\r\n\r\n\r\nexport default _DatePicker;\r\n","import {Button, DatePicker} from 'antd';\r\nimport React, {useRef, useEffect, useMemo} from 'react'\r\nimport moment from 'moment'\r\nimport get from 'lodash/get'\r\nimport useControlValue from '@kne/use-control-value'\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst PickerToday = (props) => {\r\n // console.log('>>>>data', data);\r\n const [data, onChange] = useControlValue(props);\r\n const ref_d = useRef();\r\n const newData = useMemo(() => {\r\n // console.log('......', data);\r\n const s = get(data, 0, '');\r\n const d = get(data, 1, '');\r\n const p = get(props, ['placeholder'], ['开始日期', '结束日期']);\r\n return {\r\n start: s ? moment(s) : '',\r\n end: d === '至今' ? moment('2099-09-09') : (d ? moment(d) : ''),\r\n showZj: d === '至今',\r\n placeholder: p\r\n }\r\n }, [data]);\r\n\r\n const startChange = (v) => {\r\n // 比较日期大小\r\n if (!newData.showZj && newData.end && v && newData.end.isBefore(v)) {\r\n onChange([newData.end, v]);\r\n return\r\n }\r\n onChange([v || '', newData.showZj ? '至今' : newData.end]);\r\n };\r\n\r\n const endChange = (v) => {\r\n if (newData.start && v && v.isBefore(newData.start)) {\r\n onChange([v, newData.start]);\r\n return\r\n }\r\n onChange([newData.start, v || '']);\r\n };\r\n\r\n const foot = () => {\r\n return (\r\n <Button onClick={(v) => {\r\n ref_d.current.blur();\r\n onChange([newData.start || '', '至今']);\r\n }}>\r\n 至今\r\n </Button>\r\n )\r\n }\r\n return (\r\n <div style={{display: 'flex'}}>\r\n <DatePicker {...{showToday: false, ...props, placeholder: newData.placeholder[0], value: newData.start}}\r\n onChange={startChange}/>\r\n <div className={'svg_box'}>\r\n <svg viewBox=\"0 0 1024 1024\" focusable=\"false\" data-icon=\"swap-right\" width=\"1em\" height=\"1em\"\r\n fill=\"currentColor\" aria-hidden=\"true\">\r\n <path\r\n d=\"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\"/>\r\n </svg>\r\n </div>\r\n <div className={newData.showZj ? 'data_range_picker data_range_picker_dis' : 'data_range_picker'}>\r\n <span className={newData.showZj ? 'zhijin zhijin_show' : 'zhijin'}>至今</span>\r\n <DatePicker {...{\r\n showToday: false,\r\n ...props,\r\n placeholder: newData.showZj ? '' : newData.placeholder[1],\r\n value: newData.end\r\n }} ref={ref_d}\r\n onChange={endChange} renderExtraFooter={foot}/>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n\r\nconst RangePickerToday = (props) => {\r\n const render = useOnChange(props);\r\n return render(PickerToday);\r\n};\r\n\r\nRangePickerToday.field = PickerToday;\r\n\r\nexport default RangePickerToday;\r\n","import {Input} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst InputField = (props) => {\r\n const render = useDecorator(props);\r\n return render(Input);\r\n};\r\n\r\nInputField.defaultProps = {\r\n autoComplete: 'off'\r\n};\r\n\r\nexport default InputField;\r\n","import {InputNumber} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst InputNumberField = (props) => {\r\n const render = useDecorator(props);\r\n return render(InputNumber);\r\n};\r\n\r\nInputNumberField.defaultProps = {\r\n autoComplete: 'off'\r\n};\r\n\r\nexport default InputNumberField;\r\n","import React, {useCallback} from 'react';\r\nimport {Radio} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst RadioGroup = ({onChange, ...props})=>{\r\n const handler = useCallback((e) => {\r\n onChange && onChange(e.target.value);\r\n }, [onChange]);\r\n return <Radio.Group {...props} onChange={handler}/>\r\n};\r\n\r\nconst _RadioGroup = (props) => {\r\n const render = useOnChange(props);\r\n return render(RadioGroup);\r\n};\r\n\r\n_RadioGroup.Radio = Radio;\r\n\r\nexport default _RadioGroup;\r\n","import {Select} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _Select = (props) => {\r\n const render = useOnChange(props);\r\n return render(Select);\r\n};\r\n\r\n_Select.Option = Select.Option;\r\n_Select.OptGroup = Select.OptGroup;\r\n\r\nexport default _Select;\r\n","import React from 'react';\r\nimport {Select} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\nimport {withFetch} from '@kne/react-fetch';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _SelectFetch = withFetch(({data, setData, refresh, isLoading, children, ...props}) => {\r\n return <Select {...props}>{children({data, refresh, isLoading, setData})}</Select>;\r\n});\r\n\r\nconst SelectFetch = (props) => {\r\n const render = useOnChange(props);\r\n return render(_SelectFetch);\r\n};\r\n\r\nSelectFetch.Option = Select.Option;\r\nSelectFetch.OptGroup = Select.OptGroup;\r\n\r\nexport default SelectFetch;\r\n","import {Switch as _Switch} from 'antd';\r\nimport {hooks, hoc} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange, useCheckedToValue} = hooks;\r\nconst {withChecked} = hoc;\r\nconst WithSwitch = withChecked(_Switch);\r\n\r\nconst Switch = (props) => {\r\n const checkedProps = useCheckedToValue(props);\r\n const render = useOnChange(checkedProps);\r\n return render(WithSwitch);\r\n};\r\n\r\nexport default Switch;\r\n","import {Input} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useDecorator} = hooks;\r\n\r\nconst TextArea = (props) => {\r\n const render = useDecorator(props);\r\n return render(Input.TextArea);\r\n};\r\n\r\nexport default TextArea;\r\n","import {TimePicker} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {RangePicker} = TimePicker;\r\n\r\nconst _TimePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(TimePicker);\r\n};\r\n\r\nconst _RangePicker = (props) => {\r\n const render = useOnChange(props);\r\n return render(RangePicker);\r\n};\r\n\r\n_TimePicker.RangePicker = _RangePicker;\r\n\r\nexport default _TimePicker;\r\n","import {TreeSelect} from 'antd';\r\nimport {hooks} from '@kne/react-form-helper';\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst _TreeSelect = (props) => {\r\n const render = useOnChange(props);\r\n return render(TreeSelect);\r\n};\r\n\r\n_TreeSelect.TreeNode = TreeSelect.TreeNode;\r\n\r\nexport default _TreeSelect;\r\n","import React, {useState, useMemo} from 'react';\r\nimport {Upload, message, Button} from 'antd';\r\nimport {\r\n UploadOutlined\r\n} from '@ant-design/icons';\r\nimport get from 'lodash/get';\r\nimport groupBy from 'lodash/groupBy';\r\nimport uniqueId from 'lodash/uniqueId';\r\nimport {hooks} from '@kne/react-form-helper';\r\nimport {globalParams} from \"../preset\";\r\n\r\nconst {useOnChange} = hooks;\r\n\r\nconst {Dragger} = Upload;\r\n\r\nconst uploadParams = globalParams.field.upload;\r\n\r\nconst computedFilename = (path, displayFilename = 'filename') => {\r\n const strArray = path.split('?');\r\n if (strArray[1]) {\r\n const query = {};\r\n strArray[1].split('&').forEach((str) => {\r\n const [key, value] = str.split('=');\r\n query[key] = value;\r\n });\r\n if (query[displayFilename]) {\r\n return decodeURIComponent(query[displayFilename]);\r\n }\r\n }\r\n return path;\r\n};\r\n\r\nconst valueToList = (value, displayFilename) => {\r\n if (!value) {\r\n return [];\r\n }\r\n return value.map((item) => {\r\n return {\r\n uid: uniqueId(),\r\n name: computedFilename(item.substr(item.lastIndexOf('/') + 1), displayFilename),\r\n status: 'done',\r\n response: {code: 200, results: item}\r\n }\r\n });\r\n};\r\n\r\nconst listToValue = (value) => {\r\n return (value || []).slice(0).filter(({status}) => status === 'done').map(({response}) => response.results);\r\n};\r\n\r\nconst _Upload = ({action, value, onChange, drag, children, displayFilename, accept, fileSize: size, onError, onUploadComplete, onBeforeUpload, maxLength, transformResponse, ...props}) => {\r\n displayFilename = displayFilename || uploadParams.displayFilename;\r\n const [list, setList] = useState([]);\r\n const valueList = useMemo(() => {\r\n return valueToList(value.filter((url) => {\r\n return !list.find((file) => get(file, 'response.results') === url);\r\n }), displayFilename).concat(list);\r\n }, [list, value, displayFilename]);\r\n const changeHandler = (info) => {\r\n if (['uploading', 'done', 'error', 'removed'].indexOf(info.file.status) === -1) {\r\n return;\r\n }\r\n if (info.fileList.length > maxLength) {\r\n onError(`上传文件不能超过最大允许数量${maxLength}`, 'xhrError', maxLength);\r\n return;\r\n }\r\n if (info.file.status === 'done') {\r\n info.file.response = (transformResponse || uploadParams.transformResponse)(info.file.response);\r\n if (info.file.response.code === 200) {\r\n info.file.name = computedFilename(info.file.response.results.substr(info.file.response.results.lastIndexOf('/') + 1), displayFilename);\r\n onUploadComplete(info);\r\n } else {\r\n info.file.status = 'error';\r\n onError(info.file.response.msg, 'xhrError', info.file.response);\r\n }\r\n }\r\n const {done} = groupBy(info.fileList, (file) => file.status === 'done' ? 'done' : 'uploading');\r\n if (['done', 'removed'].indexOf(info.file.status) > -1) {\r\n onChange(listToValue(done));\r\n }\r\n setList(info.fileList);\r\n };\r\n const beforeUploadHandler = (file) => {\r\n const isLt = file.size / 1024 / 1024 < size;\r\n if (!isLt) {\r\n onError(`文件不能超过${size}MB!`, 'sizeError', {size, fileSize: file.size});\r\n return false;\r\n }\r\n if (maxLength === 1) {\r\n onChange([]);\r\n setList([]);\r\n }\r\n return onBeforeUpload && onBeforeUpload(file);\r\n };\r\n const UploadComponent = drag ? Dragger : Upload;\r\n return <UploadComponent {...props} action={action || uploadParams.action} fileList={valueList}\r\n accept={accept.join(',')} onChange={changeHandler} beforeUpload={beforeUploadHandler}>\r\n {children}\r\n </UploadComponent>\r\n};\r\n\r\n_Upload.defaultProps = {\r\n value: [],\r\n accept: [],\r\n fileSize: 2,\r\n maxLength: 1,\r\n children: <Button><UploadOutlined/>点击上传</Button>,\r\n onError: (info) => message.error(info),\r\n onUploadComplete: () => {\r\n }\r\n};\r\n\r\nconst UploadInput = (props) => {\r\n const render = useOnChange(props);\r\n return render(_Upload);\r\n};\r\n\r\n\r\nUploadInput.field = _Upload;\r\n\r\nexport default UploadInput;\r\n","import React from 'react';\r\nimport {useSubmit} from '@kne/react-form';\r\nimport {Button} from 'antd';\r\n\r\nconst SubmitButton = (props) => {\r\n const {isPass, isLoading,...submitProps} = useSubmit(props);\r\n return (\r\n <Button loading={isLoading} {...submitProps} {...props}/>\r\n );\r\n};\r\n\r\nexport default SubmitButton;\r\n","import React from 'react';\r\nimport {useReset} from '@kne/react-form';\r\nimport {Button} from 'antd';\r\n\r\nconst ResetButton = (props) => {\r\n const resetProps = useReset();\r\n return (\r\n <Button {...resetProps} {...props}/>\r\n );\r\n};\r\n\r\nexport default ResetButton;\r\n","import React from 'react';\r\nimport {Modal, Space} from 'antd';\r\nimport SubmitButton from './SubmitButton';\r\nimport ResetButton from './ResetButton';\r\nimport Form from \"./Form\";\r\nimport {withFetch} from '@kne/react-fetch';\r\nimport classnames from 'classnames';\r\n\r\nconst FetchForm = withFetch(Form);\r\n\r\nconst CommonModal = ({formProps, footer, children}) => {\r\n const TargetForm = formProps.hasOwnProperty('url') ? FetchForm : Form;\r\n return <TargetForm {...formProps}>\r\n <div className=\"ant-modal-body\">\r\n {children}\r\n </div>\r\n <div className=\"ant-modal-footer\">\r\n {footer ? footer : <Space>\r\n <ResetButton>重置</ResetButton>\r\n <SubmitButton type=\"primary\">确定</SubmitButton>\r\n </Space>}\r\n </div>\r\n </TargetForm>;\r\n};\r\n\r\nconst FormModal = ({className, formProps = {}, footer, children, ...props}) => {\r\n return <Modal {...props} className={classnames(className, 'react-form-modal')} footer={null}>\r\n <CommonModal formProps={formProps} footer={footer}>{children}</CommonModal>\r\n </Modal>\r\n};\r\n\r\nFormModal.modal = ({className, title, formProps = {}, footer, content, ...props}) => Modal.info({\r\n ...props,\r\n title: title ? <div className=\"ant-modal-header\">\r\n <div className=\"ant-modal-title\">{title}</div>\r\n </div> : null,\r\n className: classnames(className, 'react-form-modal'),\r\n content: <CommonModal formProps={formProps} footer={footer}>{content}</CommonModal>,\r\n icon: null,\r\n footer: null\r\n});\r\n\r\nexport default FormModal;\r\n","import Form from './Form';\r\n\r\nimport Avatar$ from './fields/Avatar';\r\nimport Cascader$ from './fields/Cascader';\r\nimport Checkbox$ from './fields/Checkbox';\r\nimport CheckboxGroup$ from './fields/CheckboxGroup';\r\nimport DatePicker$ from './fields/DatePicker';\r\nimport DatePickerToday$ from './fields/DatePickerToday';\r\nimport Input$ from './fields/Input';\r\nimport InputNumber$ from './fields/InputNumber';\r\nimport RadioGroup$ from './fields/RadioGroup';\r\nimport Select$ from './fields/Select';\r\nimport SelectFetch$ from './fields/SelectFetch';\r\nimport Switch$ from './fields/Switch';\r\nimport TextArea$ from './fields/TextArea';\r\nimport TimePicker$ from './fields/TimePicker';\r\nimport TreeSelect$ from './fields/TreeSelect';\r\nimport Upload$ from './fields/Upload';\r\n\r\nexport * from './Form';\r\nexport default Form;\r\nexport {default as preset} from './preset';\r\nexport {default as FormModal} from './FormModal';\r\nexport {default as ResetButton} from './ResetButton';\r\nexport {default as SubmitButton} from './SubmitButton';\r\n\r\nexport const Avatar = Avatar$;\r\nexport const Cascader = Cascader$;\r\nexport const Checkbox = Checkbox$;\r\nexport const CheckboxGroup = CheckboxGroup$;\r\nexport const DatePicker = DatePicker$;\r\nexport const DatePickerToday = DatePickerToday$;\r\nexport const Input = Input$;\r\nexport const InputNumber = InputNumber$;\r\nexport const RadioGroup = RadioGroup$;\r\nexport const Select = Select$;\r\nexport const SelectFetch = SelectFetch$;\r\nexport const Switch = Switch$;\r\nexport const TextArea = TextArea$;\r\nexport const TimePicker = TimePicker$;\r\nexport const TreeSelect = TreeSelect$;\r\nexport const Upload = Upload$;\r\n\r\nexport const fields = { Avatar, Cascader, Checkbox, CheckboxGroup, DatePicker, DatePickerToday, Input, InputNumber, RadioGroup, Select, SelectFetch, Switch, TextArea, TimePicker, TreeSelect, Upload };"],"names":["ScrollToError","EnterSubmit","FormStore","MaxLabelProvider","SizeProvider","widget","Form","forwardRef","ref","className","cache","enterSubmit","scrollToError","scrollProps","type","size","children","props","computedClass","maxLabel","classnames","e","preventDefault","stopPropagation","ReactForm","defaultProps","block","propTypes","PropTypes","string","oneOf","bool","shape","behavior","inline","globalParams","rules","field","upload","displayFilename","action","transformResponse","response","targetPath","get","filename","code","msg","results","encodeURIComponent","avatar","merge","presetRules","useOnChange","hooks","avatarParams","_Avatar","value","imageUrl","onChange","propsChange","beforeUpload","onBeforeUpload","imageType","fileSize","onError","editor","previewImg","previewRender","loading","setLoading","useState","showImageUrl","setImageUrl","editorRef","useRef","useEffect","dataURLtoBlob","dataurl","arr","split","_arr","substring","length","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","Blob","AvatarEditorBox","file","rotate","setRotate","scale","setScale","width","height","v","console","log","onChangeScale","borderRadius","uploadButton","Promise","resolve","reject","isJpgOrPng","indexOf","map","str","replace","join","fileType","isLt","open","Modal","success","icon","content","okText","text","onOk","close","base64","current","getImage","toDataURL","blob","files","window","File","name","info","status","Upload","message","error","AvatarInput","render","Cascader","_Cascader","useCheckedToValue","withChecked","hoc","WithCheckbox","_Checkbox","Checkbox","checkedProps","_CheckboxGroup","Group","CheckboxGroup","MonthPicker","RangePicker","WeekPicker","DatePicker","_DatePicker","_MonthPicker","_RangePicker","_WeekPicker","PickerToday","data","useControlValue","ref_d","newData","useMemo","s","d","p","start","moment","end","showZj","placeholder","startChange","isBefore","endChange","foot","blur","display","showToday","RangePickerToday","useDecorator","InputField","Input","autoComplete","InputNumberField","InputNumber","RadioGroup","handler","useCallback","target","_RadioGroup","Radio","_Select","Select","Option","OptGroup","_SelectFetch","withFetch","setData","refresh","isLoading","SelectFetch","WithSwitch","_Switch","Switch","TextArea","TimePicker","_TimePicker","_TreeSelect","TreeSelect","TreeNode","Dragger","uploadParams","computedFilename","path","strArray","query","forEach","key","decodeURIComponent","valueToList","item","uid","uniqueId","substr","lastIndexOf","listToValue","slice","filter","_Upload","drag","accept","onUploadComplete","maxLength","list","setList","valueList","url","find","concat","changeHandler","fileList","done","groupBy","beforeUploadHandler","UploadComponent","UploadInput","SubmitButton","useSubmit","submitProps","ResetButton","resetProps","useReset","FetchForm","CommonModal","formProps","footer","TargetForm","hasOwnProperty","FormModal","modal","title","Avatar","Avatar$","Cascader$","Checkbox$","CheckboxGroup$","DatePicker$","DatePickerToday","DatePickerToday$","Input$","InputNumber$","RadioGroup$","Select$","SelectFetch$","Switch$","TextArea$","TimePicker$","TreeSelect$","Upload$","fields"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@kne/react-form-antd",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "把@kne/react-form 表单校验逻辑应用到antd",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"module": "dist/index.modern.js",
|
|
7
|
-
"source": "src/index.js",
|
|
8
|
-
"scripts": {
|
|
9
|
-
"init": "npm install && cd example && npm install",
|
|
10
|
-
"create-fields": "node ./scripts/createIndex.js",
|
|
11
|
-
"start": "run-p start:lib start:example",
|
|
12
|
-
"build": "run-s build:lib build:example create-fields",
|
|
13
|
-
"build:lib": "microbundle --no-compress --format modern,cjs --jsx React.createElement --jsxFragment React.Fragment",
|
|
14
|
-
"start:lib": "microbundle watch --no-compress --format modern,cjs --jsx React.createElement --jsxFragment React.Fragment",
|
|
15
|
-
"test": "run-s test:unit test:lint test:build",
|
|
16
|
-
"test:build": "run-s build",
|
|
17
|
-
"test:lint": "eslint .",
|
|
18
|
-
"test:unit": "cross-env CI=1 react-scripts test --env=jsdom",
|
|
19
|
-
"test:watch": "react-scripts test --env=jsdom",
|
|
20
|
-
"build:example": "cd example && npm run build",
|
|
21
|
-
"start:example": "cd example && npm run start",
|
|
22
|
-
"deploy": "gh-pages -d example/build",
|
|
23
|
-
"prettier": "prettier --config .prettierrc --write 'src/**/*.{js,jsx,ts,tsx,json,css,scss,md}'"
|
|
24
|
-
},
|
|
25
|
-
"repository": {
|
|
26
|
-
"type": "git",
|
|
27
|
-
"url": "git+https://github.com/kne-union/react-form-antd.git"
|
|
28
|
-
},
|
|
29
|
-
"husky": {
|
|
30
|
-
"hooks": {
|
|
31
|
-
"pre-commit": "lint-staged"
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
"lint-staged": {
|
|
35
|
-
"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}": [
|
|
36
|
-
"prettier --config .prettierrc --write",
|
|
37
|
-
"git add"
|
|
38
|
-
]
|
|
39
|
-
},
|
|
40
|
-
"files": [
|
|
41
|
-
"dist"
|
|
42
|
-
],
|
|
43
|
-
"keywords": [
|
|
44
|
-
"react",
|
|
45
|
-
"form",
|
|
46
|
-
"validate"
|
|
47
|
-
],
|
|
48
|
-
"author": "linzp",
|
|
49
|
-
"license": "ISC",
|
|
50
|
-
"bugs": {
|
|
51
|
-
"url": "https://github.com/kne-union/react-form-antd/issues"
|
|
52
|
-
},
|
|
53
|
-
"homepage": "https://github.com/kne-union/react-form-antd#readme",
|
|
54
|
-
"peerDependencies": {
|
|
55
|
-
"@kne/react-fetch": "0.1.x",
|
|
56
|
-
"antd": ">=4.x",
|
|
57
|
-
"prop-types": ">=15.x",
|
|
58
|
-
"react": ">=16.x"
|
|
59
|
-
},
|
|
60
|
-
"dependencies": {
|
|
61
|
-
"@ant-design/icons": "^4.2.1",
|
|
62
|
-
"@babel/runtime": "^7.10.3",
|
|
63
|
-
"@kne/react-form": "^2.0.4",
|
|
64
|
-
"@kne/react-form-helper": "^1.0.10",
|
|
65
|
-
"@kne/use-control-value": "^0.1.1",
|
|
66
|
-
"classnames": "^2.2.6",
|
|
67
|
-
"lodash": "^4.17.15",
|
|
68
|
-
"moment": "^2.29.1",
|
|
69
|
-
"react-avatar-editor": "^12.0.0"
|
|
70
|
-
},
|
|
71
|
-
"devDependencies": {
|
|
72
|
-
"@kne/react-fetch": "^0.1.12",
|
|
73
|
-
"antd": "^4.16.13",
|
|
74
|
-
"axios": "^0.21.4",
|
|
75
|
-
"cross-env": "^7.0.3",
|
|
76
|
-
"fs-extra": "^9.0.1",
|
|
77
|
-
"gh-pages": "^3.2.3",
|
|
78
|
-
"glob": "^7.1.6",
|
|
79
|
-
"husky": "^7.0.2",
|
|
80
|
-
"microbundle": "^0.13.3",
|
|
81
|
-
"node-sass": "^6.0.1",
|
|
82
|
-
"npm-run-all": "^4.1.5",
|
|
83
|
-
"pify": "^5.0.0",
|
|
84
|
-
"prettier": "^2.4.1",
|
|
85
|
-
"react": "^17.0.2",
|
|
86
|
-
"react-dom": "^17.0.2",
|
|
87
|
-
"react-scripts": "^4.0.3"
|
|
88
|
-
}
|
|
89
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@kne/react-form-antd",
|
|
3
|
+
"version": "2.0.13-alpha.0.0",
|
|
4
|
+
"description": "把@kne/react-form 表单校验逻辑应用到antd",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.modern.js",
|
|
7
|
+
"source": "src/index.js",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"init": "npm install && cd example && npm install",
|
|
10
|
+
"create-fields": "node ./scripts/createIndex.js",
|
|
11
|
+
"start": "run-p start:lib start:example",
|
|
12
|
+
"build": "run-s build:lib build:example create-fields",
|
|
13
|
+
"build:lib": "microbundle --no-compress --format modern,cjs --jsx React.createElement --jsxFragment React.Fragment",
|
|
14
|
+
"start:lib": "microbundle watch --no-compress --format modern,cjs --jsx React.createElement --jsxFragment React.Fragment",
|
|
15
|
+
"test": "run-s test:unit test:lint test:build",
|
|
16
|
+
"test:build": "run-s build",
|
|
17
|
+
"test:lint": "eslint .",
|
|
18
|
+
"test:unit": "cross-env CI=1 react-scripts test --env=jsdom",
|
|
19
|
+
"test:watch": "react-scripts test --env=jsdom",
|
|
20
|
+
"build:example": "cd example && npm run build",
|
|
21
|
+
"start:example": "cd example && npm run start",
|
|
22
|
+
"deploy": "gh-pages -d example/build",
|
|
23
|
+
"prettier": "prettier --config .prettierrc --write 'src/**/*.{js,jsx,ts,tsx,json,css,scss,md}'"
|
|
24
|
+
},
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "git+https://github.com/kne-union/react-form-antd.git"
|
|
28
|
+
},
|
|
29
|
+
"husky": {
|
|
30
|
+
"hooks": {
|
|
31
|
+
"pre-commit": "lint-staged"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"lint-staged": {
|
|
35
|
+
"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}": [
|
|
36
|
+
"prettier --config .prettierrc --write",
|
|
37
|
+
"git add"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"files": [
|
|
41
|
+
"dist"
|
|
42
|
+
],
|
|
43
|
+
"keywords": [
|
|
44
|
+
"react",
|
|
45
|
+
"form",
|
|
46
|
+
"validate"
|
|
47
|
+
],
|
|
48
|
+
"author": "linzp",
|
|
49
|
+
"license": "ISC",
|
|
50
|
+
"bugs": {
|
|
51
|
+
"url": "https://github.com/kne-union/react-form-antd/issues"
|
|
52
|
+
},
|
|
53
|
+
"homepage": "https://github.com/kne-union/react-form-antd#readme",
|
|
54
|
+
"peerDependencies": {
|
|
55
|
+
"@kne/react-fetch": "0.1.x",
|
|
56
|
+
"antd": ">=4.x",
|
|
57
|
+
"prop-types": ">=15.x",
|
|
58
|
+
"react": ">=16.x"
|
|
59
|
+
},
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"@ant-design/icons": "^4.2.1",
|
|
62
|
+
"@babel/runtime": "^7.10.3",
|
|
63
|
+
"@kne/react-form": "^2.0.4",
|
|
64
|
+
"@kne/react-form-helper": "^1.0.10",
|
|
65
|
+
"@kne/use-control-value": "^0.1.1",
|
|
66
|
+
"classnames": "^2.2.6",
|
|
67
|
+
"lodash": "^4.17.15",
|
|
68
|
+
"moment": "^2.29.1",
|
|
69
|
+
"react-avatar-editor": "^12.0.0"
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@kne/react-fetch": "^0.1.12",
|
|
73
|
+
"antd": "^4.16.13",
|
|
74
|
+
"axios": "^0.21.4",
|
|
75
|
+
"cross-env": "^7.0.3",
|
|
76
|
+
"fs-extra": "^9.0.1",
|
|
77
|
+
"gh-pages": "^3.2.3",
|
|
78
|
+
"glob": "^7.1.6",
|
|
79
|
+
"husky": "^7.0.2",
|
|
80
|
+
"microbundle": "^0.13.3",
|
|
81
|
+
"node-sass": "^6.0.1",
|
|
82
|
+
"npm-run-all": "^4.1.5",
|
|
83
|
+
"pify": "^5.0.0",
|
|
84
|
+
"prettier": "^2.4.1",
|
|
85
|
+
"react": "^17.0.2",
|
|
86
|
+
"react-dom": "^17.0.2",
|
|
87
|
+
"react-scripts": "^4.0.3"
|
|
88
|
+
}
|
|
89
|
+
}
|