@luck-design-biz/luckda 0.0.24-2 → 0.0.25

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 (217) hide show
  1. package/es/components/LDActions/index.js +130 -0
  2. package/es/components/LDActions/index.less +48 -0
  3. package/es/components/LdFormList/index.js +1 -1
  4. package/es/components/LdGrid/index.js +9 -3
  5. package/es/components/LdTree/index.js +32 -5
  6. package/es/components/LdTree/index.less +6 -1
  7. package/es/index.js +1 -0
  8. package/es/locales/zh-CN.js +151 -0
  9. package/es/lowcode/constants/api-url.js +71 -12
  10. package/es/lowcode/constants/index.js +3 -1
  11. package/es/lowcode/engine/factory/panel-item-factory/CheckboxStrategy.js +32 -0
  12. package/es/lowcode/engine/factory/panel-item-factory/index.js +2 -0
  13. package/es/lowcode/engine/meta/box.props.default.json +1 -3
  14. package/es/lowcode/engine/meta/box.props.json +1 -3
  15. package/es/lowcode/engine/meta/button.props.default.json +1 -1
  16. package/es/lowcode/engine/meta/button.props.json +1 -1
  17. package/es/lowcode/engine/meta/cardlist.props.default.json +0 -1
  18. package/es/lowcode/engine/meta/cardlist.props.json +1 -2
  19. package/es/lowcode/engine/meta/dialog.props.default.json +0 -1
  20. package/es/lowcode/engine/meta/dialog.props.json +0 -1
  21. package/es/lowcode/engine/meta/drawer.props.default.json +0 -1
  22. package/es/lowcode/engine/meta/drawer.props.json +0 -1
  23. package/es/lowcode/engine/meta/form.props.default.json +0 -1
  24. package/es/lowcode/engine/meta/form.props.json +1 -2
  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 +1 -1
  30. package/es/lowcode/engine/meta/imex.props.json +1 -1
  31. package/es/lowcode/engine/meta/js-editor/auto-complete.json +132 -26
  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 +1 -1
  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/local/local.zh-cn.js +97 -0
  39. package/es/lowcode/engine/meta/section.props.default.json +1 -1
  40. package/es/lowcode/engine/meta/section.props.json +1 -1
  41. package/es/lowcode/engine/meta/split.props.default.json +1 -1
  42. package/es/lowcode/engine/meta/split.props.json +1 -1
  43. package/es/lowcode/engine/meta/table.props.default.json +18 -2
  44. package/es/lowcode/engine/meta/table.props.json +207 -32
  45. package/es/lowcode/engine/meta/tabs.props.default.json +0 -1
  46. package/es/lowcode/engine/meta/tabs.props.json +0 -1
  47. package/es/lowcode/engine/meta/text.props.default.json +1 -1
  48. package/es/lowcode/engine/meta/text.props.json +1 -1
  49. package/es/lowcode/engine/meta/tree.props.default.json +9 -4
  50. package/es/lowcode/engine/meta/tree.props.json +101 -55
  51. package/es/lowcode/engine/provider/{ContextProvider.js → ContextProvider/index.js} +71 -41
  52. package/es/lowcode/engine/tools/helper.js +29 -1
  53. package/es/lowcode/engine/tools/usePromiseState.js +7 -6
  54. package/es/lowcode/painter/Panel.js +50 -133
  55. package/es/lowcode/painter/Ribbon.js +1 -1
  56. package/es/lowcode/painter/components/ActionBindModal.js +180 -0
  57. package/es/lowcode/painter/components/AdvancePanel.js +68 -0
  58. package/es/lowcode/painter/components/AttrsPanel.js +134 -0
  59. package/es/lowcode/painter/components/Collapse.js +12 -7
  60. package/es/lowcode/painter/components/FieldSelector.js +44 -0
  61. package/es/lowcode/painter/components/ListEditor.js +4 -2
  62. package/es/lowcode/painter/components/PopConfirm.js +10 -3
  63. package/es/lowcode/painter/components/code-editor/BaseEditor.js +14 -2
  64. package/es/lowcode/painter/components/code-editor/JSEditor.js +25 -14
  65. package/es/lowcode/painter/components/code-editor/JsonEditor.js +41 -0
  66. package/es/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/ActionEditor.js +10 -3
  67. package/es/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/index.js +36 -8
  68. package/es/lowcode/painter/panel-section/ImpExp.js +91 -0
  69. package/es/lowcode/painter/panel-section/JSEditor.js +48 -0
  70. package/es/lowcode/painter/panel-section/StylePanel/MainPanel.js +2 -2
  71. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +1 -1
  72. package/es/lowcode/painter/panel-section/TableTopFilter.js +306 -0
  73. package/es/lowcode/painter/style/action-bind-modal.less +99 -0
  74. package/es/lowcode/painter/style/design.less +1 -1
  75. package/es/lowcode/painter/style/impexp.less +7 -0
  76. package/es/lowcode/painter/style/panel-attrs.less +43 -0
  77. package/es/lowcode/painter/style/panel.less +6 -37
  78. package/es/lowcode/painter/style/pop-confirm.less +9 -2
  79. package/es/lowcode/view/lc-components/Box/index.js +20 -4
  80. package/es/lowcode/view/lc-components/Box/index.less +0 -1
  81. package/es/lowcode/view/lc-components/Box/meta.json +1 -3
  82. package/es/lowcode/view/lc-components/Button/meta.json +1 -1
  83. package/es/lowcode/view/lc-components/CardList/meta.json +1 -2
  84. package/es/lowcode/view/lc-components/Dialog/meta.json +0 -1
  85. package/es/lowcode/view/lc-components/Drawer/index.js +16 -0
  86. package/es/lowcode/view/lc-components/Drawer/meta.json +0 -1
  87. package/es/lowcode/view/lc-components/Form/meta.json +1 -2
  88. package/es/lowcode/view/lc-components/Iframe/meta.json +1 -1
  89. package/es/lowcode/view/lc-components/ImEx/meta.json +1 -1
  90. package/es/lowcode/view/lc-components/Image/meta.json +1 -1
  91. package/es/lowcode/view/lc-components/JSX/meta.json +1 -1
  92. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +6 -9
  93. package/es/lowcode/view/lc-components/Layout/meta.json +1 -1
  94. package/es/lowcode/view/lc-components/Link/meta.json +1 -1
  95. package/es/lowcode/view/lc-components/Section/meta.json +1 -1
  96. package/es/lowcode/view/lc-components/Split/meta.json +1 -1
  97. package/es/lowcode/view/lc-components/Table/FunctionDesign.js +35 -2
  98. package/es/lowcode/view/lc-components/Table/components/TopFilter.js +96 -0
  99. package/es/lowcode/view/lc-components/Table/index.js +255 -35
  100. package/es/lowcode/view/lc-components/Table/meta.json +179 -32
  101. package/es/lowcode/view/lc-components/Tabs/meta.json +0 -1
  102. package/es/lowcode/view/lc-components/Text/meta.json +1 -1
  103. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +48 -3
  104. package/es/lowcode/view/lc-components/Tree/index.js +77 -6
  105. package/es/lowcode/view/lc-components/Tree/index.less +2 -0
  106. package/es/lowcode/view/lc-components/Tree/meta.json +97 -55
  107. package/es/lowcode/view/lc-components/Wrapper.js +2 -2
  108. package/lib/components/LDActions/index.js +138 -0
  109. package/lib/components/LDActions/index.less +48 -0
  110. package/lib/components/LdFormList/index.js +1 -1
  111. package/lib/components/LdGrid/index.js +8 -2
  112. package/lib/components/LdTree/index.js +31 -4
  113. package/lib/components/LdTree/index.less +6 -1
  114. package/lib/index.js +8 -0
  115. package/lib/locales/zh-CN.js +157 -0
  116. package/lib/lowcode/constants/api-url.js +71 -12
  117. package/lib/lowcode/constants/index.js +4 -2
  118. package/lib/lowcode/engine/factory/panel-item-factory/CheckboxStrategy.js +38 -0
  119. package/lib/lowcode/engine/factory/panel-item-factory/index.js +2 -0
  120. package/lib/lowcode/engine/meta/box.props.default.json +1 -3
  121. package/lib/lowcode/engine/meta/box.props.json +1 -3
  122. package/lib/lowcode/engine/meta/button.props.default.json +1 -1
  123. package/lib/lowcode/engine/meta/button.props.json +1 -1
  124. package/lib/lowcode/engine/meta/cardlist.props.default.json +0 -1
  125. package/lib/lowcode/engine/meta/cardlist.props.json +1 -2
  126. package/lib/lowcode/engine/meta/dialog.props.default.json +0 -1
  127. package/lib/lowcode/engine/meta/dialog.props.json +0 -1
  128. package/lib/lowcode/engine/meta/drawer.props.default.json +0 -1
  129. package/lib/lowcode/engine/meta/drawer.props.json +0 -1
  130. package/lib/lowcode/engine/meta/form.props.default.json +0 -1
  131. package/lib/lowcode/engine/meta/form.props.json +1 -2
  132. package/lib/lowcode/engine/meta/iframe.props.default.json +1 -1
  133. package/lib/lowcode/engine/meta/iframe.props.json +1 -1
  134. package/lib/lowcode/engine/meta/image.props.default.json +1 -1
  135. package/lib/lowcode/engine/meta/image.props.json +1 -1
  136. package/lib/lowcode/engine/meta/imex.props.default.json +1 -1
  137. package/lib/lowcode/engine/meta/imex.props.json +1 -1
  138. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +132 -26
  139. package/lib/lowcode/engine/meta/jsx.props.default.json +1 -1
  140. package/lib/lowcode/engine/meta/jsx.props.json +1 -1
  141. package/lib/lowcode/engine/meta/layout.props.default.json +1 -1
  142. package/lib/lowcode/engine/meta/layout.props.json +1 -1
  143. package/lib/lowcode/engine/meta/link.props.default.json +1 -1
  144. package/lib/lowcode/engine/meta/link.props.json +1 -1
  145. package/lib/lowcode/engine/meta/local/local.zh-cn.js +103 -0
  146. package/lib/lowcode/engine/meta/section.props.default.json +1 -1
  147. package/lib/lowcode/engine/meta/section.props.json +1 -1
  148. package/lib/lowcode/engine/meta/split.props.default.json +1 -1
  149. package/lib/lowcode/engine/meta/split.props.json +1 -1
  150. package/lib/lowcode/engine/meta/table.props.default.json +18 -2
  151. package/lib/lowcode/engine/meta/table.props.json +207 -32
  152. package/lib/lowcode/engine/meta/tabs.props.default.json +0 -1
  153. package/lib/lowcode/engine/meta/tabs.props.json +0 -1
  154. package/lib/lowcode/engine/meta/text.props.default.json +1 -1
  155. package/lib/lowcode/engine/meta/text.props.json +1 -1
  156. package/lib/lowcode/engine/meta/tree.props.default.json +9 -4
  157. package/lib/lowcode/engine/meta/tree.props.json +101 -55
  158. package/lib/lowcode/engine/provider/{ContextProvider.js → ContextProvider/index.js} +70 -40
  159. package/lib/lowcode/engine/tools/helper.js +31 -0
  160. package/lib/lowcode/engine/tools/usePromiseState.js +6 -5
  161. package/lib/lowcode/painter/Panel.js +48 -131
  162. package/lib/lowcode/painter/Ribbon.js +1 -1
  163. package/lib/lowcode/painter/components/ActionBindModal.js +188 -0
  164. package/lib/lowcode/painter/components/AdvancePanel.js +76 -0
  165. package/lib/lowcode/painter/components/AttrsPanel.js +142 -0
  166. package/lib/lowcode/painter/components/Collapse.js +12 -7
  167. package/lib/lowcode/painter/components/FieldSelector.js +52 -0
  168. package/lib/lowcode/painter/components/ListEditor.js +4 -2
  169. package/lib/lowcode/painter/components/PopConfirm.js +10 -3
  170. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +14 -2
  171. package/lib/lowcode/painter/components/code-editor/JSEditor.js +25 -14
  172. package/lib/lowcode/painter/components/code-editor/JsonEditor.js +48 -0
  173. package/lib/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/ActionEditor.js +10 -3
  174. package/lib/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/index.js +35 -7
  175. package/lib/lowcode/painter/panel-section/ImpExp.js +98 -0
  176. package/lib/lowcode/painter/panel-section/JSEditor.js +56 -0
  177. package/lib/lowcode/painter/panel-section/StylePanel/MainPanel.js +2 -2
  178. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +1 -1
  179. package/lib/lowcode/painter/panel-section/TableTopFilter.js +314 -0
  180. package/lib/lowcode/painter/style/action-bind-modal.less +99 -0
  181. package/lib/lowcode/painter/style/design.less +1 -1
  182. package/lib/lowcode/painter/style/impexp.less +7 -0
  183. package/lib/lowcode/painter/style/panel-attrs.less +43 -0
  184. package/lib/lowcode/painter/style/panel.less +6 -37
  185. package/lib/lowcode/painter/style/pop-confirm.less +9 -2
  186. package/lib/lowcode/view/lc-components/Box/index.js +17 -2
  187. package/lib/lowcode/view/lc-components/Box/index.less +0 -1
  188. package/lib/lowcode/view/lc-components/Box/meta.json +1 -3
  189. package/lib/lowcode/view/lc-components/Button/meta.json +1 -1
  190. package/lib/lowcode/view/lc-components/CardList/meta.json +1 -2
  191. package/lib/lowcode/view/lc-components/Dialog/meta.json +0 -1
  192. package/lib/lowcode/view/lc-components/Drawer/index.js +16 -0
  193. package/lib/lowcode/view/lc-components/Drawer/meta.json +0 -1
  194. package/lib/lowcode/view/lc-components/Form/meta.json +1 -2
  195. package/lib/lowcode/view/lc-components/Iframe/meta.json +1 -1
  196. package/lib/lowcode/view/lc-components/ImEx/meta.json +1 -1
  197. package/lib/lowcode/view/lc-components/Image/meta.json +1 -1
  198. package/lib/lowcode/view/lc-components/JSX/meta.json +1 -1
  199. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +6 -9
  200. package/lib/lowcode/view/lc-components/Layout/meta.json +1 -1
  201. package/lib/lowcode/view/lc-components/Link/meta.json +1 -1
  202. package/lib/lowcode/view/lc-components/Section/meta.json +1 -1
  203. package/lib/lowcode/view/lc-components/Split/meta.json +1 -1
  204. package/lib/lowcode/view/lc-components/Table/FunctionDesign.js +37 -3
  205. package/lib/lowcode/view/lc-components/Table/components/TopFilter.js +104 -0
  206. package/lib/lowcode/view/lc-components/Table/index.js +255 -35
  207. package/lib/lowcode/view/lc-components/Table/meta.json +179 -32
  208. package/lib/lowcode/view/lc-components/Tabs/meta.json +0 -1
  209. package/lib/lowcode/view/lc-components/Text/meta.json +1 -1
  210. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +49 -3
  211. package/lib/lowcode/view/lc-components/Tree/index.js +77 -6
  212. package/lib/lowcode/view/lc-components/Tree/index.less +2 -0
  213. package/lib/lowcode/view/lc-components/Tree/meta.json +97 -55
  214. package/lib/lowcode/view/lc-components/Wrapper.js +2 -2
  215. package/package.json +10 -5
  216. package/es/lowcode/painter/panel-section/TableActions.js +0 -19
  217. package/lib/lowcode/painter/panel-section/TableActions.js +0 -26
