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

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 (265) 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 +4 -3
  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 +38 -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/dialog.props.json +2 -2
  15. package/es/lowcode/engine/meta/fieldcomplex.props.default.json +1 -0
  16. package/es/lowcode/engine/meta/fieldcomplex.props.json +7 -0
  17. package/es/lowcode/engine/meta/fielddate.props.default.json +2 -0
  18. package/es/lowcode/engine/meta/fielddate.props.json +4 -2
  19. package/es/lowcode/engine/meta/fieldnumber.props.default.json +1 -0
  20. package/es/lowcode/engine/meta/fieldnumber.props.json +3 -2
  21. package/es/lowcode/engine/meta/fielduser.props.default.json +1 -1
  22. package/es/lowcode/engine/meta/fielduser.props.json +1 -1
  23. package/es/lowcode/engine/meta/form.props.default.json +0 -1
  24. package/es/lowcode/engine/meta/form.props.json +4 -5
  25. package/es/lowcode/engine/meta/iframe.props.default.json +1 -1
  26. package/es/lowcode/engine/meta/iframe.props.json +1 -1
  27. package/es/lowcode/engine/meta/image.props.default.json +1 -1
  28. package/es/lowcode/engine/meta/image.props.json +1 -1
  29. package/es/lowcode/engine/meta/imex.props.default.json +2 -1
  30. package/es/lowcode/engine/meta/imex.props.json +26 -5
  31. package/es/lowcode/engine/meta/js-editor/auto-complete.json +38 -20
  32. package/es/lowcode/engine/meta/jsx.props.default.json +1 -1
  33. package/es/lowcode/engine/meta/jsx.props.json +1 -1
  34. package/es/lowcode/engine/meta/layout.props.default.json +1 -1
  35. package/es/lowcode/engine/meta/layout.props.json +5 -5
  36. package/es/lowcode/engine/meta/link.props.default.json +1 -1
  37. package/es/lowcode/engine/meta/link.props.json +1 -1
  38. package/es/lowcode/engine/meta/page.props.json +6 -0
  39. package/es/lowcode/engine/meta/pagelayout.props.default.json +1 -1
  40. package/es/lowcode/engine/meta/pagelayout.props.json +1 -1
  41. package/es/lowcode/engine/meta/section.props.json +2 -1
  42. package/es/lowcode/engine/meta/split.props.default.json +1 -1
  43. package/es/lowcode/engine/meta/split.props.json +1 -1
  44. package/es/lowcode/engine/meta/table.props.json +2 -2
  45. package/es/lowcode/engine/meta/text.props.default.json +4 -2
  46. package/es/lowcode/engine/meta/text.props.json +8 -6
  47. package/es/lowcode/engine/provider/ContextProvider/index.js +63 -46
  48. package/es/lowcode/engine/provider/ContextProvider/router.js +43 -0
  49. package/es/lowcode/engine/{tools → provider/ContextProvider}/usePageDataStore.js +9 -7
  50. package/es/lowcode/engine/provider/ContextProvider/usePageVar.js +38 -15
  51. package/es/lowcode/engine/{tools → provider/ContextProvider}/useTodo.js +5 -7
  52. package/es/lowcode/engine/provider/ContextProvider/utils.js +157 -0
  53. package/es/lowcode/engine/provider/RemoteSourceProvider.js +1 -2
  54. package/es/lowcode/engine/tools/helper.js +7 -2
  55. package/es/lowcode/engine/tools/initDS.js +263 -0
  56. package/es/lowcode/engine/tools/useCombinedRefs.js +3 -2
  57. package/es/lowcode/painter/DesignOperator.js +10 -1
  58. package/es/lowcode/painter/Panel.js +2 -2
  59. package/es/lowcode/painter/components/AdvancePanel.js +3 -3
  60. package/es/lowcode/painter/components/Collapse.js +5 -2
  61. package/es/lowcode/painter/components/TipIcon.js +16 -0
  62. package/es/lowcode/painter/components/VarEditor.js +456 -0
  63. package/es/lowcode/painter/components/code-editor/FullScreenEditor.js +2 -2
  64. package/es/lowcode/painter/components/code-editor/JSEditor.js +3 -1
  65. package/es/lowcode/painter/components/code-editor/VisionEditor.js +81 -0
  66. package/es/lowcode/painter/components/field-setting/SettingUI.js +17 -3
  67. package/es/lowcode/painter/components/field-setting/index.js +1 -1
  68. package/es/lowcode/painter/components/field-setting/meta/frontRules.js +2 -1
  69. package/es/lowcode/painter/index.js +1 -0
  70. package/es/lowcode/painter/panel-section/BlockEditor/index.js +20 -6
  71. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +2 -2
  72. package/es/lowcode/painter/panel-section/ComplexPop.js +242 -0
  73. package/es/lowcode/painter/panel-section/DataSetSelector.js +8 -0
  74. package/es/lowcode/painter/panel-section/FieldsSetting.js +29 -3
  75. package/es/lowcode/painter/panel-section/I18nInput.js +4 -2
  76. package/es/lowcode/painter/panel-section/Icon.js +9 -4
  77. package/es/lowcode/painter/panel-section/IconConditionSelector.js +7 -7
  78. package/es/lowcode/painter/panel-section/IconSelector.js +1 -1
  79. package/es/lowcode/painter/panel-section/ImpExp.js +1 -27
  80. package/es/lowcode/painter/panel-section/ImpExpAlone.js +1 -2
  81. package/es/lowcode/painter/panel-section/LayoutRatio.js +1 -0
  82. package/es/lowcode/painter/panel-section/PageVars.js +300 -0
  83. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +4 -3
  84. package/es/lowcode/painter/panel-section/TabItems.js +6 -42
  85. package/es/lowcode/painter/panel-section/TextContent.js +79 -0
  86. package/es/lowcode/painter/services/complexPop.js +21 -0
  87. package/es/lowcode/painter/style/design.less +1 -1
  88. package/es/lowcode/painter/style/page-vars.less +25 -0
  89. package/es/lowcode/preview/index.js +1 -0
  90. package/es/lowcode/view/Canvas.js +24 -22
  91. package/es/lowcode/view/Loading.js +5 -7
  92. package/es/lowcode/view/Page.js +37 -15
  93. package/es/lowcode/view/index.js +1 -0
  94. package/es/lowcode/view/lc-components/Box/index.js +18 -3
  95. package/es/lowcode/view/lc-components/Box/meta.json +3 -3
  96. package/es/lowcode/view/lc-components/Button/index.js +7 -7
  97. package/es/lowcode/view/lc-components/Button/meta.json +2 -2
  98. package/es/lowcode/view/lc-components/Dialog/index.js +6 -7
  99. package/es/lowcode/view/lc-components/Dialog/meta.json +2 -2
  100. package/es/lowcode/view/lc-components/FieldComplex/meta.json +7 -0
  101. package/es/lowcode/view/lc-components/FieldDate/meta.json +4 -2
  102. package/es/lowcode/view/lc-components/FieldNumber/meta.json +3 -2
  103. package/es/lowcode/view/lc-components/FieldUser/meta.json +1 -1
  104. package/es/lowcode/view/lc-components/Form/index.js +14 -6
  105. package/es/lowcode/view/lc-components/Form/meta.json +4 -5
  106. package/es/lowcode/view/lc-components/Iframe/meta.json +1 -1
  107. package/es/lowcode/view/lc-components/ImEx/index.js +174 -103
  108. package/es/lowcode/view/lc-components/ImEx/meta.json +26 -5
  109. package/es/lowcode/view/lc-components/Image/meta.json +1 -1
  110. package/es/lowcode/view/lc-components/JSX/meta.json +1 -1
  111. package/es/lowcode/view/lc-components/Layout/index.js +22 -5
  112. package/es/lowcode/view/lc-components/Layout/meta.json +5 -5
  113. package/es/lowcode/view/lc-components/Link/meta.json +1 -1
  114. package/es/lowcode/view/lc-components/Page/meta.json +6 -0
  115. package/es/lowcode/view/lc-components/PageLayout/FunctionDesign.js +5 -1
  116. package/es/lowcode/view/lc-components/PageLayout/meta.json +1 -1
  117. package/es/lowcode/view/lc-components/Section/index.js +2 -6
  118. package/es/lowcode/view/lc-components/Section/meta.json +2 -1
  119. package/es/lowcode/view/lc-components/Split/index.js +19 -4
  120. package/es/lowcode/view/lc-components/Split/meta.json +1 -1
  121. package/es/lowcode/view/lc-components/Table/index.js +29 -3
  122. package/es/lowcode/view/lc-components/Table/meta.json +2 -2
  123. package/es/lowcode/view/lc-components/Tabs/index.js +19 -16
  124. package/es/lowcode/view/lc-components/Text/index.js +9 -2
  125. package/es/lowcode/view/lc-components/Text/meta.json +6 -6
  126. package/es/lowcode/view/lc-components/Wrapper.js +17 -2
  127. package/es/lowcode/view/style/loading.less +14 -0
  128. package/es/services.js +19 -0
  129. package/es/upload/Form/gridForm.js +17 -7
  130. package/es/upload/FormItem/index.js +6 -6
  131. package/es/utils/form.js +4 -4
  132. package/es/utils/grid.js +2 -1
  133. package/lib/components/Builder/index.js +13 -1
  134. package/lib/components/ComplexItem/index.js +62 -47
  135. package/lib/components/LdAutoForm/index.js +3 -2
  136. package/lib/components/LdFormList/index.js +5 -8
  137. package/lib/components/LdGridForm/index.js +2 -1
  138. package/lib/helper/form.js +1 -0
  139. package/lib/helper/ldBuilder.js +8 -3
  140. package/lib/locales/zh-CN.js +38 -4
  141. package/lib/lowcode/constants/event-topics.js +1 -3
  142. package/lib/lowcode/engine/launcher.js +3 -1
  143. package/lib/lowcode/engine/meta/box.props.json +3 -3
  144. package/lib/lowcode/engine/meta/button.props.default.json +1 -1
  145. package/lib/lowcode/engine/meta/button.props.json +2 -2
  146. package/lib/lowcode/engine/meta/dialog.props.json +2 -2
  147. package/lib/lowcode/engine/meta/fieldcomplex.props.default.json +1 -0
  148. package/lib/lowcode/engine/meta/fieldcomplex.props.json +7 -0
  149. package/lib/lowcode/engine/meta/fielddate.props.default.json +2 -0
  150. package/lib/lowcode/engine/meta/fielddate.props.json +4 -2
  151. package/lib/lowcode/engine/meta/fieldnumber.props.default.json +1 -0
  152. package/lib/lowcode/engine/meta/fieldnumber.props.json +3 -2
  153. package/lib/lowcode/engine/meta/fielduser.props.default.json +1 -1
  154. package/lib/lowcode/engine/meta/fielduser.props.json +1 -1
  155. package/lib/lowcode/engine/meta/form.props.default.json +0 -1
  156. package/lib/lowcode/engine/meta/form.props.json +4 -5
  157. package/lib/lowcode/engine/meta/iframe.props.default.json +1 -1
  158. package/lib/lowcode/engine/meta/iframe.props.json +1 -1
  159. package/lib/lowcode/engine/meta/image.props.default.json +1 -1
  160. package/lib/lowcode/engine/meta/image.props.json +1 -1
  161. package/lib/lowcode/engine/meta/imex.props.default.json +2 -1
  162. package/lib/lowcode/engine/meta/imex.props.json +26 -5
  163. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +38 -20
  164. package/lib/lowcode/engine/meta/jsx.props.default.json +1 -1
  165. package/lib/lowcode/engine/meta/jsx.props.json +1 -1
  166. package/lib/lowcode/engine/meta/layout.props.default.json +1 -1
  167. package/lib/lowcode/engine/meta/layout.props.json +5 -5
  168. package/lib/lowcode/engine/meta/link.props.default.json +1 -1
  169. package/lib/lowcode/engine/meta/link.props.json +1 -1
  170. package/lib/lowcode/engine/meta/page.props.json +6 -0
  171. package/lib/lowcode/engine/meta/pagelayout.props.default.json +1 -1
  172. package/lib/lowcode/engine/meta/pagelayout.props.json +1 -1
  173. package/lib/lowcode/engine/meta/section.props.json +2 -1
  174. package/lib/lowcode/engine/meta/split.props.default.json +1 -1
  175. package/lib/lowcode/engine/meta/split.props.json +1 -1
  176. package/lib/lowcode/engine/meta/table.props.json +2 -2
  177. package/lib/lowcode/engine/meta/text.props.default.json +4 -2
  178. package/lib/lowcode/engine/meta/text.props.json +8 -6
  179. package/lib/lowcode/engine/provider/ContextProvider/index.js +61 -44
  180. package/lib/lowcode/engine/provider/ContextProvider/router.js +57 -0
  181. package/lib/lowcode/engine/{tools → provider/ContextProvider}/usePageDataStore.js +9 -7
  182. package/lib/lowcode/engine/provider/ContextProvider/usePageVar.js +38 -16
  183. package/lib/lowcode/engine/{tools → provider/ContextProvider}/useTodo.js +5 -7
  184. package/lib/lowcode/engine/provider/ContextProvider/utils.js +170 -0
  185. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +2 -3
  186. package/lib/lowcode/engine/tools/helper.js +7 -2
  187. package/lib/lowcode/engine/tools/initDS.js +270 -0
  188. package/lib/lowcode/engine/tools/useCombinedRefs.js +2 -1
  189. package/lib/lowcode/painter/DesignOperator.js +9 -0
  190. package/lib/lowcode/painter/Panel.js +2 -2
  191. package/lib/lowcode/painter/components/AdvancePanel.js +3 -3
  192. package/lib/lowcode/painter/components/Collapse.js +5 -2
  193. package/lib/lowcode/painter/components/TipIcon.js +23 -0
  194. package/lib/lowcode/painter/components/VarEditor.js +463 -0
  195. package/lib/lowcode/painter/components/code-editor/FullScreenEditor.js +2 -2
  196. package/lib/lowcode/painter/components/code-editor/JSEditor.js +3 -1
  197. package/lib/lowcode/painter/components/code-editor/VisionEditor.js +88 -0
  198. package/lib/lowcode/painter/components/field-setting/SettingUI.js +17 -3
  199. package/lib/lowcode/painter/components/field-setting/index.js +1 -1
  200. package/lib/lowcode/painter/components/field-setting/meta/frontRules.js +2 -1
  201. package/lib/lowcode/painter/index.js +1 -0
  202. package/lib/lowcode/painter/panel-section/BlockEditor/index.js +19 -5
  203. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +2 -2
  204. package/lib/lowcode/painter/panel-section/ComplexPop.js +250 -0
  205. package/lib/lowcode/painter/panel-section/DataSetSelector.js +8 -0
  206. package/lib/lowcode/painter/panel-section/FieldsSetting.js +29 -3
  207. package/lib/lowcode/painter/panel-section/I18nInput.js +4 -2
  208. package/lib/lowcode/painter/panel-section/Icon.js +8 -3
  209. package/lib/lowcode/painter/panel-section/IconConditionSelector.js +6 -6
  210. package/lib/lowcode/painter/panel-section/IconSelector.js +1 -1
  211. package/lib/lowcode/painter/panel-section/ImpExp.js +0 -26
  212. package/lib/lowcode/painter/panel-section/ImpExpAlone.js +0 -1
  213. package/lib/lowcode/painter/panel-section/LayoutRatio.js +1 -0
  214. package/lib/lowcode/painter/panel-section/PageVars.js +308 -0
  215. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +4 -3
  216. package/lib/lowcode/painter/panel-section/TabItems.js +6 -42
  217. package/lib/lowcode/painter/panel-section/TextContent.js +87 -0
  218. package/lib/lowcode/painter/services/complexPop.js +28 -0
  219. package/lib/lowcode/painter/style/design.less +1 -1
  220. package/lib/lowcode/painter/style/page-vars.less +25 -0
  221. package/lib/lowcode/preview/index.js +1 -0
  222. package/lib/lowcode/view/Canvas.js +24 -22
  223. package/lib/lowcode/view/Loading.js +5 -7
  224. package/lib/lowcode/view/Page.js +35 -13
  225. package/lib/lowcode/view/index.js +1 -0
  226. package/lib/lowcode/view/lc-components/Box/index.js +17 -2
  227. package/lib/lowcode/view/lc-components/Box/meta.json +3 -3
  228. package/lib/lowcode/view/lc-components/Button/index.js +5 -5
  229. package/lib/lowcode/view/lc-components/Button/meta.json +2 -2
  230. package/lib/lowcode/view/lc-components/Dialog/index.js +6 -7
  231. package/lib/lowcode/view/lc-components/Dialog/meta.json +2 -2
  232. package/lib/lowcode/view/lc-components/FieldComplex/meta.json +7 -0
  233. package/lib/lowcode/view/lc-components/FieldDate/meta.json +4 -2
  234. package/lib/lowcode/view/lc-components/FieldNumber/meta.json +3 -2
  235. package/lib/lowcode/view/lc-components/FieldUser/meta.json +1 -1
  236. package/lib/lowcode/view/lc-components/Form/index.js +14 -6
  237. package/lib/lowcode/view/lc-components/Form/meta.json +4 -5
  238. package/lib/lowcode/view/lc-components/Iframe/meta.json +1 -1
  239. package/lib/lowcode/view/lc-components/ImEx/index.js +172 -101
  240. package/lib/lowcode/view/lc-components/ImEx/meta.json +26 -5
  241. package/lib/lowcode/view/lc-components/Image/meta.json +1 -1
  242. package/lib/lowcode/view/lc-components/JSX/meta.json +1 -1
  243. package/lib/lowcode/view/lc-components/Layout/index.js +21 -4
  244. package/lib/lowcode/view/lc-components/Layout/meta.json +5 -5
  245. package/lib/lowcode/view/lc-components/Link/meta.json +1 -1
  246. package/lib/lowcode/view/lc-components/Page/meta.json +6 -0
  247. package/lib/lowcode/view/lc-components/PageLayout/FunctionDesign.js +5 -1
  248. package/lib/lowcode/view/lc-components/PageLayout/meta.json +1 -1
  249. package/lib/lowcode/view/lc-components/Section/index.js +2 -6
  250. package/lib/lowcode/view/lc-components/Section/meta.json +2 -1
  251. package/lib/lowcode/view/lc-components/Split/index.js +18 -3
  252. package/lib/lowcode/view/lc-components/Split/meta.json +1 -1
  253. package/lib/lowcode/view/lc-components/Table/index.js +30 -4
  254. package/lib/lowcode/view/lc-components/Table/meta.json +2 -2
  255. package/lib/lowcode/view/lc-components/Tabs/index.js +17 -14
  256. package/lib/lowcode/view/lc-components/Text/index.js +8 -1
  257. package/lib/lowcode/view/lc-components/Text/meta.json +6 -6
  258. package/lib/lowcode/view/lc-components/Wrapper.js +16 -1
  259. package/lib/lowcode/view/style/loading.less +14 -0
  260. package/lib/services.js +20 -0
  261. package/lib/upload/Form/gridForm.js +17 -7
  262. package/lib/upload/FormItem/index.js +6 -6
  263. package/lib/utils/form.js +3 -3
  264. package/lib/utils/grid.js +2 -1
  265. package/package.json +3 -3
