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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/es/components/Builder/index.js +15 -3
  2. package/es/components/ComplexItem/index.js +65 -49
  3. package/es/components/LdAutoForm/index.js +6 -4
  4. package/es/components/LdFormList/index.js +3 -6
  5. package/es/components/LdGridForm/index.js +2 -1
  6. package/es/helper/form.js +1 -0
  7. package/es/helper/ldBuilder.js +8 -3
  8. package/es/locales/zh-CN.js +41 -4
  9. package/es/lowcode/constants/event-topics.js +0 -2
  10. package/es/lowcode/engine/launcher.js +3 -1
  11. package/es/lowcode/engine/meta/box.props.json +3 -3
  12. package/es/lowcode/engine/meta/button.props.default.json +1 -1
  13. package/es/lowcode/engine/meta/button.props.json +2 -2
  14. package/es/lowcode/engine/meta/cardlist.props.default.json +1 -0
  15. package/es/lowcode/engine/meta/cardlist.props.json +1 -0
  16. package/es/lowcode/engine/meta/components-list.json +0 -132
  17. package/es/lowcode/engine/meta/dialog.props.json +2 -2
  18. package/es/lowcode/engine/meta/drawer.props.default.json +1 -0
  19. package/es/lowcode/engine/meta/drawer.props.json +1 -0
  20. package/es/lowcode/engine/meta/fieldcomplex.props.default.json +1 -0
  21. package/es/lowcode/engine/meta/fieldcomplex.props.json +7 -0
  22. package/es/lowcode/engine/meta/fielddate.props.default.json +2 -0
  23. package/es/lowcode/engine/meta/fielddate.props.json +4 -2
  24. package/es/lowcode/engine/meta/fieldnumber.props.default.json +1 -0
  25. package/es/lowcode/engine/meta/fieldnumber.props.json +3 -2
  26. package/es/lowcode/engine/meta/fielduser.props.default.json +1 -1
  27. package/es/lowcode/engine/meta/fielduser.props.json +1 -1
  28. package/es/lowcode/engine/meta/form.props.default.json +13 -4
  29. package/es/lowcode/engine/meta/form.props.json +51 -13
  30. package/es/lowcode/engine/meta/iframe.props.default.json +2 -1
  31. package/es/lowcode/engine/meta/iframe.props.json +2 -1
  32. package/es/lowcode/engine/meta/image.props.default.json +2 -1
  33. package/es/lowcode/engine/meta/image.props.json +2 -1
  34. package/es/lowcode/engine/meta/imex.props.default.json +2 -1
  35. package/es/lowcode/engine/meta/imex.props.json +26 -5
  36. package/es/lowcode/engine/meta/js-editor/auto-complete.json +38 -20
  37. package/es/lowcode/engine/meta/jsx.props.default.json +1 -1
  38. package/es/lowcode/engine/meta/jsx.props.json +1 -1
  39. package/es/lowcode/engine/meta/layout.props.default.json +1 -1
  40. package/es/lowcode/engine/meta/layout.props.json +5 -5
  41. package/es/lowcode/engine/meta/link.props.default.json +2 -1
  42. package/es/lowcode/engine/meta/link.props.json +2 -1
  43. package/es/lowcode/engine/meta/page.props.json +6 -0
  44. package/es/lowcode/engine/meta/pagelayout.props.default.json +1 -1
  45. package/es/lowcode/engine/meta/pagelayout.props.json +1 -1
  46. package/es/lowcode/engine/meta/section.props.json +2 -1
  47. package/es/lowcode/engine/meta/split.props.default.json +1 -1
  48. package/es/lowcode/engine/meta/split.props.json +1 -1
  49. package/es/lowcode/engine/meta/table.props.json +2 -2
  50. package/es/lowcode/engine/meta/text.props.default.json +4 -2
  51. package/es/lowcode/engine/meta/text.props.json +8 -6
  52. package/es/lowcode/engine/provider/ContextProvider/index.js +63 -46
  53. package/es/lowcode/engine/provider/ContextProvider/router.js +43 -0
  54. package/es/lowcode/engine/{tools → provider/ContextProvider}/usePageDataStore.js +9 -7
  55. package/es/lowcode/engine/provider/ContextProvider/usePageVar.js +38 -15
  56. package/es/lowcode/engine/{tools → provider/ContextProvider}/useTodo.js +5 -7
  57. package/es/lowcode/engine/provider/ContextProvider/utils.js +157 -0
  58. package/es/lowcode/engine/provider/RemoteSourceProvider.js +1 -2
  59. package/es/lowcode/engine/tools/helper.js +7 -2
  60. package/es/lowcode/engine/tools/initDS.js +263 -0
  61. package/es/lowcode/engine/tools/useCombinedRefs.js +3 -2
  62. package/es/lowcode/painter/DesignOperator.js +10 -1
  63. package/es/lowcode/painter/Panel.js +2 -2
  64. package/es/lowcode/painter/components/AdvancePanel.js +3 -3
  65. package/es/lowcode/painter/components/Collapse.js +5 -2
  66. package/es/lowcode/painter/components/TipIcon.js +16 -0
  67. package/es/lowcode/painter/components/VarEditor.js +456 -0
  68. package/es/lowcode/painter/components/code-editor/FullScreenEditor.js +2 -2
  69. package/es/lowcode/painter/components/code-editor/JSEditor.js +3 -1
  70. package/es/lowcode/painter/components/code-editor/VisionEditor.js +81 -0
  71. package/es/lowcode/painter/components/field-setting/SettingUI.js +43 -5
  72. package/es/lowcode/painter/components/field-setting/index.js +27 -13
  73. package/es/lowcode/painter/components/field-setting/meta/frontRules.js +2 -1
  74. package/es/lowcode/painter/index.js +1 -0
  75. package/es/lowcode/painter/panel-section/BlockEditor/index.js +20 -6
  76. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +2 -2
  77. package/es/lowcode/painter/panel-section/ComplexPop.js +242 -0
  78. package/es/lowcode/painter/panel-section/DataSetSelector.js +8 -0
  79. package/es/lowcode/painter/panel-section/FieldsSetting.js +30 -4
  80. package/es/lowcode/painter/panel-section/I18nInput.js +4 -2
  81. package/es/lowcode/painter/panel-section/Icon.js +9 -4
  82. package/es/lowcode/painter/panel-section/IconConditionSelector.js +7 -7
  83. package/es/lowcode/painter/panel-section/IconSelector.js +1 -1
  84. package/es/lowcode/painter/panel-section/ImpExp.js +1 -27
  85. package/es/lowcode/painter/panel-section/ImpExpAlone.js +1 -2
  86. package/es/lowcode/painter/panel-section/LayoutRatio.js +1 -0
  87. package/es/lowcode/painter/panel-section/PageVars.js +300 -0
  88. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +4 -3
  89. package/es/lowcode/painter/panel-section/TabItems.js +6 -42
  90. package/es/lowcode/painter/panel-section/TextContent.js +79 -0
  91. package/es/lowcode/painter/services/complexPop.js +21 -0
  92. package/es/lowcode/painter/style/design.less +1 -1
  93. package/es/lowcode/painter/style/page-vars.less +25 -0
  94. package/es/lowcode/preview/index.js +1 -0
  95. package/es/lowcode/view/Canvas.js +24 -22
  96. package/es/lowcode/view/Loading.js +5 -7
  97. package/es/lowcode/view/Page.js +37 -15
  98. package/es/lowcode/view/index.js +1 -0
  99. package/es/lowcode/view/lc-components/Box/index.js +18 -3
  100. package/es/lowcode/view/lc-components/Box/meta.json +3 -3
  101. package/es/lowcode/view/lc-components/Button/index.js +7 -7
  102. package/es/lowcode/view/lc-components/Button/meta.json +2 -2
  103. package/es/lowcode/view/lc-components/CardList/meta.json +1 -0
  104. package/es/lowcode/view/lc-components/Dialog/index.js +6 -7
  105. package/es/lowcode/view/lc-components/Dialog/meta.json +2 -2
  106. package/es/lowcode/view/lc-components/Drawer/meta.json +1 -0
  107. package/es/lowcode/view/lc-components/FieldComplex/meta.json +7 -0
  108. package/es/lowcode/view/lc-components/FieldDate/meta.json +4 -2
  109. package/es/lowcode/view/lc-components/FieldNumber/meta.json +3 -2
  110. package/es/lowcode/view/lc-components/FieldUser/meta.json +1 -1
  111. package/es/lowcode/view/lc-components/Form/index.js +37 -21
  112. package/es/lowcode/view/lc-components/Form/meta.json +46 -12
  113. package/es/lowcode/view/lc-components/Iframe/meta.json +2 -1
  114. package/es/lowcode/view/lc-components/ImEx/index.js +174 -103
  115. package/es/lowcode/view/lc-components/ImEx/meta.json +26 -5
  116. package/es/lowcode/view/lc-components/Image/meta.json +2 -1
  117. package/es/lowcode/view/lc-components/JSX/meta.json +1 -1
  118. package/es/lowcode/view/lc-components/Layout/index.js +22 -5
  119. package/es/lowcode/view/lc-components/Layout/meta.json +5 -5
  120. package/es/lowcode/view/lc-components/Link/meta.json +2 -1
  121. package/es/lowcode/view/lc-components/Page/meta.json +6 -0
  122. package/es/lowcode/view/lc-components/PageLayout/FunctionDesign.js +5 -1
  123. package/es/lowcode/view/lc-components/PageLayout/meta.json +1 -1
  124. package/es/lowcode/view/lc-components/Section/index.js +2 -6
  125. package/es/lowcode/view/lc-components/Section/meta.json +2 -1
  126. package/es/lowcode/view/lc-components/Split/index.js +19 -4
  127. package/es/lowcode/view/lc-components/Split/meta.json +1 -1
  128. package/es/lowcode/view/lc-components/Table/index.js +29 -3
  129. package/es/lowcode/view/lc-components/Table/meta.json +2 -2
  130. package/es/lowcode/view/lc-components/Tabs/index.js +19 -16
  131. package/es/lowcode/view/lc-components/Text/index.js +9 -2
  132. package/es/lowcode/view/lc-components/Text/meta.json +6 -6
  133. package/es/lowcode/view/lc-components/Wrapper.js +17 -2
  134. package/es/lowcode/view/style/loading.less +14 -0
  135. package/es/services.js +19 -0
  136. package/es/upload/Form/gridForm.js +17 -7
  137. package/es/upload/FormItem/index.js +6 -6
  138. package/es/utils/form.js +4 -4
  139. package/es/utils/grid.js +2 -1
  140. package/lib/components/Builder/index.js +13 -1
  141. package/lib/components/ComplexItem/index.js +62 -47
  142. package/lib/components/LdAutoForm/index.js +5 -3
  143. package/lib/components/LdFormList/index.js +5 -8
  144. package/lib/components/LdGridForm/index.js +2 -1
  145. package/lib/helper/form.js +1 -0
  146. package/lib/helper/ldBuilder.js +8 -3
  147. package/lib/locales/zh-CN.js +41 -4
  148. package/lib/lowcode/constants/event-topics.js +1 -3
  149. package/lib/lowcode/engine/launcher.js +3 -1
  150. package/lib/lowcode/engine/meta/box.props.json +3 -3
  151. package/lib/lowcode/engine/meta/button.props.default.json +1 -1
  152. package/lib/lowcode/engine/meta/button.props.json +2 -2
  153. package/lib/lowcode/engine/meta/cardlist.props.default.json +1 -0
  154. package/lib/lowcode/engine/meta/cardlist.props.json +1 -0
  155. package/lib/lowcode/engine/meta/components-list.json +0 -132
  156. package/lib/lowcode/engine/meta/dialog.props.json +2 -2
  157. package/lib/lowcode/engine/meta/drawer.props.default.json +1 -0
  158. package/lib/lowcode/engine/meta/drawer.props.json +1 -0
  159. package/lib/lowcode/engine/meta/fieldcomplex.props.default.json +1 -0
  160. package/lib/lowcode/engine/meta/fieldcomplex.props.json +7 -0
  161. package/lib/lowcode/engine/meta/fielddate.props.default.json +2 -0
  162. package/lib/lowcode/engine/meta/fielddate.props.json +4 -2
  163. package/lib/lowcode/engine/meta/fieldnumber.props.default.json +1 -0
  164. package/lib/lowcode/engine/meta/fieldnumber.props.json +3 -2
  165. package/lib/lowcode/engine/meta/fielduser.props.default.json +1 -1
  166. package/lib/lowcode/engine/meta/fielduser.props.json +1 -1
  167. package/lib/lowcode/engine/meta/form.props.default.json +13 -4
  168. package/lib/lowcode/engine/meta/form.props.json +51 -13
  169. package/lib/lowcode/engine/meta/iframe.props.default.json +2 -1
  170. package/lib/lowcode/engine/meta/iframe.props.json +2 -1
  171. package/lib/lowcode/engine/meta/image.props.default.json +2 -1
  172. package/lib/lowcode/engine/meta/image.props.json +2 -1
  173. package/lib/lowcode/engine/meta/imex.props.default.json +2 -1
  174. package/lib/lowcode/engine/meta/imex.props.json +26 -5
  175. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +38 -20
  176. package/lib/lowcode/engine/meta/jsx.props.default.json +1 -1
  177. package/lib/lowcode/engine/meta/jsx.props.json +1 -1
  178. package/lib/lowcode/engine/meta/layout.props.default.json +1 -1
  179. package/lib/lowcode/engine/meta/layout.props.json +5 -5
  180. package/lib/lowcode/engine/meta/link.props.default.json +2 -1
  181. package/lib/lowcode/engine/meta/link.props.json +2 -1
  182. package/lib/lowcode/engine/meta/page.props.json +6 -0
  183. package/lib/lowcode/engine/meta/pagelayout.props.default.json +1 -1
  184. package/lib/lowcode/engine/meta/pagelayout.props.json +1 -1
  185. package/lib/lowcode/engine/meta/section.props.json +2 -1
  186. package/lib/lowcode/engine/meta/split.props.default.json +1 -1
  187. package/lib/lowcode/engine/meta/split.props.json +1 -1
  188. package/lib/lowcode/engine/meta/table.props.json +2 -2
  189. package/lib/lowcode/engine/meta/text.props.default.json +4 -2
  190. package/lib/lowcode/engine/meta/text.props.json +8 -6
  191. package/lib/lowcode/engine/provider/ContextProvider/index.js +61 -44
  192. package/lib/lowcode/engine/provider/ContextProvider/router.js +57 -0
  193. package/lib/lowcode/engine/{tools → provider/ContextProvider}/usePageDataStore.js +9 -7
  194. package/lib/lowcode/engine/provider/ContextProvider/usePageVar.js +38 -16
  195. package/lib/lowcode/engine/{tools → provider/ContextProvider}/useTodo.js +5 -7
  196. package/lib/lowcode/engine/provider/ContextProvider/utils.js +170 -0
  197. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +2 -3
  198. package/lib/lowcode/engine/tools/helper.js +7 -2
  199. package/lib/lowcode/engine/tools/initDS.js +270 -0
  200. package/lib/lowcode/engine/tools/useCombinedRefs.js +2 -1
  201. package/lib/lowcode/painter/DesignOperator.js +9 -0
  202. package/lib/lowcode/painter/Panel.js +2 -2
  203. package/lib/lowcode/painter/components/AdvancePanel.js +3 -3
  204. package/lib/lowcode/painter/components/Collapse.js +5 -2
  205. package/lib/lowcode/painter/components/TipIcon.js +23 -0
  206. package/lib/lowcode/painter/components/VarEditor.js +463 -0
  207. package/lib/lowcode/painter/components/code-editor/FullScreenEditor.js +2 -2
  208. package/lib/lowcode/painter/components/code-editor/JSEditor.js +3 -1
  209. package/lib/lowcode/painter/components/code-editor/VisionEditor.js +88 -0
  210. package/lib/lowcode/painter/components/field-setting/SettingUI.js +42 -4
  211. package/lib/lowcode/painter/components/field-setting/index.js +27 -13
  212. package/lib/lowcode/painter/components/field-setting/meta/frontRules.js +2 -1
  213. package/lib/lowcode/painter/index.js +1 -0
  214. package/lib/lowcode/painter/panel-section/BlockEditor/index.js +19 -5
  215. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +2 -2
  216. package/lib/lowcode/painter/panel-section/ComplexPop.js +250 -0
  217. package/lib/lowcode/painter/panel-section/DataSetSelector.js +8 -0
  218. package/lib/lowcode/painter/panel-section/FieldsSetting.js +30 -4
  219. package/lib/lowcode/painter/panel-section/I18nInput.js +4 -2
  220. package/lib/lowcode/painter/panel-section/Icon.js +8 -3
  221. package/lib/lowcode/painter/panel-section/IconConditionSelector.js +6 -6
  222. package/lib/lowcode/painter/panel-section/IconSelector.js +1 -1
  223. package/lib/lowcode/painter/panel-section/ImpExp.js +0 -26
  224. package/lib/lowcode/painter/panel-section/ImpExpAlone.js +0 -1
  225. package/lib/lowcode/painter/panel-section/LayoutRatio.js +1 -0
  226. package/lib/lowcode/painter/panel-section/PageVars.js +308 -0
  227. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +4 -3
  228. package/lib/lowcode/painter/panel-section/TabItems.js +6 -42
  229. package/lib/lowcode/painter/panel-section/TextContent.js +87 -0
  230. package/lib/lowcode/painter/services/complexPop.js +28 -0
  231. package/lib/lowcode/painter/style/design.less +1 -1
  232. package/lib/lowcode/painter/style/page-vars.less +25 -0
  233. package/lib/lowcode/preview/index.js +1 -0
  234. package/lib/lowcode/view/Canvas.js +24 -22
  235. package/lib/lowcode/view/Loading.js +5 -7
  236. package/lib/lowcode/view/Page.js +35 -13
  237. package/lib/lowcode/view/index.js +1 -0
  238. package/lib/lowcode/view/lc-components/Box/index.js +17 -2
  239. package/lib/lowcode/view/lc-components/Box/meta.json +3 -3
  240. package/lib/lowcode/view/lc-components/Button/index.js +5 -5
  241. package/lib/lowcode/view/lc-components/Button/meta.json +2 -2
  242. package/lib/lowcode/view/lc-components/CardList/meta.json +1 -0
  243. package/lib/lowcode/view/lc-components/Dialog/index.js +6 -7
  244. package/lib/lowcode/view/lc-components/Dialog/meta.json +2 -2
  245. package/lib/lowcode/view/lc-components/Drawer/meta.json +1 -0
  246. package/lib/lowcode/view/lc-components/FieldComplex/meta.json +7 -0
  247. package/lib/lowcode/view/lc-components/FieldDate/meta.json +4 -2
  248. package/lib/lowcode/view/lc-components/FieldNumber/meta.json +3 -2
  249. package/lib/lowcode/view/lc-components/FieldUser/meta.json +1 -1
  250. package/lib/lowcode/view/lc-components/Form/index.js +36 -20
  251. package/lib/lowcode/view/lc-components/Form/meta.json +46 -12
  252. package/lib/lowcode/view/lc-components/Iframe/meta.json +2 -1
  253. package/lib/lowcode/view/lc-components/ImEx/index.js +172 -101
  254. package/lib/lowcode/view/lc-components/ImEx/meta.json +26 -5
  255. package/lib/lowcode/view/lc-components/Image/meta.json +2 -1
  256. package/lib/lowcode/view/lc-components/JSX/meta.json +1 -1
  257. package/lib/lowcode/view/lc-components/Layout/index.js +21 -4
  258. package/lib/lowcode/view/lc-components/Layout/meta.json +5 -5
  259. package/lib/lowcode/view/lc-components/Link/meta.json +2 -1
  260. package/lib/lowcode/view/lc-components/Page/meta.json +6 -0
  261. package/lib/lowcode/view/lc-components/PageLayout/FunctionDesign.js +5 -1
  262. package/lib/lowcode/view/lc-components/PageLayout/meta.json +1 -1
  263. package/lib/lowcode/view/lc-components/Section/index.js +2 -6
  264. package/lib/lowcode/view/lc-components/Section/meta.json +2 -1
  265. package/lib/lowcode/view/lc-components/Split/index.js +18 -3
  266. package/lib/lowcode/view/lc-components/Split/meta.json +1 -1
  267. package/lib/lowcode/view/lc-components/Table/index.js +30 -4
  268. package/lib/lowcode/view/lc-components/Table/meta.json +2 -2
  269. package/lib/lowcode/view/lc-components/Tabs/index.js +17 -14
  270. package/lib/lowcode/view/lc-components/Text/index.js +8 -1
  271. package/lib/lowcode/view/lc-components/Text/meta.json +6 -6
  272. package/lib/lowcode/view/lc-components/Wrapper.js +16 -1
  273. package/lib/lowcode/view/style/loading.less +14 -0
  274. package/lib/services.js +20 -0
  275. package/lib/upload/Form/gridForm.js +17 -7
  276. package/lib/upload/FormItem/index.js +6 -6
  277. package/lib/utils/form.js +3 -3
  278. package/lib/utils/grid.js +2 -1
  279. package/package.json +3 -3
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _ahooks = require("ahooks");
13
+ var _antd = require("luck-design/antd");
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+ var _lodash = require("lodash");
16
+ var _utils = require("@luck-design-biz/base/utils");
17
+ var _SortBox = require("../components/SortBox");
18
+ var _ListEditor = require("../components/ListEditor");
19
+ var _helper = require("../../engine/tools/helper");
20
+ var _VarEditor = _interopRequireDefault(require("../components/VarEditor"));
21
+ var _TipIcon = _interopRequireDefault(require("../components/TipIcon"));
22
+ var _pageVars = _interopRequireDefault(require("../style/page-vars.less"));
23
+ var _I18N_PREFIX_ = 'luckda.lowcode.painter.pageVars';
24
+ var Wrapper = _styledComponents.default.div.withConfig({
25
+ displayName: "Wrapper",
26
+ componentId: "luckda-6530__sc-1qdz6c5-0"
27
+ })(["padding:0 12px;"]);
28
+ var SearchBar = _styledComponents.default.div.withConfig({
29
+ displayName: "SearchBar",
30
+ componentId: "luckda-6530__sc-1qdz6c5-1"
31
+ })(["display:flex;margin-bottom:8px;"]);
32
+ var ItemWrapper = _styledComponents.default.div.withConfig({
33
+ displayName: "ItemWrapper",
34
+ componentId: "luckda-6530__sc-1qdz6c5-2"
35
+ })(["display:flex;align-items:center;"]);
36
+ var _TYPES_ = {
37
+ var: {
38
+ name: (0, _utils.formatMessage)({
39
+ id: "".concat(_I18N_PREFIX_, ".var"),
40
+ label: '变量'
41
+ }),
42
+ color: '#87d068'
43
+ },
44
+ api: {
45
+ name: (0, _utils.formatMessage)({
46
+ id: "".concat(_I18N_PREFIX_, ".api"),
47
+ label: '远程 API'
48
+ }),
49
+ color: '#108ee9'
50
+ }
51
+ };
52
+ var _TYPE_KEYS_ = Object.keys(_TYPES_);
53
+ var PageVars = function PageVars(_ref) {
54
+ var _ref$defaultValue = _ref.defaultValue,
55
+ defaultValue = _ref$defaultValue === void 0 ? [] : _ref$defaultValue,
56
+ onChange = _ref.onChange;
57
+ var _useReducer = (0, _react.useReducer)(_helper.listReducer, defaultValue),
58
+ _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
59
+ vars = _useReducer2[0],
60
+ dispatch = _useReducer2[1];
61
+ var _useSetState = (0, _ahooks.useSetState)({}),
62
+ _useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
63
+ filter = _useSetState2[0],
64
+ setFilter = _useSetState2[1];
65
+ (0, _ahooks.useUpdateEffect)(function () {
66
+ onChange(vars);
67
+ }, [vars]);
68
+ var _useState = (0, _react.useState)(null),
69
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
70
+ currentItem = _useState2[0],
71
+ setCurrentItem = _useState2[1];
72
+ var handleSortChange = (0, _ahooks.useMemoizedFn)(function (sortItems) {
73
+ dispatch({
74
+ type: 'sort',
75
+ payload: sortItems
76
+ });
77
+ });
78
+ var handleAdd = (0, _ahooks.useMemoizedFn)(function (_item) {
79
+ dispatch({
80
+ type: 'add',
81
+ payload: _item
82
+ });
83
+ setCurrentItem(_item);
84
+ });
85
+ var _useDebounceFn = (0, _ahooks.useDebounceFn)(function (keyword) {
86
+ return setFilter({
87
+ keyword: (0, _lodash.isNil)(keyword) || keyword === '' ? void 0 : keyword
88
+ });
89
+ }, {
90
+ wait: 400
91
+ }),
92
+ handleSearch = _useDebounceFn.run;
93
+ var renderItemLeft = (0, _ahooks.useMemoizedFn)(function (item) {
94
+ var _TYPES_$item$type = _TYPES_[item.type],
95
+ name = _TYPES_$item$type.name,
96
+ color = _TYPES_$item$type.color;
97
+ return /*#__PURE__*/_react.default.createElement(ItemWrapper, null, /*#__PURE__*/_react.default.createElement("span", {
98
+ style: {
99
+ color: color
100
+ }
101
+ }, name.substring(0, 2)), /*#__PURE__*/_react.default.createElement("span", {
102
+ style: {
103
+ marginLeft: 4,
104
+ fontWeight: 'bold'
105
+ }
106
+ }, item.name));
107
+ });
108
+ var renderItemRight = (0, _ahooks.useMemoizedFn)(function (item) {
109
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_TipIcon.default, {
110
+ type: "edit",
111
+ onClick: function onClick() {
112
+ return setCurrentItem(item);
113
+ },
114
+ style: {
115
+ marginRight: 4,
116
+ cursor: 'pointer'
117
+ },
118
+ title: (0, _utils.formatMessage)({
119
+ id: "".concat(_I18N_PREFIX_, ".edit"),
120
+ label: '编辑'
121
+ })
122
+ }), /*#__PURE__*/_react.default.createElement(_TipIcon.default, {
123
+ type: "copy",
124
+ onClick: function onClick() {
125
+ return handleAdd((0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
126
+ id: (0, _utils.suid)(),
127
+ name: "".concat(item.name, "_copy")
128
+ }));
129
+ },
130
+ style: {
131
+ marginRight: 4,
132
+ cursor: 'pointer'
133
+ },
134
+ title: (0, _utils.formatMessage)({
135
+ id: "".concat(_I18N_PREFIX_, ".copy"),
136
+ label: '拷贝'
137
+ })
138
+ }), /*#__PURE__*/_react.default.createElement(_TipIcon.default, {
139
+ type: "delete",
140
+ onClick: function onClick() {
141
+ return _antd.Modal.confirm({
142
+ title: (0, _utils.formatMessage)({
143
+ id: "".concat(_I18N_PREFIX_, ".confirm.delete"),
144
+ label: "\u786E\u8BA4\u5220\u9664\u5417\uFF1F"
145
+ }),
146
+ onOk: function onOk() {
147
+ if (currentItem.id === item.id) {
148
+ setCurrentItem(null);
149
+ }
150
+ dispatch({
151
+ type: 'delete',
152
+ payload: item.id
153
+ });
154
+ }
155
+ });
156
+ },
157
+ style: {
158
+ marginRight: 4,
159
+ cursor: 'pointer'
160
+ },
161
+ title: (0, _utils.formatMessage)({
162
+ id: "".concat(_I18N_PREFIX_, ".delete"),
163
+ label: '删除'
164
+ })
165
+ }));
166
+ });
167
+ var menu = (0, _ahooks.useCreation)(function () {
168
+ return /*#__PURE__*/_react.default.createElement(_antd.Menu, {
169
+ onClick: function onClick(_ref2) {
170
+ var key = _ref2.key;
171
+ var id = (0, _utils.suid)();
172
+ handleAdd((0, _objectSpread2.default)({
173
+ id: id,
174
+ type: key,
175
+ name: id
176
+ }, {
177
+ var: {
178
+ data: ''
179
+ },
180
+ api: {
181
+ data: {
182
+ auto: true,
183
+ taskType: 'parallel',
184
+ method: 'get'
185
+ }
186
+ }
187
+ }[key]));
188
+ }
189
+ }, _TYPE_KEYS_.map(function (key) {
190
+ return /*#__PURE__*/_react.default.createElement(_antd.Menu.Item, {
191
+ key: key
192
+ }, _TYPES_[key].name);
193
+ }));
194
+ }, []);
195
+ var _vars = (0, _ahooks.useCreation)(function () {
196
+ var keyword = filter.keyword,
197
+ type = filter.type;
198
+ var _vars = (0, _lodash.isNil)(type) ? vars : vars.filter(function (_item) {
199
+ return _item.type === type;
200
+ });
201
+ if ((0, _lodash.isNil)(keyword) || keyword === '') {
202
+ return _vars;
203
+ }
204
+ return (0, _lodash.reduce)(_vars, function (ret, _item) {
205
+ if (JSON.stringify(_item).includes(keyword)) {
206
+ ret.push(_item);
207
+ }
208
+ return ret;
209
+ }, []);
210
+ }, [filter, vars]);
211
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Wrapper, null, /*#__PURE__*/_react.default.createElement(SearchBar, null, /*#__PURE__*/_react.default.createElement(_antd.Select, {
212
+ size: "small",
213
+ defaultValue: "all",
214
+ style: {
215
+ width: 100,
216
+ marginRight: 8
217
+ },
218
+ onSelect: function onSelect(key) {
219
+ return setFilter({
220
+ type: key === 'all' ? void 0 : key
221
+ });
222
+ }
223
+ }, /*#__PURE__*/_react.default.createElement(_antd.Select.Option, {
224
+ value: "all"
225
+ }, (0, _utils.formatMessage)({
226
+ id: "".concat(_I18N_PREFIX_, ".all"),
227
+ label: '全部'
228
+ })), _TYPE_KEYS_.map(function (key) {
229
+ return /*#__PURE__*/_react.default.createElement(_antd.Select.Option, {
230
+ key: key,
231
+ value: key
232
+ }, _TYPES_[key].name);
233
+ })), /*#__PURE__*/_react.default.createElement(_antd.Input.Search, {
234
+ size: "small",
235
+ allowClear: true,
236
+ style: {
237
+ flex: 1
238
+ },
239
+ placeholder: (0, _utils.formatMessage)({
240
+ id: "".concat(_I18N_PREFIX_, ".placeholder.search"),
241
+ label: '请输入'
242
+ }),
243
+ onChange: function onChange(e) {
244
+ return handleSearch(e.target.value);
245
+ },
246
+ onSearch: handleSearch
247
+ })), /*#__PURE__*/_react.default.createElement(_antd.Dropdown, {
248
+ overlay: menu,
249
+ trigger: ['click'],
250
+ getPopupContainer: function getPopupContainer() {
251
+ return document.getElementById('lc-design-workspace');
252
+ }
253
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
254
+ size: "small",
255
+ type: "primary"
256
+ }, (0, _utils.formatMessage)({
257
+ id: "".concat(_I18N_PREFIX_, ".add"),
258
+ label: '添加'
259
+ }))), /*#__PURE__*/_react.default.createElement(_SortBox.SortBox, {
260
+ datas: vars.map(function (_ref3) {
261
+ var id = _ref3.id;
262
+ return id;
263
+ }),
264
+ onChange: handleSortChange
265
+ }, /*#__PURE__*/_react.default.createElement(_ListEditor.ListEditor, {
266
+ style: {
267
+ marginTop: 8
268
+ },
269
+ suppressAdd: true
270
+ }, _vars.map(function (item) {
271
+ return /*#__PURE__*/_react.default.createElement(_SortBox.SortItem, {
272
+ key: item.id,
273
+ id: item.id
274
+ }, /*#__PURE__*/_react.default.createElement(_ListEditor.ListEditorItem, {
275
+ sortable: (0, _lodash.isNil)(filter.keyword) && (0, _lodash.isNil)(filter.type),
276
+ left: renderItemLeft(item),
277
+ right: renderItemRight(item),
278
+ item: item,
279
+ dispatch: dispatch
280
+ }));
281
+ })))), currentItem ? /*#__PURE__*/_react.default.createElement(_antd.Drawer, {
282
+ visible: true,
283
+ width: 420,
284
+ mask: false,
285
+ onClose: function onClose() {
286
+ return setCurrentItem(null);
287
+ },
288
+ title: (0, _utils.formatMessage)({
289
+ id: "".concat(_I18N_PREFIX_, ".edit"),
290
+ label: '编辑数据源'
291
+ }),
292
+ getContainer: function getContainer() {
293
+ return document.getElementById('lc-design-workspace');
294
+ },
295
+ destroyOnClose: true,
296
+ className: _pageVars.default['lc-painter-panel-page-vars-drawer'],
297
+ style: {
298
+ position: 'absolute',
299
+ transform: 'none',
300
+ right: 320
301
+ }
302
+ }, /*#__PURE__*/_react.default.createElement(_VarEditor.default, {
303
+ key: currentItem.id,
304
+ item: currentItem,
305
+ dispatch: dispatch
306
+ })) : null);
307
+ };
308
+ var _default = exports.default = PageVars;
@@ -14,6 +14,7 @@ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime
14
14
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
15
15
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
18
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
18
19
  var _react = _interopRequireWildcard(require("react"));
