@luck-design-biz/luckda 1.0.0-alpha → 1.0.1-2

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.
Files changed (279) hide show
  1. package/es/components/Builder/index.js +15 -3
  2. package/es/components/ComplexItem/index.js +65 -49
  3. package/es/components/LdAutoForm/index.js +6 -4
  4. package/es/components/LdFormList/index.js +3 -6
  5. package/es/components/LdGridForm/index.js +2 -1
  6. package/es/helper/form.js +1 -0
  7. package/es/helper/ldBuilder.js +8 -3
  8. package/es/locales/zh-CN.js +41 -4
  9. package/es/lowcode/constants/event-topics.js +0 -2
  10. package/es/lowcode/engine/launcher.js +3 -1
  11. package/es/lowcode/engine/meta/box.props.json +3 -3
  12. package/es/lowcode/engine/meta/button.props.default.json +1 -1
  13. package/es/lowcode/engine/meta/button.props.json +2 -2
  14. package/es/lowcode/engine/meta/cardlist.props.default.json +1 -0
  15. package/es/lowcode/engine/meta/cardlist.props.json +1 -0
  16. package/es/lowcode/engine/meta/components-list.json +0 -132
  17. package/es/lowcode/engine/meta/dialog.props.json +2 -2
  18. package/es/lowcode/engine/meta/drawer.props.default.json +1 -0
  19. package/es/lowcode/engine/meta/drawer.props.json +1 -0
  20. package/es/lowcode/engine/meta/fieldcomplex.props.default.json +1 -0
  21. package/es/lowcode/engine/meta/fieldcomplex.props.json +7 -0
  22. package/es/lowcode/engine/meta/fielddate.props.default.json +2 -0
  23. package/es/lowcode/engine/meta/fielddate.props.json +4 -2
  24. package/es/lowcode/engine/meta/fieldnumber.props.default.json +1 -0
  25. package/es/lowcode/engine/meta/fieldnumber.props.json +3 -2
  26. package/es/lowcode/engine/meta/fielduser.props.default.json +1 -1
  27. package/es/lowcode/engine/meta/fielduser.props.json +1 -1
  28. package/es/lowcode/engine/meta/form.props.default.json +13 -4
  29. package/es/lowcode/engine/meta/form.props.json +51 -13
  30. package/es/lowcode/engine/meta/iframe.props.default.json +2 -1
  31. package/es/lowcode/engine/meta/iframe.props.json +2 -1
  32. package/es/lowcode/engine/meta/image.props.default.json +2 -1
  33. package/es/lowcode/engine/meta/image.props.json +2 -1
  34. package/es/lowcode/engine/meta/imex.props.default.json +2 -1
  35. package/es/lowcode/engine/meta/imex.props.json +26 -5
  36. package/es/lowcode/engine/meta/js-editor/auto-complete.json +38 -20
  37. package/es/lowcode/engine/meta/jsx.props.default.json +1 -1
  38. package/es/lowcode/engine/meta/jsx.props.json +1 -1
  39. package/es/lowcode/engine/meta/layout.props.default.json +1 -1
  40. package/es/lowcode/engine/meta/layout.props.json +5 -5
  41. package/es/lowcode/engine/meta/link.props.default.json +2 -1
  42. package/es/lowcode/engine/meta/link.props.json +2 -1
  43. package/es/lowcode/engine/meta/page.props.json +6 -0
  44. package/es/lowcode/engine/meta/pagelayout.props.default.json +1 -1
  45. package/es/lowcode/engine/meta/pagelayout.props.json +1 -1
  46. package/es/lowcode/engine/meta/section.props.json +2 -1
  47. package/es/lowcode/engine/meta/split.props.default.json +1 -1
  48. package/es/lowcode/engine/meta/split.props.json +1 -1
  49. package/es/lowcode/engine/meta/table.props.json +2 -2
  50. package/es/lowcode/engine/meta/text.props.default.json +4 -2
  51. package/es/lowcode/engine/meta/text.props.json +8 -6
  52. package/es/lowcode/engine/provider/ContextProvider/index.js +63 -46
  53. package/es/lowcode/engine/provider/ContextProvider/router.js +43 -0
  54. package/es/lowcode/engine/{tools → provider/ContextProvider}/usePageDataStore.js +9 -7
  55. package/es/lowcode/engine/provider/ContextProvider/usePageVar.js +38 -15
  56. package/es/lowcode/engine/{tools → provider/ContextProvider}/useTodo.js +5 -7
  57. package/es/lowcode/engine/provider/ContextProvider/utils.js +157 -0
  58. package/es/lowcode/engine/provider/RemoteSourceProvider.js +1 -2
  59. package/es/lowcode/engine/tools/helper.js +7 -2
  60. package/es/lowcode/engine/tools/initDS.js +263 -0
  61. package/es/lowcode/engine/tools/useCombinedRefs.js +3 -2
  62. package/es/lowcode/painter/DesignOperator.js +10 -1
  63. package/es/lowcode/painter/Panel.js +2 -2
  64. package/es/lowcode/painter/components/AdvancePanel.js +3 -3
  65. package/es/lowcode/painter/components/Collapse.js +5 -2
  66. package/es/lowcode/painter/components/TipIcon.js +16 -0
  67. package/es/lowcode/painter/components/VarEditor.js +456 -0
  68. package/es/lowcode/painter/components/code-editor/FullScreenEditor.js +2 -2
  69. package/es/lowcode/painter/components/code-editor/JSEditor.js +3 -1
  70. package/es/lowcode/painter/components/code-editor/VisionEditor.js +81 -0
  71. package/es/lowcode/painter/components/field-setting/SettingUI.js +43 -5
  72. package/es/lowcode/painter/components/field-setting/index.js +27 -13
  73. package/es/lowcode/painter/components/field-setting/meta/frontRules.js +2 -1
  74. package/es/lowcode/painter/index.js +1 -0
  75. package/es/lowcode/painter/panel-section/BlockEditor/index.js +20 -6
  76. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +2 -2
  77. package/es/lowcode/painter/panel-section/ComplexPop.js +242 -0
  78. package/es/lowcode/painter/panel-section/DataSetSelector.js +8 -0
  79. package/es/lowcode/painter/panel-section/FieldsSetting.js +30 -4
  80. package/es/lowcode/painter/panel-section/I18nInput.js +4 -2
  81. package/es/lowcode/painter/panel-section/Icon.js +9 -4
  82. package/es/lowcode/painter/panel-section/IconConditionSelector.js +7 -7
  83. package/es/lowcode/painter/panel-section/IconSelector.js +1 -1
  84. package/es/lowcode/painter/panel-section/ImpExp.js +1 -27
  85. package/es/lowcode/painter/panel-section/ImpExpAlone.js +1 -2
  86. package/es/lowcode/painter/panel-section/LayoutRatio.js +1 -0
  87. package/es/lowcode/painter/panel-section/PageVars.js +300 -0
  88. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +4 -3
  89. package/es/lowcode/painter/panel-section/TabItems.js +6 -42
  90. package/es/lowcode/painter/panel-section/TextContent.js +79 -0
  91. package/es/lowcode/painter/services/complexPop.js +21 -0
  92. package/es/lowcode/painter/style/design.less +1 -1
  93. package/es/lowcode/painter/style/page-vars.less +25 -0
  94. package/es/lowcode/preview/index.js +1 -0
  95. package/es/lowcode/view/Canvas.js +24 -22
  96. package/es/lowcode/view/Loading.js +5 -7
  97. package/es/lowcode/view/Page.js +37 -15
  98. package/es/lowcode/view/index.js +1 -0
  99. package/es/lowcode/view/lc-components/Box/index.js +18 -3
  100. package/es/lowcode/view/lc-components/Box/meta.json +3 -3
  101. package/es/lowcode/view/lc-components/Button/index.js +7 -7
  102. package/es/lowcode/view/lc-components/Button/meta.json +2 -2
  103. package/es/lowcode/view/lc-components/CardList/meta.json +1 -0
  104. package/es/lowcode/view/lc-components/Dialog/index.js +6 -7
  105. package/es/lowcode/view/lc-components/Dialog/meta.json +2 -2
  106. package/es/lowcode/view/lc-components/Drawer/meta.json +1 -0
  107. package/es/lowcode/view/lc-components/FieldComplex/meta.json +7 -0
  108. package/es/lowcode/view/lc-components/FieldDate/meta.json +4 -2
  109. package/es/lowcode/view/lc-components/FieldNumber/meta.json +3 -2
  110. package/es/lowcode/view/lc-components/FieldUser/meta.json +1 -1
  111. package/es/lowcode/view/lc-components/Form/index.js +37 -21
  112. package/es/lowcode/view/lc-components/Form/meta.json +46 -12
  113. package/es/lowcode/view/lc-components/Iframe/meta.json +2 -1
  114. package/es/lowcode/view/lc-components/ImEx/index.js +174 -103
  115. package/es/lowcode/view/lc-components/ImEx/meta.json +26 -5
  116. package/es/lowcode/view/lc-components/Image/meta.json +2 -1
  117. package/es/lowcode/view/lc-components/JSX/meta.json +1 -1
  118. package/es/lowcode/view/lc-components/Layout/index.js +22 -5
  119. package/es/lowcode/view/lc-components/Layout/meta.json +5 -5
  120. package/es/lowcode/view/lc-components/Link/meta.json +2 -1
  121. package/es/lowcode/view/lc-components/Page/meta.json +6 -0
  122. package/es/lowcode/view/lc-components/PageLayout/FunctionDesign.js +5 -1
  123. package/es/lowcode/view/lc-components/PageLayout/meta.json +1 -1
  124. package/es/lowcode/view/lc-components/Section/index.js +2 -6
  125. package/es/lowcode/view/lc-components/Section/meta.json +2 -1
  126. package/es/lowcode/view/lc-components/Split/index.js +19 -4
  127. package/es/lowcode/view/lc-components/Split/meta.json +1 -1
  128. package/es/lowcode/view/lc-components/Table/index.js +29 -3
  129. package/es/lowcode/view/lc-components/Table/meta.json +2 -2
  130. package/es/lowcode/view/lc-components/Tabs/index.js +19 -16
  131. package/es/lowcode/view/lc-components/Text/index.js +9 -2
  132. package/es/lowcode/view/lc-components/Text/meta.json +6 -6
  133. package/es/lowcode/view/lc-components/Wrapper.js +17 -2
  134. package/es/lowcode/view/style/loading.less +14 -0
  135. package/es/services.js +19 -0
  136. package/es/upload/Form/gridForm.js +17 -7
  137. package/es/upload/FormItem/index.js +6 -6
  138. package/es/utils/form.js +4 -4
  139. package/es/utils/grid.js +2 -1
  140. package/lib/components/Builder/index.js +13 -1
  141. package/lib/components/ComplexItem/index.js +62 -47
  142. package/lib/components/LdAutoForm/index.js +5 -3
  143. package/lib/components/LdFormList/index.js +5 -8
  144. package/lib/components/LdGridForm/index.js +2 -1
  145. package/lib/helper/form.js +1 -0
  146. package/lib/helper/ldBuilder.js +8 -3
  147. package/lib/locales/zh-CN.js +41 -4
  148. package/lib/lowcode/constants/event-topics.js +1 -3
  149. package/lib/lowcode/engine/launcher.js +3 -1
  150. package/lib/lowcode/engine/meta/box.props.json +3 -3
  151. package/lib/lowcode/engine/meta/button.props.default.json +1 -1
  152. package/lib/lowcode/engine/meta/button.props.json +2 -2
  153. package/lib/lowcode/engine/meta/cardlist.props.default.json +1 -0
  154. package/lib/lowcode/engine/meta/cardlist.props.json +1 -0
  155. package/lib/lowcode/engine/meta/components-list.json +0 -132
  156. package/lib/lowcode/engine/meta/dialog.props.json +2 -2
  157. package/lib/lowcode/engine/meta/drawer.props.default.json +1 -0
  158. package/lib/lowcode/engine/meta/drawer.props.json +1 -0
  159. package/lib/lowcode/engine/meta/fieldcomplex.props.default.json +1 -0
  160. package/lib/lowcode/engine/meta/fieldcomplex.props.json +7 -0
  161. package/lib/lowcode/engine/meta/fielddate.props.default.json +2 -0
  162. package/lib/lowcode/engine/meta/fielddate.props.json +4 -2
  163. package/lib/lowcode/engine/meta/fieldnumber.props.default.json +1 -0
  164. package/lib/lowcode/engine/meta/fieldnumber.props.json +3 -2
  165. package/lib/lowcode/engine/meta/fielduser.props.default.json +1 -1
  166. package/lib/lowcode/engine/meta/fielduser.props.json +1 -1
  167. package/lib/lowcode/engine/meta/form.props.default.json +13 -4
  168. package/lib/lowcode/engine/meta/form.props.json +51 -13
  169. package/lib/lowcode/engine/meta/iframe.props.default.json +2 -1
  170. package/lib/lowcode/engine/meta/iframe.props.json +2 -1
  171. package/lib/lowcode/engine/meta/image.props.default.json +2 -1
  172. package/lib/lowcode/engine/meta/image.props.json +2 -1
  173. package/lib/lowcode/engine/meta/imex.props.default.json +2 -1
  174. package/lib/lowcode/engine/meta/imex.props.json +26 -5
  175. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +38 -20
  176. package/lib/lowcode/engine/meta/jsx.props.default.json +1 -1
  177. package/lib/lowcode/engine/meta/jsx.props.json +1 -1
  178. package/lib/lowcode/engine/meta/layout.props.default.json +1 -1
  179. package/lib/lowcode/engine/meta/layout.props.json +5 -5
  180. package/lib/lowcode/engine/meta/link.props.default.json +2 -1
  181. package/lib/lowcode/engine/meta/link.props.json +2 -1
  182. package/lib/lowcode/engine/meta/page.props.json +6 -0
  183. package/lib/lowcode/engine/meta/pagelayout.props.default.json +1 -1
  184. package/lib/lowcode/engine/meta/pagelayout.props.json +1 -1
  185. package/lib/lowcode/engine/meta/section.props.json +2 -1
  186. package/lib/lowcode/engine/meta/split.props.default.json +1 -1
  187. package/lib/lowcode/engine/meta/split.props.json +1 -1
  188. package/lib/lowcode/engine/meta/table.props.json +2 -2
  189. package/lib/lowcode/engine/meta/text.props.default.json +4 -2
  190. package/lib/lowcode/engine/meta/text.props.json +8 -6
  191. package/lib/lowcode/engine/provider/ContextProvider/index.js +61 -44
  192. package/lib/lowcode/engine/provider/ContextProvider/router.js +57 -0
  193. package/lib/lowcode/engine/{tools → provider/ContextProvider}/usePageDataStore.js +9 -7
  194. package/lib/lowcode/engine/provider/ContextProvider/usePageVar.js +38 -16
  195. package/lib/lowcode/engine/{tools → provider/ContextProvider}/useTodo.js +5 -7
  196. package/lib/lowcode/engine/provider/ContextProvider/utils.js +170 -0
  197. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +2 -3
  198. package/lib/lowcode/engine/tools/helper.js +7 -2
  199. package/lib/lowcode/engine/tools/initDS.js +270 -0
  200. package/lib/lowcode/engine/tools/useCombinedRefs.js +2 -1
  201. package/lib/lowcode/painter/DesignOperator.js +9 -0
  202. package/lib/lowcode/painter/Panel.js +2 -2
  203. package/lib/lowcode/painter/components/AdvancePanel.js +3 -3
  204. package/lib/lowcode/painter/components/Collapse.js +5 -2
  205. package/lib/lowcode/painter/components/TipIcon.js +23 -0
  206. package/lib/lowcode/painter/components/VarEditor.js +463 -0
  207. package/lib/lowcode/painter/components/code-editor/FullScreenEditor.js +2 -2
  208. package/lib/lowcode/painter/components/code-editor/JSEditor.js +3 -1
  209. package/lib/lowcode/painter/components/code-editor/VisionEditor.js +88 -0
  210. package/lib/lowcode/painter/components/field-setting/SettingUI.js +42 -4
  211. package/lib/lowcode/painter/components/field-setting/index.js +27 -13
  212. package/lib/lowcode/painter/components/field-setting/meta/frontRules.js +2 -1
  213. package/lib/lowcode/painter/index.js +1 -0
  214. package/lib/lowcode/painter/panel-section/BlockEditor/index.js +19 -5
  215. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +2 -2
  216. package/lib/lowcode/painter/panel-section/ComplexPop.js +250 -0
  217. package/lib/lowcode/painter/panel-section/DataSetSelector.js +8 -0
  218. package/lib/lowcode/painter/panel-section/FieldsSetting.js +30 -4
  219. package/lib/lowcode/painter/panel-section/I18nInput.js +4 -2
  220. package/lib/lowcode/painter/panel-section/Icon.js +8 -3
  221. package/lib/lowcode/painter/panel-section/IconConditionSelector.js +6 -6
  222. package/lib/lowcode/painter/panel-section/IconSelector.js +1 -1
  223. package/lib/lowcode/painter/panel-section/ImpExp.js +0 -26
  224. package/lib/lowcode/painter/panel-section/ImpExpAlone.js +0 -1
  225. package/lib/lowcode/painter/panel-section/LayoutRatio.js +1 -0
  226. package/lib/lowcode/painter/panel-section/PageVars.js +308 -0
  227. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +4 -3
  228. package/lib/lowcode/painter/panel-section/TabItems.js +6 -42
  229. package/lib/lowcode/painter/panel-section/TextContent.js +87 -0
  230. package/lib/lowcode/painter/services/complexPop.js +28 -0
  231. package/lib/lowcode/painter/style/design.less +1 -1
  232. package/lib/lowcode/painter/style/page-vars.less +25 -0
  233. package/lib/lowcode/preview/index.js +1 -0
  234. package/lib/lowcode/view/Canvas.js +24 -22
  235. package/lib/lowcode/view/Loading.js +5 -7
  236. package/lib/lowcode/view/Page.js +35 -13
  237. package/lib/lowcode/view/index.js +1 -0
  238. package/lib/lowcode/view/lc-components/Box/index.js +17 -2
  239. package/lib/lowcode/view/lc-components/Box/meta.json +3 -3
  240. package/lib/lowcode/view/lc-components/Button/index.js +5 -5
  241. package/lib/lowcode/view/lc-components/Button/meta.json +2 -2
  242. package/lib/lowcode/view/lc-components/CardList/meta.json +1 -0
  243. package/lib/lowcode/view/lc-components/Dialog/index.js +6 -7
  244. package/lib/lowcode/view/lc-components/Dialog/meta.json +2 -2
  245. package/lib/lowcode/view/lc-components/Drawer/meta.json +1 -0
  246. package/lib/lowcode/view/lc-components/FieldComplex/meta.json +7 -0
  247. package/lib/lowcode/view/lc-components/FieldDate/meta.json +4 -2
  248. package/lib/lowcode/view/lc-components/FieldNumber/meta.json +3 -2
  249. package/lib/lowcode/view/lc-components/FieldUser/meta.json +1 -1
  250. package/lib/lowcode/view/lc-components/Form/index.js +36 -20
  251. package/lib/lowcode/view/lc-components/Form/meta.json +46 -12
  252. package/lib/lowcode/view/lc-components/Iframe/meta.json +2 -1
  253. package/lib/lowcode/view/lc-components/ImEx/index.js +172 -101
  254. package/lib/lowcode/view/lc-components/ImEx/meta.json +26 -5
  255. package/lib/lowcode/view/lc-components/Image/meta.json +2 -1
  256. package/lib/lowcode/view/lc-components/JSX/meta.json +1 -1
  257. package/lib/lowcode/view/lc-components/Layout/index.js +21 -4
  258. package/lib/lowcode/view/lc-components/Layout/meta.json +5 -5
  259. package/lib/lowcode/view/lc-components/Link/meta.json +2 -1
  260. package/lib/lowcode/view/lc-components/Page/meta.json +6 -0
  261. package/lib/lowcode/view/lc-components/PageLayout/FunctionDesign.js +5 -1
  262. package/lib/lowcode/view/lc-components/PageLayout/meta.json +1 -1
  263. package/lib/lowcode/view/lc-components/Section/index.js +2 -6
  264. package/lib/lowcode/view/lc-components/Section/meta.json +2 -1
  265. package/lib/lowcode/view/lc-components/Split/index.js +18 -3
  266. package/lib/lowcode/view/lc-components/Split/meta.json +1 -1
  267. package/lib/lowcode/view/lc-components/Table/index.js +30 -4
  268. package/lib/lowcode/view/lc-components/Table/meta.json +2 -2
  269. package/lib/lowcode/view/lc-components/Tabs/index.js +17 -14
  270. package/lib/lowcode/view/lc-components/Text/index.js +8 -1
  271. package/lib/lowcode/view/lc-components/Text/meta.json +6 -6
  272. package/lib/lowcode/view/lc-components/Wrapper.js +16 -1
  273. package/lib/lowcode/view/style/loading.less +14 -0
  274. package/lib/services.js +20 -0
  275. package/lib/upload/Form/gridForm.js +17 -7
  276. package/lib/upload/FormItem/index.js +6 -6
  277. package/lib/utils/form.js +3 -3
  278. package/lib/utils/grid.js +2 -1
  279. package/package.json +3 -3