@@ -5,6 +5,7 @@ export var getFrontRules = function getFrontRules(property) {
5
5
  case 'money':
6
6
  case 'decimal':
7
7
  case 'sint':
8
+ case 'long':
8
9
  rules = [{
9
10
  label: '最小值',
10
11
  key: 'min',
@@ -47,7 +48,7 @@ export var getFrontRules = function getFrontRules(property) {
47
48
  rules.push({
48
49
  label: '自定义',
49
50
  key: 'rules',
50
- defaultCode: "function validator(cValue, rule, value, callback) { \n if(!value) callback('errorMsg'); \n callback(); \n}"
51
+ defaultCode: "function validator(cValue, rule, value, callback) { \n if(!value) callback('errorMsg'); \n else callback(); \n}"
51
52
  });
52
53
  return rules;
53
54
  };
@@ -13,6 +13,7 @@ var Painter = function Painter(_ref) {
13
13
  var className = _ref.className,
14
14
  code = _ref.code;
15
15
  return /*#__PURE__*/React.createElement(EventBusProvider, {
16
+ key: code,
16
17
  runtime: RUNTIME.DESIGN
17
18
  }, /*#__PURE__*/React.createElement(ContextProvider, {
18
19
  code: code
@@ -1,6 +1,12 @@
1
1
  import React from 'react';
2
2
  import { useMemoizedFn } from 'ahooks';
3
- import { Icon } from 'luck-design/antd';
3
+ import { Typography } from 'luck-design/antd';
4
+ import styled from 'styled-components';
5
+ var Paragraph = Typography.Paragraph;
6
+ var BlockIdSpan = styled(Paragraph).withConfig({
7
+ displayName: "BlockIdSpan",
8
+ componentId: "luckda-6530__sc-gbohir-0"
9
+ })(["display:inline-block;margin:0;color:#595959;text-decoration:var(--ant-primary-color) wavy underline;cursor:copy;padding:0 4px;"]);
4
10
  var BlockEditor = function BlockEditor(_ref) {
5
11
  var blockName = _ref.blockName,
6
12
  blockId = _ref.blockId,
@@ -11,17 +17,25 @@ var BlockEditor = function BlockEditor(_ref) {
11
17
  blockId: blockId
12
18
  });
13
19
  });
14
- return /*#__PURE__*/React.createElement("span", {
20
+ var handleCopyBlockId = useMemoizedFn(function (e) {
21
+ e.stopPropagation();
22
+ });
23
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
15
24
  onClick: handleClick,
16
25
  style: next ? {
17
26
  color: 'var(--ant-primary-color)',
18
27
  cursor: 'pointer'
19
28
  } : {}
20
- }, blockName || blockId, next && /*#__PURE__*/React.createElement(Icon, {
21
- type: "setting",
29
+ }, blockName, /*#__PURE__*/React.createElement("span", {
30
+ onClick: handleCopyBlockId
31
+ }, /*#__PURE__*/React.createElement(BlockIdSpan, {
22
32
  style: {
23
- marginLeft: 4
33
+ display: 'inline-block',
34
+ margin: 0
35
+ },
36
+ copyable: {
37
+ text: blockId
24
38
  }
25
- }));
39
+ }, blockId))));
26
40
  };
27
41
  export default BlockEditor;
@@ -43,7 +43,7 @@ var addOptions = [{
43
43
  }),
44
44
  value: 'blank'
45
45
  }];