@@ -12,18 +12,32 @@ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helper
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
  var _interopRequireWildcard2 = _interopRequireDefault(require("@babel/runtime/helpers/interopRequireWildcard"));
14
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
16
  var _react = _interopRequireWildcard3(require("react"));
16
17
  var _BaseEditor = _interopRequireDefault(require("./BaseEditor"));
17
18
  var monaco = _interopRequireWildcard3(require("monaco-editor"));
19
+ var _lodash = require("lodash");
18
20
  var _excluded = ["children"];
21
+ function capitalizeFirstLetter(string) {
22
+ if ((0, _lodash.isNil)(string)) return null;
23
+ if (string.length === 0) {
24
+ return ''; // 如果字符串为空,返回空字符串
25
+ }
26
+ return string.charAt(0).toUpperCase() + string.slice(1);
27
+ }
19
28
  var _provideCompletionItems = function provideCompletionItems(monaco, model, position, module) {
20
29
  var textUntilPosition = model.getValueInRange({
21
- startLineNumber: position.lineNumber,
30
+ startLineNumber: 1,
22
31
  startColumn: 1,
23
32
  endLineNumber: position.lineNumber,
24
33
  endColumn: position.column
25
34
  });
26
- if (textUntilPosition.endsWith(module.triggerWord + '.')) {
35
+
36
+ // 正则表达式匹配以 triggerWord 开头的任何单词
37
+ var pattern = new RegExp('\\b' + module.triggerWord + '[\\w.]*', 'i');
38
+ var match = textUntilPosition.match(pattern);
39
+ // console.log('match',match)
40
+ if (match) {
27
41
  var word = model.getWordUntilPosition(position);
28
42
  var range = {
29
43
  startLineNumber: position.lineNumber,
@@ -31,14 +45,10 @@ var _provideCompletionItems = function provideCompletionItems(monaco, model, pos
31
45
  startColumn: word.startColumn,
32
46
  endColumn: word.endColumn
33
47
  };
34
-
35
- // 从模块中调用 completions 函数获取补全项数组
36
- // 并动态转换 kind 字段
37
48
  return module.completions.map(function (completion) {
38
- return Object.assign({}, completion, {
49
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, completion), {}, {
39
50
  range: range,
40
- // 动态转换 kind 字段
41
- kind: monaco.languages.CompletionItemKind[completion.kind]
51
+ kind: monaco.languages.CompletionItemKind[capitalizeFirstLetter(completion.kind)]
42
52
  });
43
53
  });
44
54
  }
@@ -56,7 +66,8 @@ var setupAutocomplete = /*#__PURE__*/function () {
56
66
  });
57
67
  case 2:
58
68
  autoCompleteModules = _context.sent;
59
- console.log('autoCompleteModules', autoCompleteModules);
69
+ // console.log('autoCompleteModules', autoCompleteModules);
70
+
60
71
  monaco.languages.registerCompletionItemProvider('javascript', (0, _defineProperty2.default)({
61
72
  triggerCharacters: ['.'],
62
73
  provideCompletionItems: function provideCompletionItems(model, position) {
@@ -72,7 +83,7 @@ var setupAutocomplete = /*#__PURE__*/function () {
72
83
  };
73
84
  }
74
85
  }, "triggerCharacters", ['.']));
75
- case 5:
86
+ case 4:
76
87
  case "end":
77
88
  return _context.stop();
78
89
  }
@@ -87,7 +98,7 @@ var setupAutocomplete = /*#__PURE__*/function () {
87
98
  * JSEditor 组件是一个专为 JavaScript 编辑设计的 React 组件,它基于 BaseEditor 组件构建,并集成了自动完成功能。
88
99
  * 该组件利用 monaco-editor 提供的 API,通过 setupAutocomplete 函数设置自动完成项,从而增强代码编辑体验。
89
100
  * 自动完成逻辑包括从预定义的自动完成模块中加载补全项,以及在编辑器中键入特定字符(如".")时触发补全建议。
90
- *
101
+ *
91
102
  * @component
92
103
  * @example
93
104
  * <JSEditor
@@ -96,12 +107,12 @@ var setupAutocomplete = /*#__PURE__*/function () {
96
107
  * >
97
108
  * {`function sayHello() {\n console.log('Hello, World!');\n}`}
98
109
  * </JSEditor>
99
- *
110
+ *
100
111
  * @param {Object} props - 组件的属性。
101
112
  * @param {React.ReactNode} children - 传递给 BaseEditor 的 children,通常是初始代码或内容。
102
113
  * @param {Object} rest - 传递给 BaseEditor 组件的其他属性。
103
114
  * @param {React.Ref} ref - React ref 引用,用于在外部组件中访问 BaseEditor 实例的方法。
104
- *
115
+ *
105
116
  * @returns {ReactElement} 返回一个 React 元素,其中包含了一个具有自动完成功能的 JavaScript 编辑器实例。
106
117
  */
107
118
  var JSEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
@@ -112,6 +123,6 @@ var JSEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
112
123
  }, []);
113
124
  return /*#__PURE__*/_react.default.createElement(_BaseEditor.default, (0, _extends2.default)({
114
125
  ref: ref
115
- }, rest));
126
+ }, rest), children);
116
127
  });
