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