@luck-design-biz/luckda 0.0.22-4 → 0.0.22-5

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 (310) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +40 -40
  3. package/es/components/Builder/index.js +1 -1
  4. package/es/components/LdGrid/index.js +4 -4
  5. package/es/components/LdGridForm/index.less +7 -7
  6. package/es/components/LdRuntimeCom/index.js +42 -0
  7. package/es/components/LdTree/index.less +36 -36
  8. package/es/helper/action.js +6 -6
  9. package/es/helper/form.js +14 -14
  10. package/es/helper/index.less +7 -7
  11. package/es/index.js +1 -0
  12. package/es/lowcode/constants/api-url.js +3 -0
  13. package/es/lowcode/constants/event-topics.js +31 -0
  14. package/es/lowcode/constants/index.js +12 -0
  15. package/es/lowcode/engine/factory/DataFactory.js +1 -0
  16. package/es/lowcode/engine/factory/panel-item-factory/DynamicStrategy.js +60 -0
  17. package/es/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +32 -0
  18. package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +32 -0
  19. package/es/lowcode/engine/factory/panel-item-factory/Strategy.js +21 -0
  20. package/es/lowcode/engine/factory/panel-item-factory/StringStrategy.js +32 -0
  21. package/es/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +32 -0
  22. package/es/lowcode/engine/factory/panel-item-factory/index.js +40 -0
  23. package/es/lowcode/engine/meta/box.props.default.json +10 -0
  24. package/es/lowcode/engine/meta/box.props.json +40 -0
  25. package/es/lowcode/engine/meta/button.props.default.json +16 -0
  26. package/es/lowcode/engine/meta/button.props.json +117 -0
  27. package/es/lowcode/engine/meta/cardlist.props.default.json +18 -0
  28. package/es/lowcode/engine/meta/cardlist.props.json +144 -0
  29. package/es/lowcode/engine/meta/components-list.json +128 -0
  30. package/es/lowcode/engine/meta/dialog.props.default.json +19 -0
  31. package/es/lowcode/engine/meta/dialog.props.json +121 -0
  32. package/es/lowcode/engine/meta/drawer.props.default.json +18 -0
  33. package/es/lowcode/engine/meta/drawer.props.json +144 -0
  34. package/es/lowcode/engine/meta/form.props.default.json +13 -0
  35. package/es/lowcode/engine/meta/form.props.json +117 -0
  36. package/es/lowcode/engine/meta/iframe.props.default.json +11 -0
  37. package/es/lowcode/engine/meta/iframe.props.json +32 -0
  38. package/es/lowcode/engine/meta/image.props.default.json +16 -0
  39. package/es/lowcode/engine/meta/image.props.json +114 -0
  40. package/es/lowcode/engine/meta/imex.props.default.json +12 -0
  41. package/es/lowcode/engine/meta/imex.props.json +82 -0
  42. package/es/lowcode/engine/meta/js-editor/auto-complete.json +29 -0
  43. package/es/lowcode/engine/meta/jsx.props.default.json +10 -0
  44. package/es/lowcode/engine/meta/jsx.props.json +25 -0
  45. package/es/lowcode/engine/meta/layout.props.default.json +13 -0
  46. package/es/lowcode/engine/meta/layout.props.json +108 -0
  47. package/es/lowcode/engine/meta/link.props.default.json +14 -0
  48. package/es/lowcode/engine/meta/link.props.json +112 -0
  49. package/es/lowcode/engine/meta/section.props.default.json +17 -0
  50. package/es/lowcode/engine/meta/section.props.json +108 -0
  51. package/es/lowcode/engine/meta/split.props.default.json +13 -0
  52. package/es/lowcode/engine/meta/split.props.json +72 -0
  53. package/es/lowcode/engine/meta/table.props.default.json +18 -0
  54. package/es/lowcode/engine/meta/table.props.json +162 -0
  55. package/es/lowcode/engine/meta/tabs.props.default.json +18 -0
  56. package/es/lowcode/engine/meta/tabs.props.json +141 -0
  57. package/es/lowcode/engine/meta/text.props.default.json +12 -0
  58. package/es/lowcode/engine/meta/text.props.json +66 -0
  59. package/es/lowcode/engine/meta/tree.props.default.json +17 -0
  60. package/es/lowcode/engine/meta/tree.props.json +157 -0
  61. package/es/lowcode/engine/provider/ContextProvider.js +165 -0
  62. package/es/lowcode/engine/provider/EventBusProvider.js +120 -0
  63. package/es/lowcode/engine/tools/dataProcess.js +263 -0
  64. package/es/lowcode/engine/tools/helper.js +4 -0
  65. package/es/lowcode/engine/tools/lcid.js +16 -0
  66. package/es/lowcode/index.js +3 -0
  67. package/es/lowcode/painter/Components.js +104 -0
  68. package/es/lowcode/painter/Design.js +210 -0
  69. package/es/lowcode/painter/I18n.js +202 -0
  70. package/es/lowcode/painter/Outline.js +208 -0
  71. package/es/lowcode/painter/Panel.js +195 -0
  72. package/es/lowcode/painter/Ribbon.js +142 -0
  73. package/es/lowcode/painter/components/PanelItem.js +35 -0
  74. package/es/lowcode/painter/components/PopConfirm.js +20 -0
  75. package/es/lowcode/painter/components/PopForm.js +71 -0
  76. package/es/lowcode/painter/components/RuleInput.js +105 -0
  77. package/es/lowcode/painter/components/SortBox.js +92 -0
  78. package/es/lowcode/painter/components/TabEditor.js +88 -0
  79. package/es/lowcode/painter/components/code-editor/BaseEditor.js +49 -0
  80. package/es/lowcode/painter/components/code-editor/JSEditor.js +77 -0
  81. package/es/lowcode/painter/components/code-editor/index.js +2 -0
  82. package/es/lowcode/painter/index.js +45 -0
  83. package/es/lowcode/painter/panel-section/Icon.js +48 -0
  84. package/es/lowcode/painter/panel-section/IconSelector.js +139 -0
  85. package/es/lowcode/painter/panel-section/LayoutRatio.js +140 -0
  86. package/es/lowcode/painter/panel-section/TabItems.js +238 -0
  87. package/es/lowcode/painter/services/I18n.js +85 -0
  88. package/es/lowcode/painter/style/components.less +90 -0
  89. package/es/lowcode/painter/style/design.less +82 -0
  90. package/es/lowcode/painter/style/icon-selector.less +22 -0
  91. package/es/lowcode/painter/style/icon.less +11 -0
  92. package/es/lowcode/painter/style/index.less +6 -0
  93. package/es/lowcode/painter/style/layout-ratio.less +51 -0
  94. package/es/lowcode/painter/style/outline.less +28 -0
  95. package/es/lowcode/painter/style/panel-item.less +22 -0
  96. package/es/lowcode/painter/style/panel.less +119 -0
  97. package/es/lowcode/painter/style/pop-confirm.less +10 -0
  98. package/es/lowcode/painter/style/pop-form.less +20 -0
  99. package/es/lowcode/painter/style/radio.less +24 -0
  100. package/es/lowcode/painter/style/ribbon.less +5 -0
  101. package/es/lowcode/painter/style/rule-input.less +13 -0
  102. package/es/lowcode/painter/style/tabeditor.less +90 -0
  103. package/es/lowcode/painter/style/tabitems.less +90 -0
  104. package/es/lowcode/view/Canvas.js +135 -0
  105. package/es/lowcode/view/Loading.js +23 -0
  106. package/es/lowcode/view/Page.js +251 -0
  107. package/es/lowcode/view/index.js +18 -0
  108. package/es/lowcode/view/lc-components/Box/index.js +24 -0
  109. package/es/lowcode/view/lc-components/Box/meta.json +40 -0
  110. package/es/lowcode/view/lc-components/Button/index.js +37 -0
  111. package/es/lowcode/view/lc-components/Button/meta.json +117 -0
  112. package/es/lowcode/view/lc-components/CardList/index.js +20 -0
  113. package/es/lowcode/view/lc-components/CardList/meta.json +144 -0
  114. package/es/lowcode/view/lc-components/Dialog/index.js +61 -0
  115. package/es/lowcode/view/lc-components/Dialog/index.less +3 -0
  116. package/es/lowcode/view/lc-components/Dialog/meta.json +121 -0
  117. package/es/lowcode/view/lc-components/Drawer/index.js +62 -0
  118. package/es/lowcode/view/lc-components/Drawer/meta.json +144 -0
  119. package/es/lowcode/view/lc-components/Drawer/style.less +7 -0
  120. package/es/lowcode/view/lc-components/Form/index.js +20 -0
  121. package/es/lowcode/view/lc-components/Form/meta.json +117 -0
  122. package/es/lowcode/view/lc-components/Iframe/index.js +20 -0
  123. package/es/lowcode/view/lc-components/Iframe/meta.json +32 -0
  124. package/es/lowcode/view/lc-components/ImEx/index.js +20 -0
  125. package/es/lowcode/view/lc-components/ImEx/meta.json +82 -0
  126. package/es/lowcode/view/lc-components/Image/index.js +20 -0
  127. package/es/lowcode/view/lc-components/Image/meta.json +114 -0
  128. package/es/lowcode/view/lc-components/JSX/index.js +20 -0
  129. package/es/lowcode/view/lc-components/JSX/meta.json +25 -0
  130. package/es/lowcode/view/lc-components/Layout/index.js +98 -0
  131. package/es/lowcode/view/lc-components/Layout/index.less +9 -0
  132. package/es/lowcode/view/lc-components/Layout/meta.json +108 -0
  133. package/es/lowcode/view/lc-components/Link/index.js +20 -0
  134. package/es/lowcode/view/lc-components/Link/meta.json +112 -0
  135. package/es/lowcode/view/lc-components/Section/index.js +34 -0
  136. package/es/lowcode/view/lc-components/Section/meta.json +108 -0
  137. package/es/lowcode/view/lc-components/Split/index.js +21 -0
  138. package/es/lowcode/view/lc-components/Split/meta.json +72 -0
  139. package/es/lowcode/view/lc-components/Table/index.js +23 -0
  140. package/es/lowcode/view/lc-components/Table/meta.json +162 -0
  141. package/es/lowcode/view/lc-components/Tabs/index.js +21 -0
  142. package/es/lowcode/view/lc-components/Tabs/meta.json +141 -0
  143. package/es/lowcode/view/lc-components/Text/index.js +23 -0
  144. package/es/lowcode/view/lc-components/Text/meta.json +66 -0
  145. package/es/lowcode/view/lc-components/Tree/index.js +20 -0
  146. package/es/lowcode/view/lc-components/Tree/meta.json +157 -0
  147. package/es/lowcode/view/lc-components/Wrapper.js +52 -0
  148. package/es/lowcode/view/style/canvas.less +5 -0
  149. package/es/lowcode/view/style/loading.less +84 -0
  150. package/es/lowcode/view/style/page.less +5 -0
  151. package/es/upload/Form/index.less +7 -7
  152. package/es/upload/FormItem/index.js +15 -15
  153. package/es/utils/form.js +22 -22
  154. package/es/utils/grid.js +2 -2
  155. package/lib/components/Builder/index.js +1 -1
  156. package/lib/components/LdGrid/index.js +4 -4
  157. package/lib/components/LdGridForm/index.less +7 -7
  158. package/lib/components/LdRuntimeCom/index.js +49 -0
  159. package/lib/components/LdTree/index.less +36 -36
  160. package/lib/helper/action.js +6 -6
  161. package/lib/helper/form.js +14 -14
  162. package/lib/helper/index.less +7 -7
  163. package/lib/index.js +9 -1
  164. package/lib/lowcode/constants/api-url.js +9 -0
  165. package/lib/lowcode/constants/event-topics.js +37 -0
  166. package/lib/lowcode/constants/index.js +18 -0
  167. package/lib/lowcode/engine/factory/DataFactory.js +3 -0
  168. package/lib/lowcode/engine/factory/panel-item-factory/DynamicStrategy.js +73 -0
  169. package/lib/lowcode/engine/factory/panel-item-factory/SegmentedStrategy.js +38 -0
  170. package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +38 -0
  171. package/lib/lowcode/engine/factory/panel-item-factory/Strategy.js +27 -0
  172. package/lib/lowcode/engine/factory/panel-item-factory/StringStrategy.js +38 -0
  173. package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +38 -0
  174. package/lib/lowcode/engine/factory/panel-item-factory/index.js +46 -0
  175. package/lib/lowcode/engine/meta/box.props.default.json +10 -0
  176. package/lib/lowcode/engine/meta/box.props.json +40 -0
  177. package/lib/lowcode/engine/meta/button.props.default.json +16 -0
  178. package/lib/lowcode/engine/meta/button.props.json +117 -0
  179. package/lib/lowcode/engine/meta/cardlist.props.default.json +18 -0
  180. package/lib/lowcode/engine/meta/cardlist.props.json +144 -0
  181. package/lib/lowcode/engine/meta/components-list.json +128 -0
  182. package/lib/lowcode/engine/meta/dialog.props.default.json +19 -0
  183. package/lib/lowcode/engine/meta/dialog.props.json +121 -0
  184. package/lib/lowcode/engine/meta/drawer.props.default.json +18 -0
  185. package/lib/lowcode/engine/meta/drawer.props.json +144 -0
  186. package/lib/lowcode/engine/meta/form.props.default.json +13 -0
  187. package/lib/lowcode/engine/meta/form.props.json +117 -0
  188. package/lib/lowcode/engine/meta/iframe.props.default.json +11 -0
  189. package/lib/lowcode/engine/meta/iframe.props.json +32 -0
  190. package/lib/lowcode/engine/meta/image.props.default.json +16 -0
  191. package/lib/lowcode/engine/meta/image.props.json +114 -0
  192. package/lib/lowcode/engine/meta/imex.props.default.json +12 -0
  193. package/lib/lowcode/engine/meta/imex.props.json +82 -0
  194. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +29 -0
  195. package/lib/lowcode/engine/meta/jsx.props.default.json +10 -0
  196. package/lib/lowcode/engine/meta/jsx.props.json +25 -0
  197. package/lib/lowcode/engine/meta/layout.props.default.json +13 -0
  198. package/lib/lowcode/engine/meta/layout.props.json +108 -0
  199. package/lib/lowcode/engine/meta/link.props.default.json +14 -0
  200. package/lib/lowcode/engine/meta/link.props.json +112 -0
  201. package/lib/lowcode/engine/meta/section.props.default.json +17 -0
  202. package/lib/lowcode/engine/meta/section.props.json +108 -0
  203. package/lib/lowcode/engine/meta/split.props.default.json +13 -0
  204. package/lib/lowcode/engine/meta/split.props.json +72 -0
  205. package/lib/lowcode/engine/meta/table.props.default.json +18 -0
  206. package/lib/lowcode/engine/meta/table.props.json +162 -0
  207. package/lib/lowcode/engine/meta/tabs.props.default.json +18 -0
  208. package/lib/lowcode/engine/meta/tabs.props.json +141 -0
  209. package/lib/lowcode/engine/meta/text.props.default.json +12 -0
  210. package/lib/lowcode/engine/meta/text.props.json +66 -0
  211. package/lib/lowcode/engine/meta/tree.props.default.json +17 -0
  212. package/lib/lowcode/engine/meta/tree.props.json +157 -0
  213. package/lib/lowcode/engine/provider/ContextProvider.js +173 -0
  214. package/lib/lowcode/engine/provider/EventBusProvider.js +128 -0
  215. package/lib/lowcode/engine/tools/dataProcess.js +277 -0
  216. package/lib/lowcode/engine/tools/helper.js +11 -0
  217. package/lib/lowcode/engine/tools/lcid.js +22 -0
  218. package/lib/lowcode/index.js +20 -0
  219. package/lib/lowcode/painter/Components.js +112 -0
  220. package/lib/lowcode/painter/Design.js +218 -0
  221. package/lib/lowcode/painter/I18n.js +209 -0
  222. package/lib/lowcode/painter/Outline.js +216 -0
  223. package/lib/lowcode/painter/Panel.js +203 -0
  224. package/lib/lowcode/painter/Ribbon.js +150 -0
  225. package/lib/lowcode/painter/components/PanelItem.js +41 -0
  226. package/lib/lowcode/painter/components/PopConfirm.js +26 -0
  227. package/lib/lowcode/painter/components/PopForm.js +77 -0
  228. package/lib/lowcode/painter/components/RuleInput.js +112 -0
  229. package/lib/lowcode/painter/components/SortBox.js +99 -0
  230. package/lib/lowcode/painter/components/TabEditor.js +94 -0
  231. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +57 -0
  232. package/lib/lowcode/painter/components/code-editor/JSEditor.js +88 -0
  233. package/lib/lowcode/painter/components/code-editor/index.js +20 -0
  234. package/lib/lowcode/painter/index.js +54 -0
  235. package/lib/lowcode/painter/panel-section/Icon.js +54 -0
  236. package/lib/lowcode/painter/panel-section/IconSelector.js +146 -0
  237. package/lib/lowcode/painter/panel-section/LayoutRatio.js +148 -0
  238. package/lib/lowcode/painter/panel-section/TabItems.js +246 -0
  239. package/lib/lowcode/painter/services/I18n.js +95 -0
  240. package/lib/lowcode/painter/style/components.less +90 -0
  241. package/lib/lowcode/painter/style/design.less +82 -0
  242. package/lib/lowcode/painter/style/icon-selector.less +22 -0
  243. package/lib/lowcode/painter/style/icon.less +11 -0
  244. package/lib/lowcode/painter/style/index.less +6 -0
  245. package/lib/lowcode/painter/style/layout-ratio.less +51 -0
  246. package/lib/lowcode/painter/style/outline.less +28 -0
  247. package/lib/lowcode/painter/style/panel-item.less +22 -0
  248. package/lib/lowcode/painter/style/panel.less +119 -0
  249. package/lib/lowcode/painter/style/pop-confirm.less +10 -0
  250. package/lib/lowcode/painter/style/pop-form.less +20 -0
  251. package/lib/lowcode/painter/style/radio.less +24 -0
  252. package/lib/lowcode/painter/style/ribbon.less +5 -0
  253. package/lib/lowcode/painter/style/rule-input.less +13 -0
  254. package/lib/lowcode/painter/style/tabeditor.less +90 -0
  255. package/lib/lowcode/painter/style/tabitems.less +90 -0
  256. package/lib/lowcode/view/Canvas.js +150 -0
  257. package/lib/lowcode/view/Loading.js +30 -0
  258. package/lib/lowcode/view/Page.js +259 -0
  259. package/lib/lowcode/view/index.js +25 -0
  260. package/lib/lowcode/view/lc-components/Box/index.js +32 -0
  261. package/lib/lowcode/view/lc-components/Box/meta.json +40 -0
  262. package/lib/lowcode/view/lc-components/Button/index.js +45 -0
  263. package/lib/lowcode/view/lc-components/Button/meta.json +117 -0
  264. package/lib/lowcode/view/lc-components/CardList/index.js +28 -0
  265. package/lib/lowcode/view/lc-components/CardList/meta.json +144 -0
  266. package/lib/lowcode/view/lc-components/Dialog/index.js +69 -0
  267. package/lib/lowcode/view/lc-components/Dialog/index.less +3 -0
  268. package/lib/lowcode/view/lc-components/Dialog/meta.json +121 -0
  269. package/lib/lowcode/view/lc-components/Drawer/index.js +70 -0
  270. package/lib/lowcode/view/lc-components/Drawer/meta.json +144 -0
  271. package/lib/lowcode/view/lc-components/Drawer/style.less +7 -0
  272. package/lib/lowcode/view/lc-components/Form/index.js +28 -0
  273. package/lib/lowcode/view/lc-components/Form/meta.json +117 -0
  274. package/lib/lowcode/view/lc-components/Iframe/index.js +28 -0
  275. package/lib/lowcode/view/lc-components/Iframe/meta.json +32 -0
  276. package/lib/lowcode/view/lc-components/ImEx/index.js +28 -0
  277. package/lib/lowcode/view/lc-components/ImEx/meta.json +82 -0
  278. package/lib/lowcode/view/lc-components/Image/index.js +28 -0
  279. package/lib/lowcode/view/lc-components/Image/meta.json +114 -0
  280. package/lib/lowcode/view/lc-components/JSX/index.js +28 -0
  281. package/lib/lowcode/view/lc-components/JSX/meta.json +25 -0
  282. package/lib/lowcode/view/lc-components/Layout/index.js +106 -0
  283. package/lib/lowcode/view/lc-components/Layout/index.less +9 -0
  284. package/lib/lowcode/view/lc-components/Layout/meta.json +108 -0
  285. package/lib/lowcode/view/lc-components/Link/index.js +28 -0
  286. package/lib/lowcode/view/lc-components/Link/meta.json +112 -0
  287. package/lib/lowcode/view/lc-components/Section/index.js +42 -0
  288. package/lib/lowcode/view/lc-components/Section/meta.json +108 -0
  289. package/lib/lowcode/view/lc-components/Split/index.js +29 -0
  290. package/lib/lowcode/view/lc-components/Split/meta.json +72 -0
  291. package/lib/lowcode/view/lc-components/Table/index.js +31 -0
  292. package/lib/lowcode/view/lc-components/Table/meta.json +162 -0
  293. package/lib/lowcode/view/lc-components/Tabs/index.js +29 -0
  294. package/lib/lowcode/view/lc-components/Tabs/meta.json +141 -0
  295. package/lib/lowcode/view/lc-components/Text/index.js +31 -0
  296. package/lib/lowcode/view/lc-components/Text/meta.json +66 -0
  297. package/lib/lowcode/view/lc-components/Tree/index.js +28 -0
  298. package/lib/lowcode/view/lc-components/Tree/meta.json +157 -0
  299. package/lib/lowcode/view/lc-components/Wrapper.js +59 -0
  300. package/lib/lowcode/view/style/canvas.less +5 -0
  301. package/lib/lowcode/view/style/loading.less +84 -0
  302. package/lib/lowcode/view/style/page.less +5 -0
  303. package/lib/upload/Form/index.less +7 -7
  304. package/lib/upload/FormItem/index.js +15 -15
  305. package/lib/utils/form.js +22 -22
  306. package/lib/utils/grid.js +2 -2
  307. package/lowcode.js +1 -0
  308. package/package.json +163 -151
  309. package/upload.js +1 -1
  310. package/utils.js +1 -1