46
- var BlockEditor = function BlockEditor(_ref) {
46
+ var BlocksEditor = function BlocksEditor(_ref) {
47
47
  var onChange = _ref.onChange,
48
48
  nodeId = _ref.nodeId,
49
49
  renderPanelItems = _ref.renderPanelItems,
@@ -226,4 +226,4 @@ var BlockEditor = function BlockEditor(_ref) {
226
226
  label: '新增区块'
227
227
  }))))) : null;
228
228
  };
229
- export default BlockEditor;
229
+ export default BlocksEditor;
@@ -0,0 +1,242 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ var _excluded = ["field", "fieldName", "renderItemRight", "onChange", "sortable", "editable"];
6
+ import React, { useEffect, useState, useLayoutEffect } from 'react';
7
+ import { useCreation, useMemoizedFn } from 'ahooks';
8
+ import { keyBy, reduce, remove, omit, map, cloneDeep } from 'lodash';
9
+ import styled from 'styled-components';
10
+ import { Switch, Spin, Divider, Tooltip, Icon, Input } from 'luck-design/antd';
11
+ import { formatMessage } from '@luck-design-biz/base/utils';
12
+ import { ListEditor, ListEditorItem } from "../components/ListEditor";
13
+ import Collapse from "../components/Collapse";
14
+ import { SortBox, SortItem } from "../components/SortBox";
15
+ import PanelItem from "../components/PanelItem";
16
+ import { getFields } from "../services/complexPop";
17
+ var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.complexPop';
18
+ var DividerSpan = styled.span.withConfig({
19
+ displayName: "DividerSpan",
20
+ componentId: "luckda-6530__sc-lmsle1-0"
21
+ })(["font-size:12px;color:var(--luck-text-color);"]);
22
+ var FieldKey = styled.div.withConfig({
23
+ displayName: "FieldKey",
24
+ componentId: "luckda-6530__sc-lmsle1-1"
25
+ })(["width:200px;margin-left:4px;display:inline-block;white-space:nowrap;word-break:keep-all;text-overflow:ellipsis;overflow:hidden;"]);
26
+ var ListItem = function ListItem(_ref) {
27
+ var field = _ref.field,
28
+ fieldName = _ref.fieldName,
29
+ renderItemRight = _ref.renderItemRight,
30
+ _onChange = _ref.onChange,
31
+ sortable = _ref.sortable,
32
+ editable = _ref.editable,
33
+ props = _objectWithoutProperties(_ref, _excluded);
34
+ return /*#__PURE__*/React.createElement(ListEditorItem, _extends({
35
+ key: field,
36
+ left: /*#__PURE__*/React.createElement(Tooltip, {
37
+ title: field
38
+ }, editable ? /*#__PURE__*/React.createElement(Input, {
39
+ value: fieldName,
40
+ size: "small",
41
+ style: {
42
+ width: '200px'
43
+ },
44
+ onChange: function onChange(e) {
45
+ return _onChange(field, e.target.value);
46
+ }
47
+ }) : /*#__PURE__*/React.createElement(FieldKey, null, " ", fieldName, " ")),
48
+ right: renderItemRight({
49
+ field: field,
50
+ title: fieldName
51
+ }),
52
+ item: field,
53
+ sortable: sortable
54
+ }, props));
55
+ };
56
+ var ComplexPop = function ComplexPop(_ref2) {
57
+ var nodeId = _ref2.nodeId,
58
+ settings = _ref2.settings,
59
+ defaultValue = _ref2.defaultValue,
60
+ onChange = _ref2.onChange;
61
+ var _useState = useState(defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.show),
62
+ _useState2 = _slicedToArray(_useState, 2),
63
+ show = _useState2[0],
64
+ setShow = _useState2[1];
65
+ var _useState3 = useState((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.fields) || []),
66
+ _useState4 = _slicedToArray(_useState3, 2),
67
+ fields = _useState4[0],
68
+ setFields = _useState4[1];
69
+ var _useState5 = useState(null),
70
+ _useState6 = _slicedToArray(_useState5, 2),
71
+ allFields = _useState6[0],
72
+ setAllFields = _useState6[1];
73
+ var _useCreation = useCreation(function () {
74
+ var _nodeId$split = nodeId.split('.'),
75
+ _nodeId$split2 = _slicedToArray(_nodeId$split, 3),
76
+ _ = _nodeId$split2[0],
77
+ blockid = _nodeId$split2[1],
78
+ fieldid = _nodeId$split2[2];
79
+ var blocksObj = keyBy(settings === null || settings === void 0 ? void 0 : settings.blocks, 'id');
80
+ if (blocksObj[blockid]) {
81
+ var _fieldObj$fieldid;
82
+ var fieldObj = keyBy(blocksObj[blockid].fields, 'field');
83
+ return ((_fieldObj$fieldid = fieldObj[fieldid]) === null || _fieldObj$fieldid === void 0 ? void 0 : _fieldObj$fieldid.complexConfig) || {};
84
+ }
85
+ return {};
86
+ }, [nodeId, settings === null || settings === void 0 ? void 0 : settings.blocks]),
87
+ isTree = _useCreation.isTree,
88
+ datasetKey = _useCreation.datasetKey,
89
+ dataModelKey = _useCreation.dataModelKey;
90
+ useEffect(function () {
91
+ if (!isTree && show && datasetKey && dataModelKey && !allFields) {
92
+ getFields({
93
+ datasetCode: datasetKey,
94
+ dataModelKey: dataModelKey
95
+ }).then(function (res) {
96
+ var code = res.code,
97
+ data = res.data;
98
+ if (code === 1) {
99
+ var _data = reduce(data, function (result, item) {
100
+ result[item.field] = item.field_name;
101
+ return result;
102
+ }, {});
103
+ setAllFields(_data);
104
+ }
105
+ });
106
+ }
107
+ }, [isTree, show, datasetKey, dataModelKey, allFields]);
108
+ useLayoutEffect(function () {
109
+ onChange({
110
+ show: show,
111
+ fields: fields
112
+ });
113
+ }, [show, fields]);
114
+ var renderItemDeleteRight = useMemoizedFn(function (data) {
115
+ return /*#__PURE__*/React.createElement(Icon, {
116
+ type: "delete",
117
+ style: {
118
+ margin: '0 4px',
119
+ cursor: 'pointer',
120
+ color: 'var(--luck-color-danger)'
121
+ },
122
+ onClick: function onClick() {
123
+ var _fields = cloneDeep(fields);
124
+ remove(_fields, function (item) {
125
+ return item.field === data.field;
126
+ });
127
+ setFields(_fields);
128
+ }
129
+ });
130
+ });
131
+ var renderItemAddRight = useMemoizedFn(function (data) {
132
+ return /*#__PURE__*/React.createElement(Icon, {
133
+ type: "plus-circle",
134
+ style: {
135
+ margin: '0 4px',
136
+ cursor: 'pointer',
137
+ color: 'var(--ant-primary-color)'
138
+ },
139
+ onClick: function onClick() {
140
+ return setFields(fields.concat(data));
141
+ }
142
+ });
143
+ });
144
+ var handleChange = useMemoizedFn(function (field, value) {
145
+ setFields(fields.map(function (item) {
146
+ return item.field === field ? _objectSpread(_objectSpread({}, item), {}, {
147
+ title: value
148
+ }) : item;
149
+ }));
150
+ });
151
+ var handleSortFields = useMemoizedFn(function (sortItems) {
152
+ var oldItems = cloneDeep(fields);
153
+ var newItems = oldItems.sort(function (a, b) {
154
+ var indexA = sortItems.indexOf(a.field);
155
+ var indexB = sortItems.indexOf(b.field);
156
+ return indexA - indexB;
157
+ });
158
+ setFields(newItems);
159
+ });
160
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PanelItem, {
161
+ field: "showPop",
162
+ label: formatMessage({
163
+ id: "".concat(_I18N_PREFIX_, ".assisted"),
164
+ label: "辅助选择"
165
+ })
166
+ }, /*#__PURE__*/React.createElement(Switch, {
167
+ size: "small",
168
+ defaultChecked: defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.show,
169
+ onChange: function onChange(val) {
170
+ setShow(val);
171
+ if (!val) setFields([]);
172
+ }
173
+ })), !isTree && show && /*#__PURE__*/React.createElement(Collapse, {
174
+ label: formatMessage({
175
+ id: "".concat(_I18N_PREFIX_, ".assistedGrid"),
176
+ label: '辅助弹窗显示字段'
177
+ })
178
+ }, /*#__PURE__*/React.createElement("div", {
179
+ style: {
180
+ height: 'auto',
181
+ padding: '0 16px'
182
+ }
183
+ }, /*#__PURE__*/React.createElement(Spin, {
184
+ spinning: !allFields
185
+ }, /*#__PURE__*/React.createElement(Divider, {
186
+ orientation: "left",
187
+ style: {
188
+ marginTop: 0
189
+ }
190
+ }, /*#__PURE__*/React.createElement(DividerSpan, null, formatMessage({
191
+ id: "".concat(_I18N_PREFIX_, ".assistedGridFields"),
192
+ label: '展示区'
193
+ }))), /*#__PURE__*/React.createElement(SortBox, {
194
+ datas: fields.map(function (f) {
195
+ return f.field;
196
+ }),
197
+ onChange: handleSortFields
198
+ }, /*#__PURE__*/React.createElement(ListEditor, {
199
+ style: {
200
+ marginTop: 8
201
+ },
202
+ suppressAdd: true
203
+ }, fields.map(function (_ref3) {
204
+ var field = _ref3.field,
205
+ title = _ref3.title;
206
+ return /*#__PURE__*/React.createElement(SortItem, {
207
+ key: field,
208
+ id: field
209
+ }, /*#__PURE__*/React.createElement(ListItem, {
210
+ field: field,
211
+ fieldName: title,
212
+ renderItemRight: renderItemDeleteRight,
213
+ sortable: true,
214
+ editable: true,
215
+ onChange: handleChange
216
+ }));
217
+ }))), /*#__PURE__*/React.createElement(Divider, {
218
+ orientation: "left",
219
+ style: {
220
+ marginTop: 0
221
+ }
222
+ }, /*#__PURE__*/React.createElement(DividerSpan, null, formatMessage({
223
+ id: "".concat(_I18N_PREFIX_, ".gridFields"),
224
+ label: '可选区'
225
+ }))), /*#__PURE__*/React.createElement(ListEditor, {
226
+ style: {
227
+ marginTop: 8
228
+ },
229
+ suppressAdd: true
230
+ }, map(omit(allFields, fields.map(function (f) {
231
+ return f.field;
232
+ })), function (fieldName, field) {
233
+ return /*#__PURE__*/React.createElement(ListItem, {
234
+ key: field,
235
+ field: field,
236
+ fieldName: fieldName,
237
+ renderItemRight: renderItemAddRight,
238
+ sortable: false
239
+ });
240
+ }))))));
241
+ };
242
+ export default ComplexPop;
@@ -95,6 +95,14 @@ var DataSetSelector = function DataSetSelector(_ref) {
95
95
  restProps.align = alignMapping[_extra.scell_alignment];
96
96
  restProps.headerAlign = alignMapping[_extra.sheading_alignment];
97
97
  }
