@luck-design-biz/luckda 1.0.0-4-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 +2 -3
  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 +3 -4
  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
@@ -1,11 +1,10 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import React, { useEffect } from 'react';
4
- import { useMemoizedFn } from 'ahooks';
5
4
  import styled from 'styled-components';
6
- import { reduce } from 'lodash';
7
5
  import classNames from 'classnames';
8
- import { useContext, useGet, useStateStore } from "../engine/provider/ContextProvider";
6
+ import { useContext, useGet } from "../engine/provider/ContextProvider";
7
+ import { useStateStore } from "../engine/provider/ContextProvider/usePageVar";
9
8
  import PageHeader from "./lc-components/PageHeader";
10
9
  import PageContent from "./lc-components/PageContent";
11
10
  import PageFooter from "./lc-components/PageFooter";
@@ -20,7 +19,10 @@ var PageRoot = styled.div.withConfig({
20
19
  return props.$css;
21
20
  });
22
21
  var Canvas = function Canvas(_ref) {
23
- var className = _ref.className;
22
+ var _dsRef$current;
23
+ var className = _ref.className,
24
+ dsRef = _ref.dsRef;
25
+ (_dsRef$current = dsRef.current) === null || _dsRef$current === void 0 || _dsRef$current.read();
24
26
  var _useGet = useGet(['props.css', 'props.advance', 'props.enableHeader', 'props.enableFooter', 'props.vars']),
25
27
  _useGet2 = _slicedToArray(_useGet, 5),
26
28
  pagerootCss = _useGet2[0],
@@ -29,49 +31,24 @@ var Canvas = function Canvas(_ref) {
29
31
  enableFooter = _useGet2[3],
30
32
  pageVars = _useGet2[4];
31
33
  var ctx = useContext();
32
- var handleMount = useMemoizedFn(function () {
33
- var _advance$events;
34
- ctx.doAction(advance === null || advance === void 0 || (_advance$events = advance.events) === null || _advance$events === void 0 ? void 0 : _advance$events.onPageMount);
35
- });
36
- var handleStateChanged = useMemoizedFn(function (_ref2) {
37
- var _advance$events2;
38
- var state = _ref2.state,
39
- prevState = _ref2.prevState,
40
- diff = _ref2.diff;
41
- ctx.doAction(advance === null || advance === void 0 || (_advance$events2 = advance.events) === null || _advance$events2 === void 0 ? void 0 : _advance$events2.onStateChanged, {
42
- state: state,
43
- prevState: prevState,
44
- diff: diff
45
- });
46
- });
47
34
  useEffect(function () {
48
- if (pageVars) {
49
- useStateStore.getState().initialize(reduce(pageVars, function (ret, val) {
50
- if (val.type === 'var') {
51
- ret[val.name] = val.data;
52
- }
53
- return ret;
54
- }, {}));
55
- }
35
+ var _advance$events2;
56
36
  var unsub = useStateStore.subscribe(function (store) {
57
37
  return store.state;
58
38
  }, function (state, prevState) {
39
+ var _advance$events;
59
40
  var _diff = diff(prevState, state);
60
- handleStateChanged({
41
+ ctx.doAction(advance === null || advance === void 0 || (_advance$events = advance.events) === null || _advance$events === void 0 ? void 0 : _advance$events.onStateChanged, {
61
42
  state: state,
62
43
  prevState: prevState,
63
44
  diff: _diff
64
45
  });
65
46
  });
47
+ ctx.doAction(advance === null || advance === void 0 || (_advance$events2 = advance.events) === null || _advance$events2 === void 0 ? void 0 : _advance$events2.onPageMount);
66
48
  return function () {
49
+ var _advance$events3;
67
50
  unsub();
68
51
  useStateStore.getState().clear();
69
- };
70
- }, [pageVars]);
71
- useEffect(function () {
72
- ctx.$subscriber(ctx.topics.PAGE_LOAD_MOUNT).once(handleMount).watch();
73
- return function () {
74
- var _advance$events3;
75
52
  ctx.doAction(advance === null || advance === void 0 || (_advance$events3 = advance.events) === null || _advance$events3 === void 0 ? void 0 : _advance$events3.onPageUnmount);
76
53
  };
77
54
  }, []);
@@ -1,13 +1,11 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  import React from 'react';
3
2
  import classNames from 'classnames';
4
3
  import styles from "./style/loading.less";
5
- var Loading = function Loading(_ref) {
6
- var className = _ref.className,
7
- style = _ref.style;
4
+ var Loading = function Loading() {
8
5
  return /*#__PURE__*/React.createElement("div", {
9
- className: classNames(styles['lc-painter-loading'], _defineProperty({}, className, !!className)),
10
- style: style
6
+ className: styles.masker
7
+ }, /*#__PURE__*/React.createElement("div", {
8
+ className: styles['lc-painter-loading']
11
9
  }, /*#__PURE__*/React.createElement("div", {
12
10
  className: styles['cube']
13
11
  }, /*#__PURE__*/React.createElement("div", {
@@ -22,6 +20,6 @@ var Loading = function Loading(_ref) {
22
20
  className: classNames(styles['side'], styles['side5'])
23
21
  }), /*#__PURE__*/React.createElement("div", {
24
22
  className: classNames(styles['side'], styles['side6'])
25
- })));
23
+ }))));
26
24
  };
27
25
  export default Loading;
@@ -1,35 +1,45 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
5
  var _excluded = ["className"];
5
- import React, { useRef, forwardRef } from 'react';
6
- import { useMemoizedFn } from 'ahooks';
6
+ import React, { forwardRef, useRef, Suspense } from 'react';
7
+ import { useMemoizedFn, useCreation, useBoolean } from 'ahooks';
8
+ import { Skeleton } from 'luck-design/antd';
7
9
  import classNames from 'classnames';
8
- import styled from 'styled-components';
9
10
  import { useRemoteSource, useContext } from "../engine/provider/ContextProvider";
11
+ import initDS from "../engine/tools/initDS";
10
12
  import Loading from "./Loading";
11
13
  import Wrapper from "./lc-components/Wrapper";
12
14
  import Canvas from "./Canvas";
13
15
  import { LC_BUILDIN_UNIT_KEY } from "../constants";
16
+ import useCombinedRefs from "../engine/tools/useCombinedRefs";
14
17
  import ErrorBoundary from "./errorBoundary";
15
18
  import styles from "./style/page.less";
16
- var Masker = styled.div.withConfig({
17
- displayName: "Masker",
18
- componentId: "luckda-6530__sc-yswm45-0"
19
- })(["position:absolute;top:0;left:0;width:100%;height:100%;z-index:2400;background:rgba(0,0,0,0.45);cursor:none;"]);
20
- var LCPage = /*#__PURE__*/forwardRef(function (_ref2, ref) {
21
- var className = _ref2.className,
22
- props = _objectWithoutProperties(_ref2, _excluded);
23
- var _ref = useRef(null);
24
- var _rootRef = ref || _ref;
19
+ var LCPage = /*#__PURE__*/forwardRef(function (_ref, ref) {
20
+ var className = _ref.className,
21
+ props = _objectWithoutProperties(_ref, _excluded);
22
+ var _rootRef = useCombinedRefs(ref);
23
+ var _dsRef = useRef();
25
24
  var _useRemoteSource = useRemoteSource(),
26
25
  loading = _useRemoteSource.loading;
27
- var context = useContext();
26
+ var _useBoolean = useBoolean(false),
27
+ _useBoolean2 = _slicedToArray(_useBoolean, 2),
28
+ loadMount = _useBoolean2[0],
29
+ setTrue = _useBoolean2[1].setTrue;
30
+ var ctx = useContext();
31
+ var handlePageLoadMount = useMemoizedFn(function () {
32
+ _dsRef.current = initDS(ctx);
33
+ setTrue();
34
+ });
35
+ useCreation(function () {
36
+ ctx.$subscriber(ctx.topics.PAGE_LOAD_MOUNT).once(handlePageLoadMount).watch();
37
+ }, []);
28
38
  var getTargetDom = useMemoizedFn(function () {
29
39
  return _rootRef.current;
30
40
  });
31
41
  var handleClear = useMemoizedFn(function () {
32
- context.$publisher(context.topics.COMPONENT_ACTIVE, null);
42
+ ctx.$publisher(ctx.topics.COMPONENT_ACTIVE, null);
33
43
  });
34
44
  return /*#__PURE__*/React.createElement(ErrorBoundary, {
35
45
  onClear: handleClear
@@ -39,6 +49,18 @@ var LCPage = /*#__PURE__*/forwardRef(function (_ref2, ref) {
39
49
  }, /*#__PURE__*/React.createElement("div", _extends({
40
50
  ref: _rootRef,
41
51
  className: classNames(styles['lc-view-page'], _defineProperty(_defineProperty({}, styles.isloading, loading), className, !!className))
42
- }, props), /*#__PURE__*/React.createElement(Canvas, null), loading ? /*#__PURE__*/React.createElement(Masker, null, /*#__PURE__*/React.createElement(Loading, null)) : null)));
52
+ }, props), /*#__PURE__*/React.createElement(Suspense, {
53
+ fallback: /*#__PURE__*/React.createElement(Skeleton, {
54
+ active: true,
55
+ title: {
56
+ width: '70%'
57
+ },
58
+ paragraph: {
59
+ rows: 9
60
+ }
61
+ })
62
+ }, loadMount ? /*#__PURE__*/React.createElement(Canvas, {
63
+ dsRef: _dsRef
64
+ }) : null))), loading ? /*#__PURE__*/React.createElement(Loading, null) : null);
43
65
  });
