yy-forms 1.0.44 → 1.0.46
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/dist/index.esm.js +5 -4
- package/dist/index.js +5 -4
- package/package.json +2 -1
- package/.fatherrc.js +0 -37
- package/CHANGELOG.md +0 -254
- package/es/Provider.js +0 -248
- package/es/index.d.ts +0 -145
- package/es/index.js +0 -44
- package/es/settings/index.js +0 -975
- package/es/styles/atom.less +0 -1134
- package/es/styles/index.less +0 -358
- package/es/transformer/form-render.js +0 -75
- package/es/utils/context.js +0 -3
- package/es/utils/hooks.js +0 -48
- package/es/utils/index.js +0 -706
- package/es/utils/mapping.js +0 -31
- package/es/utils/serialize.js +0 -276
- package/es/widgets/htmlInput.js +0 -20
- package/es/widgets/idInput.js +0 -23
- package/es/widgets/index.js +0 -5
- package/es/widgets/jsonInput.js +0 -24
- package/es/widgets/list.js +0 -24
- package/es/widgets/percentSlider.js +0 -89
- package/src/Provider.jsx +0 -239
- package/src/components/Canvas/core/RenderChildren.jsx +0 -18
- package/src/components/Canvas/core/RenderField.jsx +0 -131
- package/src/components/Canvas/core/Wrapper.jsx +0 -298
- package/src/components/Canvas/core/Wrapper.less +0 -57
- package/src/components/Canvas/core/index.jsx +0 -171
- package/src/components/Canvas/index.jsx +0 -178
- package/src/components/Settings/GlobalSettings.jsx +0 -50
- package/src/components/Settings/ItemSettings.jsx +0 -154
- package/src/components/Settings/index.jsx +0 -75
- package/src/components/Settings/index.less +0 -25
- package/src/components/Sidebar/Element.jsx +0 -80
- package/src/components/Sidebar/Element.less +0 -18
- package/src/components/Sidebar/index.jsx +0 -47
- package/src/components/Sidebar/index.less +0 -23
- package/src/i18next/index.ts +0 -14
- package/src/i18next/locales/enUS.json +0 -51
- package/src/i18next/locales/resources.ts +0 -7
- package/src/i18next/locales/zhCN.json +0 -3
- package/src/index.d.ts +0 -145
- package/src/index.js +0 -45
- package/src/settings/index.js +0 -2030
- package/src/styles/atom.less +0 -1134
- package/src/styles/index.less +0 -358
- package/src/transformer/form-render.js +0 -65
- package/src/utils/context.js +0 -4
- package/src/utils/hooks.js +0 -35
- package/src/utils/index.js +0 -678
- package/src/utils/mapping.js +0 -29
- package/src/utils/serialize.js +0 -368
- package/src/widgets/htmlInput.jsx +0 -24
- package/src/widgets/idInput.jsx +0 -27
- package/src/widgets/index.js +0 -6
- package/src/widgets/jsonInput.jsx +0 -29
- package/src/widgets/list.jsx +0 -28
- package/src/widgets/percentSlider.jsx +0 -74
package/dist/index.esm.js
CHANGED
|
@@ -2564,7 +2564,7 @@ var USelements = [{
|
|
|
2564
2564
|
"title": "Single Select",
|
|
2565
2565
|
"type": "string",
|
|
2566
2566
|
"enum": ["a", "b", "c"],
|
|
2567
|
-
"enumNames": ["
|
|
2567
|
+
"enumNames": ["tiktok", "youtube", "facebook"],
|
|
2568
2568
|
"widget": "select"
|
|
2569
2569
|
},
|
|
2570
2570
|
"setting": {
|
|
@@ -2605,7 +2605,7 @@ var USelements = [{
|
|
|
2605
2605
|
"title": "Radio Buttons",
|
|
2606
2606
|
"type": "string",
|
|
2607
2607
|
"enum": ["a", "b", "c"],
|
|
2608
|
-
"enumNames": ["
|
|
2608
|
+
"enumNames": ["tiktok", "youtube", "facebook"],
|
|
2609
2609
|
"widget": "radio"
|
|
2610
2610
|
},
|
|
2611
2611
|
"setting": {
|
|
@@ -2650,7 +2650,7 @@ var USelements = [{
|
|
|
2650
2650
|
"type": "string"
|
|
2651
2651
|
},
|
|
2652
2652
|
"enum": ["A", "B", "C", "D"],
|
|
2653
|
-
"enumNames": ["
|
|
2653
|
+
"enumNames": ["Acupressure", "Long Gliding Strokes", "Passive Stretching"],
|
|
2654
2654
|
"widget": "multiSelect"
|
|
2655
2655
|
},
|
|
2656
2656
|
"setting": {
|
|
@@ -2700,7 +2700,7 @@ var USelements = [{
|
|
|
2700
2700
|
"type": "string"
|
|
2701
2701
|
},
|
|
2702
2702
|
"enum": ["A", "B", "C", "D"],
|
|
2703
|
-
"enumNames": ["
|
|
2703
|
+
"enumNames": ["Acupressure", "Long Gliding Strokes", "Passive Stretching"]
|
|
2704
2704
|
},
|
|
2705
2705
|
"setting": {
|
|
2706
2706
|
"default": {
|
|
@@ -3979,6 +3979,7 @@ function ItemSettings(_ref) {
|
|
|
3979
3979
|
schema: settingSchema,
|
|
3980
3980
|
widgets: _objectSpread2(_objectSpread2({}, _widgets), widgets),
|
|
3981
3981
|
mapping: globalMapping,
|
|
3982
|
+
locale: "en",
|
|
3982
3983
|
watch: {
|
|
3983
3984
|
'#': function _(v) {
|
|
3984
3985
|
return setTimeout(function () {
|
package/dist/index.js
CHANGED
|
@@ -2591,7 +2591,7 @@ var USelements = [{
|
|
|
2591
2591
|
"title": "Single Select",
|
|
2592
2592
|
"type": "string",
|
|
2593
2593
|
"enum": ["a", "b", "c"],
|
|
2594
|
-
"enumNames": ["
|
|
2594
|
+
"enumNames": ["tiktok", "youtube", "facebook"],
|
|
2595
2595
|
"widget": "select"
|
|
2596
2596
|
},
|
|
2597
2597
|
"setting": {
|
|
@@ -2632,7 +2632,7 @@ var USelements = [{
|
|
|
2632
2632
|
"title": "Radio Buttons",
|
|
2633
2633
|
"type": "string",
|
|
2634
2634
|
"enum": ["a", "b", "c"],
|
|
2635
|
-
"enumNames": ["
|
|
2635
|
+
"enumNames": ["tiktok", "youtube", "facebook"],
|
|
2636
2636
|
"widget": "radio"
|
|
2637
2637
|
},
|
|
2638
2638
|
"setting": {
|
|
@@ -2677,7 +2677,7 @@ var USelements = [{
|
|
|
2677
2677
|
"type": "string"
|
|
2678
2678
|
},
|
|
2679
2679
|
"enum": ["A", "B", "C", "D"],
|
|
2680
|
-
"enumNames": ["
|
|
2680
|
+
"enumNames": ["Acupressure", "Long Gliding Strokes", "Passive Stretching"],
|
|
2681
2681
|
"widget": "multiSelect"
|
|
2682
2682
|
},
|
|
2683
2683
|
"setting": {
|
|
@@ -2727,7 +2727,7 @@ var USelements = [{
|
|
|
2727
2727
|
"type": "string"
|
|
2728
2728
|
},
|
|
2729
2729
|
"enum": ["A", "B", "C", "D"],
|
|
2730
|
-
"enumNames": ["
|
|
2730
|
+
"enumNames": ["Acupressure", "Long Gliding Strokes", "Passive Stretching"]
|
|
2731
2731
|
},
|
|
2732
2732
|
"setting": {
|
|
2733
2733
|
"default": {
|
|
@@ -4006,6 +4006,7 @@ function ItemSettings(_ref) {
|
|
|
4006
4006
|
schema: settingSchema,
|
|
4007
4007
|
widgets: _objectSpread2(_objectSpread2({}, _widgets), widgets),
|
|
4008
4008
|
mapping: globalMapping,
|
|
4009
|
+
locale: "en",
|
|
4009
4010
|
watch: {
|
|
4010
4011
|
'#': function _(v) {
|
|
4011
4012
|
return setTimeout(function () {
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yy-forms",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.46",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.esm.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
7
|
+
"files": ["dist", "README.md"],
|
|
7
8
|
"license": "MIT",
|
|
8
9
|
"scripts": {
|
|
9
10
|
"beta": "npm publish --tag beta",
|
package/.fatherrc.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import commonjs from 'rollup-plugin-commonjs';
|
|
2
|
-
import copy from 'rollup-plugin-copy';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
esm: 'rollup',
|
|
6
|
-
cjs: 'rollup',
|
|
7
|
-
lessInBabelMode: true,
|
|
8
|
-
lessInRollupMode: {},
|
|
9
|
-
extraRollupPlugins: [
|
|
10
|
-
commonjs({
|
|
11
|
-
include: '../../node_modules/**',
|
|
12
|
-
}),
|
|
13
|
-
copy({
|
|
14
|
-
targets: [{ src: 'src/index.d.ts', dest: 'dist/' }],
|
|
15
|
-
}),
|
|
16
|
-
],
|
|
17
|
-
extraBabelPlugins: [
|
|
18
|
-
[
|
|
19
|
-
'import',
|
|
20
|
-
{
|
|
21
|
-
libraryName: 'antd',
|
|
22
|
-
libraryDirectory: 'es',
|
|
23
|
-
style: true,
|
|
24
|
-
},
|
|
25
|
-
'antd',
|
|
26
|
-
],
|
|
27
|
-
[
|
|
28
|
-
'import',
|
|
29
|
-
{
|
|
30
|
-
libraryName: '@ant-design/icons',
|
|
31
|
-
libraryDirectory: 'lib/icons',
|
|
32
|
-
camel2DashComponentName: false,
|
|
33
|
-
},
|
|
34
|
-
'@ant-design/icons',
|
|
35
|
-
],
|
|
36
|
-
],
|
|
37
|
-
};
|
package/CHANGELOG.md
DELETED
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
# Change Log
|
|
2
|
-
|
|
3
|
-
### 2.8.5
|
|
4
|
-
- [!] 修复schema 默认有 labelWidth时,配置项重新设置 lableWidth,预览区没有效果
|
|
5
|
-
|
|
6
|
-
### 2.8.1
|
|
7
|
-
|
|
8
|
-
- [!] 支持 React18
|
|
9
|
-
|
|
10
|
-
### 2.8.0
|
|
11
|
-
|
|
12
|
-
- [+] 新增`locale`参数,支持国际化配置,默认为`cn`,可选值为`cn`或`en`
|
|
13
|
-
|
|
14
|
-
### 2.7.9
|
|
15
|
-
|
|
16
|
-
- [+] `globalSettings` 为空,隐藏 `设计器` 的表单配置模块
|
|
17
|
-
- [+] 添加`preview`参数,用于在外部控制`预览/编辑态`
|
|
18
|
-
|
|
19
|
-
### 2.7.0
|
|
20
|
-
|
|
21
|
-
- [+] 新增 `fieldRender` 及 `fieldWrapperRender`,支持自定义组件渲染
|
|
22
|
-
- [+] 新增校验错误项获取方法 `getErrorFields`
|
|
23
|
-
- [!] 配置项校验逻辑
|
|
24
|
-
|
|
25
|
-
### 2.6.2
|
|
26
|
-
|
|
27
|
-
- [+] 新增 `getId` 属性,支持自定义 id 生成逻辑
|
|
28
|
-
- [+] `canDelete` 属性支持异步逻辑
|
|
29
|
-
- [+] `settings` 配置合并顺序优化
|
|
30
|
-
- [!] 配置面板数据更新
|
|
31
|
-
- [!] 时间选择组件配置
|
|
32
|
-
|
|
33
|
-
### 2.6.1
|
|
34
|
-
|
|
35
|
-
- [!] 预览态表单数据同步
|
|
36
|
-
|
|
37
|
-
### 2.6.0
|
|
38
|
-
|
|
39
|
-
- [+] 组件面板支持自定义 Icon
|
|
40
|
-
- [+] 选中项添加类名 `selected-field-wrapper`
|
|
41
|
-
- [!] 更正部分类型定义
|
|
42
|
-
|
|
43
|
-
### 2.5.8
|
|
44
|
-
|
|
45
|
-
- [!] 修复全局配置默认值
|
|
46
|
-
|
|
47
|
-
### 2.5.7
|
|
48
|
-
|
|
49
|
-
- [!] 配置逻辑兼容新版 FormRender
|
|
50
|
-
|
|
51
|
-
### 2.5.6
|
|
52
|
-
|
|
53
|
-
- [!] 修复复制操作配置校验
|
|
54
|
-
|
|
55
|
-
### 2.5.5
|
|
56
|
-
|
|
57
|
-
- [+] 新增配置项校验支持
|
|
58
|
-
|
|
59
|
-
### 2.5.4
|
|
60
|
-
|
|
61
|
-
- [+] 新增标题展示模式配置
|
|
62
|
-
- [+] 新增组件隐藏及重复提示
|
|
63
|
-
- [!] 修复配置复制功能
|
|
64
|
-
|
|
65
|
-
### 2.5.3
|
|
66
|
-
|
|
67
|
-
- [!] 修复类型定义错误
|
|
68
|
-
- [!] 修复 fixedName 属性对拖拽新增组件不生效的问题
|
|
69
|
-
|
|
70
|
-
### 2.5.2
|
|
71
|
-
|
|
72
|
-
- [+] 新增导入及清除 schema 事件
|
|
73
|
-
- [+] 新增 canDrag 及 canDelete 属性
|
|
74
|
-
- [+] 增强操作按钮自定义能力
|
|
75
|
-
- [!] 修复 HTML 组件配置
|
|
76
|
-
|
|
77
|
-
### 2.5.1
|
|
78
|
-
|
|
79
|
-
- [!] 修复类型定义错误
|
|
80
|
-
|
|
81
|
-
### 2.5.0
|
|
82
|
-
|
|
83
|
-
- [+] 新增组件选择事件
|
|
84
|
-
|
|
85
|
-
### 2.4.5
|
|
86
|
-
|
|
87
|
-
- [+] 优化枚举编辑组件,新增 `transformer.toSetting` 及 `transformer.fromSetting`
|
|
88
|
-
- [!] 修复懒加载组件渲染异常的问题
|
|
89
|
-
- [!] 修复编辑模式 `className` 属性支持
|
|
90
|
-
|
|
91
|
-
### 2.4.4
|
|
92
|
-
|
|
93
|
-
- [!] 修复构建配置,解决样式丢失问题
|
|
94
|
-
|
|
95
|
-
### 2.4.3
|
|
96
|
-
|
|
97
|
-
- [!] 更正类型定义
|
|
98
|
-
|
|
99
|
-
### 2.4.2
|
|
100
|
-
|
|
101
|
-
- [!] 修复 forward ref
|
|
102
|
-
- [!] 修复 antd 样式污染
|
|
103
|
-
- [+] 更新类型定义
|
|
104
|
-
|
|
105
|
-
### 2.4.1
|
|
106
|
-
|
|
107
|
-
- [+] Sidebar 组件新增 `fixedName` 属性
|
|
108
|
-
|
|
109
|
-
### 2.4.0
|
|
110
|
-
|
|
111
|
-
- [+] 支持自定义编辑器布局
|
|
112
|
-
|
|
113
|
-
### 2.1.2
|
|
114
|
-
|
|
115
|
-
- [!] 数组类型兼容新版 FromRender
|
|
116
|
-
|
|
117
|
-
### 2.1.1
|
|
118
|
-
|
|
119
|
-
- [!] 兼容新版 FromRender
|
|
120
|
-
- [!] 修复编辑模式 `format` 属性支持
|
|
121
|
-
- [!] 修复自定义组件配置默认值
|
|
122
|
-
|
|
123
|
-
### 2.1.0
|
|
124
|
-
|
|
125
|
-
- [+] 新增 `hideId` 及 `controlButtons` 属性
|
|
126
|
-
- [!] 修复全局配置循环更新的问题
|
|
127
|
-
- [!] 修复 `labelWidth` 配置
|
|
128
|
-
- [!] 修复自定义全局配置
|
|
129
|
-
|
|
130
|
-
### 2.0.3
|
|
131
|
-
|
|
132
|
-
- [+] 新增 `mapping` 属性
|
|
133
|
-
- [+] 简化侧栏配置格式
|
|
134
|
-
- [!] 修复选择项切换异常的问题
|
|
135
|
-
|
|
136
|
-
### 2.0.2
|
|
137
|
-
|
|
138
|
-
- [+] 更新内部 schema
|
|
139
|
-
- [!] 修复 `setValue` 方法
|
|
140
|
-
|
|
141
|
-
### 2.0.1
|
|
142
|
-
|
|
143
|
-
- [!] 修复选择对象层级会清空画布的问题
|
|
144
|
-
|
|
145
|
-
### 2.0.0
|
|
146
|
-
|
|
147
|
-
- [+] 更新适配 FormRender 1.x
|
|
148
|
-
|
|
149
|
-
### 1.1.0
|
|
150
|
-
|
|
151
|
-
- [+] 元素添加“必填”的设置功能
|
|
152
|
-
- [+] 写了.d.ts 文件,以便支持 typescript 项目的正常引入
|
|
153
|
-
- [+] 暴露新 api `onChange` 和 `onSchemaChange` 用于 data 和 schema 的变化事件
|
|
154
|
-
- [!] 样式从 css -> less,做好封装避免样式污染
|
|
155
|
-
- [!] 修复了“是否带清除”按钮点击无效的问题
|
|
156
|
-
- [!] 文档排版等小幅调整
|
|
157
|
-
|
|
158
|
-
### 1.0.1
|
|
159
|
-
|
|
160
|
-
- [!] 最外层容器增加 relative 定位,避免右侧展开按钮消失
|
|
161
|
-
- [!] 判断嵌套属性正则不正确
|
|
162
|
-
|
|
163
|
-
### 1.0.0
|
|
164
|
-
|
|
165
|
-
- [!] 字段 propsSchema 和 schema 的兼容
|
|
166
|
-
- [+] settings & commonSettings & globalSettings 可以自定义
|
|
167
|
-
- [!] 内部优化 context 结构,优化 props 传输
|
|
168
|
-
- [+] widgets 入参(和 `form-render` 一样),提供自定义组件入口
|
|
169
|
-
|
|
170
|
-
### 0.5.7
|
|
171
|
-
|
|
172
|
-
- [!] 样式修复,desc 的气泡不被遮住
|
|
173
|
-
|
|
174
|
-
### 0.5.6
|
|
175
|
-
|
|
176
|
-
- [!] 打个补丁,将 ui 相关 props 放到 schema 中, 是对 FR 0.8.11 版本的兼容
|
|
177
|
-
|
|
178
|
-
### 0.5.5
|
|
179
|
-
|
|
180
|
-
- [!] 解决了一个内部方法替换后导致右侧栏数据失效的问题
|
|
181
|
-
|
|
182
|
-
### 0.5.3
|
|
183
|
-
|
|
184
|
-
- [+] `extraButtons` 这个数组的 item 的值可以是 true/false,用于去掉默认按钮,例如
|
|
185
|
-
|
|
186
|
-
```js
|
|
187
|
-
extraButtons: [false, false, false, true, { text: '测试' }];
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
只会展示默认展示的 4 个按钮中的最后一个(导出 schema),以及一个新按钮“测试”
|
|
191
|
-
|
|
192
|
-
- [!] `extraButtons` 现在支持配置各种 antd button 的 props
|
|
193
|
-
- [!] 修复了 propsSchema 和 schema 兼容在各个入口和出口处理上的不一致导致的 bug,现在统一收口
|
|
194
|
-
- [!] fix 了 id 展示的样式丢失的 bug
|
|
195
|
-
|
|
196
|
-
### 0.5.2
|
|
197
|
-
|
|
198
|
-
- [!] 解决了乱输入 schema 的时候会 crash 页面的问题
|
|
199
|
-
|
|
200
|
-
### 0.5.1
|
|
201
|
-
|
|
202
|
-
- [!] propsSchema 和 schema 字段兼容
|
|
203
|
-
- [!] 非常长的 description 在 tooltip 模式下正常展示
|
|
204
|
-
- [!] 解决样式入侵问题 ([#8](https://github.com/form-render/schema-generator/issues/8))
|
|
205
|
-
- [!] 解决了 switch 组件展示丑的问题
|
|
206
|
-
- [!] 官网大幅翻新,demo 可直接跳转到 form-render 的 playground 方便验证
|
|
207
|
-
|
|
208
|
-
### 0.5.0
|
|
209
|
-
|
|
210
|
-
- [+] 添加 `setValue` (注入 schema) 和 `copyValue`(拷贝到剪切板) 方法,可以通过 ref 调用
|
|
211
|
-
- [+] 新增 props `extraButtons` 用于添加更多定制按钮到顶栏
|
|
212
|
-
|
|
213
|
-
### 0.4.0
|
|
214
|
-
|
|
215
|
-
- [+] 添加 transformer 参数
|
|
216
|
-
- [!] 大幅升级文档,添加 formily 的支持 demo
|
|
217
|
-
|
|
218
|
-
### 0.3.4
|
|
219
|
-
|
|
220
|
-
- [!] 左栏统一到 rem,确保展示正确
|
|
221
|
-
|
|
222
|
-
### 0.3.3
|
|
223
|
-
|
|
224
|
-
- [!] 导入的 schema 可以不一定是 json 格式,也可以是 js object(就是 key 可以没有引号)
|
|
225
|
-
|
|
226
|
-
### 0.3.2
|
|
227
|
-
|
|
228
|
-
- [!] 提供 `getValue` 方法,可以通过 ref 调用,在外部获取 schema
|
|
229
|
-
- [!] 组件适配外层大小
|
|
230
|
-
- [!] 根据宽度做了一定的展示自适应
|
|
231
|
-
- [!] 修复不能识别的`ui:widget`时,会报错,现在渲染默认兜底组件
|
|
232
|
-
|
|
233
|
-
### 0.3.1
|
|
234
|
-
|
|
235
|
-
- [!] 文档修改、删除“保存”按钮
|
|
236
|
-
|
|
237
|
-
### 0.3.0
|
|
238
|
-
|
|
239
|
-
- [+] 添加 submit 入参,作为“保存”按钮的回调函数,入参是导出的 schema
|
|
240
|
-
- [!] 模板(templates)代替存档(saves)概念
|
|
241
|
-
|
|
242
|
-
### 0.2.2
|
|
243
|
-
|
|
244
|
-
- [!] fix dependencies bug
|
|
245
|
-
|
|
246
|
-
### 0.2.1
|
|
247
|
-
|
|
248
|
-
- [!] 更新文档配置
|
|
249
|
-
- [!] 安卓 moment 的 dependencies,而不隐式引入
|
|
250
|
-
|
|
251
|
-
### 0.2.0
|
|
252
|
-
|
|
253
|
-
- [+] 项目组件化,添加 saves 和 defaultValue 两个 props
|
|
254
|
-
- [+] 切换到 dumi,添加官方文档
|
package/es/Provider.js
DELETED
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
3
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
4
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
5
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
6
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
7
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
8
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
9
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
13
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
-
import React from "react";
|
|
15
|
-
import { ConfigProvider } from 'antd';
|
|
16
|
-
import zhCN from 'antd/lib/locale/zh_CN';
|
|
17
|
-
import copyTOClipboard from 'copy-text-to-clipboard';
|
|
18
|
-
import { mapping as defaultMapping, widgets as defaultWidgets } from 'form-render';
|
|
19
|
-
import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';
|
|
20
|
-
import { DndProvider } from 'react-dnd';
|
|
21
|
-
import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
22
|
-
import { fromSetting, toSetting } from './transformer/form-render';
|
|
23
|
-
import { combineSchema, dataToFlatten, defaultGetId, flattenSchema, flattenToData, idToSchema, newSchemaToOld, schemaToState } from './utils';
|
|
24
|
-
import { Ctx, StoreCtx } from './utils/context';
|
|
25
|
-
import { useSet } from './utils/hooks';
|
|
26
|
-
import { serializeToDraft } from './utils/serialize';
|
|
27
|
-
import list from './widgets/list';
|
|
28
|
-
var DEFAULT_SCHEMA = {
|
|
29
|
-
type: 'object',
|
|
30
|
-
properties: {}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
// TODO: formData 不存在的时候会报错:can't find # of undefined
|
|
34
|
-
function Provider(props, ref) {
|
|
35
|
-
var defaultValue = props.defaultValue,
|
|
36
|
-
canDrag = props.canDrag,
|
|
37
|
-
canDelete = props.canDelete,
|
|
38
|
-
submit = props.submit,
|
|
39
|
-
_transformer = props.transformer,
|
|
40
|
-
extraButtons = props.extraButtons,
|
|
41
|
-
controlButtons = props.controlButtons,
|
|
42
|
-
_preview = props.preview,
|
|
43
|
-
hideId = props.hideId,
|
|
44
|
-
_props$getId = props.getId,
|
|
45
|
-
getId = _props$getId === void 0 ? defaultGetId : _props$getId,
|
|
46
|
-
settings = props.settings,
|
|
47
|
-
commonSettings = props.commonSettings,
|
|
48
|
-
globalSettings = props.globalSettings,
|
|
49
|
-
_props$widgets = props.widgets,
|
|
50
|
-
widgets = _props$widgets === void 0 ? {} : _props$widgets,
|
|
51
|
-
_props$mapping = props.mapping,
|
|
52
|
-
mapping = _props$mapping === void 0 ? {} : _props$mapping,
|
|
53
|
-
_props$methods = props.methods,
|
|
54
|
-
methods = _props$methods === void 0 ? {} : _props$methods,
|
|
55
|
-
_props$configProvider = props.configProvider,
|
|
56
|
-
configProvider = _props$configProvider === void 0 ? {} : _props$configProvider,
|
|
57
|
-
_props$validation = props.validation,
|
|
58
|
-
validation = _props$validation === void 0 ? true : _props$validation,
|
|
59
|
-
children = props.children,
|
|
60
|
-
fieldRender = props.fieldRender,
|
|
61
|
-
fieldWrapperRender = props.fieldWrapperRender,
|
|
62
|
-
elementRender = props.elementRender,
|
|
63
|
-
prefixCls = props.prefixCls;
|
|
64
|
-
var transformer = _objectSpread({
|
|
65
|
-
from: function from(schema) {
|
|
66
|
-
return schema;
|
|
67
|
-
},
|
|
68
|
-
to: function to(schema) {
|
|
69
|
-
return schema;
|
|
70
|
-
},
|
|
71
|
-
fromSetting: fromSetting,
|
|
72
|
-
toSetting: toSetting
|
|
73
|
-
}, _transformer);
|
|
74
|
-
var frwRef = ref || useRef();
|
|
75
|
-
var _useSet = useSet({
|
|
76
|
-
formData: {},
|
|
77
|
-
frProps: {},
|
|
78
|
-
// form-render 的全局 props 等
|
|
79
|
-
isNewVersion: true,
|
|
80
|
-
// 用schema字段,还是用propsSchema字段,这是一个问题
|
|
81
|
-
preview: false,
|
|
82
|
-
// preview = false 是编辑模式
|
|
83
|
-
schema: {},
|
|
84
|
-
selected: undefined,
|
|
85
|
-
// 被选中的$id, 如果object/array的内部,以首字母0标识
|
|
86
|
-
settingsForm: null
|
|
87
|
-
}),
|
|
88
|
-
_useSet2 = _slicedToArray(_useSet, 2),
|
|
89
|
-
state = _useSet2[0],
|
|
90
|
-
setState = _useSet2[1];
|
|
91
|
-
var _useState = useState([]),
|
|
92
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
93
|
-
errorFields = _useState2[0],
|
|
94
|
-
setErrorFields = _useState2[1];
|
|
95
|
-
|
|
96
|
-
// 收口点 propsSchema 到 schema 的转换 (一共3处,其他两个是 importSchema 和 setValue,在 FRWrapper 文件)
|
|
97
|
-
useEffect(function () {
|
|
98
|
-
var schema = defaultValue ? transformer.from(defaultValue) : DEFAULT_SCHEMA;
|
|
99
|
-
if (schema) setState(schemaToState(schema));
|
|
100
|
-
}, [defaultValue]);
|
|
101
|
-
var formData = state.formData,
|
|
102
|
-
frProps = state.frProps,
|
|
103
|
-
isNewVersion = state.isNewVersion,
|
|
104
|
-
preview = state.preview,
|
|
105
|
-
schema = state.schema,
|
|
106
|
-
selected = state.selected;
|
|
107
|
-
var onChange = function onChange(data) {
|
|
108
|
-
setState({
|
|
109
|
-
formData: data
|
|
110
|
-
});
|
|
111
|
-
props.onChange && props.onChange(data);
|
|
112
|
-
};
|
|
113
|
-
var onSchemaChange = function onSchemaChange(newSchema) {
|
|
114
|
-
setState({
|
|
115
|
-
schema: newSchema
|
|
116
|
-
});
|
|
117
|
-
if (props.onSchemaChange) {
|
|
118
|
-
setTimeout(function () {
|
|
119
|
-
if (!frwRef.current) return;
|
|
120
|
-
var pureSchema = frwRef.current.getValue();
|
|
121
|
-
props.onSchemaChange(pureSchema);
|
|
122
|
-
}, 0);
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
var _mapping = _objectSpread(_objectSpread({}, defaultMapping), mapping);
|
|
126
|
-
var _widgets = _objectSpread(_objectSpread(_objectSpread({}, defaultWidgets), widgets), {}, {
|
|
127
|
-
list: list
|
|
128
|
-
});
|
|
129
|
-
var rootState = {
|
|
130
|
-
preview: _preview !== null && _preview !== void 0 ? _preview : preview,
|
|
131
|
-
mapping: _mapping,
|
|
132
|
-
widgets: _widgets,
|
|
133
|
-
methods: methods,
|
|
134
|
-
selected: selected
|
|
135
|
-
};
|
|
136
|
-
var userProps = {
|
|
137
|
-
canDrag: canDrag,
|
|
138
|
-
canDelete: canDelete,
|
|
139
|
-
submit: submit,
|
|
140
|
-
transformer: transformer,
|
|
141
|
-
isNewVersion: isNewVersion,
|
|
142
|
-
extraButtons: extraButtons,
|
|
143
|
-
controlButtons: controlButtons,
|
|
144
|
-
hideId: hideId,
|
|
145
|
-
getId: getId,
|
|
146
|
-
validation: validation,
|
|
147
|
-
settings: settings,
|
|
148
|
-
commonSettings: commonSettings,
|
|
149
|
-
globalSettings: globalSettings
|
|
150
|
-
};
|
|
151
|
-
var _schema = {};
|
|
152
|
-
if (schema) {
|
|
153
|
-
_schema = combineSchema(_objectSpread(_objectSpread({}, schema), frProps)); // TODO: 要不要判断是否都是object
|
|
154
|
-
}
|
|
155
|
-
var flatten = flattenSchema(_schema);
|
|
156
|
-
var flattenWithData = transformer.from(dataToFlatten(flatten, formData));
|
|
157
|
-
var onFlattenChange = function onFlattenChange(newFlatten) {
|
|
158
|
-
var changeSource = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'schema';
|
|
159
|
-
var newSchema = idToSchema(newFlatten);
|
|
160
|
-
var newData = flattenToData(newFlatten);
|
|
161
|
-
// 判断只有schema变化时才调用,一般需求的用户不需要
|
|
162
|
-
if (changeSource === 'schema') {
|
|
163
|
-
onSchemaChange(newSchema);
|
|
164
|
-
}
|
|
165
|
-
// schema 变化大都会触发 data 变化
|
|
166
|
-
onChange(newData);
|
|
167
|
-
};
|
|
168
|
-
var onItemChange = function onItemChange(key, value, changeSource) {
|
|
169
|
-
flattenWithData[key] = value;
|
|
170
|
-
onFlattenChange(flattenWithData, changeSource);
|
|
171
|
-
};
|
|
172
|
-
var displaySchema = {};
|
|
173
|
-
var displaySchemaString = '';
|
|
174
|
-
try {
|
|
175
|
-
var _schema2 = _objectSpread(_objectSpread({}, idToSchema(flattenWithData, '#', true)), frProps);
|
|
176
|
-
displaySchema = transformer.to(_schema2);
|
|
177
|
-
if (!isNewVersion) {
|
|
178
|
-
displaySchema = newSchemaToOld(displaySchema);
|
|
179
|
-
}
|
|
180
|
-
// displaySchemaString = JSON.stringify(displaySchema, null, 2);
|
|
181
|
-
// 支持直接保存函数之后(解决validtor不能正常保存的问题),这里因为导入导出的问题,序列化也用内置的api序列化
|
|
182
|
-
displaySchemaString = serializeToDraft(displaySchema);
|
|
183
|
-
} catch (error) {}
|
|
184
|
-
var getValue = function getValue() {
|
|
185
|
-
return displaySchema;
|
|
186
|
-
};
|
|
187
|
-
var setValue = function setValue(value) {
|
|
188
|
-
try {
|
|
189
|
-
setState(function (state) {
|
|
190
|
-
return _objectSpread(_objectSpread({}, state), {}, {
|
|
191
|
-
selected: undefined
|
|
192
|
-
}, schemaToState(transformer.from(value)));
|
|
193
|
-
});
|
|
194
|
-
} catch (error) {
|
|
195
|
-
console.error(error);
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
var copyValue = function copyValue() {
|
|
199
|
-
copyTOClipboard(displaySchemaString);
|
|
200
|
-
};
|
|
201
|
-
var getErrorFields = function getErrorFields() {
|
|
202
|
-
return errorFields;
|
|
203
|
-
};
|
|
204
|
-
var getSettingsForm = function getSettingsForm() {
|
|
205
|
-
return state.settingsForm;
|
|
206
|
-
};
|
|
207
|
-
useImperativeHandle(frwRef, function () {
|
|
208
|
-
return {
|
|
209
|
-
getValue: getValue,
|
|
210
|
-
setValue: setValue,
|
|
211
|
-
copyValue: copyValue,
|
|
212
|
-
getErrorFields: getErrorFields,
|
|
213
|
-
getSettingsForm: getSettingsForm
|
|
214
|
-
};
|
|
215
|
-
});
|
|
216
|
-
|
|
217
|
-
// TODO: flatten是频繁在变的,应该和其他两个函数分开
|
|
218
|
-
var store = _objectSpread({
|
|
219
|
-
flatten: flattenWithData,
|
|
220
|
-
// schema + formData = flattenWithData
|
|
221
|
-
onFlattenChange: onFlattenChange,
|
|
222
|
-
// onChange + onSchemaChange = onFlattenChange
|
|
223
|
-
onItemChange: onItemChange,
|
|
224
|
-
// onFlattenChange 里只改一个item的flatten,使用这个方法
|
|
225
|
-
onSchemaChange: onSchemaChange,
|
|
226
|
-
onChange: onChange,
|
|
227
|
-
errorFields: errorFields,
|
|
228
|
-
onItemErrorChange: setErrorFields,
|
|
229
|
-
userProps: userProps,
|
|
230
|
-
frProps: frProps,
|
|
231
|
-
displaySchema: displaySchema,
|
|
232
|
-
displaySchemaString: displaySchemaString,
|
|
233
|
-
fieldRender: fieldRender,
|
|
234
|
-
fieldWrapperRender: fieldWrapperRender,
|
|
235
|
-
elementRender: elementRender
|
|
236
|
-
}, rootState);
|
|
237
|
-
return /*#__PURE__*/React.createElement(DndProvider, {
|
|
238
|
-
backend: HTML5Backend,
|
|
239
|
-
context: window
|
|
240
|
-
}, /*#__PURE__*/React.createElement(ConfigProvider, _extends({
|
|
241
|
-
locale: zhCN
|
|
242
|
-
}, configProvider), /*#__PURE__*/React.createElement(Ctx.Provider, {
|
|
243
|
-
value: setState
|
|
244
|
-
}, /*#__PURE__*/React.createElement(StoreCtx.Provider, {
|
|
245
|
-
value: store
|
|
246
|
-
}, children))));
|
|
247
|
-
}
|
|
248
|
-
export default /*#__PURE__*/forwardRef(Provider);
|