19
20
  var _ahooks = require("ahooks");
@@ -55,7 +56,7 @@ function StyleProvider(_ref) {
55
56
  }
56
57
  case 'new':
57
58
  {
58
- var _newState = (0, _objectSpread2.default)({}, action.payload);
59
+ var _newState = (0, _defineProperty2.default)({}, _ROOT_KEY_, action.payload);
59
60
  if (editorRef.current) {
60
61
  styleToEditor(_newState).then(function (css) {
61
62
  return editorRef.current.editor.setValue(css);
@@ -126,7 +127,7 @@ function StyleProvider(_ref) {
126
127
  }
127
128
  function useStyle(full) {
128
129
  var _style = (0, _react.useContext)(StyleContext);
129
- return full ? _style : _style[_ROOT_KEY_];
130
+ return (full ? _style : _style[_ROOT_KEY_]) || {};
130
131
  }
131
132
  function useStyleDispatch() {
132
133
  return (0, _react.useContext)(StyleDispatchContext);
@@ -186,7 +187,7 @@ var styleToEditor = exports.styleToEditor = /*#__PURE__*/function () {
186
187
  case 4:
187
188
  _yield$postcss$proces2 = _context2.sent;
188
189
  css = _yield$postcss$proces2.css;
189
- return _context2.abrupt("return", css);
190
+ return _context2.abrupt("return", css === '' ? "".concat(_ROOT_KEY_, "{\n\t\n}") : css);
190
191
  case 7:
191
192
  case "end":
192
193
  return _context2.stop();
@@ -11,27 +11,14 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _antd = require("luck-design/antd");
13
13
  var _utils = require("@luck-design-biz/base/utils");
14
- var _uiDesign = require("@luck-helper/ui-design");
15
14
  var _tabitems = _interopRequireDefault(require("../style/tabitems.less"));
16
15
  var _SortBox = require("../components/SortBox");
17
16
  var _ListEditor = require("../components/ListEditor");
18
17
  var _PopConfirm = _interopRequireDefault(require("../components/PopConfirm"));
19
18
  var _PopForm = require("../components/PopForm");
19
+ var _SerialsSelector = _interopRequireDefault(require("./SerialsSelector"));
20
20
  var _helper = require("../../engine/tools/helper");
21
21
  var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.tabsitems';
22
- var _SERIAL_EFFECT_OPTIONS_ = [{
23
- label: (0, _utils.formatMessage)({
24
- id: 'luckda.lowcode.painter.hidden',
25
- label: '隐藏'
26
- }),
27
- value: 'hidden'
28
- }, {
29
- label: (0, _utils.formatMessage)({
30
- id: 'luckda.lowcode.painter.disable',
31
- label: '禁用'
32
- }),
33
- value: 'disable'
34
- }];
35
22
  var TabItems = function TabItems(_ref) {
36
23
  var defaultValue = _ref.defaultValue,
37
24
  onChange = _ref.onChange;
@@ -161,25 +148,13 @@ var TabItemEditor = function TabItemEditor(_ref4) {
161
148
  }
162
149
  });
163
150
  };
164
- var handleEffectChange = function handleEffectChange(value) {
165
- console.log('value', value);
151
+ var handleResChange = function handleResChange(val) {
166
152
  dispatch({
167
153
  type: 'edit',
168
154
  payload: {
169
155
  id: item.id,
170
156
  data: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
171
- serialEffect: value.option.value
172
- })
173
- }
174
- });
175
- };
176
- var handleResChange = function handleResChange(e) {
177
- dispatch({
178
- type: 'edit',
179
- payload: {
180
- id: item.id,
181
- data: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
182
- serial: e.target.value
157
+ serial: val
183
158
  })
184
159
  }
185
160
  });
@@ -211,21 +186,10 @@ var TabItemEditor = function TabItemEditor(_ref4) {
211
186
  }))), /*#__PURE__*/_react.default.createElement(_PopForm.PopFormItem, null, /*#__PURE__*/_react.default.createElement(_PopForm.PopFormItemLeft, null, (0, _utils.formatMessage)({
212
187
  id: "".concat(_I18N_PREFIX_, ".editor.serial"),
213
188
  label: '资源串'
214
- })), /*#__PURE__*/_react.default.createElement(_PopForm.PopFormItemRight, null, /*#__PURE__*/_react.default.createElement(_antd.Input, {
215
- size: "small",
216
- value: item.serial,
189
+ })), /*#__PURE__*/_react.default.createElement(_PopForm.PopFormItemRight, null, /*#__PURE__*/_react.default.createElement(_SerialsSelector.default, {
190
+ defaultValue: item.serial,
217
191
  onChange: handleResChange,
218
- placeholder: (0, _utils.formatMessage)({
219
- id: "".concat(_I18N_PREFIX_, ".editor.serial.placeholder"),
220
- label: '请输入资源串名称'
221
- })
222
- }))), /*#__PURE__*/_react.default.createElement(_PopForm.PopFormItem, null, /*#__PURE__*/_react.default.createElement(_PopForm.PopFormItemLeft, null, (0, _utils.formatMessage)({
223
- id: "".concat(_I18N_PREFIX_, ".editor.serialEffect"),
224
- label: '越权效果'
225
- })), /*#__PURE__*/_react.default.createElement(_PopForm.PopFormItemRight, null, /*#__PURE__*/_react.default.createElement(_uiDesign.Segmented, {
226
- options: _SERIAL_EFFECT_OPTIONS_,
227
- onChange: handleEffectChange,
228
- value: item.serialEffect
192
+ size: "small"
229
193
  }))));