117
128
  var _default = exports.default = /*#__PURE__*/_react.default.memo(JSEditor);
@@ -0,0 +1,48 @@
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 _BaseEditor = _interopRequireDefault(require("./BaseEditor"));
13
+ var _excluded = ["children"];
14
+ /**
15
+ * JsonEditor 组件是一个专门用于编辑 CSS 代码的 React 组件,它基于 BaseEditor 组件构建。
16
+ * 该组件通过将 language 属性固定设置为 "css",确保编辑器环境专门用于 CSS 代码编辑。
17
+ * 用户可以传入 CSS 代码作为 children,并通过其他 props 控制 BaseEditor 提供的额外功能。
18
+ *
19
+ * @component
20
+ * @example
21
+ * const handleCssChange = (newCss, event) => {
22
+ * console.log('CSS changed: ', newCss);
23
+ * };
24
+ * <JsonEditor
25
+ * onChange={handleCssChange}
26
+ * isFullscreen={false}
27
+ * width="600px"
28
+ * height="400px"
29
+ * >
30
+ * {`body { margin: 0; font-family: Arial, sans-serif; }`}
31
+ * </JsonEditor>
32
+ *
33
+ * @param {Object} props - 组件的属性。
34
+ * @param {React.ReactNode} children - 子组件,通常是编辑器的初始 CSS 代码。
35
+ * @param {Object} rest - 传递给 BaseEditor 组件的其他属性。
36
+ * @param {React.Ref} ref - React ref 引用,用于外部组件调用编辑器实例的方法。
37
+ *
38
+ * @returns {ReactElement} 返回一个 React 元素,该元素内部是一个专门用于 CSS 编辑的 BaseEditor 组件实例。
39
+ */
40
+ var JsonEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
41
+ var children = _ref.children,
42
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
43
+ return /*#__PURE__*/_react.default.createElement(_BaseEditor.default, (0, _extends2.default)({
44
+ ref: ref,
45
+ language: "json"
46
+ }, rest), children);
47
+ });
48
+ var _default = exports.default = /*#__PURE__*/_react.default.memo(JsonEditor);
@@ -36,6 +36,12 @@ var _RISK_LEVEL_OPTIONS_ = [{
36
36
  label: '一般'
37
37
  }),
