@luck-design-biz/luckda 1.0.0-5-alpha → 1.0.0-7-alpha

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 (89) hide show
  1. package/es/components/ComplexItem/index.js +65 -49
  2. package/es/components/LdGridForm/index.js +2 -1
  3. package/es/helper/ldBuilder.js +8 -3
  4. package/es/locales/zh-CN.js +35 -0
  5. package/es/lowcode/engine/meta/fieldcomplex.props.default.json +1 -0
  6. package/es/lowcode/engine/meta/fieldcomplex.props.json +7 -0
  7. package/es/lowcode/engine/meta/form.props.json +3 -3
  8. package/es/lowcode/engine/meta/js-editor/auto-complete.json +18 -0
  9. package/es/lowcode/engine/meta/page.props.json +6 -0
  10. package/es/lowcode/engine/provider/ContextProvider/index.js +28 -5
  11. package/es/lowcode/engine/provider/ContextProvider/router.js +1 -1
  12. package/es/lowcode/engine/{tools → provider/ContextProvider}/usePageDataStore.js +9 -7
  13. package/es/lowcode/engine/{tools → provider/ContextProvider}/useTodo.js +4 -6
  14. package/es/lowcode/engine/provider/RemoteSourceProvider.js +1 -2
  15. package/es/lowcode/engine/tools/helper.js +7 -2
  16. package/es/lowcode/engine/tools/initDS.js +263 -0
  17. package/es/lowcode/engine/tools/useCombinedRefs.js +3 -2
  18. package/es/lowcode/painter/components/TipIcon.js +16 -0
  19. package/es/lowcode/painter/components/VarEditor.js +456 -0
  20. package/es/lowcode/painter/components/code-editor/JSEditor.js +3 -1
  21. package/es/lowcode/painter/components/code-editor/VisionEditor.js +81 -0
  22. package/es/lowcode/painter/components/field-setting/SettingUI.js +17 -3
  23. package/es/lowcode/painter/components/field-setting/index.js +1 -1
  24. package/es/lowcode/painter/index.js +1 -0
  25. package/es/lowcode/painter/panel-section/ComplexPop.js +241 -0
  26. package/es/lowcode/painter/panel-section/DataSetSelector.js +8 -0
  27. package/es/lowcode/painter/panel-section/FieldsSetting.js +9 -1
  28. package/es/lowcode/painter/panel-section/ImpExp.js +1 -27
  29. package/es/lowcode/painter/panel-section/PageVars.js +296 -0
  30. package/es/lowcode/painter/services/complexPop.js +21 -0
  31. package/es/lowcode/painter/style/page-vars.less +25 -0
  32. package/es/lowcode/preview/index.js +1 -0
  33. package/es/lowcode/view/Canvas.js +11 -34
  34. package/es/lowcode/view/Loading.js +5 -7
  35. package/es/lowcode/view/Page.js +37 -15
  36. package/es/lowcode/view/index.js +1 -0
  37. package/es/lowcode/view/lc-components/FieldComplex/meta.json +7 -0
  38. package/es/lowcode/view/lc-components/Form/index.js +11 -4
  39. package/es/lowcode/view/lc-components/Form/meta.json +3 -3
  40. package/es/lowcode/view/lc-components/Page/meta.json +6 -0
  41. package/es/lowcode/view/lc-components/Table/index.js +17 -3
  42. package/es/lowcode/view/style/loading.less +14 -0
  43. package/es/utils/form.js +3 -3
  44. package/es/utils/grid.js +1 -1
  45. package/lib/components/ComplexItem/index.js +62 -47
  46. package/lib/components/LdGridForm/index.js +2 -1
  47. package/lib/helper/ldBuilder.js +8 -3
  48. package/lib/locales/zh-CN.js +35 -0
  49. package/lib/lowcode/engine/meta/fieldcomplex.props.default.json +1 -0
  50. package/lib/lowcode/engine/meta/fieldcomplex.props.json +7 -0
  51. package/lib/lowcode/engine/meta/form.props.json +3 -3
  52. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +18 -0
  53. package/lib/lowcode/engine/meta/page.props.json +6 -0
  54. package/lib/lowcode/engine/provider/ContextProvider/index.js +29 -12
  55. package/lib/lowcode/engine/provider/ContextProvider/router.js +1 -1
  56. package/lib/lowcode/engine/{tools → provider/ContextProvider}/usePageDataStore.js +9 -7
  57. package/lib/lowcode/engine/{tools → provider/ContextProvider}/useTodo.js +4 -6
  58. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +2 -3
  59. package/lib/lowcode/engine/tools/helper.js +7 -2
  60. package/lib/lowcode/engine/tools/initDS.js +270 -0
  61. package/lib/lowcode/engine/tools/useCombinedRefs.js +2 -1
  62. package/lib/lowcode/painter/components/TipIcon.js +23 -0
  63. package/lib/lowcode/painter/components/VarEditor.js +463 -0
  64. package/lib/lowcode/painter/components/code-editor/JSEditor.js +3 -1
  65. package/lib/lowcode/painter/components/code-editor/VisionEditor.js +88 -0
  66. package/lib/lowcode/painter/components/field-setting/SettingUI.js +17 -3
  67. package/lib/lowcode/painter/components/field-setting/index.js +1 -1
  68. package/lib/lowcode/painter/index.js +1 -0
  69. package/lib/lowcode/painter/panel-section/ComplexPop.js +249 -0
  70. package/lib/lowcode/painter/panel-section/DataSetSelector.js +8 -0
  71. package/lib/lowcode/painter/panel-section/FieldsSetting.js +9 -1
  72. package/lib/lowcode/painter/panel-section/ImpExp.js +0 -26
  73. package/lib/lowcode/painter/panel-section/PageVars.js +304 -0
  74. package/lib/lowcode/painter/services/complexPop.js +28 -0
  75. package/lib/lowcode/painter/style/page-vars.less +25 -0
  76. package/lib/lowcode/preview/index.js +1 -0
  77. package/lib/lowcode/view/Canvas.js +12 -35
  78. package/lib/lowcode/view/Loading.js +5 -7
  79. package/lib/lowcode/view/Page.js +35 -13
  80. package/lib/lowcode/view/index.js +1 -0
  81. package/lib/lowcode/view/lc-components/FieldComplex/meta.json +7 -0
  82. package/lib/lowcode/view/lc-components/Form/index.js +11 -4
  83. package/lib/lowcode/view/lc-components/Form/meta.json +3 -3
  84. package/lib/lowcode/view/lc-components/Page/meta.json +6 -0
  85. package/lib/lowcode/view/lc-components/Table/index.js +18 -4
  86. package/lib/lowcode/view/style/loading.less +14 -0
  87. package/lib/utils/form.js +2 -2
  88. package/lib/utils/grid.js +1 -1
  89. package/package.json +1 -1