@@ -0,0 +1,456 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import React from 'react';
4
+ import { useDebounceFn, useCreation, useSet, useMemoizedFn } from 'ahooks';
5
+ import { Form, Input, Switch, Segmented, Dropdown, Menu } from 'luck-design/antd';
6
+ import styled from 'styled-components';
7
+ import { set, unset, get, intersection, keys } from 'lodash';
8
+ import { formatMessage } from '@luck-design-biz/base/utils';
9
+ import VisionEditor from "./code-editor/VisionEditor";
10
+ import JSEditor from "./code-editor/JSEditor";
11
+ import TipIcon from "./TipIcon";
12
+ var _I18N_PREFIX_ = 'luckda.lowcode.painter.pageVars';
13
+ var StyledForm = styled(Form).withConfig({
14
+ displayName: "StyledForm",
15
+ componentId: "luckda-6530__sc-iq6k7e-0"
16
+ })(["font-size:12px;.ant-form-item{font-size:12px;margin-bottom:0;}label{font-size:12px;}"]);
17
+ var StyledSegmented = styled(Segmented).withConfig({
18
+ displayName: "StyledSegmented",
19
+ componentId: "luckda-6530__sc-iq6k7e-1"
20
+ })(["width:100%;"]);
21
+ var EditorWrapper = styled.div.withConfig({
22
+ displayName: "EditorWrapper",
23
+ componentId: "luckda-6530__sc-iq6k7e-2"
24
+ })(["width:100%;height:80px;border:1px solid #d9d9d9;border-radius:4px;margin:8px 0;"]);
25
+ var LabelLine = styled.div.withConfig({
26
+ displayName: "LabelLine",
27
+ componentId: "luckda-6530__sc-iq6k7e-3"
28
+ })(["height:28px;background:rgba(31,56,88,0.04);border-top:1px solid rgba(31,56,88,0.1);border-bottom:1px solid rgba(31,56,88,0.1);margin:8px 0;line-height:26px;padding:0 12px;", ""], function (props) {
29
+ return props.$flex ? {
30
+ display: 'flex',
31
+ 'align-items': 'center',
32
+ 'justify-content': 'space-between'
33
+ } : null;
34
+ });
35
+ var _EDITOR_OPTIONS = {
36
+ minimap: {
37
+ enabled: false
38
+ },
39
+ lineNumbers: 'off'
40
+ };
41
+ var _TASK_TYPE_OPTIONS = [{
42
+ label: formatMessage({
43
+ id: "".concat(_I18N_PREFIX_, ".taskType.serial"),
44
+ label: '串行'
45
+ }),
46
+ value: 'serial'
47
+ }, {
48
+ label: formatMessage({
49
+ id: "".concat(_I18N_PREFIX_, ".taskType.parallel"),
50
+ label: '并行'
51
+ }),
52
+ value: 'parallel'
53
+ }];
54
+ var _METHOD_OPTIONS = [{
55
+ label: formatMessage({
56
+ id: "".concat(_I18N_PREFIX_, ".method.jsonp"),
57
+ label: 'JSONP'
58
+ }),
59
+ value: 'jsonp'
60
+ }, {
61
+ label: formatMessage({
62
+ id: "".concat(_I18N_PREFIX_, ".method.get"),
63
+ label: 'GET'
64
+ }),
65
+ value: 'get'
66
+ }, {
67
+ label: formatMessage({
68
+ id: "".concat(_I18N_PREFIX_, ".taskType.post"),
69
+ label: 'POST'
70
+ }),
71
+ value: 'post'
72
+ }, {
73
+ label: formatMessage({
74
+ id: "".concat(_I18N_PREFIX_, ".taskType.put"),
75
+ label: 'PUT'
76
+ }),
77
+ value: 'put'
78
+ }, {
79
+ label: formatMessage({
80
+ id: "".concat(_I18N_PREFIX_, ".taskType.delete"),
81
+ label: 'DELETE'
82
+ }),
83
+ value: 'delete'
84
+ }];
85
+ var _DEFAULT_PROCESS_ = {
86
+ willFetch: {
87
+ code: 'function willFetch(vars, config){\n\t\n}',
88
+ title: formatMessage({
89
+ id: "".concat(_I18N_PREFIX_, ".willFetch"),
90
+ label: "\u8BF7\u6C42\u53D1\u9001\u524D\u5904\u7406\u51FD\u6570(willFetch)"
91
+ })
92
+ },
93
+ didFetch: {
94
+ code: 'function didFetch(content){\n\t\n}',
95
+ title: formatMessage({
96
+ id: "".concat(_I18N_PREFIX_, ".didFetch"),
97
+ label: "\u8BF7\u6C42\u53D1\u9001\u524D\u5904\u7406\u51FD\u6570(didFetch)"
98
+ })
99
+ },
100
+ onError: {
101
+ code: 'function onError(error){\n\t\n}',
102
+ title: formatMessage({
103
+ id: "".concat(_I18N_PREFIX_, ".onError"),
104
+ label: "\u8BF7\u6C42\u53D1\u9001\u524D\u5904\u7406\u51FD\u6570(onError)"
105
+ })
106
+ }
107
+ };
108
+ var getBasicFormItem = function getBasicFormItem(form, item) {
109
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {
110
+ label: formatMessage({
111
+ id: "".concat(_I18N_PREFIX_, ".name"),
112
+ label: '名称'
113
+ })
114
+ }, form.getFieldDecorator('name', {
115
+ initialValue: item.name,
116
+ rules: [{
117
+ required: true,
118
+ message: formatMessage({
119
+ id: "".concat(_I18N_PREFIX_, ".messag.name"),
120
+ label: '请输入变量名'
121
+ })
122
+ }]
123
+ })( /*#__PURE__*/React.createElement(Input, {
124
+ size: "small"
125
+ }))), /*#__PURE__*/React.createElement(Form.Item, {
126
+ label: formatMessage({
127
+ id: "".concat(_I18N_PREFIX_, ".desc"),
128
+ label: '描述'
129
+ })
130
+ }, form.getFieldDecorator('desc', {
131
+ initialValue: item.desc
132
+ })( /*#__PURE__*/React.createElement(Input, {
133
+ size: "small",
134
+ placeholder: formatMessage({
135
+ id: "".concat(_I18N_PREFIX_, ".placeholder"),
136
+ label: '请输入'
137
+ })
138
+ }))));
139
+ };
140
+ var VarForm = Form.create({
141
+ name: 'var_form',
142
+ onValuesChange: function onValuesChange(_ref, values) {
143
+ var dispatch = _ref.dispatch,
144
+ item = _ref.item;
145
+ dispatch({
146
+ type: 'edit',
147
+ payload: {
148
+ id: item.id,
149
+ data: values
150
+ }
151
+ });
152
+ }
153
+ })(function (_ref2) {
154
+ var form = _ref2.form,
155
+ item = _ref2.item,
156
+ dispatch = _ref2.dispatch;
157
+ var _useDebounceFn = useDebounceFn(function (code) {
158
+ dispatch({
159
+ type: 'edit',
160
+ payload: {
161
+ id: item.id,
162
+ data: {
163
+ data: code
164
+ }
165
+ }
166
+ });
167
+ }, {
168
+ wait: 500
169
+ }),
170
+ handleEditorValueChange = _useDebounceFn.run;
171
+ return /*#__PURE__*/React.createElement(StyledForm, {
172
+ layout: "horizontal",
173
+ labelCol: {
174
+ span: 6
175
+ },
176
+ wrapperCol: {
177
+ span: 17
178
+ },
179
+ hideRequiredMark: true
180
+ }, getBasicFormItem(form, item), /*#__PURE__*/React.createElement(LabelLine, null, formatMessage({
181
+ id: "".concat(_I18N_PREFIX_, ".data"),
182
+ label: '数据'
183
+ }), /*#__PURE__*/React.createElement(TipIcon, {
184
+ type: "question-circle",
185
+ style: {
186
+ marginLeft: 4
187
+ },
188
+ title: formatMessage({
189
+ id: "".concat(_I18N_PREFIX_, ".tip.data"),
190
+ label: "\u8F93\u5165\u6846\u5185\u652F\u6301\u8F93\u5165JS\u7684\u57FA\u672C\u7C7B\u578B\u53D8\u91CF\uFF0C\u5982\u5B57\u7B26\u4E32:\"string\"\uFF0C\u6570\u5B57:123\uFF0C\u5E03\u5C14\u503C:true/false\uFF0C\u6570\u7EC4:[1,2,3]\uFF0C\u5BF9\u8C61:{\"name\": \"test\"}\uFF0C\u7A7A\u503C:null"
191
+ })
192
+ })), /*#__PURE__*/React.createElement("div", {
193
+ style: {
194
+ width: '100%',
195
+ height: 300
196
+ }
197
+ }, /*#__PURE__*/React.createElement(VisionEditor, {
198
+ onChange: handleEditorValueChange
199
+ }, item.data)));
200
+ });
201
+ var ApiForm = Form.create({
202
+ name: 'api_form',
203
+ onValuesChange: function onValuesChange(_ref3, values, all) {
204
+ var dispatch = _ref3.dispatch,
205
+ item = _ref3.item;
206
+ var auto = get(values, 'data.auto');
207
+ if (auto) {
208
+ set(all, 'data.taskType', 'parallel');
209
+ } else if (auto === false) {
210
+ unset(all, 'data.taskType');
211
+ }
212
+ dispatch({
213
+ type: 'edit',
214
+ payload: {
215
+ id: item.id,
216
+ data: all
217
+ }
218
+ });
219
+ }
220
+ })(function (_ref4) {
221
+ var _item$data, _item$data2, _item$data3, _item$data4, _item$data5, _item$data6, _item$data7, _item$data8, _item$data9, _item$data10, _item$data11;
222
+ var form = _ref4.form,
223
+ item = _ref4.item,
224
+ dispatch = _ref4.dispatch;
225
+ var _useSet = useSet(intersection(['willFetch', 'didFetch', 'onError'], keys(item))),
226
+ _useSet2 = _slicedToArray(_useSet, 2),
227
+ processSet = _useSet2[0],
228
+ _useSet2$ = _useSet2[1],
229
+ add = _useSet2$.add,
230
+ remove = _useSet2$.remove;
231
+ var _useDebounceFn2 = useDebounceFn(function (field, code) {
232
+ var obj = {};
233
+ set(obj, field, code);
234
+ form.setFieldsValue(obj);
235
+ }, {
236
+ wait: 500
237
+ }),
238
+ handleEditorValueChange = _useDebounceFn2.run;
239
+ var handleAddProcessFun = useMemoizedFn(function (_ref5) {
240
+ var key = _ref5.key;
241
+ if (!processSet.has(key)) {
242
+ add(key);
243
+ dispatch({
244
+ type: 'edit',
245
+ payload: {
246
+ id: item.id,
247
+ data: _defineProperty({}, key, _DEFAULT_PROCESS_[key].code)
248
+ }
249
+ });
250
+ }
251
+ });
252
+ var handleDelProcessFun = useMemoizedFn(function (_ref6) {
253
+ var key = _ref6.key;
254
+ remove(key);
255
+ dispatch({
256
+ type: 'edit',
257
+ payload: {
258
+ id: item.id,
259
+ data: _defineProperty({}, key, void 0)
260
+ }
261
+ });
262
+ });
263
+ var renderProcess = useMemoizedFn(function (processKey) {
264
+ return processSet.has(processKey) ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LabelLine, {
265
+ $flex: true
266
+ }, _DEFAULT_PROCESS_[processKey].title, /*#__PURE__*/React.createElement(TipIcon, {
267
+ type: "delete",
268
+ onClick: function onClick() {
269
+ return handleDelProcessFun(processKey);
270
+ }
271
+ })), /*#__PURE__*/React.createElement(Form.Item, {
272
+ wrapperCol: {
273
+ span: 24
274
+ }
275
+ }, form.getFieldDecorator(processKey, {
276
+ initialValue: item[processKey] || _DEFAULT_PROCESS_[processKey].code
277
+ })( /*#__PURE__*/React.createElement(EditorWrapper, {
278
+ style: {
279
+ margin: '4px 18px',
280
+ width: 'calc(100% - 36px)'
281
+ }
282
+ }, /*#__PURE__*/React.createElement(JSEditor, {
283
+ options: _EDITOR_OPTIONS,
284
+ onChange: function onChange(code) {
285
+ return handleEditorValueChange(processKey, code);
286
+ }
287
+ }, item[processKey] || _DEFAULT_PROCESS_[processKey].code))))) : null;
288
+ });
289
+ var menu = useCreation(function () {
290
+ return /*#__PURE__*/React.createElement(Menu, {
291
+ onClick: handleAddProcessFun
292
+ }, /*#__PURE__*/React.createElement(Menu.Item, {
293
+ key: "willFetch"
294
+ }, _DEFAULT_PROCESS_.willFetch.title), /*#__PURE__*/React.createElement(Menu.Item, {
295
+ key: "didFetch"
296
+ }, _DEFAULT_PROCESS_.didFetch.title), /*#__PURE__*/React.createElement(Menu.Item, {
297
+ key: "onError"
298
+ }, _DEFAULT_PROCESS_.onError.title));
299
+ }, []);
300
+ return /*#__PURE__*/React.createElement(StyledForm, {
301
+ layout: "horizontal",
302
+ labelCol: {
303
+ span: 6
304
+ },
305
+ wrapperCol: {
306
+ span: 17
307
+ },
308
+ hideRequiredMark: true
309
+ }, getBasicFormItem(form, item), /*#__PURE__*/React.createElement(Form.Item, {
310
+ label: formatMessage({
311
+ id: "".concat(_I18N_PREFIX_, ".auto"),
312
+ label: '自动加载'
313
+ })
314
+ }, form.getFieldDecorator('data.auto', {
315
+ valuePropName: 'checked',
316
+ initialValue: Boolean((_item$data = item.data) === null || _item$data === void 0 ? void 0 : _item$data.auto)
317
+ })( /*#__PURE__*/React.createElement(Switch, {
318
+ size: "small"
319
+ }))), form.getFieldValue('data.auto') ? /*#__PURE__*/React.createElement(Form.Item, {
320
+ label: formatMessage({
321
+ id: "".concat(_I18N_PREFIX_, ".taskType"),
322
+ label: '加载方式'
323
+ })
324
+ }, form.getFieldDecorator('data.taskType', {
325
+ initialValue: ((_item$data2 = item.data) === null || _item$data2 === void 0 ? void 0 : _item$data2.taskType) || 'parallel'
326
+ })( /*#__PURE__*/React.createElement(StyledSegmented, {
327
+ size: "small",
328
+ options: _TASK_TYPE_OPTIONS
329
+ }))) : null, /*#__PURE__*/React.createElement(Form.Item, {
330
+ label: formatMessage({
331
+ id: "".concat(_I18N_PREFIX_, ".url"),
332
+ label: '请求地址'
333
+ })
334
+ }, form.getFieldDecorator('data.url', {
335
+ initialValue: ((_item$data3 = item.data) === null || _item$data3 === void 0 ? void 0 : _item$data3.url) || ''
336
+ })( /*#__PURE__*/React.createElement(EditorWrapper, null, /*#__PURE__*/React.createElement(VisionEditor, {
337
+ options: _EDITOR_OPTIONS,
338
+ onChange: function onChange(code) {
339
+ return handleEditorValueChange('data.url', code);
340
+ }
341
+ }, ((_item$data4 = item.data) === null || _item$data4 === void 0 ? void 0 : _item$data4.url) || '')))), /*#__PURE__*/React.createElement(Form.Item, {
342
+ label: formatMessage({
343
+ id: "".concat(_I18N_PREFIX_, ".method"),
344
+ label: '请求方式'
345
+ })
346
+ }, form.getFieldDecorator('data.method', {
347
+ initialValue: ((_item$data5 = item.data) === null || _item$data5 === void 0 ? void 0 : _item$data5.method) || 'get'
348
+ })( /*#__PURE__*/React.createElement(StyledSegmented, {
349
+ size: "small",
350
+ options: _METHOD_OPTIONS
351
+ }))), /*#__PURE__*/React.createElement(LabelLine, null, formatMessage({
352
+ id: "".concat(_I18N_PREFIX_, ".urlParams"),
353
+ label: '请求参数'
354
+ }), /*#__PURE__*/React.createElement(TipIcon, {
355
+ type: "question-circle",
356
+ style: {
357
+ marginLeft: 4
358
+ },
359
+ title: formatMessage({
360
+ id: "".concat(_I18N_PREFIX_, ".tip.urlParams"),
361
+ label: 'URL 请求参数,格式为 {key1:value1,key2:value2} ,等价于 ?key1=value1&key2=value2'
362
+ })
363
+ })), /*#__PURE__*/React.createElement(Form.Item, {
364
+ wrapperCol: {
365
+ span: 24
366
+ }
367
+ }, form.getFieldDecorator('data.params', {
368
+ initialValue: ((_item$data6 = item.data) === null || _item$data6 === void 0 ? void 0 : _item$data6.params) || ''
369
+ })( /*#__PURE__*/React.createElement(EditorWrapper, {
370
+ style: {
371
+ margin: '4px 18px',
372
+ width: 'calc(100% - 36px)'
373
+ }
374
+ }, /*#__PURE__*/React.createElement(VisionEditor, {
375
+ options: _EDITOR_OPTIONS,
376
+ onChange: function onChange(code) {
377
+ return handleEditorValueChange('data.params', code);
378
+ }
379
+ }, ((_item$data7 = item.data) === null || _item$data7 === void 0 ? void 0 : _item$data7.params) || '')))), /*#__PURE__*/React.createElement(LabelLine, null, formatMessage({
380
+ id: "".concat(_I18N_PREFIX_, ".body"),
381
+ label: '请求体'
382
+ }), /*#__PURE__*/React.createElement(TipIcon, {
383
+ type: "question-circle",
384
+ style: {
385
+ marginLeft: 4
386
+ },
387
+ title: formatMessage({
388
+ id: "".concat(_I18N_PREFIX_, ".tip.body"),
389
+ label: '接口请求体(body),格式为 {key1:value1,key2:value2}'
390
+ })
391
+ })), /*#__PURE__*/React.createElement(Form.Item, {
392
+ wrapperCol: {
393
+ span: 24
394
+ }
395
+ }, form.getFieldDecorator('data.body', {
396
+ initialValue: ((_item$data8 = item.data) === null || _item$data8 === void 0 ? void 0 : _item$data8.body) || ''
397
+ })( /*#__PURE__*/React.createElement(EditorWrapper, {
398
+ style: {
399
+ margin: '4px 18px',
400
+ width: 'calc(100% - 36px)'
401
+ }
402
+ }, /*#__PURE__*/React.createElement(VisionEditor, {
403
+ options: _EDITOR_OPTIONS,
404
+ onChange: function onChange(code) {
405
+ return handleEditorValueChange('data.body', code);
406
+ }
407
+ }, ((_item$data9 = item.data) === null || _item$data9 === void 0 ? void 0 : _item$data9.body) || '')))), /*#__PURE__*/React.createElement(LabelLine, {
408
+ $flex: true
409
+ }, formatMessage({
410
+ id: "".concat(_I18N_PREFIX_, ".process"),
411
+ label: '数据处理'
412
+ }), /*#__PURE__*/React.createElement(Dropdown, {
413
+ overlay: menu,
414
+ trigger: ['click'],
415
+ getPopupContainer: function getPopupContainer() {
416
+ return document.getElementById('lc-design-workspace');
417
+ }
418
+ }, /*#__PURE__*/React.createElement(TipIcon, {
419
+ type: "plus"
420
+ }))), /*#__PURE__*/React.createElement("div", {
421
+ style: {
422
+ padding: '0 12px'
423
+ }
424
+ }, renderProcess('willFetch'), renderProcess('didFetch'), renderProcess('onError')), /*#__PURE__*/React.createElement(LabelLine, null, formatMessage({
425
+ id: "".concat(_I18N_PREFIX_, ".defaultValue"),
426
+ label: '默认数据'
427
+ })), /*#__PURE__*/React.createElement(Form.Item, {
428
+ wrapperCol: {
429
+ span: 24
430
+ }
431
+ }, form.getFieldDecorator('data.defaultValue', {
432
+ initialValue: (_item$data10 = item.data) === null || _item$data10 === void 0 ? void 0 : _item$data10.defaultValue
433
+ })( /*#__PURE__*/React.createElement(EditorWrapper, {
434
+ style: {
435
+ margin: '4px 18px',
436
+ width: 'calc(100% - 36px)'
437
+ }
438
+ }, /*#__PURE__*/React.createElement(VisionEditor, {
439
+ options: _EDITOR_OPTIONS,
440
+ onChange: function onChange(code) {
441
+ return handleEditorValueChange('data.defaultValue', code);
442
+ }
443
+ }, ((_item$data11 = item.data) === null || _item$data11 === void 0 ? void 0 : _item$data11.defaultValue) || '')))));
444
+ });
445
+ var VarEditor = function VarEditor(_ref7) {
446
+ var item = _ref7.item,
447
+ dispatch = _ref7.dispatch;
448
+ return item.type === 'var' ? /*#__PURE__*/React.createElement(VarForm, {
449
+ item: item,
450
+ dispatch: dispatch
451
+ }) : /*#__PURE__*/React.createElement(ApiForm, {
452
+ item: item,
453
+ dispatch: dispatch
454
+ });
455
+ };
456
+ export default VarEditor;
@@ -77,8 +77,8 @@ var FullScreenEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
77
77
  },