38
38
  value: 'default'
39
+ }, {
40
+ label: (0, _utils.formatMessage)({
41
+ id: "".concat(_I18N_PREFIX_, ".primary"),
42
+ label: '重要'
43
+ }),
44
+ value: 'primary'
39
45
  }, {
40
46
  label: (0, _utils.formatMessage)({
41
47
  id: "".concat(_I18N_PREFIX_, ".danger"),
@@ -49,6 +55,7 @@ var _RISK_LEVEL_OPTIONS_ = [{
49
55
  }),
50
56
  value: 'destroy'
51
57
  }];
58
+ var _DEFAULT_CODE_ = 'function todo(ctx) {}';
52
59
  var ActionEditor = function ActionEditor(_ref) {
53
60
  var action = _ref.action,
54
61
  onChange = _ref.onChange;
@@ -62,8 +69,8 @@ var ActionEditor = function ActionEditor(_ref) {
62
69
  valueRef.current[field] = value;
63
70
  onChange(valueRef.current);
64
71
  });
65
- var handOnEditorLoad = (0, _ahooks.useMemoizedFn)(function () {
66
- editorRef.current.editor.setValue(action.actionCode);
72
+ var handleEditorLoad = (0, _ahooks.useMemoizedFn)(function () {
73
+ editorRef.current.editor.setValue(action.actionCode || _DEFAULT_CODE_);
67
74
  });
68
75
  return /*#__PURE__*/_react.default.createElement(_PopForm.PopForm, null, /*#__PURE__*/_react.default.createElement(_PopForm.PopFormItem, null, /*#__PURE__*/_react.default.createElement(_PopForm.PopFormItemLeft, null, (0, _utils.formatMessage)({
69
76
  id: "".concat(_I18N_PREFIX_, ".name"),
@@ -145,7 +152,7 @@ var ActionEditor = function ActionEditor(_ref) {
145
152
  width: "640px",
146
153
  height: "300px",
147
154
  onChange: handleCodeChange.current,
148
- onLoad: handOnEditorLoad
155
+ onLoad: handleEditorLoad
149
156
  })
150
157
  }, /*#__PURE__*/_react.default.createElement(_antd.Icon, {
151
158
  type: "code",
@@ -12,7 +12,7 @@ var _ahooks = require("ahooks");
12
12
  var _antd = require("luck-design/antd");
13
13
  var _lodash = require("lodash");
14
14
  var _ActionEditor = _interopRequireDefault(require("./ActionEditor"));
15
- var _PanelItem = _interopRequireDefault(require("../PanelItem"));
15
+ var _PanelItem = _interopRequireDefault(require("../../components/PanelItem"));
16
16
  var _SortBox = require("../../components/SortBox");
17
17
  var _ListEditor = require("../../components/ListEditor");
18
18
  var _PopConfirm = _interopRequireDefault(require("../../components/PopConfirm"));
@@ -35,7 +35,10 @@ var _DISPLAY_OPTIONS_ = [{
35
35
  }];
36
36
  var ActionsEditor = function ActionsEditor(_ref) {
37
37
  var defaultValue = _ref.defaultValue,
38
- onChange = _ref.onChange;
38
+ onChange = _ref.onChange,
39
+ suppressDisplay = _ref.suppressDisplay,
40
+ suppressMax = _ref.suppressMax,
41
+ suppressMore = _ref.suppressMore;
39
42
  var valueRef = (0, _react.useRef)((0, _lodash.cloneDeep)(defaultValue));
40
43
  var _useReducer = (0, _react.useReducer)(_helper.listReducer, defaultValue.todoList || []),
41
44
  _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
@@ -55,7 +58,17 @@ var ActionsEditor = function ActionsEditor(_ref) {
55
58
  },
56
59
  callback: function callback(newActions) {
57
60
  valueRef.current.todoList = newActions;
58
- onChange(valueRef.current);
61
+ onChange((0, _lodash.cloneDeep)(valueRef.current));
62
+ }
63
+ });
64
+ });
65
+ var handleDelete = (0, _ahooks.useMemoizedFn)(function (action) {
66
+ dispatch({
67
+ type: 'delete',
68
+ payload: action.id,
69
+ callback: function callback(newActions) {
70
+ valueRef.current.todoList = newActions;
71
+ onChange((0, _lodash.cloneDeep)(valueRef.current));
59
72
  }
60
73
  });
61
74
  });
@@ -65,7 +78,7 @@ var ActionsEditor = function ActionsEditor(_ref) {
65
78
  payload: sortItems,
66
79
  callback: function callback(newActions) {
67
80
  valueRef.current.todoList = newActions;
68
- onChange(valueRef.current);
81
+ onChange((0, _lodash.cloneDeep)(valueRef.current));
69
82
  }
70
83
  });
71
84
  });
@@ -84,7 +97,7 @@ var ActionsEditor = function ActionsEditor(_ref) {
84
97
  } else {
85
98
  valueRef.current[field] = value;
86
99
  }
87
- onChange(valueRef.current);
100
+ onChange((0, _lodash.cloneDeep)(valueRef.current));
88
101
  });