98
+ if (f.property === "complex") {
99
+ var _extra2 = JSON.parse(f.extra || '{}');
100
+ restProps.complexConfig = {
101
+ isTree: _extra2.opt_show_tree,
102
+ datasetKey: _extra2.opt_dataset,
103
+ dataModelKey: _extra2.opt_data_model
104
+ };
105
+ }
98
106
  return _objectSpread({
99
107
  uid: f.uid,
100
108
  field: f.field
@@ -16,7 +16,7 @@ import { fetchFieldsByDataset } from "../../constants/api-url";
16
16
  import { listReducer, getLDMetaAttr } from "../../engine/tools/helper";
17
17
  import styles from "../style/fields-setting.less";
18
18
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.fieldsSetting';
19
- var _PICK_KEYS_ = ['id', 'uid', 'field', 'width', 'align', 'headerAlign', 'pinned', 'tip', 'col', 'row', 'note', 'placeholder', 'fieldAliasName'];
19
+ var _PICK_KEYS_ = ['id', 'uid', 'field', 'width', 'align', 'headerAlign', 'pinned', 'tip', 'render', 'col', 'row', 'note', 'placeholder', 'fieldAliasName', 'complexConfig'];
20
20
  var Header = styled.div.withConfig({
21
21
  displayName: "Header",
22
22
  componentId: "luckda-6530__sc-gcwvp1-0"
@@ -100,6 +100,14 @@ var FieldsSetting = function FieldsSetting(_ref) {
100
100
  restProps.align = alignMapping[extra.scell_alignment];
101
101
  restProps.headerAlign = alignMapping[extra.sheading_alignment];
102
102
  }
103
+ if (_fieldData.property === "complex") {
104
+ var _extra = JSON.parse(_fieldData.extra || '{}');
105
+ restProps.complexConfig = {
106
+ isTree: _extra.opt_show_tree,
107
+ datasetKey: _extra.opt_dataset,
108
+ dataModelKey: _extra.opt_data_model
109
+ };
110
+ }
103
111
  return _objectSpread({
104
112
  uid: id,
105
113
  field: detail[id].field
@@ -213,7 +221,25 @@ var FieldsSetting = function FieldsSetting(_ref) {
213
221
  onChange: function onChange(e) {
214
222
  return handleAliasChange(field, e.target.value);
215
223
  }
216
- }), field._type !== 'divider' && /*#__PURE__*/React.createElement(Tooltip, {
224
+ }), field._type === 'divider' ? /*#__PURE__*/React.createElement(Tooltip, {
225
+ title: formatMessage({
226
+ id: 'luckda.lowcode.painter.delete',
227
+ label: '删除'
228
+ })
229
+ }, /*#__PURE__*/React.createElement(Icon, {
230
+ type: "delete",
231
+ style: {
232
+ margin: '0 4px',
233
+ cursor: 'pointer'
234
+ },
235
+ onClick: function onClick() {
236
+ dispatch({
237
+ type: 'delete',
238
+ payload: field.id,
239
+ callback: handleChange
240
+ });
241
+ }
242
+ })) : /*#__PURE__*/React.createElement(Tooltip, {
217
243
  title: formatMessage({
218
244
  id: 'luckda.lowcode.painter.edit',
219
245
  label: '编辑'
@@ -290,7 +316,7 @@ var FieldsSetting = function FieldsSetting(_ref) {
290
316
  tooltip: true,
291
317
  lines: 1,
292
318
  style: field._type === 'divider' ? {
293
- paddingLeft: 16
319
+ marginLeft: 20
294
320
  } : null
295
321
  }, field.field)),
296
322
  right: renderItemRight(field),
@@ -5,7 +5,8 @@ var I18nInput = function I18nInput(_ref) {
5
5
  var defaultValue = _ref.defaultValue,
6
6
  onChange = _ref.onChange,
7
7
  size = _ref.size,
8
- wrapped = _ref.wrapped;
8
+ wrapped = _ref.wrapped,
9
+ disabled = _ref.disabled;
9
10
  var _useDebounceFn = useDebounceFn(onChange, {
10
11
  wait: 400
11
12
  }),
@@ -21,7 +22,8 @@ var I18nInput = function I18nInput(_ref) {
21
22
  autoSize: false,
22
23
  style: {
23
24
  resize: 'none'
24
- }
25
+ },
26
+ disabled: disabled
25
27
  }) : /*#__PURE__*/React.createElement(Input, {
26
28
  defaultValue: defaultValue,
27
29
  onChange: function onChange(e) {
@@ -1,5 +1,5 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import React, { useState } from 'react';
2
+ import React, { useState, useLayoutEffect } from 'react';
3
3
  import styles from "../style/icon.less";
4
4
  import IconFont from "../../../components/IconFont";
5
5
  /**
@@ -28,15 +28,20 @@ import IconFont from "../../../components/IconFont";
28
28
  */
29
29
  export default function (_ref) {
30
30
  var defaultValue = _ref.defaultValue,
31
- next = _ref.next;
32
- var _useState = useState(defaultValue),
31
+ next = _ref.next,
32
+ _onClick = _ref.onClick,
33
+ value = _ref.value;
34
+ var _useState = useState(value || defaultValue),
33
35
  _useState2 = _slicedToArray(_useState, 2),
34
36
  val = _useState2[0],
35
37
  setVal = _useState2[1];
38
+ useLayoutEffect(function () {
39
+ setVal(value);
40
+ }, [value]);
36
41
  return /*#__PURE__*/React.createElement("div", {
37
42
  className: styles['lc-painter-panel-section-icon'],
38
43
  onClick: function onClick() {
39
- return next({
44
+ return _onClick ? _onClick.apply(void 0, arguments) : next({
40
45
  onSelect: setVal
41
46
  });
42
47
  }
@@ -3,10 +3,9 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import React, { useState } from 'react';
4
4
  import { cloneDeep } from 'lodash';
5
5
  import { useMemoizedFn } from 'ahooks';
6
- import { Tooltip, Icon } from 'luck-design/antd';
6
+ import { Tooltip, Icon, Popover } from 'luck-design/antd';
7
7
  import { formatMessage } from '@luck-design-biz/base/utils';
8
8
  import { ListEditor, ListEditorItem } from "../components/ListEditor";
9
- import PopConfirm from "../components/PopConfirm";
10
9
  import IconChoice from "./Icon";
11
10
  import IconSelector from "./IconSelector";
12
11
  import JSEditor from "./JSEditor";
@@ -24,7 +23,7 @@ var IconConditionSelector = function IconConditionSelector(_ref) {
24
23
  switch (type) {
25
24
  case 'icon':
26
25
  _list[index] = _objectSpread(_objectSpread({}, _list[index]), {}, {
27
- icon: "icon".concat(value)
26
+ icon: value
28
27
  });
29
28
  break;
30
29
  case 'code':
@@ -93,14 +92,15 @@ var IconConditionSelector = function IconConditionSelector(_ref) {
93
92
  }, list.map(function (item, index) {
94
93
  return /*#__PURE__*/React.createElement(ListEditorItem, {
95
94
  sortable: false,
96
- left: /*#__PURE__*/React.createElement(PopConfirm, {
95
+ left: /*#__PURE__*/React.createElement(Popover, {
97
96
  placement: "left",
98
- title: /*#__PURE__*/React.createElement(IconSelector, {
97
+ content: /*#__PURE__*/React.createElement(IconSelector, {
99
98
  value: item.icon,
100
99
  onChange: function onChange(value) {
101
- return handleChange('icon', index, value['font_class']);
100
+ return handleChange('icon', index, value);
102
101
  }
103
- })
102
+ }),
103
+ trigger: "click"
104
104
  }, /*#__PURE__*/React.createElement(IconChoice, {
105
105
  value: item.icon
106
106
  })),
@@ -104,7 +104,7 @@ export default function (_ref) {
104
104
  }, [iconData, searchTerm]);
105
105
  var handleClick = useMemoizedFn(function (icon) {
106
106
  var _iconfont = "".concat(iconData.css_prefix_text).concat(icon.font_class);
107
- onSelect(_iconfont);
107
+ onSelect === null || onSelect === void 0 || onSelect(_iconfont);
108
108
  onChange(_iconfont);
109
109
  });
110
110
  return /*#__PURE__*/React.createElement("div", {
@@ -1,12 +1,11 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import React, { useState } from 'react';
3
3
  import { useMemoizedFn, useSetState, useUpdateEffect } from 'ahooks';
4
- import { Checkbox, Row, Col, Input, Switch, Select, Spin, Tooltip, Radio } from 'luck-design/antd';
4
+ import { Input, Switch, Select, Tooltip, Radio } from 'luck-design/antd';
5
5
  import { formatMessage } from '@luck-design-biz/base/utils';
6
6
  import { isString } from 'lodash';
7
7
  import { useRemoteSource } from "../../engine/provider/ContextProvider";
8
8
  import PanelItem from "../components/PanelItem";
9
- import styles from "../style/impexp.less";
10
9
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.impexp';
11
10
  var ImpExp = function ImpExp(_ref) {
12
11
  var defaultValue = _ref.defaultValue,
@@ -26,17 +25,6 @@ var ImpExp = function ImpExp(_ref) {
26
25
  useUpdateEffect(function () {
27
26
  onChange(state);
28
27
  }, [state]);
29
- var handleCheckboxChange = useMemoizedFn(function (e) {
30
- if (e.target.value === 'import') {
31
- setState({
32
- import: e.target.checked
33
- });
34
- } else if (e.target.value === 'export') {
35
- setState({
36
- export: e.target.checked
37
- });
38
- }
39
- });
40
28
  var handleInputChange = useMemoizedFn(function (field, e) {
41
29
  var value = e.target.value.trim();
42
30
  var _val = value === '' ? true : value;
@@ -51,20 +39,6 @@ var ImpExp = function ImpExp(_ref) {
51
39
  });
52
40
  }
53
41
  });
54
- var handleSwitchChangeExport = useMemoizedFn(function (field, e) {
55
- var _value = field;
56
- setState({
57
- exportType: _value,
58
- export: true
59
- });
60
- });
61
- var handleSwitchChangeImport = useMemoizedFn(function (field, e) {
62
- var _value = field;
63
- setState({
64
- importType: _value,
65
- import: true
66
- });
67
- });
68
42
  var handleRadioChangeExport = useMemoizedFn(function (value, _ref2) {
69
43
  var key = _ref2.key;
70
44
  var _value = value;
@@ -1,13 +1,12 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import React from 'react';
3
3
  import { useMemoizedFn, useSetState, useUpdateEffect } from 'ahooks';
4
- import { Checkbox, Row, Col, Input, Switch, Select, Tooltip, Spin, Radio } from 'luck-design/antd';
4
+ import { Input, Select, Tooltip, Radio } from 'luck-design/antd';
5
5
  import { Segmented } from 'luck-design/antd';
6
6
  import { formatMessage } from '@luck-design-biz/base/utils';
7
7
  import PanelItem from "../components/PanelItem";
8
8
  import { isString } from 'lodash';
9
9
  import { useRemoteSource } from "../../engine/provider/ContextProvider";
10
- import styles from "../style/impexp.less";
11
10
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.impexp';
12
11
  var ImpExp = function ImpExp(_ref) {
13
12
  var defaultValue = _ref.defaultValue,
@@ -116,6 +116,7 @@ var LayoutRatio = function LayoutRatio(_ref) {
116
116
  id: 'luckda.lowcode.painter.panel-section.Layoutratio.label',
117
117
  label: '列比例'
118
118
  }),
119
+ field: "columnRatio",
119
120
  suppressPadding: true
120
121
  }, /*#__PURE__*/React.createElement(RuleInput, {
121
122
  placeholder: formatMessage({