230
194
  };
231
195
  var _default = exports.default = TabItems;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _ahooks = require("ahooks");
12
+ var _antd = require("luck-design/antd");
13
+ var _lodash = require("lodash");
14
+ var _utils = require("@luck-design-biz/base/utils");
15
+ var _I18nInput = _interopRequireDefault(require("./I18nInput"));
16
+ var _Collapse = _interopRequireDefault(require("../components/Collapse"));
17
+ var _PopConfirm = _interopRequireDefault(require("../components/PopConfirm"));
18
+ var _FullScreenEditor = _interopRequireDefault(require("../components/code-editor/FullScreenEditor"));
19
+ var _JSEditor = _interopRequireDefault(require("../components/code-editor/JSEditor"));
20
+ var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.textContent';
21
+ var _DEFAULT_FUNC_ = "function getText() {\n return '文本'; \n}";
22
+ var TextContent = function TextContent(_ref) {
23
+ var defaultValue = _ref.defaultValue,
24
+ onChange = _ref.onChange;
25
+ var editorRef = (0, _react.useRef)();
26
+ var _useSetState = (0, _ahooks.useSetState)(defaultValue),
27
+ _useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
28
+ value = _useSetState2[0],
29
+ setValue = _useSetState2[1];
30
+ (0, _ahooks.useUpdateEffect)(function () {
31
+ onChange(value);
32
+ }, [value]);
33
+ var handleComfirm = (0, _ahooks.useMemoizedFn)(function () {
34
+ var val = editorRef.current.editor.getValue();
35
+ if (val === '') {
36
+ setValue({
37
+ code: void 0
38
+ });
39
+ editorRef.current.editor.setValue(_DEFAULT_FUNC_);
40
+ } else {
41
+ setValue({
42
+ code: val
43
+ });
44
+ }
45
+ });
46
+ var handleChange = (0, _ahooks.useMemoizedFn)(function (val) {
47
+ setValue({
48
+ text: val
49
+ });
50
+ });
51
+ return /*#__PURE__*/_react.default.createElement(_Collapse.default, {
52
+ field: "render",
53
+ label: (0, _utils.formatMessage)({
54
+ id: "".concat(_I18N_PREFIX_),
55
+ label: '内容'
56
+ }),
57
+ bodyStyle: {
58
+ padding: '12px 16px'
59
+ },
60
+ suppressIcon: true,
61
+ extraRender: function extraRender() {
62
+ return /*#__PURE__*/_react.default.createElement(_PopConfirm.default, {
63
+ placement: "left",
64
+ title: /*#__PURE__*/_react.default.createElement(_FullScreenEditor.default, {
65
+ ref: editorRef,
66
+ EditorComponent: _JSEditor.default,
67
+ width: "600px",
68
+ height: "400px"
69
+ }, (defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.code) || _DEFAULT_FUNC_),
70
+ showBtn: true,
71
+ onConfirm: handleComfirm
72
+ }, /*#__PURE__*/_react.default.createElement(_antd.Icon, {
73
+ type: "code",
74
+ style: (0, _lodash.isNil)(value.code) ? null : {
75
+ color: '#1890ff'
76
+ }
77
+ }));
78
+ }
79
+ }, /*#__PURE__*/_react.default.createElement(_I18nInput.default, {
80
+ defaultValue: defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.text,
81
+ size: "small",
82
+ wrapped: "textarea",
83
+ disabled: !(0, _lodash.isNil)(value.code),
84
+ onChange: handleChange
85
+ }));
86
+ };
87
+ var _default = exports.default = TextContent;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getFields = void 0;
8
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _qs = require("qs");
11
+ var _utils = require("@luck-design-biz/base/utils");
12
+ var _ApiConfig = _interopRequireDefault(require("@/services/ApiConfig"));
13
+ var getFields = exports.getFields = /*#__PURE__*/function () {
14
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(get) {
15
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
16
+ while (1) switch (_context.prev = _context.next) {
17
+ case 0:
18
+ return _context.abrupt("return", (0, _utils.request)("".concat(_ApiConfig.default.BASE_HOST, "/logic/field/noAuthGetFields?").concat((0, _qs.stringify)(get))));
19
+ case 1:
20
+ case "end":
21
+ return _context.stop();
22
+ }
23
+ }, _callee);
24
+ }));
25
+ return function getFields(_x) {
26
+ return _ref.apply(this, arguments);
27
+ };
28
+ }();
@@ -90,7 +90,7 @@
90
90
  .ant-form-item,