@@ -0,0 +1,77 @@
1
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
+ import React, { useEffect } from 'react';
5
+ import BaseEditor from "./BaseEditor";
6
+ import * as monaco from 'monaco-editor';
7
+ var _provideCompletionItems = function provideCompletionItems(monaco, model, position, module) {
8
+ var textUntilPosition = model.getValueInRange({
9
+ startLineNumber: position.lineNumber,
10
+ startColumn: 1,
11
+ endLineNumber: position.lineNumber,
12
+ endColumn: position.column
13
+ });
14
+ if (textUntilPosition.endsWith(module.triggerWord + '.')) {
15
+ var word = model.getWordUntilPosition(position);
16
+ var range = {
17
+ startLineNumber: position.lineNumber,
18
+ endLineNumber: position.lineNumber,
19
+ startColumn: word.startColumn,
20
+ endColumn: word.endColumn
21
+ };
22
+
23
+ // 从模块中调用 completions 函数获取补全项数组
24
+ // 并动态转换 kind 字段
25
+ return module.completions.map(function (completion) {
26
+ return Object.assign({}, completion, {
27
+ range: range,
28
+ // 动态转换 kind 字段
29
+ kind: monaco.languages.CompletionItemKind[completion.kind]
30
+ });
31
+ });
32
+ }
33
+ return [];
34
+ };
35
+ var setupAutocomplete = /*#__PURE__*/function () {
36
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(monaco) {
37
+ var autoCompleteModules;
38
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
39
+ while (1) switch (_context.prev = _context.next) {
40
+ case 0:
41
+ _context.next = 2;
42
+ return import("../../../engine/meta/js-editor/auto-complete.json");
43
+ case 2:
44
+ autoCompleteModules = _context.sent;
45
+ console.log('autoCompleteModules', autoCompleteModules);
46
+ monaco.languages.registerCompletionItemProvider('javascript', _defineProperty({
47
+ triggerCharacters: ['.'],
48
+ provideCompletionItems: function provideCompletionItems(model, position) {
49
+ var allCompletionItems = [];
50
+
51
+ // 从所有模块收集补全项
52
+ autoCompleteModules.default.forEach(function (module) {
53
+ var items = _provideCompletionItems(monaco, model, position, module);
54
+ allCompletionItems = allCompletionItems.concat(items);
55
+ });
56
+ return {
57
+ suggestions: allCompletionItems
58
+ };
59
+ }
60
+ }, "triggerCharacters", ['.']));
61
+ case 5:
62
+ case "end":
63
+ return _context.stop();
64
+ }
65
+ }, _callee);
66
+ }));
67
+ return function setupAutocomplete(_x) {
68
+ return _ref.apply(this, arguments);
69
+ };
70
+ }();
71
+ var JSEditor = function JSEditor(props) {
72
+ useEffect(function () {
73
+ setupAutocomplete(monaco);
74
+ }, []);
75
+ return /*#__PURE__*/React.createElement(BaseEditor, props);
76
+ };
77
+ export default JSEditor;
@@ -0,0 +1,2 @@
1
+ export { default as BaseEditor } from "./BaseEditor";
2
+ export { default as JSEditor } from "./JSEditor";
@@ -0,0 +1,45 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import React, { useEffect } from 'react';
3
+ import classNames from 'classnames';
4
+ // import { history } from 'umi';
5
+ // import { formatMessage } from '@luck-design-biz/base/utils';
6
+ import EventBusProvider from "../engine/provider/EventBusProvider";
7
+ import ContextProvider from "../engine/provider/ContextProvider";
8
+ import Ribbon from "./Ribbon";
9
+ import Design from "./Design";
10
+ import Panel from "./Panel";
11
+ import { RUNTIME } from "../constants/index";
12
+ import styles from "./style/index.less";
13
+ var Painter = function Painter(_ref) {
14
+ var className = _ref.className;
15
+ // 修改后刷新提示功能,暂时关掉,等待提供数据对比进行判断
16
+ // useEffect(() => {
17
+ // const handleBeforeUnload = (event) => {
18
+ // event.preventDefault();
19
+ // event.returnValue = null;
20
+ // return null;
21
+ // };
22
+
23
+ // window.addEventListener('beforeunload', handleBeforeUnload);
24
+
25
+ // const unblock = history.block(() =>
26
+ // confirm(`${formatMessage({
27
+ // id: 'app.base.operate.comfire.reload', label: '重新加载此网站?'
28
+ // })}\n${formatMessage({
29
+ // id: 'app.base.operate.comfire.message.reload', label: '系统可能不会保存您所做的更改。'
30
+ // })}`)
31
+ // );
32
+
33
+ // return () => {
34
+ // unblock();
35
+ // window.removeEventListener('beforeunload', handleBeforeUnload);
36
+ // };
37
+ // }, []);
38
+
39
+ return /*#__PURE__*/React.createElement(EventBusProvider, {
40
+ runtime: RUNTIME.DESIGN
41
+ }, /*#__PURE__*/React.createElement(ContextProvider, null, /*#__PURE__*/React.createElement("div", {
42
+ className: classNames(styles['lc-painter'], _defineProperty({}, className, !!className))
43
+ }, /*#__PURE__*/React.createElement(Ribbon, null), /*#__PURE__*/React.createElement(Design, null), /*#__PURE__*/React.createElement(Panel, null))));
44
+ };
45
+ export default Painter;
@@ -0,0 +1,48 @@
1
+ import React from 'react';
2
+ import { Icon } from 'luck-design/antd';
3
+ import styles from "../style/icon.less";
4
+ import { ICONLIST_JS } from "../../constants/api-url";
5
+
6
+ /**
7
+ * 一个简单的图标选择器组件,展示了一个图标并允许用户点击选择。
8
+ * 该组件使用了`Icon.createFromIconfontCN`来创建一个可以从Iconfont.cn加载图标的`IconFont`组件。
9
+ * 当图标被点击时,会调用`onSelect`回调函数,并传递一个对象,其中包含了`field`字段。
10
+ *
11
+ * @component
12
+ * @example
13
+ * ```jsx
14
+ * <IconSelector
15
+ * field="iconField"
16
+ * onSelect={({ field }) => console.log(`Selected icon field: ${field}`)}
17
+ * value="icon-example"
18
+ * />
19
+ * ```
20
+ *
21
+ * @param {Object} props 组件的props
22
+ * @param {string} props.field 用于识别选择的图标字段的标识符。
23
+ * @param {Function} props.onSelect 当图标被点击时触发的回调函数。
24
+ * 接收一个对象参数,该对象包含`field`字段。
25
+ * @param {string} [props.value='iconyingyongguanli'] 初始化时图标的类型,
26
+ * 默认为'iconyingyongguanli'。
27
+ *
28
+ * @returns {React.Element} 渲染的React元素。
29
+ */
30
+ export default function (_ref) {
31
+ var field = _ref.field,
32
+ onSelect = _ref.onSelect,
33
+ value = _ref.value,
34
+ next = _ref.next;
35
+ var IconFont = Icon.createFromIconfontCN({
36
+ scriptUrl: ICONLIST_JS
37
+ });
38
+ return /*#__PURE__*/React.createElement("div", {
39
+ className: styles['lc-painter-panel-section-icon'],
40
+ onClick: function onClick() {
41
+ return next();
42
+ }
43
+ }, /*#__PURE__*/React.createElement(IconFont, {
44
+ type: value !== null && value !== void 0 ? value : 'iconyingyongguanli'
45
+ }), /*#__PURE__*/React.createElement("span", {
46
+ className: styles['selecor']
47
+ }, "\u8BF7\u9009\u62E9 >"));
48
+ }
@@ -0,0 +1,139 @@
1
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import React, { useEffect, useState, useMemo, useCallback } from 'react';
5
+ import { Icon, Input, Tooltip } from 'luck-design/antd';
6
+ import styles from "../style/icon-selector.less";
7
+ import { request } from '@luck-design-biz/base/utils';
8
+ import { formatMessage } from '@luck-design-biz/base/utils';
9
+ import { ICONLIST_URL, ICONLIST_JS } from "../../constants/api-url";
10
+ var Search = Input.Search;
11
+
12
+ /**
13
+ * 一个用于选择图标的组件,提供了图标的搜索和选择功能。
14
+ *
15
+ * 该组件首先从预定义的URL加载图标列表,然后显示这些图标。用户可以通过输入框搜索图标,
16
+ * 点击图标时,会通过 `onChange` 回调将选中的图标信息返回给父组件。
17
+ *
18
+ * @component
19
+ * @example
20
+ * ```jsx
21
+ * <IconSelector
22
+ * field="iconField"
23
+ * onChange={(selectedIcon) => console.log(selectedIcon)}
24
+ * />
25
+ * ```
26
+ *
27
+ * @param {Object} props 组件接受的props
28
+ * @param {string} props.field 用于标识选中图标的字段名
29
+ * @param {Function} props.onChange 当图标被选中时触发的回调函数,接受选中图标的信息作为参数
30
+ */
31
+ export default function (_ref) {
32
+ var field = _ref.field,
33
+ onChange = _ref.onChange;
34
+ var _useState = useState(null),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ iconData = _useState2[0],
37
+ setIconData = _useState2[1];
38
+ var _useState3 = useState(''),
39
+ _useState4 = _slicedToArray(_useState3, 2),
40
+ searchTerm = _useState4[0],
41
+ setSearchTerm = _useState4[1];
42
+ var IconFont = Icon.createFromIconfontCN({
43
+ scriptUrl: ICONLIST_JS
44
+ });
45
+ function getIconList() {
46
+ return _getIconList.apply(this, arguments);
47
+ }
48
+ function _getIconList() {
49
+ _getIconList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
50
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
51
+ while (1) switch (_context2.prev = _context2.next) {
52
+ case 0:
53
+ return _context2.abrupt("return", request(ICONLIST_URL, {
54
+ method: 'get'
55
+ }));
56
+ case 1:
57
+ case "end":
58
+ return _context2.stop();
59
+ }
60
+ }, _callee2);
61
+ }));
62
+ return _getIconList.apply(this, arguments);
63
+ }
64
+ useEffect(function () {
65
+ var fetchData = /*#__PURE__*/function () {
66
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
67
+ var data;
68
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
69
+ while (1) switch (_context.prev = _context.next) {
70
+ case 0:
71
+ _context.prev = 0;
72
+ _context.next = 3;
73
+ return getIconList();
74
+ case 3:
75
+ data = _context.sent;
76
+ setIconData(data);
77
+ _context.next = 10;
78
+ break;
79
+ case 7:
80
+ _context.prev = 7;
81
+ _context.t0 = _context["catch"](0);
82
+ console.error('获取数据失败', _context.t0);
83
+ case 10:
84
+ case "end":
85
+ return _context.stop();
86
+ }
87
+ }, _callee, null, [[0, 7]]);
88
+ }));
89
+ return function fetchData() {
90
+ return _ref2.apply(this, arguments);
91
+ };
92
+ }();
93
+ fetchData();
94
+ }, []);
95
+ var handleSearch = useCallback(function (e) {
96
+ setSearchTerm(e.target.value.toLowerCase());
97
+ }, []);
98
+ var filteredData = useMemo(function () {
99
+ if (iconData && iconData.glyphs) {
100
+ return iconData.glyphs.filter(function (item) {
101
+ return item.name.toLowerCase().includes(searchTerm) || item.font_class.toLowerCase().includes(searchTerm);
102
+ });
103
+ }
104
+ return [];
105
+ }, [iconData, searchTerm]);
106
+ var handleClick = useCallback(function (icon) {
107
+ if (onChange) onChange({
108
+ field: field,
109
+ value: icon
110
+ });
111
+ }, [onChange, field]);
112
+ return /*#__PURE__*/React.createElement("div", {
113
+ className: styles['lc-painter-panel-section-iconselector']
114
+ }, /*#__PURE__*/React.createElement("div", {
115
+ className: styles['components-search']
116
+ }, /*#__PURE__*/React.createElement(Search, {
117
+ placeholder: formatMessage({
118
+ id: 'luckda.lowcode.painter.components.search',
119
+ label: '搜索组件'
120
+ }),
121
+ onChange: handleSearch
122
+ })), /*#__PURE__*/React.createElement("div", {
123
+ className: styles['icon-warp']
124
+ }, filteredData && filteredData.length > 0 && filteredData.map(function (iconItem) {
125
+ return /*#__PURE__*/React.createElement("div", {
126
+ key: iconItem.font_class,
127
+ className: styles['icon-box'],
128
+ onClick: function onClick() {
129
+ return handleClick(iconItem);
130
+ }
131
+ }, /*#__PURE__*/React.createElement(Tooltip, {
132
+ placement: "top",
133
+ title: iconItem.name
134
+ }, /*#__PURE__*/React.createElement(IconFont, {
135
+ className: styles['icon-item'],
136
+ type: "".concat(iconData.css_prefix_text).concat(iconItem.font_class)
137
+ })));
138
+ })));
139
+ }
@@ -0,0 +1,140 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useState } from 'react';
3
+ import { useCreation } from 'ahooks';
4
+ import styles from "../style/layout-ratio.less";
5
+ import { formatMessage } from '@luck-design-biz/base/utils';
6
+ import RuleInput from "../components/RuleInput";
7
+ import PanelItem from "../components/PanelItem";
8
+ var _RATIOS_ = ['12', '6:6', '3:9', '9:3', '4:4:4', '3:6:3', '3:3:3:3', '2:2:2:2:2:2'];
9
+ var _DEFAULTRATIO_ = '12:3:9';
10
+
11
+ /**
12
+ * `LayoutRatio`组件提供了一个布局比例选择器,允许用户选择或输入特定的比例配置。
13
+ * 支持的比例配置包括预定义的比例数组`_RATIOS_`,用户还可以通过输入框自定义比例,
14
+ * 自定义比例需要符合一定的规则:是数字或数字与冒号的组合,且数字之和必须等于12。
15
+ * ,
16
+ * 允许父组件获取当前选中的布局比例。
17
+ *
18
+ * @component
19
+ * @example
20
+ * ```jsxsdsdsdsdsdsdsd
21
+ * <LayoutRatio
22
+ * field="layoutRatio"
23
+ * value="6:6"
24
+ * onChange={({ field, option }) => console.log(field, option)}
25
+ * />
26
+ * ```
27
+ *
28
+ * @param {Object} props
29
+ * @param {string} props.field 标识选中布局比例的字段名称。
30
+ * @param {string} [props.value='12'] 初始化时选中的布局比例,默认为"12"。
31
+ * @param {Function} props.onChange 当用户选择一个新的布局比例时调用的回调函数。
32
+ * 函数接收一个对象参数,包含`field`和`option`两个字段。
33
+ *
34
+ * @returns {React.Element} 渲染的React元素。
35
+ */
36
+ var LayoutRatio = function LayoutRatio(_ref) {
37
+ var field = _ref.field,
38
+ value = _ref.value,
39
+ onChange = _ref.onChange;
40
+ var _useState = useState(value || _DEFAULTRATIO_),
41
+ _useState2 = _slicedToArray(_useState, 2),
42
+ currentRatio = _useState2[0],
43
+ setCurrentRatio = _useState2[1];
44
+ var handleInputChange = function handleInputChange(_, value) {
45
+ // console.log('value', value);
46
+ // if (!value) value = _DEFAULTRATIO_;
47
+ setCurrentRatio(value);
48
+ onChange === null || onChange === void 0 || onChange({
49
+ field: field,
50
+ value: value
51
+ });
52
+ };
53
+ var handGridClick = function handGridClick(selectedRadio) {
54
+ // console.log('selectedRadio', selectedRadio);
55
+ setCurrentRatio(selectedRadio);
56
+ onChange === null || onChange === void 0 || onChange({
57
+ field: field,
58
+ value: selectedRadio
59
+ });
60
+ };
61
+
62
+ // 定义验证规则
63
+ var rules = [{
64
+ func: function func(value) {
65
+ // 首先,检查value是否为字符串
66
+ if (typeof value !== 'string') return false;
67
+
68
+ // 使用正则表达式检查字符串是否只包含数字和冒号,并且不以冒号开始或结束
69
+ return /^[0-9]+(:[0-9]+)*$/.test(value);
70
+ },
71
+ err: formatMessage({
72
+ id: 'luckda.lowcode.painter.panel-section.Layoutratio.err',
73
+ label: '必须是数字或者数字加:号的组合,且数字之和必须等于12'
74
+ })
75
+ }];
76
+ var _useCreation = useCreation(function () {
77
+ return {
78
+ isCurrentInRatios: _RATIOS_.includes(currentRatio),
79
+ currentItemRatios: currentRatio.split(':')
80
+ };
81
+ }, [currentRatio]),
82
+ isCurrentInRatios = _useCreation.isCurrentInRatios,
83
+ currentItemRatios = _useCreation.currentItemRatios;
84
+ return /*#__PURE__*/React.createElement("div", {
85
+ className: styles['lc-painter-panel-section-layoutratio']
86
+ }, /*#__PURE__*/React.createElement("div", {
87
+ className: styles['ratio-view']
88
+ }, /*#__PURE__*/React.createElement("div", {
89
+ className: styles['gridbox-container']
90
+ }, _RATIOS_.map(function (ratio, i) {
91
+ var itemRatios = ratio.split(':');
92
+ var isCurrent = ratio == currentRatio;
93
+ var className = styles['gridbox'];
94
+ if (isCurrent) className = className + ' ' + styles['current'];
95
+ return /*#__PURE__*/React.createElement("div", {
96
+ key: "grid-".concat(i),
97
+ className: className,
98
+ onClick: function onClick() {
99
+ return handGridClick(ratio);
100
+ }
101
+ }, itemRatios.map(function (itemRatio, j) {
102
+ return /*#__PURE__*/React.createElement("div", {
103
+ key: "gridItem-".concat(j),
104
+ className: styles['girditem'],
105
+ style: {
106
+ gridColumn: 'span ' + itemRatio
107
+ }
108
+ });
109
+ }));
110
+ }), !isCurrentInRatios && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
111
+ className: "".concat(styles['gridbox'], " ").concat(styles['current']),
112
+ onClick: function onClick() {
113
+ return handGridClick(ratio);
114
+ }
115
+ }, currentItemRatios.map(function (itemRatio, index) {
116
+ return /*#__PURE__*/React.createElement("div", {
117
+ key: "itemRatio-".concat(index),
118
+ className: styles['girditem'],
119
+ style: {
120
+ gridColumn: 'span ' + itemRatio
121
+ }
122
+ });
123
+ }))))), /*#__PURE__*/React.createElement("div", {
124
+ className: styles['ratio-input']
125
+ }, /*#__PURE__*/React.createElement(PanelItem, {
126
+ label: formatMessage({
127
+ id: 'luckda.lowcode.painter.panel-section.Layoutratio.label',
128
+ label: '列比例'
129
+ })
130
+ }, /*#__PURE__*/React.createElement(RuleInput, {
131
+ placeholder: formatMessage({
132
+ id: 'luckda.lowcode.painter.panel-section.Layoutratio.placeholder',
133
+ label: '请输入列比例'
134
+ }),
135
+ rules: rules,
136
+ onValueChange: handleInputChange,
137
+ value: currentRatio
138
+ }))));
139
+ };
140
+ export default LayoutRatio;