89
102
  var renderItemRight = (0, _ahooks.useMemoizedFn)(function (action) {
90
103
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
@@ -116,6 +129,9 @@ var ActionsEditor = function ActionsEditor(_ref) {
116
129
  style: {
117
130
  marginRight: '8px',
118
131
  cursor: 'pointer'
132
+ },
133
+ onClick: function onClick() {
134
+ return handleDelete(action);
119
135
  }
120
136
  })));
121
137
  });
@@ -126,7 +142,7 @@ var ActionsEditor = function ActionsEditor(_ref) {
126
142
  width: '100%',
127
143
  padding: '0 16px'
128
144
  }
129
- }, /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
145
+ }, !suppressDisplay && /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
130
146
  suppressPadding: true,
131
147
  label: (0, _utils.formatMessage)({
132
148
  id: "".concat(_I18N_PREFIX_, ".display"),
@@ -139,7 +155,7 @@ var ActionsEditor = function ActionsEditor(_ref) {
139
155
  onChange: function onChange(value) {
140
156
  return handleValueChange('display', value);
141
157
  }
142
- })), /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
158
+ })), !suppressMax && /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
143
159
  suppressPadding: true,
144
160
  label: (0, _utils.formatMessage)({
145
161
  id: "".concat(_I18N_PREFIX_, ".max"),
@@ -151,6 +167,18 @@ var ActionsEditor = function ActionsEditor(_ref) {
151
167
  onChange: function onChange(value) {
152
168
  return handleValueChange('max', value);
153
169
  }
170
+ })), !suppressMore && /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
171
+ suppressPadding: true,
172
+ label: (0, _utils.formatMessage)({
173
+ id: "".concat(_I18N_PREFIX_, ".moreText"),
174
+ label: '更多显示文字'
175
+ })
176
+ }, /*#__PURE__*/_react.default.createElement(_antd.Input, {
177
+ size: "small",
178
+ defaultValue: defaultValue.moreText,
179
+ onChange: function onChange(e) {
180
+ return handleValueChange('moreText', e.target.value);
181
+ }
154
182
  })), /*#__PURE__*/_react.default.createElement(_SortBox.SortBox, {
155
183
  datas: todoList.map(function (_ref2) {
156
184
  var id = _ref2.id;
@@ -0,0 +1,98 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _ahooks = require("ahooks");
11
+ var _antd = require("luck-design/antd");
12
+ var _utils = require("@luck-design-biz/base/utils");
13
+ var _lodash = require("lodash");
14
+ var _impexp = _interopRequireDefault(require("../style/impexp.less"));
15
+ var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.impexp';
16
+ var ImpExp = function ImpExp(_ref) {
17
+ var defaultValue = _ref.defaultValue,
18
+ onChange = _ref.onChange;
19
+ var _useSetState = (0, _ahooks.useSetState)(defaultValue || {}),
20
+ _useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
21
+ state = _useSetState2[0],
22
+ setState = _useSetState2[1];
23
+ (0, _ahooks.useUpdateEffect)(function () {
24
+ onChange(state);
25
+ }, [state]);
26
+ var handleCheckboxChange = (0, _ahooks.useMemoizedFn)(function (e) {
27
+ if (e.target.value === 'import') {
28
+ setState({
29
+ import: e.target.checked
30
+ });
31
+ } else if (e.target.value === 'export') {
32
+ setState({
33
+ export: e.target.checked
34
+ });
35
+ }
36
+ });
37
+ var handleInputChange = (0, _ahooks.useMemoizedFn)(function (field, e) {
38
+ var value = e.target.value.trim();
39
+ var _val = value === '' ? true : value;
40
+ console.log(_val);
41
+ if (field === 'import') {
42
+ setState({
43
+ import: _val
44
+ });
45
+ } else if (field === 'export') {
46
+ setState({
47
+ export: _val
48
+ });
49
+ }
50
+ });
51
+ return /*#__PURE__*/_react.default.createElement(_antd.Row, {
52
+ gutter: [0, 8],
53
+ className: _impexp.default['lc-painter-panel-section-impexp']
54
+ }, /*#__PURE__*/_react.default.createElement(_antd.Col, {
55
+ span: 6
56
+ }, /*#__PURE__*/_react.default.createElement(_antd.Checkbox, {
57
+ value: "import",
58
+ checked: !!state.import,
59
+ onChange: handleCheckboxChange
60
+ }, (0, _utils.formatMessage)({
61
+ id: 'luckda.lowcode.painter.import',
62
+ label: '导入'
63
+ }))), /*#__PURE__*/_react.default.createElement(_antd.Col, {
64
+ span: 18
65
+ }, /*#__PURE__*/_react.default.createElement(_antd.Input, {
66
+ size: "small",
67
+ value: (0, _lodash.isString)(state.import) ? state.import : '',
68
+ onChange: function onChange(e) {
69
+ return handleInputChange('import', e);
70
+ },
71
+ placeholder: (0, _utils.formatMessage)({
72
+ id: "".concat(_I18N_PREFIX_, ".impUrl.placeholder"),
73
+ label: '请输入模版ID或自定义接口'
74
+ })
75
+ })), /*#__PURE__*/_react.default.createElement(_antd.Col, {
76
+ span: 6
77
+ }, /*#__PURE__*/_react.default.createElement(_antd.Checkbox, {
78
+ value: "export",
79
+ checked: state.export,
80
+ onChange: handleCheckboxChange
81
+ }, (0, _utils.formatMessage)({
82
+ id: 'luckda.lowcode.painter.export',
83
+ label: '导出'
84
+ }))), /*#__PURE__*/_react.default.createElement(_antd.Col, {
85
+ span: 18
86
+ }, /*#__PURE__*/_react.default.createElement(_antd.Input, {
87
+ size: "small",
88
+ value: (0, _lodash.isString)(state.export) ? state.export : '',
89
+ onChange: function onChange(e) {
90
+ return handleInputChange('export', e);
91
+ },
92
+ placeholder: (0, _utils.formatMessage)({
93
+ id: "".concat(_I18N_PREFIX_, ".expUrl.placeholder"),
94
+ label: '请输入自定义接口'
95
+ })
96
+ })));
97
+ };
98
+ var _default = exports.default = ImpExp;
@@ -0,0 +1,56 @@
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 _react = _interopRequireWildcard(require("react"));
10
+ var _ahooks = require("ahooks");
11
+ var _antd = require("luck-design/antd");
12
+ var _lodash = require("lodash");
13
+ var _utils = require("@luck-design-biz/base/utils");
14
+ var _PopConfirm = _interopRequireDefault(require("../components/PopConfirm"));
15
+ var _FullScreenEditor = _interopRequireDefault(require("../components/code-editor/FullScreenEditor"));
16
+ var _JSEditor2 = _interopRequireDefault(require("../components/code-editor/JSEditor"));
17
+ var _JSEditor = function _JSEditor(_ref) {
18
+ var defaultValue = _ref.defaultValue,
19
+ defaultCode = _ref.defaultCode,
20
+ onChange = _ref.onChange,
21
+ mustConfirm = _ref.mustConfirm;
22
+ var editorRef = (0, _react.useRef)();
23
+ var handleCodeChange = (0, _react.useRef)((0, _lodash.debounce)(function (code) {
24
+ if (!mustConfirm) onChange(code);
25
+ }, 400));
26
+ var handleConfirm = (0, _ahooks.useMemoizedFn)(function () {
27
+ onChange(editorRef.current.editor.getValue());
28
+ });
29
+ var handleEditorLoad = (0, _ahooks.useMemoizedFn)(function () {
30
+ editorRef.current.editor.setValue(defaultValue || defaultCode);
31
+ });
32
+ return /*#__PURE__*/_react.default.createElement(_PopConfirm.default, {
33
+ placement: "left",
34
+ title: /*#__PURE__*/_react.default.createElement(_FullScreenEditor.default, {
35
+ ref: editorRef,
36
+ EditorComponent: _JSEditor2.default,
37
+ width: "600px",
38
+ height: "400px",
39
+ onChange: handleCodeChange.current,
40
+ onLoad: handleEditorLoad
41
+ }),
42
+ showBtn: mustConfirm,
43
+ onConfirm: handleConfirm
44
+ }, /*#__PURE__*/_react.default.createElement("div", {
45
+ style: {
46
+ padding: '0 16px'
47
+ }
48
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
49
+ block: true,
50
+ size: "small"
51
+ }, (0, _utils.formatMessage)({
52
+ id: 'luckda.lowcode.painter.panel-section.style-panel.sourceedit',
53
+ label: '源码编辑'
54
+ }))));
55
+ };
56
+ var _default = exports.default = _JSEditor;
@@ -45,7 +45,7 @@ var MainPanel = function MainPanel() {
45
45
  payload: code
46
46
  });
47
47
  }, []);
48
- var handOnEditorLoad = (0, _react.useCallback)(function () {
48
+ var handleEditorLoad = (0, _react.useCallback)(function () {
49
49
  editorRef.current.editor.setValue(currentCoce.current);
50
50
  }, []);
51
51
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -65,7 +65,7 @@ var MainPanel = function MainPanel() {
65
65
  width: "280px",
66
66
  height: "300px",
67
67
  onChange: handleCodeChange,
68
- onLoad: handOnEditorLoad
68
+ onLoad: handleEditorLoad
69
69
  })
70
70
  }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
71
71
  type: "primary",
@@ -55,7 +55,7 @@ function StyleProvider(_ref) {
55
55
  throw new Error();
56
56
  }
57
57
  };
58
- var _useReducer = (0, _react.useReducer)(styleReducer, parseCSS(value)),
58
+ var _useReducer = (0, _react.useReducer)(styleReducer, parseCSS(":root{".concat(value, "}"))),
59
59
  _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
60
60
  style = _useReducer2[0],
61
61
  dispatch = _useReducer2[1];