@luck-design-biz/luckda 1.0.0-5-alpha → 1.0.0-6-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
@@ -0,0 +1,263 @@
1
+ import _toArray from "@babel/runtime/helpers/esm/toArray";
2
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
5
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
6
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
7
+ import { isNil, reduce, isArray } from 'lodash';
8
+ import { request } from '@luck-design-biz/base/utils';
9
+ import usePageDataStore from "../provider/ContextProvider/usePageDataStore";
10
+ import { useStateStore } from "../provider/ContextProvider/usePageVar";
11
+ import { executeCode } from "./helper";
12
+ var parseVar = function parseVar(ctx, input) {
13
+ if (isNil(input)) {
14
+ return null;
15
+ }
16
+ try {
17
+ return executeCode(ctx, "function() {return ".concat(input, "}"));
18
+ } catch (err) {
19
+ return input;
20
+ }
21
+ };
22
+ var Task = /*#__PURE__*/function () {
23
+ function Task(ctx, props) {
24
+ _classCallCheck(this, Task);
25
+ this.ctx = ctx;
26
+ this.name = props.name;
27
+ this.props = props;
28
+ }
29
+ _createClass(Task, [{
30
+ key: "run",
31
+ value: function () {
32
+ var _run = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_params, _data) {
33
+ var _this = this;
34
+ var _this$props, willFetch, didFetch, onError, _this$props$data, url, params, body, method, defaultValue, vars, config;
35
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
36
+ while (1) switch (_context.prev = _context.next) {
37
+ case 0:
38
+ _this$props = this.props, willFetch = _this$props.willFetch, didFetch = _this$props.didFetch, onError = _this$props.onError;
39
+ _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;
40
+ vars = {
41
+ params: isNil(params) || params === '' ? {} : parseVar(this.ctx, params),
42
+ data: isNil(body) || body === '' ? {} : parseVar(this.ctx, body)
43
+ };
44
+ config = {
45
+ headers: {}
46
+ };
47
+ if (willFetch) {
48
+ executeCode(this.ctx, willFetch, ['vars', 'config'], vars, config);
49
+ }
50
+ return _context.abrupt("return", request(parseVar(this.ctx, url), _objectSpread({
51
+ params: _objectSpread(_objectSpread({}, vars.params), _params),
52
+ data: _objectSpread(_objectSpread({}, vars.data), _data),
53
+ method: parseVar(this.ctx, method)
54
+ }, config)).then(function (res) {
55
+ if (res.code === 1) {
56
+ var list = res.list,
57
+ detail = res.detail;
58
+ var content;
59
+ if (list.length === 1) {
60
+ content = detail[list[0]];
61
+ } else {
62
+ content = list.map(function (_id) {
63
+ return detail[_id];
64
+ });
65
+ }
66
+ if (didFetch) {
67
+ return executeCode(_this.ctx, didFetch, ['content', 'origin'], content, res);
68
+ }
69
+ return content;
70
+ } else if (onError) {
71
+ executeCode(_this.ctx, onError, ['error'], res);
72
+ }
73
+ if (defaultValue) {
74
+ return parseVar(_this.ctx, defaultValue);
75
+ }
76
+ }));
77
+ case 6:
78
+ case "end":
79
+ return _context.stop();
80
+ }
81
+ }, _callee, this);
82
+ }));
83
+ function run(_x, _x2) {
84
+ return _run.apply(this, arguments);
85
+ }
86
+ return run;
87
+ }()
88
+ }, {
89
+ key: "load",
90
+ value: function () {
91
+ var _load = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params, data) {
92
+ var _this2 = this;
93
+ var content;
94
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
95
+ while (1) switch (_context2.prev = _context2.next) {
96
+ case 0:
97
+ _context2.next = 2;
98
+ return this.run(params, data);
99
+ case 2:
100
+ content = _context2.sent;
101
+ useStateStore.setState(function (store) {
102
+ store.state[_this2.name] = content;
103
+ });
104
+ return _context2.abrupt("return", content);
105
+ case 5:
106
+ case "end":
107
+ return _context2.stop();
108
+ }
109
+ }, _callee2, this);
110
+ }));
111
+ function load(_x3, _x4) {
112
+ return _load.apply(this, arguments);
113
+ }
114
+ return load;
115
+ }()
116
+ }]);
117
+ return Task;
118
+ }();
119
+ var wrapPromise = function wrapPromise(promise) {
120
+ var cache = {
121
+ status: 'pending',
122
+ data: null
123
+ };
124
+ var suspender = promise.then(function (r) {
125
+ cache.status = 'fulfilled';
126
+ cache.data = r;
127
+ }, function (e) {
128
+ cache.status = 'rejected';
129
+ cache.data = e;
130
+ });
131
+ return {
132
+ read: function read() {
133
+ if (cache.status === 'pending') {
134
+ throw suspender;
135
+ } else if (cache.status === 'rejected') {
136
+ throw cache.data;
137
+ } else if (cache.status === 'fulfilled') {
138
+ return cache.data;
139
+ }
140
+ }
141
+ };
142
+ };
143
+ export default function initialize(ctx) {
144
+ var pageVars = usePageDataStore.getState().pageData.props.vars;
145
+ if (isNil(pageVars)) return null;
146
+ var remoteApis = new Map();
147
+ var _reduce = reduce(pageVars, function (ret, val) {
148
+ if (val.type === 'var') {
149
+ ret[0][val.name] = parseVar(ctx, val.data);
150
+ } else if (val.type === 'api') {
151
+ var _val$data = val.data,
152
+ auto = _val$data.auto,
153
+ taskType = _val$data.taskType;
154
+ var task = new Task(ctx, val);
155
+ remoteApis.set(val.name, task);
156
+ if (!auto) return ret;
157
+ if (taskType === 'serial') {
158
+ ret.push(task);
159
+ } else if (taskType === 'parallel') {
160
+ var lastIndex = ret.length - 1;
161
+ if (lastIndex > 0 && isArray(ret[lastIndex])) {
162
+ ret[lastIndex].push(task);
163
+ } else {
164
+ ret.push([task]);
165
+ }
166
+ }
167
+ }
168
+ return ret;
169
+ }, [{}]),
170
+ _reduce2 = _toArray(_reduce),
171
+ variables = _reduce2[0],
172
+ autoTasks = _reduce2.slice(1);
173
+ useStateStore.getState().initialize(variables);
174
+ ctx._initRemoteApiMap(remoteApis);
175
+ function run() {
176
+ return _run2.apply(this, arguments);
177
+ }
178
+ function _run2() {
179
+ _run2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
180
+ var result, _loop, i;
181
+ return _regeneratorRuntime().wrap(function _callee3$(_context5) {
182
+ while (1) switch (_context5.prev = _context5.next) {
183
+ case 0:
184
+ result = {};
185
+ _loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop(i) {
186
+ var contents, _loop2, j, content;
187
+ return _regeneratorRuntime().wrap(function _loop$(_context4) {
188
+ while (1) switch (_context4.prev = _context4.next) {
189
+ case 0:
190
+ if (!isArray(autoTasks[i])) {
191
+ _context4.next = 13;
192
+ break;
193
+ }
194
+ _context4.next = 3;
195
+ return Promise.all(autoTasks[i].map(function (t) {
196
+ return t.run();
197
+ }));
198
+ case 3:
199
+ contents = _context4.sent;
200
+ _loop2 = /*#__PURE__*/_regeneratorRuntime().mark(function _loop2(j) {
201
+ return _regeneratorRuntime().wrap(function _loop2$(_context3) {
202
+ while (1) switch (_context3.prev = _context3.next) {
203
+ case 0:
204
+ useStateStore.setState(function (store) {
205
+ store.state[autoTasks[i][j].name] = contents[j];
206
+ });
207
+ case 1:
208
+ case "end":
209
+ return _context3.stop();
210
+ }
211
+ }, _loop2);
212
+ });
213
+ _context4.t0 = _regeneratorRuntime().keys(autoTasks[i]);
214
+ case 6:
215
+ if ((_context4.t1 = _context4.t0()).done) {
216
+ _context4.next = 11;
217
+ break;
218
+ }
219
+ j = _context4.t1.value;
220
+ return _context4.delegateYield(_loop2(j), "t2", 9);
221
+ case 9:
222
+ _context4.next = 6;
223
+ break;
224
+ case 11:
225
+ _context4.next = 17;
226
+ break;
227
+ case 13:
228
+ _context4.next = 15;
229
+ return autoTasks[i].run();
230
+ case 15:
231
+ content = _context4.sent;
232
+ useStateStore.setState(function (store) {
233
+ store.state[autoTasks[i].name] = content;
234
+ });
235
+ case 17:
236
+ case "end":
237
+ return _context4.stop();
238
+ }
239
+ }, _loop);
240
+ });
241
+ _context5.t0 = _regeneratorRuntime().keys(autoTasks);
242
+ case 3:
243
+ if ((_context5.t1 = _context5.t0()).done) {
244
+ _context5.next = 8;
245
+ break;
246
+ }
247
+ i = _context5.t1.value;
248
+ return _context5.delegateYield(_loop(i), "t2", 6);
249
+ case 6:
250
+ _context5.next = 3;
251
+ break;
252
+ case 8:
253
+ return _context5.abrupt("return", result);
254
+ case 9:
255
+ case "end":
256
+ return _context5.stop();
257
+ }
258
+ }, _callee3);
259
+ }));
260
+ return _run2.apply(this, arguments);
261
+ }
262
+ return wrapPromise(run());
263
+ }
@@ -1,7 +1,8 @@
1
- import { useRef, useEffect } from 'react';
1
+ import { useRef } from 'react';
2
+ import { useCreation } from 'ahooks';
2
3
  var useCombinedRefs = function useCombinedRefs(forwardedRef) {
3
4
  var innerRef = useRef(null);
4
- useEffect(function () {
5
+ useCreation(function () {
5
6
  if (!forwardedRef) return;
6
7
  if (typeof forwardedRef === 'function') {
7
8
  forwardedRef(innerRef.current);
@@ -0,0 +1,16 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["title", "type"];
4
+ import React from 'react';
5
+ import { Icon, Tooltip } from 'luck-design/antd';
6
+ var TipIcon = function TipIcon(_ref) {
7
+ var title = _ref.title,
8
+ type = _ref.type,
9
+ rest = _objectWithoutProperties(_ref, _excluded);
10
+ return /*#__PURE__*/React.createElement(Tooltip, {
11
+ title: title
12
+ }, /*#__PURE__*/React.createElement(Icon, _extends({
13
+ type: type
14
+ }, rest)));
15
+ };
16
+ export default TipIcon;