44
66
  export default LCPage;
@@ -9,6 +9,7 @@ var View = function View(_ref) {
9
9
  var code = _ref.code,
10
10
  props = _objectWithoutProperties(_ref, _excluded);
11
11
  return /*#__PURE__*/React.createElement(EventBusProvider, {
12
+ key: code,
12
13
  runtime: RUNTIME.LIVE
13
14
  }, /*#__PURE__*/React.createElement(ContextProvider, {
14
15
  code: code
@@ -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": "通用配置",
@@ -3,7 +3,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
- var _excluded = ["advance", "state"];
6
+ var _excluded = ["advance", "state", "render"];
7
7
  import React, { useRef, forwardRef, Fragment, useImperativeHandle } from 'react';
8
8
  import { useMemoizedFn, useCreation, useUnmount } from 'ahooks';
9
9
  import classNames from 'classnames';
@@ -228,9 +228,7 @@ var LCForm = /*#__PURE__*/forwardRef(function (_ref3, ref) {
228
228
  return wrapperRef.current;
229
229
  });
230
230
  var handleDefaultDataSourceFormat = useMemoizedFn(function (defaultDataSourceFormat, defaultValues) {
231
- if (isNil(defaultDataSourceFormat)) return function () {
232
- return defaultValues;
233
- };
231
+ if (isNil(defaultDataSourceFormat)) return function () {};
234
232
  return executeCode(ctx, defaultDataSourceFormat, ['defaultValues'], defaultValues);
235
233
  });
236
234
  var handleDataSourceFormat = useMemoizedFn(function (type, dataSourceFormat, dataSetKey, _ref6) {
@@ -323,6 +321,7 @@ var LCForm = /*#__PURE__*/forwardRef(function (_ref3, ref) {
323
321
  return reduce(fields, function (result, setting) {
324
322
  var advance = setting.advance,
325
323
  _state = setting.state,
324
+ render = setting.render,
326
325
  rest = _objectWithoutProperties(setting, _excluded);
327
326
  var isShow = true;
328
327
  if (ctx.runtime !== RUNTIME.DESIGN && _state) {
@@ -355,6 +354,14 @@ var LCForm = /*#__PURE__*/forwardRef(function (_ref3, ref) {
355
354
  };
356
355
  }
357
356
  result.push(_objectSpread(_objectSpread({}, _props), {}, {
357
+ render: render ? function (v, d, i, p) {
358
+ return /*#__PURE__*/React.createElement(RuntimeComp, {
359
+ value: v,
360
+ data: d,
361
+ rowIndex: i,
362
+ params: p
363
+ }, render.replace(/(function\s*\w*\s*)\([^)]*\)(\s*{)/, '$1()$2'));
364
+ } : null,
358
365
  events: advance !== null && advance !== void 0 && advance.events ? reduce(advance.events, function (result, value, key) {
359
366
  //处理事件
360
367
  result[key] = function () {
@@ -244,7 +244,7 @@
244
244
  "name": "格式化默认数据",
245
245
  "desc": "格式化新增时默认数据",
246
246
  "type": "_JSEditor",
247
- "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return defaultValues; \n}",
247
+ "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return {}; \n}",
248
248
  "mustConfirm": true,
249
249
  "wrapper": "collapse",
250
250
  "wrapperProps": { "suppressIcon": true }
@@ -335,7 +335,7 @@
335
335
  "name": "格式化默认数据",
336
336
  "desc": "格式化新增时默认数据",
337
337
  "type": "_JSEditor",
338
- "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return defaultValues; \n}",
338
+ "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return {}; \n}",
339
339
  "mustConfirm": true,
340
340
  "wrapper": "collapse",
341
341
  "wrapperProps": { "suppressIcon": true }
@@ -446,7 +446,7 @@
446
446
  "name": "格式化默认数据",
447
447
  "desc": "格式化新增时默认数据",
448
448
  "type": "_JSEditor",
449
- "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return defaultValues; \n}",
449
+ "defaultCode": "function defaultDataSourceFormat(defaultValues) { \n return {}; \n}",
450
450
  "mustConfirm": true,
451
451
  "wrapper": "collapse",
452
452
  "wrapperProps": { "suppressIcon": true }
@@ -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;",
@@ -1,8 +1,10 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
4
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
4
5
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
5
6
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
7
+ var _excluded = ["render"];
6
8
  import React, { useRef, useImperativeHandle, forwardRef, useCallback } from 'react';
7
9
  import PropTypes from 'prop-types';
8
10
  import { useMemoizedFn, useCreation, useRequest, useUnmount } from 'ahooks';
@@ -14,6 +16,7 @@ import Wrapper from "../Wrapper";
14
16
  import { LdGrid, LDActions } from "../../../../index";
15
17
  import TopFilter from "./components/TopFilter";
16
18
  import { TopUpload, TopExport } from "./components/TopImex";
19
+ import RuntimeComp from "../JSX/RuntimeComp";
17
20
  import { omitBadProps, executeCode, getLDMetaAttr } from "../../../engine/tools/helper";
18
21
  import useCombinedRefs from "../../../engine/tools/useCombinedRefs";
19
22
  import defaultMeta from "../../../engine/meta/table.props.default.json";
@@ -380,8 +383,19 @@ var LCTable = /*#__PURE__*/forwardRef(function (_ref, ref) {
380
383
  if (!isNil(columnsRewrite) || !isNil(fields)) {
381
384
  temp.columnsRewrite = function (cols) {
382
385
  var colsMap = keyBy(cols, 'field');
383
- var _cols = isNil(fields) ? cols : fields.map(function (_field) {
384
- return _objectSpread(_objectSpread({}, colsMap[_field.field]), _field);
386
+ var _cols = isNil(fields) ? cols : fields.map(function (_ref4) {
387
+ var render = _ref4.render,
388
+ _field = _objectWithoutProperties(_ref4, _excluded);
389
+ return _objectSpread(_objectSpread({}, colsMap[_field.field]), {}, {
390
+ render: render ? function (v, d, i, p) {
391
+ return /*#__PURE__*/React.createElement(RuntimeComp, {
392
+ value: v,
393
+ data: d,
394
+ rowIndex: i,
395
+ params: p
396
+ }, render.replace(/(function\s*\w*\s*)\([^)]*\)(\s*{)/, '$1()$2'));
397
+ } : null
398
+ }, _field);
385
399
  });
386
400
  return isNil(columnsRewrite) ? _cols : executeCode(ctx, columnsRewrite, ['columns'], _cols);
387
401
  };
@@ -524,7 +538,7 @@ var LCTable = /*#__PURE__*/forwardRef(function (_ref, ref) {
524
538
  });
525
539
  });
526
540
  var _afterQuery = useMemoizedFn(function (res) {
527
- if (res.code === 1 && !res.list.includes(instanceRef.current.expectRowKey)) {
541
+ if (res.code === 1 && instanceRef.current && !res.list.includes(instanceRef.current.expectRowKey)) {
528
542
  instanceRef.current.expectRowKey = res.list[0];
529
543
  ctx.doAction(advance.events.onExpectRowChanged, {
530
544
  data: res.detail[res.list[0]]
@@ -1,3 +1,17 @@
1
+ .masker {
2
+ position: absolute;
3
+ top: 0;
4
+ left: 0;
5
+ width: 100%;
6
+ height: 100%;
7
+ z-index: 1000;
8
+ background-color: transparent;
9
+ backdrop-filter: blur(6px);
10
+ cursor: none;
11
+ }
12
+ *:has(> .masker) {
13
+ position: relative;
14
+ }
1
15
  .lc-painter-loading {
2
16
  position: absolute;
3
17
  height: 64px;
package/es/utils/form.js CHANGED
@@ -12,7 +12,7 @@ var _excluded = ["comName", "property"],
12
12
  _excluded9 = ["type", "name"];
13
13
  import React from 'react';
14
14
  import moment from 'moment';
15
- import { capitalize, merge, transform, isArray, omit, isNil, clone } from 'lodash';
15
+ import { capitalize, merge, transform, isArray, omit, isNil, clone, cloneDeep } from 'lodash';
16
16
  import api from "@/services/ApiConfig";
17
17
  import { defaultComName, translator, splitStrToObj, formatCustomProps } from "../helper/form";
18
18
  import { getColumnRender } from "./grid";
@@ -65,7 +65,7 @@ export function getFormItem() {
65
65
  export var formItemDataFormat = function formItemDataFormat() {
66
66
  var propsList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
67
67
  var values = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
68
- var omitValues = {};
68
+ var omitValues = cloneDeep(values);
69
69
  var data = transform(propsList, function (result, n) {
70
70
  var _ref2 = n || {},
71
71
  comName = _ref2.comName,
@@ -125,7 +125,7 @@ export var formItemDataFormat = function formItemDataFormat() {
125
125
  default:
126
126
  if (!isNil(values["".concat(name, "_virtual")] || values[name])) result[name] = values["".concat(name, "_virtual")] || values[name];
127
127
  }
128
- omitValues = omit(values, [name, "".concat(name, "_virtual")]);
128
+ omitValues = omit(omitValues, [name, "".concat(name, "_virtual")]);
129
129
  }, {});
130
130
  return _objectSpread(_objectSpread({}, omitValues), data);
131
131
  };
package/es/utils/grid.js CHANGED
@@ -38,7 +38,7 @@ export function getColumnRender(name, type) {
38
38
  break;
39
39
  case 'year':
40
40
  render = function render(text) {
41
- return text;
41
+ return moment.isMoment(text) ? text.format('YYYY') : text;
42
42
  };
43
43
  break;
44
44
  case 'user':
@@ -7,24 +7,25 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
11
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
- var _umi = require("umi");
15
+ var _ahooks = require("ahooks");
16
16
  var _antd = require("luck-design/antd");
17
17
  var _lodash = require("lodash");
18
18
  var _base = require("@luck-design-biz/base");
19
19
  var _utils = require("@luck-design-biz/base/utils");
20
- var _luckDesign = require("luck-design");
21
- var _ApiConfig = _interopRequireDefault(require("@/services/ApiConfig"));
22
20
  var _service = require("./service");
23
- var _excluded = ["wrapperRef", "config", "renderInfoMode", "complexConfig"];
21
+ var _excluded = ["showPop"],
22
+ _excluded2 = ["wrapperRef", "config", "renderInfoMode", "complexConfig"];
24
23
  var Index = function Index(_ref) {
25
24
  var wrapperRef = _ref.wrapperRef,
26
25
  _ref$config = _ref.config,
27
- config = _ref$config === void 0 ? {} : _ref$config,
26
+ _ref$config2 = _ref$config === void 0 ? {} : _ref$config,
27
+ showPop = _ref$config2.showPop,
28
+ config = (0, _objectWithoutProperties2.default)(_ref$config2, _excluded),
28
29
  renderInfoMode = _ref.renderInfoMode,
29
30
  _ref$complexConfig = _ref.complexConfig,
30
31
  _ref$complexConfig$is = _ref$complexConfig.isTree,
@@ -34,49 +35,58 @@ var Index = function Index(_ref) {
34
35
  dataSetCode = _ref$complexConfig.dataSetCode,
35
36
  keyField = _ref$complexConfig.keyField,
36
37
  valueField = _ref$complexConfig.valueField,
37
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
- var _useState = (0, _react.useState)([]),
39
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
40
- dataSource = _useState2[0],
41
- setDataSource = _useState2[1];
42
- var handleFocus = function handleFocus() {
43
- if (!dataSource || dataSource.length === 0) {
44
- (0, _service.fetchContent)(dataModel, {
45
- datasetCode: dataSetCode,
46
- moduleCode: moduleCode
47
- }).then(function (res) {
48
- var code = res.code,
49
- data = res.data;
50
- if (code === 1) {
51
- var formatData = data.map(function (i) {
52
- return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, i), {}, {
53
- key: i[keyField],
54
- value: i[keyField],
55
- label: valueField.length > 0 ? valueField.split(',').map(function (val) {
56
- return i[val];
57
- }).join('-') : '',
58
- title: valueField.length > 0 ? valueField.split(',').map(function (val) {
59
- return i[val];
60
- }).join('-') : ''
61
- });
62
- });
63
- if (isTree) {
64
- setDataSource((0, _utils.dataToTree)(formatData, null, 'uid', 'parent_uid'));
65
- } else setDataSource(formatData);
66
- }
67
- });
68
- }
69
- };
38
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded2);
39
+ var Selector = (0, _ahooks.useCreation)(function () {
40
+ return isTree ? _base.TreeSelector : _base.GridSelector;
41
+ }, [isTree]);
70
42
  return renderInfoMode ? renderInfoMode(function (value) {
71
43
  return (config.multiple || config.mode === 'multiple') && (0, _lodash.isArray)(value) ? value.map(function (item) {
72
44
  return /*#__PURE__*/_react.default.createElement(_antd.Tag, {
73
45
  key: item.key
74
46
  }, item.label || item.value || item.key);
75
47
  }) : /*#__PURE__*/_react.default.createElement("span", null, value.label || value.value || value.key);
76
- }) : /*#__PURE__*/_react.default.createElement(_luckDesign.BasicFormItem, (0, _extends2.default)({}, props, {
77
- type: isTree ? 'treeSelect' : 'select',
48
+ }) : /*#__PURE__*/_react.default.createElement(Selector, (0, _extends2.default)({}, props, {
49
+ keyName: keyField,
50
+ titleKey: "title",
51
+ api: ( /*#__PURE__*/function () {
52
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(get) {
53
+ var res, formatData, detail;
54
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
55
+ while (1) switch (_context.prev = _context.next) {
56
+ case 0:
57
+ _context.next = 2;
58
+ return (0, _service.fetchContent)(dataModel, (0, _objectSpread2.default)({
59
+ datasetCode: dataSetCode,
60
+ moduleCode: moduleCode
61
+ }, get));
62
+ case 2:
63
+ res = _context.sent;
64
+ formatData = (res === null || res === void 0 ? void 0 : res.data.map(function (i) {
65
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, i), {}, {
66
+ title: valueField.length > 0 ? valueField.split(',').map(function (val) {
67
+ return i[val];
68
+ }).join('-') : ''
69
+ });
70
+ })) || [];
71
+ detail = (0, _lodash.keyBy)(formatData, window.appConfig.constraintKeys.PRIMARY);
72
+ return _context.abrupt("return", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, res), {}, {
73
+ list: Object.keys(detail),
74
+ detail: detail
75
+ }));
76
+ case 6:
77
+ case "end":
78
+ return _context.stop();
79
+ }
80
+ }, _callee);
81
+ }));
82
+ return function (_x) {
83
+ return _ref2.apply(this, arguments);
84
+ };
85
+ }()),
78
86
  ref: wrapperRef,
79
- config: (0, _objectSpread3.default)((0, _objectSpread3.default)({
87
+ max: config.multiple || config.mode === 'multiple' ? 0 : 1,
88
+ noAddon: !(showPop !== null && showPop !== void 0 && showPop.show),
89
+ config: (0, _objectSpread2.default)((0, _objectSpread2.default)({
80
90
  required: false,
81
91
  placeholder: (0, _utils.formatMessage)({
82
92
  id: 'app.base.tip.select'
@@ -84,11 +94,16 @@ var Index = function Index(_ref) {
84
94
  message: (0, _utils.formatMessage)({
85
95
  id: 'app.base.tip.select'
86
96
  })
87
- }, config), {}, (0, _defineProperty2.default)((0, _defineProperty2.default)({
88
- showSearch: true,
97
+ }, config), {}, {
89
98
  optionFilterProp: 'title',
90
99
  treeNodeFilterProp: 'label'
91
- }, isTree ? 'treeData' : 'dataSource', dataSource), "onFocus", handleFocus))
100
+ }),
101
+ selectorProps: {
102
+ columns: (showPop === null || showPop === void 0 ? void 0 : showPop.fields) || [],
103
+ resultColumns: ((showPop === null || showPop === void 0 ? void 0 : showPop.fields) || []).filter(function (i) {
104
+ return (0, _lodash.includes)(valueField.split(','), i.field);
105
+ })
106
+ }
92
107
  }));
93
108
  };
94
109
  var RefCom = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
@@ -100,7 +100,8 @@ var buildLdGridForm = function buildLdGridForm(_ref) {
100
100
  moduleCode: moduleCode,
101
101
  formRef: formRef,
102
102
  formMode: formMode,
103
- setting: (0, _lodash.omit)(setting, [].concat(defaultSet, ['uid', 'field']))
103
+ render: setting === null || setting === void 0 ? void 0 : setting.render,
104
+ setting: (0, _lodash.omit)(setting, [].concat(defaultSet, ['uid', 'field', 'render']))
104
105
  })
105
106
  })));
106
107
  }
@@ -8,8 +8,13 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
12
  var _Builder = require("../components/Builder");
12
13
  var _utils = require("@luck-design-biz/base/utils");
14
+ var ErrorWrapper = _styledComponents.default.span.withConfig({
15
+ displayName: "ErrorWrapper",
16
+ componentId: "luckda-6530__sc-ek28r3-0"
17
+ })(["display:inline-block;width:100%;height:auto;padding:24px 16px;color:#ff4d4f;"]);
13
18
  var builder = function builder(wrapped) {
14
19
  var LdCom = function LdCom(props) {
15
20
  var ldId = props.ldId,
@@ -27,7 +32,7 @@ var builder = function builder(wrapped) {
27
32
  doAction = _ref.doAction,
28
33
  moduleCode = _ref.moduleCode; // 读存储的模块信息,包括行为、行为执行方法、数据集
29
34
 
30
- if (!ldId) return /*#__PURE__*/_react.default.createElement("span", {
35
+ if (!ldId) return /*#__PURE__*/_react.default.createElement(ErrorWrapper, {
31
36
  ref: wrapper,
32
37
  className: className,
33
38
  style: style
@@ -35,7 +40,7 @@ var builder = function builder(wrapped) {
35
40
  id: 'luckda.paramMiss.ldId',
36
41
  label: '配置项缺少组件唯一标识(ldId)'
37
42
  }));
38
- if (!dataSetKey) return /*#__PURE__*/_react.default.createElement("span", {
43
+ if (!dataSetKey) return /*#__PURE__*/_react.default.createElement(ErrorWrapper, {
39
44
  ref: wrapper,
40
45
  className: className,
41
46
  style: style
@@ -45,7 +50,7 @@ var builder = function builder(wrapped) {
45
50
  }));
46
51
  if (!dataSets[dataSetKey])
47
52
  // 待获取数据源
48
- return /*#__PURE__*/_react.default.createElement("span", {
53
+ return /*#__PURE__*/_react.default.createElement(ErrorWrapper, {
49
54
  ref: wrapper,
50
55
  className: className,
51
56
  style: style