78
78
  overviewRulerLanes: 0,
79
79
  scrollbar: {
80
- vertical: 'hidden',
81
- horizontal: 'hidden',
80
+ vertical: 'auto',
81
+ horizontal: 'auto',
82
82
  handleMouseWheel: false
83
83
  }
84
84
  }
@@ -10,6 +10,7 @@ import * as monaco from 'monaco-editor';
10
10
  import { isNil, uniqBy, compact } from 'lodash';
11
11
  import prettier from 'prettier/standalone';
12
12
  import parserBabel from 'prettier/parser-babel';
13
+ import useCombinedRefs from "../../../engine/tools/useCombinedRefs";
13
14
  import BaseEditor from "./BaseEditor";
14
15
  function capitalizeFirstLetter(string) {
15
16
  if (isNil(string)) return null;
@@ -125,10 +126,11 @@ var prettierFormetter = function prettierFormetter(unformattedCode) {
125
126
  *
126
127
  * @returns {ReactElement} 返回一个 React 元素,其中包含了一个具有自动完成功能的 JavaScript 编辑器实例。
127
128
  */
128
- var JSEditor = /*#__PURE__*/forwardRef(function (_ref2, ref) {
129
+ var JSEditor = /*#__PURE__*/forwardRef(function (_ref2, outRef) {
129
130
  var children = _ref2.children,
130
131
  keywords = _ref2.keywords,
131
132
  rest = _objectWithoutProperties(_ref2, _excluded);
133
+ var ref = useCombinedRefs(outRef);
132
134
  useEffect(function () {
133
135
  var originalGetValue = ref.current.editor.getValue.bind(ref.current.editor);
134
136
  ref.current.editor.getValue = function () {
@@ -0,0 +1,81 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["children"];
4
+ import React, { forwardRef } from 'react';
5
+ import * as monaco from 'monaco-editor';
6
+ import BaseEditor from "./BaseEditor";
7
+
8
+ // 定义一个简单的JavaScript语言
9
+ monaco.languages.register({
10
+ id: 'vision'
11
+ });
12
+
13
+ // 定义语言的配置
14
+ monaco.languages.setLanguageConfiguration('vision', {
15
+ brackets: [['{', '}'], ['[', ']'], ['(', ')']],
16
+ autoClosingPairs: [{
17
+ open: '{',
18
+ close: '}'
19
+ }, {
20
+ open: '[',
21
+ close: ']'
22
+ }, {
23
+ open: '(',
24
+ close: ')'
25
+ }, {
26
+ open: '"',
27
+ close: '"',
28
+ notIn: ['string']
29
+ }, {
30
+ open: "'",
31
+ close: "'",
32
+ notIn: ['string']
33
+ }]
34
+ });
35
+
36
+ // 定义语言的词法规则
37
+ monaco.languages.setMonarchTokensProvider('vision', {
38
+ tokenizer: {
39
+ root: [[/\b(true|false|null)\b/, 'constant'], [/[{}()\[\]]/, '@brackets'], [/[0-9]+/, 'number'], [/["'](.*?)["']/, 'string'],
40
+ // 新增模板字符串的词法规则
41
+ [/\$\{/, 'delimiter.curly'],
42
+ // 添加对模板表达式起始的支持
43
+ [/\`/, {
44
+ token: 'string.quote',
45
+ bracket: '@open',
46
+ next: '@template_string'
47
+ }] // 处理模板字符串
48
+ ],
49
+ template_string: [[/\$\{/, {
50
+ token: 'delimiter.curly',
51
+ next: '@expression'
52
+ }],
53
+ // 模板表达式开始
54
+ [/\`/, {
55
+ token: 'string.quote',
56
+ bracket: '@close',
57
+ next: '@pop'
58
+ }],
59
+ // 模板字符串结束
60
+ [/./, 'string'] // 模板字符串内的内容
61
+ ],
62
+ expression: [[/\}/, {
63
+ token: 'delimiter.curly',
64
+ next: '@pop'
65
+ }],
66
+ // 模板表达式结束
67
+ [/[0-9]+/, 'number'],
68
+ // 在模板表达式内的数字
69
+ [/[a-zA-Z_]\w*/, 'identifier'] // 在模板表达式内的标识符
70
+ ]
71
+ }
72
+ });
73
+ var VisionEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
74
+ var children = _ref.children,
75
+ rest = _objectWithoutProperties(_ref, _excluded);
76
+ return /*#__PURE__*/React.createElement(BaseEditor, _extends({
77
+ ref: ref,
78
+ language: "vision"
79
+ }, rest), children);
80
+ });
81
+ export default /*#__PURE__*/React.memo(VisionEditor);
@@ -5,7 +5,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
5
5
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
6
6
  import React, { useState } from 'react';
7
7
  import { useRequest, useMemoizedFn, useCreation } from 'ahooks';
8
- import { Spin, Input, Segmented, Switch, Tooltip, Icon, Radio, Modal } from 'luck-design/antd';
8
+ import { Spin, Input, Segmented, Switch, Checkbox, Tooltip, Icon, Radio, Modal } from 'luck-design/antd';
9
9
  import styled from 'styled-components';
10
10
  import { isArray, keyBy, isNil, groupBy } from 'lodash';
11
11
  import { formatMessage } from '@luck-design-biz/base/utils';
@@ -13,6 +13,7 @@ import Collapse from "../../components/Collapse";
13
13
  import PanelItem from "../../components/PanelItem";
14
14
  import { ListEditor, ListEditorItem } from "../../components/ListEditor";
15
15
  import WidthHeight from "../../panel-section/WidthHeight";
16
+ import JSEditor from "../../panel-section/JSEditor";
16
17
  import FieldAttrsModal from "./FieldAttrsModal";
17
18
  import FieldRulesModal from "./FieldRulesModal";
18
19
  import { fetchFieldCondition, fetchAttrs } from "../../../constants/api-url";
@@ -57,6 +58,19 @@ var _PINNED_OPTIONS_ = [{
57
58
  }),
58
59
  value: 'right'
59
60
  }];
61
+ var _FORM_MODE_OPTIONS_ = [{
62
+ label: formatMessage({
63
+ id: "".concat(_I18N_PREFIX_, ".formMode.single"),
64
+ label: '行修改'
65
+ }),
66
+ value: 'single'
67
+ }, {
68
+ label: formatMessage({
69
+ id: "".concat(_I18N_PREFIX_, ".formMode.bulk"),
70
+ label: '批量修改'
71
+ }),
72
+ value: 'bulk'
73
+ }];
60
74
  var _TRUE_FALSE_ = ['__TRUE__', '__FALSE__'];
61
75
  var CoderWrapper = styled.div.withConfig({
62
76
  displayName: "CoderWrapper",
@@ -70,6 +84,7 @@ var StyledRadio = styled(Radio.Group).withConfig({
70
84
  displayName: "StyledRadio",
71
85
  componentId: "luckda-6530__sc-1n41f3z-2"
72
86
  })(["span.ant-radio + *{padding-left:4px;padding-right:4px;}"]);
87
+ var _DEFAULT_RENDER_CODE = "function render(value, data, rowIndex, params) { \n return value;\n}";
73
88
  var SettingUI = function SettingUI(_ref) {
74
89
  var loading = _ref.loading,
75
90
  data = _ref.data,
@@ -315,7 +330,18 @@ var SettingUI = function SettingUI(_ref) {
315
330
  onChange: function onChange(val) {
316
331
  return run('tip', val);
317
332
  }
318
- }))), component === 'form' && /*#__PURE__*/React.createElement(PanelItem, {
333
+ }))), component === 'tableForm' && /*#__PURE__*/React.createElement(PanelItem, {
334
+ label: formatMessage({
335
+ id: "".concat(_I18N_PREFIX_, ".formMode"),
336
+ label: '表单模式'
337
+ })
338
+ }, /*#__PURE__*/React.createElement(Checkbox.Group, {
339
+ options: _FORM_MODE_OPTIONS_,
340
+ defaultValue: fieldData.formMode ? [fieldData.formMode] : ['single', 'bulk'],
341
+ onChange: function onChange(val) {
342
+ return run('formMode', val);
343
+ }
344
+ })), component === 'form' && /*#__PURE__*/React.createElement(PanelItem, {
319
345
  label: formatMessage({
320
346
  id: "".concat(_I18N_PREFIX_, ".fieldColumn"),
321
347
  label: '占列数'
@@ -349,7 +375,7 @@ var SettingUI = function SettingUI(_ref) {
349
375
  id: "".concat(_I18N_PREFIX_, ".required"),
350
376
  label: '是否必填'
351
377
  })
352
- }, renderCodeIcon(fieldRequired, FIELD_SCOPES.FIELD_REQUIRED)), ['table', 'tableForm'].includes && /*#__PURE__*/React.createElement(PanelItem, {
378
+ }, renderCodeIcon(fieldRequired, FIELD_SCOPES.FIELD_REQUIRED)), ['table', 'tableForm'].includes(component) && /*#__PURE__*/React.createElement(PanelItem, {
353
379
  label: formatMessage({
354
380
  id: "".concat(_I18N_PREFIX_, ".table.display"),
355
381
  label: '表格中显示'
@@ -369,7 +395,19 @@ var SettingUI = function SettingUI(_ref) {
369
395
  id: "".concat(_I18N_PREFIX_, ".readonly"),
370
396
  label: '是否只读'
371
397
  })
372
- }, renderCodeIcon(fieldReadonly, FIELD_SCOPES.FIELD_READONLY)), !isBatch ? /*#__PURE__*/React.createElement(Collapse, {
398
+ }, renderCodeIcon(fieldReadonly, FIELD_SCOPES.FIELD_READONLY)), !isBatch ? /*#__PURE__*/React.createElement(React.Fragment, null, ['table', 'tableForm'].includes(component) ? /*#__PURE__*/React.createElement(Collapse, {
399
+ label: formatMessage({
400
+ id: "".concat(_I18N_PREFIX_, ".render"),
401
+ label: '内容定制渲染'
402
+ })
403
+ }, /*#__PURE__*/React.createElement(JSEditor, {
404
+ defaultValue: fieldData.render,
405
+ onChange: function onChange(val) {
406
+ return run('render', val);
407
+ },
408
+ mustConfirm: true,
409
+ defaultCode: _DEFAULT_RENDER_CODE
410
+ })) : null, /*#__PURE__*/React.createElement(Collapse, {
373
411
  label: formatMessage({
374
412
  id: "".concat(_I18N_PREFIX_, ".defaultValue"),
375
413
  label: '默认值'
@@ -384,7 +422,7 @@ var SettingUI = function SettingUI(_ref) {
384
422
  }), "\n \u3010").concat(fieldDefaultValue.expression, "\u3011") : formatMessage({
385
423
  id: 'luckda.lowcode.painter.setting',
386
424
  label: '设置'
387
- }))) : null, !isBatch ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Collapse, {
425
+ }))), /*#__PURE__*/React.createElement(Collapse, {
388
426
  label: formatMessage({
389
427
  id: "".concat(_I18N_PREFIX_, ".rules.front"),
390
428
  label: '前端校验规则'