@@ -67,6 +67,14 @@ var _default = exports.default = {
67
67
  "luckda.lowcode.painter.panel-section.splitdisplay.split": "分割方向",
68
68
  "luckda.lowcode.painter.panel-section.splitdisplay.ratio": "列比例",
69
69
  "luckda.lowcode.painter.panel-section.Layoutratio.placeholder": "请输入列比例",
70
+ "luckda.lowcode.painter.pageVars.var": "变量",
71
+ "luckda.lowcode.painter.pageVars.api": "远程 API",
72
+ "luckda.lowcode.painter.pageVars.edit": "编辑数据源",
73
+ "luckda.lowcode.painter.pageVars.copy": "拷贝",
74
+ "luckda.lowcode.painter.pageVars.delete": "删除",
75
+ "luckda.lowcode.painter.pageVars.all": "全部",
76
+ "luckda.lowcode.painter.pageVars.placeholder.search": "请输入",
77
+ "luckda.lowcode.painter.pageVars.add": "添加",
70
78
  "luckda.lowcode.painter.panel-section.Layoutratio.err": "必须是数字或者数字加:号的组合",
71
79
  "luckda.lowcode.painter.panel-section.Layoutratio.label": "列比例",
72
80
  "luckda.lowcode.painter.panel-section.style-panel.sourceedit": "源码编辑",
@@ -77,6 +85,10 @@ var _default = exports.default = {
77
85
  "luckda.lowcode.painter.panel-section.fieldsSetting.field": "数据字段",
78
86
  "luckda.lowcode.painter.panel-section.fieldsSetting.title": "标题",
79
87
  "luckda.lowcode.painter.panel-section.fieldsSetting.batch": "批量设置",
88
+ "luckda.lowcode.painter.panel-section.complexPop.assisted": "辅助选择",
89
+ "luckda.lowcode.painter.panel-section.complexPop.assistedGrid": "辅助弹窗显示字段",
90
+ "luckda.lowcode.painter.panel-section.complexPop.assistedGridFields": "展示区",
91
+ "luckda.lowcode.painter.panel-section.complexPop.gridFields": "可选区",
80
92
  "luckda.lowcode.painter.panel-section.style-panel.box-shadow": "阴影",
81
93
  "luckda.lowcode.painter.panel-section.style-panel.box-shadow.big": "大",
82
94
  "luckda.lowcode.painter.panel-section.style-panel.box-shadow.middle": "中",
@@ -179,6 +191,28 @@ var _default = exports.default = {
179
191
  "luckda.lowcode.painter.panel-section.actionEditor.serial": "资源串",
180
192
  "luckda.lowcode.painter.panel-section.actionEditor.serialEffect": "越权效果",
181
193
  "luckda.lowcode.painter.panel-section.actionEditor.riskLevel": "风险等级",
194
+ "luckda.lowcode.painter.pageVars.taskType.serial": "串行",
195
+ "luckda.lowcode.painter.pageVars.taskType.parallel": "并行",
196
+ "luckda.lowcode.painter.pageVars.method.jsonp": "JSONP",
197
+ "luckda.lowcode.painter.pageVars.method.get": "GET",
198
+ "luckda.lowcode.painter.pageVars.taskType.post": "POST",
199
+ "luckda.lowcode.painter.pageVars.taskType.put": "PUT",
200
+ "luckda.lowcode.painter.pageVars.taskType.delete": "DELETE",
201
+ "luckda.lowcode.painter.pageVars.name": "名称",
202
+ "luckda.lowcode.painter.pageVars.messag.name": "请输入变量名",
203
+ "luckda.lowcode.painter.pageVars.desc": "描述",
204
+ "luckda.lowcode.painter.pageVars.placeholder": "请输入",
205
+ "luckda.lowcode.painter.pageVars.data": "数据",
206
+ "luckda.lowcode.painter.pageVars.auto": "自动加载",
207
+ "luckda.lowcode.painter.pageVars.taskType": "加载方式",
208
+ "luckda.lowcode.painter.pageVars.url": "请求地址",
209
+ "luckda.lowcode.painter.pageVars.method": "请求方式",
210
+ "luckda.lowcode.painter.pageVars.urlParams": "请求参数",
211
+ "luckda.lowcode.painter.pageVars.tip.urlParams": "URL 请求参数,格式为 {key1:value1,key2:value2} ,等价于 ?key1=value1&key2=value2",
212
+ "luckda.lowcode.painter.pageVars.body": "请求体",
213
+ "luckda.lowcode.painter.pageVars.tip.body": "接口请求体(body),格式为 {key1:value1,key2:value2}",
214
+ "luckda.lowcode.painter.pageVars.process": "数据处理",
215
+ "luckda.lowcode.painter.pageVars.defaultValue": "默认数据",
182
216
  "luckda.lowcode.painter.panel-section.components.listeditor.add": "添加一项",
183
217
  "luckda.lowcode.painter.panel-section.field-selector.placeholder": "请选择字段",
184
218
  "luckda.lowcode.painter.advancePanel.render": "是否渲染",
@@ -212,6 +246,7 @@ var _default = exports.default = {
212
246
  "luckda.lowcode.painter.panel-section.fieldsSetting.form.display": "表单中显示",
213
247
  "luckda.lowcode.painter.panel-section.fieldsSetting.writable": "是否可写",
214
248
  "luckda.lowcode.painter.panel-section.fieldsSetting.readonly": "是否只读",
249
+ "luckda.lowcode.painter.panel-section.fieldsSetting.render": "内容定制渲染",
215
250
  "luckda.lowcode.painter.panel-section.fieldsSetting.defaultValue": "默认值",
216
251
  "luckda.lowcode.painter.settingTo": "设置为",
217
252
  "luckda.lowcode.painter.setting": "设置",
@@ -7,6 +7,7 @@
7
7
  "groupName": "表单项",
8
8
  "order": 1,
9
9
  "allowClear": true,
10
+ "showPop": true,
10
11
  "col": 1,
11
12
  "row": 1,
12
13
  "state": {
@@ -18,6 +18,13 @@
18
18
  "type": "switch",
19
19
  "default": true
20
20
  },
21
+ {
22
+ "key": "showPop",
23
+ "name": "辅助选择",
24
+ "type": "_ComplexPop",
25
+ "wrapper": "hidden",
26
+ "default": true
27
+ },
21
28
  {
22
29
  "key": "generalSetting",
23
30
  "name": "通用配置",
@@ -261,7 +261,7 @@
261
261
  "name": "格式化默认数据",
262
262
  "desc": "格式化新增时默认数据",
263
263
  "type": "_JSEditor",
264
- "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return defaultValues; \n}",
264
+ "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return {}; \n}",
265
265
  "mustConfirm": true,
266
266
  "wrapper": "collapse",
267
267
  "wrapperProps": {
@@ -363,7 +363,7 @@
363
363
  "name": "格式化默认数据",
364
364
  "desc": "格式化新增时默认数据",
365
365
  "type": "_JSEditor",
366
- "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return defaultValues; \n}",
366
+ "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return {}; \n}",
367
367
  "mustConfirm": true,
368
368
  "wrapper": "collapse",
369
369
  "wrapperProps": {
@@ -489,7 +489,7 @@
489
489
  "name": "格式化默认数据",
490
490
  "desc": "格式化新增时默认数据",
491
491
  "type": "_JSEditor",
492
- "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return defaultValues; \n}",
492
+ "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return {}; \n}",
493
493
  "mustConfirm": true,
494
494
  "wrapper": "collapse",
495
495
  "wrapperProps": {
@@ -206,12 +206,24 @@
206
206
  "insertText": "topics",
207
207
  "documentation": " /**\r\n * @property {object} topics - 内置的事件话题\r\n */\r"
208
208
  },
209
+ {
210
+ "label": "API_PREFIX",
211
+ "kind": "property",
212
+ "insertText": "API_PREFIX",
213
+ "documentation": " /**\r\n * @property {object} topics - service api前缀\r\n */\r"
214
+ },
209
215
  {
210
216
  "label": "PRIMARY_KEY",
211
217
  "kind": "property",
212
218
  "insertText": "PRIMARY_KEY",
213
219
  "documentation": " /**\r\n * @property {string} PRIMARY_KEY - 主键key\r\n */\r"
214
220
  },
221
+ {
222
+ "label": "PARENT_KEY",
223
+ "kind": "property",
224
+ "insertText": "PARENT_KEY",
225
+ "documentation": " /**\r\n * @property {string} PARENT_KEY - 树组件主键key\r\n */\r"
226
+ },
215
227
  {
216
228
  "label": "getElementById",
217
229
  "kind": "method",
@@ -236,6 +248,12 @@
236
248
  "insertText": "want",
237
249
  "documentation": " /**\r\n * @method - 是否有权限\r\n * @return {string} wanted - 期望的资源串\r\n */\r"
238
250
  },
251
+ {
252
+ "label": "getBehaviorUrl",
253
+ "kind": "method",
254
+ "insertText": "getBehaviorUrl",
255
+ "documentation": " /**\r\n * @method - 获取执行行为请求的接口URL\r\n * @return {string} BEHAVIOR_URL - 执行行为请求的接口URL\r\n */\r"
256
+ },
239
257
  {
240
258
  "label": "utils",
241
259
  "kind": "property",
@@ -27,6 +27,12 @@
27
27
  "default": "false"
28
28
  }
29
29
  ]
30
+ },
31
+ {
32
+ "key": "vars",
33
+ "name": "页面数据源",
34
+ "type": "_PageVars",
35
+ "wrapper": "collapse"
30
36
  }
31
37
  ],
32
38
  "css": "background-color: transparent;",
@@ -8,16 +8,9 @@ Object.defineProperty(exports, "__esModule", {
8
8
  var _exportNames = {
9
9
  Context: true,
10
10
  useContext: true,
11
- useRemoteSource: true,
12
- useStateStore: true
11
+ useRemoteSource: true
13
12
  };
14
13
  exports.useRemoteSource = exports.useContext = exports.default = exports.Context = void 0;
15
- Object.defineProperty(exports, "useStateStore", {
16
- enumerable: true,
17
- get: function get() {
18
- return _usePageVar2.useStateStore;
19
- }
20
- });
21
14
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
22
15
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
23
16
  var _react = _interopRequireWildcard(require("react"));
@@ -25,9 +18,9 @@ var _ahooks = require("ahooks");
25
18
  var _lodash = require("lodash");
26
19
  var _EventBusProvider = require("../EventBusProvider");
27
20
  var _RemoteSourceProvider = _interopRequireWildcard(require("../RemoteSourceProvider"));
28
- var _usePageVar2 = _interopRequireWildcard(require("./usePageVar"));
29
- var _useTodo3 = _interopRequireDefault(require("../../tools/useTodo"));
30
- var _usePageDataStore = require("../../tools/usePageDataStore");
21
+ var _usePageVar2 = _interopRequireDefault(require("./usePageVar"));
22
+ var _useTodo3 = _interopRequireDefault(require("./useTodo"));
23
+ var _usePageDataStore = require("./usePageDataStore");
31
24
  Object.keys(_usePageDataStore).forEach(function (key) {
32
25
  if (key === "default" || key === "__esModule") return;
33
26
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -39,6 +32,8 @@ Object.keys(_usePageDataStore).forEach(function (key) {
39
32
  }
40
33
  });
41
34
  });
35
+ var _ApiConfig = _interopRequireDefault(require("@/services/ApiConfig"));
36
+ var _apiUrl = require("../../../constants/api-url");
42
37
  var topics = _interopRequireWildcard(require("../../../constants/event-topics"));
43
38
  var utils = _interopRequireWildcard(require("./utils"));
44
39
  var router = _interopRequireWildcard(require("./router"));
@@ -49,7 +44,7 @@ var useContext = exports.useContext = function useContext() {
49
44
  var useRemoteSource = exports.useRemoteSource = function useRemoteSource() {
50
45
  return (0, _react.useContext)(_RemoteSourceProvider.RemoteSourceContext);
51
46
  };
52
- var PRIVATE_KEYS = ['componentList', 'componentMap'];
47
+ var PRIVATE_KEYS = ['componentList', 'componentMap', 'remoteApiMap'];
53
48
  var _default = exports.default = function _default(_ref) {
54
49
  var children = _ref.children,
55
50
  code = _ref.code;
@@ -64,12 +59,16 @@ var _default = exports.default = function _default(_ref) {
64
59
  global = _usePageVar.global,
65
60
  setGlobal = _usePageVar.setGlobal;
66
61
  var _componentList = (0, _react.useRef)([]);
62
+ var _remoteApiMap = (0, _react.useRef)(new Map());
67
63
  var _privateGetter = (0, _react.useRef)({
68
64
  componentList: function componentList() {
69
65
  return _componentList.current;
70
66
  },
71
67
  componentMap: function componentMap() {
72
68
  return new Map(_componentList.current);
69
+ },
70
+ remoteApiMap: function remoteApiMap() {
71
+ return Object.fromEntries(_remoteApiMap.current.entries());
73
72
  }
74
73
  });
75
74
  var _register = (0, _ahooks.useMemoizedFn)(function (id, component) {
@@ -82,6 +81,9 @@ var _default = exports.default = function _default(_ref) {
82
81
  return _id !== id;
83
82
  });
84
83
  });
84
+ var _initRemoteApiMap = (0, _ahooks.useMemoizedFn)(function (_apiMap) {
85
+ _remoteApiMap.current = _apiMap;
86
+ });
85
87
  var getElementById = (0, _ahooks.useMemoizedFn)(function (compId) {
86
88
  var _componentList$curren;
87
89
  return (_componentList$curren = _componentList.current.find(function (_ref4) {
@@ -117,6 +119,7 @@ var _default = exports.default = function _default(_ref) {
117
119
  var ctx = new Proxy((0, _objectSpread2.default)({
118
120
  _register: _register,
119
121
  _unregister: _unregister,
122
+ _initRemoteApiMap: _initRemoteApiMap,
120
123
  /**
121
124
  * @property {boolean} loading - loading状态
122
125
  */
@@ -125,10 +128,17 @@ var _default = exports.default = function _default(_ref) {
125
128
  * @property {object} topics - 内置的事件话题
126
129
  */
127
130
  topics: topics,
131
+ /**
132
+ * @property {object} topics - service api前缀
133
+ */
134
+ API_PREFIX: _ApiConfig.default,
128
135
  /**
129
136
  * @property {string} PRIMARY_KEY - 主键key
130
137
  */
131
138
  PRIMARY_KEY: window.appConfig.constraintKeys.PRIMARY,
139
+ /**
140
+ * @property {string} PARENT_KEY - 树组件主键key
141
+ */
132
142
  PARENT_KEY: window.appConfig.constraintKeys.PARENT,
133
143
  /**
134
144
  * @method - 根据组件ID获取实例
@@ -155,6 +165,11 @@ var _default = exports.default = function _default(_ref) {
155
165
  * @return {string} wanted - 期望的资源串
156
166
  */
157
167
  want: want,
168
+ /**
169
+ * @method - 获取执行行为请求的接口URL
170
+ * @return {string} BEHAVIOR_URL - 执行行为请求的接口URL
171
+ */
172
+ getBehaviorUrl: _apiUrl.getBehaviorUrl,
158
173
  /**
159
174
  * @typedef {Object} Utils
160
175
  * @property {function(type, props): void} dialog - 弹出对话框
@@ -192,6 +207,8 @@ var _default = exports.default = function _default(_ref) {
192
207
  set: function set(target, property, receiver) {
193
208
  if (PRIVATE_KEYS.includes(property)) {
194
209
  throw new Error("\u5C5E\u6027 \"".concat(property, "\" \u662F\u53EA\u8BFB\u7684"));
210
+ } else if (property.startsWith('_')) {
211
+ throw new Error("\u5C5E\u6027 \"".concat(property, "\" \u662F\u79C1\u6709\u7684"));
195
212
  } else if (property === 'state') {
196
213
  setState(receiver);
197
214
  return true;
@@ -33,7 +33,7 @@ function push(path, params) {
33
33
  } else if (type === 'sso') {
34
34
  window.openUrl("sso:".concat(path));
35
35
  } else {
36
- _umi.history[type](url, params);
36
+ _umi.history[type](path, params);
37
37
  }
38
38
  }
39
39
  function replace(path, state) {
@@ -14,8 +14,8 @@ var _middleware = require("zustand/middleware");
14
14
  var _shallow = require("zustand/react/shallow");
15
15
  var _lodash = require("lodash");
16
16
  var _fastDeepEqual = _interopRequireDefault(require("fast-deep-equal"));
17
- var _dataProcess = require("./dataProcess");
18
- var _constants = require("../../constants");
17
+ var _dataProcess = require("../../tools/dataProcess");
18
+ var _constants = require("../../../constants");
19
19
  var temporalStateCreator = function temporalStateCreator(userSet, userGet, options) {
20
20
  var stateCreator = function stateCreator(set, get) {
21
21
  return {
@@ -191,11 +191,13 @@ var _default = exports.default = usePageDataStore;
191
191
  usePageDataStore.subscribe(function (state) {
192
192
  return state.pageData;
193
193
  }, function (_, prev) {
194
- if (prev !== null) {
195
- usePageDataStore.setState(function (state) {
196
- if (state.needPrompt === false) state.needPrompt = true;
197
- });
198
- }
194
+ usePageDataStore.setState(function (state) {
195
+ if (prev === null) {
196
+ state.needPrompt = false;
197
+ } else if (state.needPrompt === false) {
198
+ state.needPrompt = true;
199
+ }
200
+ });
199
201
  });
200
202
  var resetPageData = exports.resetPageData = function resetPageData(data) {
201
203
  usePageDataStore.setState(function (state) {
@@ -12,9 +12,9 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
12
12
  var _ahooks = require("ahooks");
13
13
  var _antd = require("luck-design/antd");
14
14
  var _lodash = require("lodash");
15
- var _usePageDataStore = _interopRequireDefault(require("./usePageDataStore"));
16
- var _helper = require("./helper");
17
- var _apiUrl = require("../../constants/api-url");
15
+ var _usePageDataStore = require("./usePageDataStore");
16
+ var _helper = require("../../tools/helper");
17
+ var _apiUrl = require("../../../constants/api-url");
18
18
  var _excluded = ["datasetCode"];
19
19
  var useTodo = function useTodo() {
20
20
  var _useBoolean = (0, _ahooks.useBoolean)(),
@@ -33,9 +33,6 @@ var useTodo = function useTodo() {
33
33
  behaviorKey: behaviorKey
34
34
  }, params), data);
35
35
  });
36
- var moduleData = (0, _usePageDataStore.default)(function (state) {
37
- return state.moduleData;
38
- });
39
36
  var todo = (0, _ahooks.useMemoizedFn)(function (ctx, actionPool) {
40
37
  var argsMap = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
41
38
  if ((0, _lodash.isNil)(actionPool)) {
@@ -64,6 +61,7 @@ var useTodo = function useTodo() {
64
61
  params = _ref4.params,
65
62
  data = _ref4.data,
66
63
  after = _ref4.after;
64
+ var moduleData = (0, _usePageDataStore.getModuleData)();
67
65
  var _moduleCode = moduleCode || moduleData.moduleCode;
68
66
  var _dscode = datasetCode || dsCode;
69
67
  if (!_moduleCode || !_dscode) {
@@ -17,8 +17,7 @@ var _umi = require("umi");
17
17
  var _launcher = _interopRequireDefault(require("../launcher"));
18
18
  var _Builder = require("../../../components/Builder");
19
19
  var _action2 = require("../../../helper/action");
20
- var _usePageDataStore2 = _interopRequireDefault(require("../tools/usePageDataStore"));
21
- var _ContextProvider = require("../provider/ContextProvider");
20
+ var _usePageDataStore2 = _interopRequireWildcard(require("./ContextProvider/usePageDataStore"));
22
21
  var _dataProcess = require("../tools/dataProcess");
23
22
  var _apiUrl = require("../../constants/api-url");
24
23
  var _constants = require("../../constants");
@@ -39,7 +38,7 @@ var _default = exports.default = function _default(_ref) {
39
38
  initialize = _usePageDataStore.initialize,
40
39
  initializeModule = _usePageDataStore.initializeModule,
41
40
  reset = _usePageDataStore.reset;
42
- var _useTemporalStore = (0, _ContextProvider.useTemporalStore)(function (state) {
41
+ var _useTemporalStore = (0, _usePageDataStore2.useTemporalStore)(function (state) {
43
42
  return {
44
43
  pause: state.pause,
45
44
  resume: state.resume,
@@ -139,8 +139,13 @@ function executeCode(context, code, argsName) {
139
139
  throw new Error('executeCode参数不匹配');
140
140
  }
141
141
  var ctx = getCtx(context);
142
- var func = (0, _construct2.default)(Function, (0, _toConsumableArray2.default)(argsName || []).concat(['ctx', 'window', "\"use strict\"; ".concat(getFuncBody(code))]));
143
- return func.apply(void 0, args.concat([ctx, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, window.proxy), window)]));
142
+ try {
143
+ var func = (0, _construct2.default)(Function, (0, _toConsumableArray2.default)(argsName || []).concat(['ctx', 'window', "\"use strict\"; ".concat(getFuncBody(code))]));
144
+ return func.apply(void 0, args.concat([ctx, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, window.proxy), window)]));
145
+ } catch (e) {
146
+ console.error("".concat(code, "\u65E0\u6CD5\u88AB\u6267\u884C"), e);
147
+ return null;
148
+ }
144
149
  }
145
150
  function parseCSS(cssString) {
146
151
  // 创建一个空对象来存储解析后的样式
@@ -0,0 +1,270 @@
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 = initialize;
8
+ var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
9
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
+ var _lodash = require("lodash");
15
+ var _utils = require("@luck-design-biz/base/utils");
16
+ var _usePageDataStore = _interopRequireDefault(require("../provider/ContextProvider/usePageDataStore"));
17
+ var _usePageVar = require("../provider/ContextProvider/usePageVar");
18
+ var _helper = require("./helper");
19
+ var parseVar = function parseVar(ctx, input) {
20
+ if ((0, _lodash.isNil)(input)) {
21
+ return null;
22
+ }
23
+ try {
24
+ return (0, _helper.executeCode)(ctx, "function() {return ".concat(input, "}"));
25
+ } catch (err) {
26
+ return input;
27
+ }
28
+ };
29
+ var Task = /*#__PURE__*/function () {
30
+ function Task(ctx, props) {
31
+ (0, _classCallCheck2.default)(this, Task);
32
+ this.ctx = ctx;
33
+ this.name = props.name;
34
+ this.props = props;
35
+ }
36
+ (0, _createClass2.default)(Task, [{
37
+ key: "run",
38
+ value: function () {
39
+ var _run = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(_params, _data) {
40
+ var _this = this;
41
+ var _this$props, willFetch, didFetch, onError, _this$props$data, url, params, body, method, defaultValue, vars, config;
42
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
43
+ while (1) switch (_context.prev = _context.next) {
44
+ case 0:
45
+ _this$props = this.props, willFetch = _this$props.willFetch, didFetch = _this$props.didFetch, onError = _this$props.onError;
46
+ _this$props$data = this.props.data, url = _this$props$data.url, params = _this$props$data.params, body = _this$props$data.body, method = _this$props$data.method, defaultValue = _this$props$data.defaultValue;
47
+ vars = {
48
+ params: (0, _lodash.isNil)(params) || params === '' ? {} : parseVar(this.ctx, params),
49
+ data: (0, _lodash.isNil)(body) || body === '' ? {} : parseVar(this.ctx, body)
50
+ };
51
+ config = {
52
+ headers: {}
53
+ };
54
+ if (willFetch) {
55
+ (0, _helper.executeCode)(this.ctx, willFetch, ['vars', 'config'], vars, config);
56
+ }
57
+ return _context.abrupt("return", (0, _utils.request)(parseVar(this.ctx, url), (0, _objectSpread2.default)({
58
+ params: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, vars.params), _params),
59
+ data: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, vars.data), _data),
60
+ method: parseVar(this.ctx, method)
61
+ }, config)).then(function (res) {
62
+ if (res.code === 1) {
63
+ var list = res.list,
64
+ detail = res.detail;
65
+ var content;
66
+ if (list.length === 1) {
67
+ content = detail[list[0]];
68
+ } else {
69
+ content = list.map(function (_id) {
70
+ return detail[_id];
71
+ });
72
+ }
73
+ if (didFetch) {
74
+ return (0, _helper.executeCode)(_this.ctx, didFetch, ['content', 'origin'], content, res);
75
+ }
76
+ return content;
77
+ } else if (onError) {
78
+ (0, _helper.executeCode)(_this.ctx, onError, ['error'], res);
79
+ }
80
+ if (defaultValue) {
81
+ return parseVar(_this.ctx, defaultValue);
82
+ }
83
+ }));
84
+ case 6:
85
+ case "end":
86
+ return _context.stop();
87
+ }
88
+ }, _callee, this);
89
+ }));
90
+ function run(_x, _x2) {
91
+ return _run.apply(this, arguments);
92
+ }
93
+ return run;
94
+ }()
95
+ }, {
96
+ key: "load",
97
+ value: function () {
98
+ var _load = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(params, data) {
99
+ var _this2 = this;
100
+ var content;
101
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
102
+ while (1) switch (_context2.prev = _context2.next) {
103
+ case 0:
104
+ _context2.next = 2;
105
+ return this.run(params, data);
106
+ case 2:
107
+ content = _context2.sent;
108
+ _usePageVar.useStateStore.setState(function (store) {
109
+ store.state[_this2.name] = content;
110
+ });
111
+ return _context2.abrupt("return", content);
112
+ case 5:
113
+ case "end":
114
+ return _context2.stop();
115
+ }
116
+ }, _callee2, this);
117
+ }));
118
+ function load(_x3, _x4) {
119
+ return _load.apply(this, arguments);
120
+ }
121
+ return load;
122
+ }()
123
+ }]);
124
+ return Task;
125
+ }();
126
+ var wrapPromise = function wrapPromise(promise) {
127
+ var cache = {
128
+ status: 'pending',
129
+ data: null
130
+ };
131
+ var suspender = promise.then(function (r) {
132
+ cache.status = 'fulfilled';
133
+ cache.data = r;
134
+ }, function (e) {
135
+ cache.status = 'rejected';
136
+ cache.data = e;
137
+ });
138
+ return {
139
+ read: function read() {
140
+ if (cache.status === 'pending') {
141
+ throw suspender;
142
+ } else if (cache.status === 'rejected') {
143
+ throw cache.data;
144
+ } else if (cache.status === 'fulfilled') {
145
+ return cache.data;
146
+ }
147
+ }
148
+ };
149
+ };
150
+ function initialize(ctx) {
151
+ var pageVars = _usePageDataStore.default.getState().pageData.props.vars;
152
+ if ((0, _lodash.isNil)(pageVars)) return null;
153
+ var remoteApis = new Map();
154
+ var _reduce = (0, _lodash.reduce)(pageVars, function (ret, val) {
155
+ if (val.type === 'var') {
156
+ ret[0][val.name] = parseVar(ctx, val.data);
157
+ } else if (val.type === 'api') {
158
+ var _val$data = val.data,
159
+ auto = _val$data.auto,
160
+ taskType = _val$data.taskType;
161
+ var task = new Task(ctx, val);
162
+ remoteApis.set(val.name, task);
163
+ if (!auto) return ret;
164
+ if (taskType === 'serial') {
165
+ ret.push(task);
166
+ } else if (taskType === 'parallel') {
167
+ var lastIndex = ret.length - 1;
168
+ if (lastIndex > 0 && (0, _lodash.isArray)(ret[lastIndex])) {
169
+ ret[lastIndex].push(task);
170
+ } else {
171
+ ret.push([task]);
172
+ }
173
+ }
174
+ }
175
+ return ret;
176
+ }, [{}]),
177
+ _reduce2 = (0, _toArray2.default)(_reduce),
178
+ variables = _reduce2[0],
179
+ autoTasks = _reduce2.slice(1);
180
+ _usePageVar.useStateStore.getState().initialize(variables);
181
+ ctx._initRemoteApiMap(remoteApis);
182
+ function run() {
183
+ return _run2.apply(this, arguments);
184
+ }
185
+ function _run2() {
186
+ _run2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
187
+ var result, _loop, i;
188
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context5) {
189
+ while (1) switch (_context5.prev = _context5.next) {
190
+ case 0:
191
+ result = {};
192
+ _loop = /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _loop(i) {
193
+ var contents, _loop2, j, content;
194
+ return (0, _regeneratorRuntime2.default)().wrap(function _loop$(_context4) {
195
+ while (1) switch (_context4.prev = _context4.next) {
196
+ case 0:
197
+ if (!(0, _lodash.isArray)(autoTasks[i])) {
198
+ _context4.next = 13;
199
+ break;
200
+ }
201
+ _context4.next = 3;
202
+ return Promise.all(autoTasks[i].map(function (t) {
203
+ return t.run();
204
+ }));
205
+ case 3:
206
+ contents = _context4.sent;
207
+ _loop2 = /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _loop2(j) {
208
+ return (0, _regeneratorRuntime2.default)().wrap(function _loop2$(_context3) {
209
+ while (1) switch (_context3.prev = _context3.next) {
210
+ case 0:
211
+ _usePageVar.useStateStore.setState(function (store) {
212
+ store.state[autoTasks[i][j].name] = contents[j];
213
+ });
214
+ case 1:
215
+ case "end":
216
+ return _context3.stop();
217
+ }
218
+ }, _loop2);
219
+ });
220
+ _context4.t0 = (0, _regeneratorRuntime2.default)().keys(autoTasks[i]);
221
+ case 6:
222
+ if ((_context4.t1 = _context4.t0()).done) {
223
+ _context4.next = 11;
224
+ break;
225
+ }
226
+ j = _context4.t1.value;
227
+ return _context4.delegateYield(_loop2(j), "t2", 9);
228
+ case 9:
229
+ _context4.next = 6;
230
+ break;
231
+ case 11:
232
+ _context4.next = 17;
233
+ break;
234
+ case 13:
235
+ _context4.next = 15;
236
+ return autoTasks[i].run();
237
+ case 15:
238
+ content = _context4.sent;
239
+ _usePageVar.useStateStore.setState(function (store) {
240
+ store.state[autoTasks[i].name] = content;
241
+ });
242
+ case 17:
243
+ case "end":
244
+ return _context4.stop();
245
+ }
246
+ }, _loop);
247
+ });
248
+ _context5.t0 = (0, _regeneratorRuntime2.default)().keys(autoTasks);
249
+ case 3:
250
+ if ((_context5.t1 = _context5.t0()).done) {
251
+ _context5.next = 8;
252
+ break;
253
+ }
254
+ i = _context5.t1.value;
255
+ return _context5.delegateYield(_loop(i), "t2", 6);
256
+ case 6:
257
+ _context5.next = 3;
258
+ break;
259
+ case 8:
260
+ return _context5.abrupt("return", result);
261
+ case 9:
262
+ case "end":
263
+ return _context5.stop();
264
+ }
265
+ }, _callee3);
266
+ }));
267
+ return _run2.apply(this, arguments);
268
+ }
269
+ return wrapPromise(run());
270
+ }