ronds-metadata 1.2.29 → 1.2.31
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/es/comps/FormGenerator/comps/Settings/index.js +3 -0
- package/es/comps/FormGenerator/index.js +12 -11
- package/es/comps/FormGenerator/transformer.js +13 -5
- package/es/comps/MdEdit/index.js +7 -2
- package/es/comps/MdEdit/index.less +6 -3
- package/es/comps/MdEdit/plugin/EditContent.d.ts +5 -0
- package/es/comps/MdEdit/plugin/EditContent.js +34 -0
- package/es/comps/MdEdit/plugin/Mark.d.ts +7 -0
- package/es/comps/MdEdit/plugin/Mark.js +60 -0
- package/es/comps/MetadataForm/DataCell/Input.js +5 -1
- package/es/framework/fg/index.d.ts +69 -6
- package/es/framework/fg/index.js +65 -1
- package/es/framework/fg/utils.d.ts +1 -1
- package/es/framework/fg/utils.js +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.js +3 -2
- package/es/utils.d.ts +6 -0
- package/es/utils.js +47 -1
- package/package.json +7 -1
|
@@ -32,7 +32,10 @@ var Settings = function Settings() {
|
|
|
32
32
|
}); // 处理默认数据
|
|
33
33
|
|
|
34
34
|
var processDefaultValue = React.useCallback(function (data) {
|
|
35
|
+
var _data$settings;
|
|
36
|
+
|
|
35
37
|
settingValueRef.current = data.settings;
|
|
38
|
+
formRef.current.setFieldsValue(_objectSpread({}, (data === null || data === void 0 ? void 0 : (_data$settings = data.settings) === null || _data$settings === void 0 ? void 0 : _data$settings.formSetting) || {}));
|
|
36
39
|
fGCtx.fgStream && fGCtx.fgStream.next({
|
|
37
40
|
type: streamEventType.onSettingValueChange,
|
|
38
41
|
payload: _objectSpread(_objectSpread({}, data.settings), {}, {
|
|
@@ -4,7 +4,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
|
4
4
|
/*
|
|
5
5
|
* @Author: wangxian
|
|
6
6
|
* @Date: 2023-02-04 13:45:31
|
|
7
|
-
* @LastEditTime: 2023-04-
|
|
7
|
+
* @LastEditTime: 2023-04-06 10:38:34
|
|
8
8
|
*/
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import { DndProvider } from 'react-dnd';
|
|
@@ -32,18 +32,19 @@ var FormGenerator = function FormGenerator(props) {
|
|
|
32
32
|
|
|
33
33
|
var typesRef = React.useRef({});
|
|
34
34
|
React.useEffect(function () {
|
|
35
|
-
var robot = new FormRobot();
|
|
35
|
+
var robot = new FormRobot(); // const name = robot.input('name').label('名称').require().placeholder('请输入名称').valueOf();
|
|
36
|
+
// const age = robot.input('age').label('年龄').defaultValue(1).valueOf();
|
|
37
|
+
// const address = robot.textarea('address').label('地址').help('详细地址').valueOf();
|
|
38
|
+
// const sex = robot.select('sex').label('性别').valueOf();
|
|
39
|
+
// const birthday = robot.date('birthday').label('出身年月').require().valueOf();
|
|
40
|
+
// const detail = robot.object([name, age], 'detail').valueOf();
|
|
41
|
+
// const arr = robot.create([name, age, address, sex, birthday, detail]).grid(2).toString();
|
|
36
42
|
|
|
37
|
-
var
|
|
43
|
+
var project = robot.select('project').label('归档标签库').valueOf();
|
|
44
|
+
var group = robot.select('group').label('标签组').valueOf();
|
|
45
|
+
var label = robot.select('label').label('标签').valueOf();
|
|
38
46
|
|
|
39
|
-
var
|
|
40
|
-
var address = robot.textarea('address').label('地址').help('详细地址').valueOf();
|
|
41
|
-
var sex = robot.select('sex').label('性别').valueOf();
|
|
42
|
-
|
|
43
|
-
var birthday = robot.date('birthday').label('出身年月').require().valueOf();
|
|
44
|
-
|
|
45
|
-
var detail = robot.object([name, age], 'detail').valueOf();
|
|
46
|
-
var arr = robot.create([name, age, address, sex, birthday, detail]).grid(2).toString();
|
|
47
|
+
var _res = robot.create([project, group, label]).toString();
|
|
47
48
|
}, []);
|
|
48
49
|
React.useEffect(function () {
|
|
49
50
|
if (defaultSchema) {
|
|
@@ -4,7 +4,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
|
4
4
|
/*
|
|
5
5
|
* @Author: wangxian
|
|
6
6
|
* @Date: 2023-02-08 14:45:46
|
|
7
|
-
* @LastEditTime: 2023-
|
|
7
|
+
* @LastEditTime: 2023-04-06 10:38:43
|
|
8
8
|
*/
|
|
9
9
|
import { deepClone } from '../../utils';
|
|
10
10
|
import { basicComps, complexComps, layoutComps } from './settings';
|
|
@@ -85,7 +85,7 @@ export var transFG2Schema = function transFG2Schema(nodes, settings, _types, sch
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
var _prop = renderProp(nodes[i], settings ? settings[nodes[i].id] : nodes[i].param.setting);
|
|
88
|
+
var _prop = renderProp(nodes[i], settings[nodes[i].id] ? settings[nodes[i].id] : nodes[i].param.setting);
|
|
89
89
|
|
|
90
90
|
props.push(_prop);
|
|
91
91
|
}
|
|
@@ -272,14 +272,22 @@ var getTypeParent = function getTypeParent(refId, _props) {
|
|
|
272
272
|
|
|
273
273
|
|
|
274
274
|
export var transSchema2FG = function transSchema2FG(schema) {
|
|
275
|
-
var _schema
|
|
275
|
+
var _schema$, _schema$2;
|
|
276
276
|
|
|
277
277
|
var res = {
|
|
278
278
|
nodes: [],
|
|
279
279
|
settings: {},
|
|
280
280
|
types: {}
|
|
281
281
|
};
|
|
282
|
-
var _props = schema[0].properties;
|
|
282
|
+
var _props = schema[0].properties; // 表单扩展规则
|
|
283
|
+
|
|
284
|
+
var _formFields = (_schema$ = schema[0]) === null || _schema$ === void 0 ? void 0 : _schema$.fields;
|
|
285
|
+
|
|
286
|
+
if (_formFields) {
|
|
287
|
+
res.settings = _objectSpread(_objectSpread({}, res.settings), {}, {
|
|
288
|
+
formSetting: _formFields[0].value
|
|
289
|
+
});
|
|
290
|
+
}
|
|
283
291
|
|
|
284
292
|
for (var i = 0; i < _props.length; i++) {
|
|
285
293
|
var obj = processProps(_props[i]);
|
|
@@ -287,7 +295,7 @@ export var transSchema2FG = function transSchema2FG(schema) {
|
|
|
287
295
|
res.settings = _objectSpread(_objectSpread({}, res.settings), obj.setting);
|
|
288
296
|
}
|
|
289
297
|
|
|
290
|
-
var _types = (_schema$ = schema[0]) === null || _schema$ === void 0 ? void 0 : _schema
|
|
298
|
+
var _types = (_schema$2 = schema[0]) === null || _schema$2 === void 0 ? void 0 : _schema$2.types;
|
|
291
299
|
|
|
292
300
|
if (_types && _types.length > 0) {
|
|
293
301
|
for (var _i2 = 0; _i2 < _types.length; _i2++) {
|
package/es/comps/MdEdit/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* @Author: your name
|
|
3
3
|
* @Date: 2021-12-15 15:29:51
|
|
4
|
-
* @LastEditTime:
|
|
4
|
+
* @LastEditTime: 2023-04-12 16:19:26
|
|
5
5
|
*/
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import MdEditor from 'react-markdown-editor-lite';
|
|
8
8
|
import 'react-markdown-editor-lite/lib/index.css';
|
|
9
9
|
import './index.less';
|
|
10
|
-
import MdView from '../MdView';
|
|
10
|
+
import MdView from '../MdView'; // MdEditor.use(Mark);
|
|
11
11
|
|
|
12
12
|
var MdEdit = function MdEdit(props) {
|
|
13
13
|
var value = props.value,
|
|
@@ -16,12 +16,17 @@ var MdEdit = function MdEdit(props) {
|
|
|
16
16
|
onChange = props.onChange,
|
|
17
17
|
onImageUpload = props.onImageUpload,
|
|
18
18
|
onCustomImageUpload = props.onCustomImageUpload;
|
|
19
|
+
var mdEditor = React.useRef();
|
|
19
20
|
|
|
20
21
|
var onValueChange = function onValueChange(v) {
|
|
21
22
|
onChange && onChange(v.text);
|
|
22
23
|
};
|
|
23
24
|
|
|
25
|
+
React.useEffect(function () {}, []);
|
|
24
26
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MdEditor, {
|
|
27
|
+
ref: function ref(node) {
|
|
28
|
+
return mdEditor.current = node;
|
|
29
|
+
},
|
|
25
30
|
value: value,
|
|
26
31
|
onImageUpload: onImageUpload,
|
|
27
32
|
onCustomImageUpload: onCustomImageUpload,
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import MarkdownIt from 'markdown-it';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import ContentEditable from 'react-contenteditable';
|
|
5
|
+
|
|
6
|
+
var EditContent = function EditContent(props) {
|
|
7
|
+
var source = props.source;
|
|
8
|
+
|
|
9
|
+
var _React$useState = React.useState(),
|
|
10
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
11
|
+
html = _React$useState2[0],
|
|
12
|
+
setHtml = _React$useState2[1];
|
|
13
|
+
|
|
14
|
+
React.useEffect(function () {
|
|
15
|
+
var md = new MarkdownIt();
|
|
16
|
+
|
|
17
|
+
var _html = md.render(source);
|
|
18
|
+
|
|
19
|
+
setHtml(_html);
|
|
20
|
+
}, [source]);
|
|
21
|
+
return /*#__PURE__*/React.createElement(ContentEditable, {
|
|
22
|
+
className: "editable",
|
|
23
|
+
tagName: "pre",
|
|
24
|
+
html: html // innerHTML of the editable div
|
|
25
|
+
,
|
|
26
|
+
disabled: false // use true to disable edition
|
|
27
|
+
,
|
|
28
|
+
onChange: function onChange() {} // handle innerHTML change
|
|
29
|
+
,
|
|
30
|
+
onBlur: function onBlur() {}
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export default EditContent;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import "antd/es/button/style";
|
|
2
|
+
import _Button from "antd/es/button";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* @Author: uloveits 719310130@qq.com
|
|
7
|
+
* @Date: 2023-04-12 13:36:01
|
|
8
|
+
* @LastEditors: uloveits 719310130@qq.com
|
|
9
|
+
* @LastEditTime: 2023-04-12 16:19:09
|
|
10
|
+
*/
|
|
11
|
+
import React from 'react';
|
|
12
|
+
import { BookOutlined } from '@ant-design/icons';
|
|
13
|
+
|
|
14
|
+
var Mark = function Mark(props) {
|
|
15
|
+
var _React$useState = React.useState([]),
|
|
16
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
17
|
+
images = _React$useState2[0],
|
|
18
|
+
setImages = _React$useState2[1];
|
|
19
|
+
|
|
20
|
+
var onChange = function onChange(mdString) {
|
|
21
|
+
getImages(mdString);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var getImages = function getImages(mdString) {
|
|
25
|
+
var regex = /\!\[.*\]\((.*?)\)/g;
|
|
26
|
+
var _images = [];
|
|
27
|
+
var match;
|
|
28
|
+
|
|
29
|
+
while ((match = regex.exec(mdString)) !== null) {
|
|
30
|
+
_images.push(match[1]);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
setImages([].concat(_images));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
React.useEffect(function () {
|
|
37
|
+
var mdString = props.editor.getMdValue();
|
|
38
|
+
getImages(mdString);
|
|
39
|
+
props.editor.on('change', onChange);
|
|
40
|
+
}, []);
|
|
41
|
+
|
|
42
|
+
var handleClick = function handleClick() {// 调用API,往编辑器中插入一个数字
|
|
43
|
+
// props.editor.insertText(num.toString());
|
|
44
|
+
// // 更新一下自身的state
|
|
45
|
+
// setNum(num + 1);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
return /*#__PURE__*/React.createElement(_Button, {
|
|
49
|
+
size: "small",
|
|
50
|
+
disabled: images.length === 0,
|
|
51
|
+
type: "link",
|
|
52
|
+
icon: /*#__PURE__*/React.createElement(BookOutlined, null),
|
|
53
|
+
onClick: handleClick
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export default Mark; // 如果需要的话,可以在这里定义默认选项
|
|
58
|
+
|
|
59
|
+
Mark.align = 'left';
|
|
60
|
+
Mark.pluginName = 'mark';
|
|
@@ -17,7 +17,7 @@ import _Input from "antd/es/input";
|
|
|
17
17
|
/*
|
|
18
18
|
* @Author: wangxian
|
|
19
19
|
* @Date: 2021-09-18 14:15:04
|
|
20
|
-
* @LastEditTime: 2023-
|
|
20
|
+
* @LastEditTime: 2023-04-04 09:20:39
|
|
21
21
|
*/
|
|
22
22
|
import React from 'react';
|
|
23
23
|
import { UploadOutlined } from '@ant-design/icons';
|
|
@@ -76,6 +76,8 @@ function Index(props) {
|
|
|
76
76
|
|
|
77
77
|
case 'textarea':
|
|
78
78
|
return /*#__PURE__*/React.createElement(TextArea, {
|
|
79
|
+
showCount: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.showCount,
|
|
80
|
+
maxLength: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.maxLength,
|
|
79
81
|
rows: (extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.textareaRows) || 4,
|
|
80
82
|
disabled: (_extraInfo$disabled2 = extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.disabled) !== null && _extraInfo$disabled2 !== void 0 ? _extraInfo$disabled2 : disabled,
|
|
81
83
|
placeholder: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.placeholder
|
|
@@ -114,6 +116,8 @@ function Index(props) {
|
|
|
114
116
|
value: v
|
|
115
117
|
}, v);
|
|
116
118
|
}))) : undefined,
|
|
119
|
+
showCount: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.showCount,
|
|
120
|
+
maxLength: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.maxLength,
|
|
117
121
|
disabled: (_extraInfo$disabled6 = extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.disabled) !== null && _extraInfo$disabled6 !== void 0 ? _extraInfo$disabled6 : disabled,
|
|
118
122
|
placeholder: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.placeholder,
|
|
119
123
|
allowClear: true,
|
|
@@ -3,19 +3,58 @@ interface ICreate {
|
|
|
3
3
|
create(data: any): ILayoutSetting & IReturnMethod;
|
|
4
4
|
}
|
|
5
5
|
interface ILayoutSetting {
|
|
6
|
+
/**
|
|
7
|
+
* 表单整体布局
|
|
8
|
+
* @param this
|
|
9
|
+
* @param _value 最多限制4行
|
|
10
|
+
*/
|
|
6
11
|
grid<T>(this: T, _value: 1 | 2 | 3 | 4): Omit<T, 'grid'> & IReturnMethod;
|
|
12
|
+
/**
|
|
13
|
+
* 标签展示模式
|
|
14
|
+
* @param this
|
|
15
|
+
* @param _value horizontal:同行 vertical:单独一行
|
|
16
|
+
*/
|
|
17
|
+
layout<T>(this: T, _value: 'horizontal' | 'vertical'): Omit<T, 'layout'> & IReturnMethod;
|
|
18
|
+
/**
|
|
19
|
+
* 标签宽度
|
|
20
|
+
* @param this
|
|
21
|
+
* @param _value
|
|
22
|
+
*/
|
|
7
23
|
labelSpan<T>(this: T, _value: number): Omit<T, 'labelSpan'> & IReturnMethod;
|
|
8
24
|
}
|
|
9
25
|
interface IComps {
|
|
10
26
|
object(data: FG.Node[] | any, _id: string): ICommonSetting & IReturnMethod;
|
|
11
|
-
input(_id: string): ICommonSetting;
|
|
12
|
-
textarea(_id: string): ICommonSetting;
|
|
27
|
+
input(_id: string): ICommonSetting & ITextAreaSetting;
|
|
28
|
+
textarea(_id: string): ICommonSetting & ITextAreaSetting;
|
|
13
29
|
date(_id: string): ICommonSetting;
|
|
14
30
|
number(_id: string): ICommonSetting;
|
|
15
31
|
switch(_id: string): ICommonSetting;
|
|
16
|
-
select(_id: string): ICommonSetting;
|
|
32
|
+
select(_id: string): ICommonSetting & ISelectSetting;
|
|
17
33
|
mutiSelect(_id: string): ICommonSetting;
|
|
18
34
|
}
|
|
35
|
+
interface ITextAreaSetting {
|
|
36
|
+
/**
|
|
37
|
+
* 显示计数器
|
|
38
|
+
* @param this
|
|
39
|
+
*/
|
|
40
|
+
showCount<T>(this: T): Omit<T, 'showCount'> & IReturnMethod;
|
|
41
|
+
/**
|
|
42
|
+
* 最大字数限制
|
|
43
|
+
* @param this
|
|
44
|
+
* @param _value
|
|
45
|
+
*/
|
|
46
|
+
maxLength<T>(this: T, _value: number): Omit<T, 'maxLength'> & IReturnMethod;
|
|
47
|
+
}
|
|
48
|
+
interface ISelectSetting {
|
|
49
|
+
/**
|
|
50
|
+
* 枚举值
|
|
51
|
+
* @param this
|
|
52
|
+
*/
|
|
53
|
+
enum<T>(this: T, _value: {
|
|
54
|
+
key: number | string;
|
|
55
|
+
value: string;
|
|
56
|
+
}[]): Omit<T, 'enum'> & IReturnMethod;
|
|
57
|
+
}
|
|
19
58
|
interface ICommonSetting {
|
|
20
59
|
label<T>(this: T, _label: string): Omit<T, 'label'> & IReturnMethod;
|
|
21
60
|
require<T>(this: T): Omit<T, 'require'> & IReturnMethod;
|
|
@@ -74,13 +113,13 @@ export declare class FormRobot implements IFormRobot {
|
|
|
74
113
|
* @param _id 属性名
|
|
75
114
|
* @returns
|
|
76
115
|
*/
|
|
77
|
-
input(_id: string): ICommonSetting;
|
|
116
|
+
input(_id: string): ICommonSetting & ITextAreaSetting;
|
|
78
117
|
/**
|
|
79
118
|
* 文本框
|
|
80
119
|
* @param _id
|
|
81
120
|
* @returns
|
|
82
121
|
*/
|
|
83
|
-
textarea(_id: string): ICommonSetting;
|
|
122
|
+
textarea(_id: string): ICommonSetting & ITextAreaSetting;
|
|
84
123
|
/**
|
|
85
124
|
* 日期选择
|
|
86
125
|
* @param _id
|
|
@@ -104,7 +143,7 @@ export declare class FormRobot implements IFormRobot {
|
|
|
104
143
|
* @param _id
|
|
105
144
|
* @returns
|
|
106
145
|
*/
|
|
107
|
-
select(_id: string): ICommonSetting;
|
|
146
|
+
select(_id: string): ICommonSetting & ISelectSetting;
|
|
108
147
|
/**
|
|
109
148
|
* 下拉多选
|
|
110
149
|
* @param _id
|
|
@@ -122,7 +161,31 @@ export declare class FormRobot implements IFormRobot {
|
|
|
122
161
|
disabled<T>(this: T): Omit<T, 'disabled'> & IReturnMethod;
|
|
123
162
|
br<T>(this: T): Omit<T, 'br'> & IReturnMethod;
|
|
124
163
|
hidden<T>(this: T): Omit<T, 'hidden'> & IReturnMethod;
|
|
164
|
+
enum<T>(this: T, _value: {
|
|
165
|
+
key: number | string;
|
|
166
|
+
value: string;
|
|
167
|
+
}[]): Omit<T, 'enum'> & IReturnMethod;
|
|
168
|
+
/**
|
|
169
|
+
* 整体布局
|
|
170
|
+
* @param this
|
|
171
|
+
* @param _vaule
|
|
172
|
+
* @returns
|
|
173
|
+
*/
|
|
125
174
|
grid<T>(this: T, _vaule: 1 | 2 | 3 | 4): Omit<T, 'grid'> & IReturnMethod;
|
|
175
|
+
/**
|
|
176
|
+
* 标签展示模式
|
|
177
|
+
* @param this
|
|
178
|
+
* @param _vaule
|
|
179
|
+
* @returns
|
|
180
|
+
*/
|
|
181
|
+
layout<T>(this: T, _vaule: 'horizontal' | 'vertical'): Omit<T, 'layout'> & IReturnMethod;
|
|
182
|
+
/**
|
|
183
|
+
* 标签宽度
|
|
184
|
+
* @param this
|
|
185
|
+
* @param _vaule
|
|
186
|
+
* @returns
|
|
187
|
+
*/
|
|
188
|
+
labelSpan<T>(this: T, _vaule: number): Omit<T, 'labelSpan'> & IReturnMethod;
|
|
126
189
|
valueOf(): any;
|
|
127
190
|
toString(): string;
|
|
128
191
|
}
|
package/es/framework/fg/index.js
CHANGED
|
@@ -162,7 +162,7 @@ export var FormRobot = /*#__PURE__*/function () {
|
|
|
162
162
|
return new FormRobot(_data);
|
|
163
163
|
} //*********************************表单基本类型__END************************************//
|
|
164
164
|
//*********************************提供的扩展规则完善表单__START************************************//
|
|
165
|
-
//
|
|
165
|
+
// common
|
|
166
166
|
|
|
167
167
|
}, {
|
|
168
168
|
key: "label",
|
|
@@ -261,10 +261,28 @@ export var FormRobot = /*#__PURE__*/function () {
|
|
|
261
261
|
|
|
262
262
|
var _data = renderSetting(_init, 'hidden', true);
|
|
263
263
|
|
|
264
|
+
return new FormRobot(_data);
|
|
265
|
+
} // textarea
|
|
266
|
+
// select
|
|
267
|
+
|
|
268
|
+
}, {
|
|
269
|
+
key: "enum",
|
|
270
|
+
value: function _enum(_value) {
|
|
271
|
+
var _init = this._hasInitData ? this._data : {};
|
|
272
|
+
|
|
273
|
+
var _data = renderSetting(_init, 'enum', _value);
|
|
274
|
+
|
|
264
275
|
return new FormRobot(_data);
|
|
265
276
|
} //*********************************提供的扩展规则完善表单__END************************************//
|
|
266
277
|
//*********************************表单布局的扩展规则__START************************************//
|
|
267
278
|
|
|
279
|
+
/**
|
|
280
|
+
* 整体布局
|
|
281
|
+
* @param this
|
|
282
|
+
* @param _vaule
|
|
283
|
+
* @returns
|
|
284
|
+
*/
|
|
285
|
+
|
|
268
286
|
}, {
|
|
269
287
|
key: "grid",
|
|
270
288
|
value: function grid(_vaule) {
|
|
@@ -280,6 +298,52 @@ export var FormRobot = /*#__PURE__*/function () {
|
|
|
280
298
|
})
|
|
281
299
|
};
|
|
282
300
|
return new FormRobot(_data);
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* 标签展示模式
|
|
304
|
+
* @param this
|
|
305
|
+
* @param _vaule
|
|
306
|
+
* @returns
|
|
307
|
+
*/
|
|
308
|
+
|
|
309
|
+
}, {
|
|
310
|
+
key: "layout",
|
|
311
|
+
value: function layout(_vaule) {
|
|
312
|
+
var _init = this._hasInitData ? this._data : {
|
|
313
|
+
nodes: [],
|
|
314
|
+
setting: {}
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
var _data = {
|
|
318
|
+
nodes: _toConsumableArray(_init.nodes),
|
|
319
|
+
setting: _objectSpread(_objectSpread({}, _init.setting), {}, {
|
|
320
|
+
layout: _vaule
|
|
321
|
+
})
|
|
322
|
+
};
|
|
323
|
+
return new FormRobot(_data);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* 标签宽度
|
|
327
|
+
* @param this
|
|
328
|
+
* @param _vaule
|
|
329
|
+
* @returns
|
|
330
|
+
*/
|
|
331
|
+
|
|
332
|
+
}, {
|
|
333
|
+
key: "labelSpan",
|
|
334
|
+
value: function labelSpan(_vaule) {
|
|
335
|
+
var _init = this._hasInitData ? this._data : {
|
|
336
|
+
nodes: [],
|
|
337
|
+
setting: {}
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
var _data = {
|
|
341
|
+
nodes: _toConsumableArray(_init.nodes),
|
|
342
|
+
setting: _objectSpread(_objectSpread({}, _init.setting), {}, {
|
|
343
|
+
labelSpan: _vaule
|
|
344
|
+
})
|
|
345
|
+
};
|
|
346
|
+
return new FormRobot(_data);
|
|
283
347
|
} //*********************************表单布局的扩展规则__END************************************//
|
|
284
348
|
//*********************************拿到最终的数据方法__START************************************//
|
|
285
349
|
|
|
@@ -11,4 +11,4 @@ export declare const renderLayoutFormProps: (_arr: FG.Node[], _id: string, _type
|
|
|
11
11
|
type: string;
|
|
12
12
|
param: FG.NodeParam;
|
|
13
13
|
};
|
|
14
|
-
export declare const renderSetting: (_init: FG.Node, _type: string, _value: string | number | boolean) => FG.Node;
|
|
14
|
+
export declare const renderSetting: (_init: FG.Node, _type: string, _value: string | number | boolean | any) => FG.Node;
|
package/es/framework/fg/utils.js
CHANGED
|
@@ -4,7 +4,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
|
4
4
|
/*
|
|
5
5
|
* @Author: wangxian
|
|
6
6
|
* @Date: 2023-03-21 15:44:45
|
|
7
|
-
* @LastEditTime: 2023-
|
|
7
|
+
* @LastEditTime: 2023-04-04 17:21:07
|
|
8
8
|
*/
|
|
9
9
|
import { deepClone } from '../../utils';
|
|
10
10
|
import { basicComps, layoutComps } from './../../comps/FormGenerator/settings/index';
|
package/es/index.d.ts
CHANGED
|
@@ -21,3 +21,4 @@ export { default as useObservable } from './framework/rxjs-hooks/useObservable';
|
|
|
21
21
|
export { default as useSyncScroll, useSyncScrollByRefs } from './framework/hooks/use-sync-scroll';
|
|
22
22
|
export { registerMetadataAPI } from './framework/metadata/MetadataService';
|
|
23
23
|
export { globalSettingStream } from './config';
|
|
24
|
+
export { handleMd2Doc } from './utils';
|
package/es/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* @Author:wangxian
|
|
3
3
|
* @Date: 2021-09-18 14:15:04
|
|
4
|
-
* @LastEditTime: 2023-
|
|
4
|
+
* @LastEditTime: 2023-04-12 10:44:59
|
|
5
5
|
*/
|
|
6
6
|
import './theme.less';
|
|
7
7
|
export { default as MetadataEdit } from './comps/MetadataEdit';
|
|
@@ -25,4 +25,5 @@ export { default as useMemoSubject } from './framework/rxjs-hooks/useMemoSubject
|
|
|
25
25
|
export { default as useObservable } from './framework/rxjs-hooks/useObservable';
|
|
26
26
|
export { default as useSyncScroll, useSyncScrollByRefs } from './framework/hooks/use-sync-scroll';
|
|
27
27
|
export { registerMetadataAPI } from './framework/metadata/MetadataService';
|
|
28
|
-
export { globalSettingStream } from './config';
|
|
28
|
+
export { globalSettingStream } from './config';
|
|
29
|
+
export { handleMd2Doc } from './utils';
|
package/es/utils.d.ts
CHANGED
|
@@ -24,3 +24,9 @@ export declare function arrayInsert(array: any[], index: number, item: any): any
|
|
|
24
24
|
* @returns {string|string|string}
|
|
25
25
|
*/
|
|
26
26
|
export declare function getConstantValue(array: any[], key: string | number, strKey?: string, strValue?: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* markdown转doc
|
|
29
|
+
* @param mdText string
|
|
30
|
+
* @param fileName string
|
|
31
|
+
*/
|
|
32
|
+
export declare function handleMd2Doc(mdText: string, fileName: string): Promise<void>;
|
package/es/utils.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
1
3
|
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
2
4
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
5
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
@@ -5,8 +7,11 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
|
5
7
|
/*
|
|
6
8
|
* @Author: wangxian
|
|
7
9
|
* @Date: 2021-09-18 14:15:04
|
|
8
|
-
* @LastEditTime: 2023-
|
|
10
|
+
* @LastEditTime: 2023-04-13 09:51:21
|
|
9
11
|
*/
|
|
12
|
+
import saveAs from 'file-saver';
|
|
13
|
+
import { asBlob } from 'html-docx-js-typescript';
|
|
14
|
+
import MarkdownIt from 'markdown-it';
|
|
10
15
|
import { useCallback, useEffect, useRef } from 'react';
|
|
11
16
|
/** 防抖 */
|
|
12
17
|
|
|
@@ -177,4 +182,45 @@ export function getConstantValue(array, key, strKey, strValue) {
|
|
|
177
182
|
}
|
|
178
183
|
|
|
179
184
|
return result;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* markdown转doc
|
|
188
|
+
* @param mdText string
|
|
189
|
+
* @param fileName string
|
|
190
|
+
*/
|
|
191
|
+
|
|
192
|
+
export function handleMd2Doc(_x, _x2) {
|
|
193
|
+
return _handleMd2Doc.apply(this, arguments);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function _handleMd2Doc() {
|
|
197
|
+
_handleMd2Doc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(mdText, fileName) {
|
|
198
|
+
var md, html, opt, blob;
|
|
199
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
200
|
+
while (1) {
|
|
201
|
+
switch (_context.prev = _context.next) {
|
|
202
|
+
case 0:
|
|
203
|
+
md = new MarkdownIt();
|
|
204
|
+
html = md.render(mdText);
|
|
205
|
+
opt = {
|
|
206
|
+
margin: {
|
|
207
|
+
top: 100
|
|
208
|
+
},
|
|
209
|
+
orientation: 'landscape'
|
|
210
|
+
};
|
|
211
|
+
_context.next = 5;
|
|
212
|
+
return asBlob(html, opt);
|
|
213
|
+
|
|
214
|
+
case 5:
|
|
215
|
+
blob = _context.sent;
|
|
216
|
+
saveAs(blob, "".concat(fileName, ".doc"));
|
|
217
|
+
|
|
218
|
+
case 7:
|
|
219
|
+
case "end":
|
|
220
|
+
return _context.stop();
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}, _callee);
|
|
224
|
+
}));
|
|
225
|
+
return _handleMd2Doc.apply(this, arguments);
|
|
180
226
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"public": true,
|
|
3
3
|
"name": "ronds-metadata",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.31",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"start": "dumi dev",
|
|
7
7
|
"docs:build": "dumi build",
|
|
@@ -37,6 +37,8 @@
|
|
|
37
37
|
"@babel/helper-create-regexp-features-plugin": "^7.12.13",
|
|
38
38
|
"@babel/runtime": "^7.11.2",
|
|
39
39
|
"@popperjs/core": "^2.4.4",
|
|
40
|
+
"@types/file-saver": "^2.0.5",
|
|
41
|
+
"@types/markdown-it": "^12.2.3",
|
|
40
42
|
"@types/markdown-navbar": "^1.4.0",
|
|
41
43
|
"ahooks": "^3.4.0",
|
|
42
44
|
"axios": "^0.21.4",
|
|
@@ -46,12 +48,16 @@
|
|
|
46
48
|
"codemirror": "^5.63.0",
|
|
47
49
|
"codepage": "^1.15.0",
|
|
48
50
|
"css-element-queries": "^1.2.3",
|
|
51
|
+
"file-saver": "^2.0.5",
|
|
49
52
|
"github-markdown-css": "^5.1.0",
|
|
53
|
+
"html-docx-js-typescript": "^0.1.5",
|
|
50
54
|
"immer": "^9.0.14",
|
|
51
55
|
"lodash": "^4.17.21",
|
|
56
|
+
"markdown-it": "^13.0.1",
|
|
52
57
|
"markdown-navbar": "^1.4.3",
|
|
53
58
|
"qs": "^6.10.1",
|
|
54
59
|
"react": "^17.0.2",
|
|
60
|
+
"react-contenteditable": "^3.3.7",
|
|
55
61
|
"react-dnd": "^11.1.3",
|
|
56
62
|
"react-dnd-html5-backend": "^11.1.3",
|
|
57
63
|
"react-jexcel": "^1.0.2",
|