91
91
  .ant-collapse-header,
92
92
  .resizer,
93
- .ant-tree-node-content-wrapper {
93
+ .ant-tree-node-content-wrapper, .ant-modal-footer {
94
94
  pointer-events: none;
95
95
  }
96
96
  .luck-grid-table {
@@ -0,0 +1,25 @@
1
+ .lc-painter-panel-page-vars-drawer {
2
+ :global {
3
+ .ant-drawer-header {
4
+ height: 38px;
5
+ padding: 8px 16px;
6
+ .ant-drawer-close {
7
+ width: 38px !important;
8
+ height: 38px !important;
9
+ line-height: 38px !important;
10
+ }
11
+ }
12
+ .ant-drawer-body {
13
+ height: calc(100% - 38px);
14
+ overflow-y: auto;
15
+ padding: 8px 0;
16
+ }
17
+
18
+ input,
19
+ button,
20
+ .ant-radio-wrapper,
21
+ .ant-select-sm {
22
+ font-size: 12px;
23
+ }
24
+ }
25
+ }
@@ -27,6 +27,7 @@ var Preview = function Preview(_ref) {
27
27
  });
28
28
  }, [userId]);
29
29
  return code && currentKey ? /*#__PURE__*/_react.default.createElement(_EventBusProvider.default, {
30
+ key: code,
30
31
  runtime: _index.RUNTIME.PREVIEW
31
32
  }, /*#__PURE__*/_react.default.createElement(_ContextProvider.default, {
32
33
  code: code
@@ -9,15 +9,16 @@ exports.default = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
- var _ahooks = require("ahooks");
13
12
  var _styledComponents = _interopRequireDefault(require("styled-components"));
14
13
  var _classnames = _interopRequireDefault(require("classnames"));
15
14
  var _ContextProvider = require("../engine/provider/ContextProvider");
15
+ var _usePageVar = require("../engine/provider/ContextProvider/usePageVar");
16
16
  var _PageHeader = _interopRequireDefault(require("./lc-components/PageHeader"));
17
17
  var _PageContent = _interopRequireDefault(require("./lc-components/PageContent"));
18
18
  var _PageFooter = _interopRequireDefault(require("./lc-components/PageFooter"));
19
19
  var _PageModal = _interopRequireDefault(require("./lc-components/PageModal"));
20
20
  var _constants = require("../constants");
21
+ var _diff2 = _interopRequireDefault(require("../engine/tools/diff"));
21
22
  var _canvas = _interopRequireDefault(require("./style/canvas.less"));
22
23
  var PageRoot = _styledComponents.default.div.withConfig({
23
24
  displayName: "PageRoot",
@@ -26,35 +27,36 @@ var PageRoot = _styledComponents.default.div.withConfig({
26
27
  return props.$css;
27
28
  });
28
29
  var Canvas = function Canvas(_ref) {
29
- var className = _ref.className;
30
- var _useGet = (0, _ContextProvider.useGet)(['props.css', 'props.advance', 'props.enableHeader', 'props.enableFooter']),
31
- _useGet2 = (0, _slicedToArray2.default)(_useGet, 4),
30
+ var _dsRef$current;
31
+ var className = _ref.className,
32
+ dsRef = _ref.dsRef;
33
+ (_dsRef$current = dsRef.current) === null || _dsRef$current === void 0 || _dsRef$current.read();
34
+ var _useGet = (0, _ContextProvider.useGet)(['props.css', 'props.advance', 'props.enableHeader', 'props.enableFooter', 'props.vars']),
35
+ _useGet2 = (0, _slicedToArray2.default)(_useGet, 5),
32
36
  pagerootCss = _useGet2[0],
33
37
  advance = _useGet2[1],
34
38
  enableHeader = _useGet2[2],
35
- enableFooter = _useGet2[3];
39
+ enableFooter = _useGet2[3],
40
+ pageVars = _useGet2[4];
36
41
  var ctx = (0, _ContextProvider.useContext)();
37
- var handleMount = (0, _ahooks.useMemoizedFn)(function () {
38
- var _advance$events;
39
- ctx.doAction(advance === null || advance === void 0 || (_advance$events = advance.events) === null || _advance$events === void 0 ? void 0 : _advance$events.onPageMount);
40
- });
41
- var handleStateChanged = (0, _ahooks.useMemoizedFn)(function (_ref2) {
42
+ (0, _react.useEffect)(function () {
42
43
  var _advance$events2;
43
- var state = _ref2.state,
44
- prevState = _ref2.prevState,
45
- diff = _ref2.diff;
46
- ctx.doAction(advance === null || advance === void 0 || (_advance$events2 = advance.events) === null || _advance$events2 === void 0 ? void 0 : _advance$events2.onStateChanged, {
47
- state: state,
48
- prevState: prevState,
49
- diff: diff
44
+ var unsub = _usePageVar.useStateStore.subscribe(function (store) {
45
+ return store.state;
46
+ }, function (state, prevState) {
47
+ var _advance$events;
48
+ var _diff = (0, _diff2.default)(prevState, state);
49
+ ctx.doAction(advance === null || advance === void 0 || (_advance$events = advance.events) === null || _advance$events === void 0 ? void 0 : _advance$events.onStateChanged, {
50
+ state: state,
51
+ prevState: prevState,
52
+ diff: _diff
53
+ });
50
54
  });
51
- });
52
- (0, _react.useEffect)(function () {
53
- ctx.$subscriber(ctx.topics.PAGE_LOAD_MOUNT).once(handleMount).watch();
54
- var tid = ctx.$subscriber(ctx.topics.PAGE_STATE_CHANGED).on(handleStateChanged);
55
+ ctx.doAction(advance === null || advance === void 0 || (_advance$events2 = advance.events) === null || _advance$events2 === void 0 ? void 0 : _advance$events2.onPageMount);
55
56
  return function () {
56
57
  var _advance$events3;
57
- ctx.$unsubscriber(ctx.topics.PAGE_STATE_CHANGED, tid);
58
+ unsub();
59
+ _usePageVar.useStateStore.getState().clear();
58
60
  ctx.doAction(advance === null || advance === void 0 || (_advance$events3 = advance.events) === null || _advance$events3 === void 0 ? void 0 : _advance$events3.onPageUnmount);
59
61
  };
60
62
  }, []);