@luck-design-biz/luckda 0.0.24-2 → 0.0.25

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 (217) hide show
  1. package/es/components/LDActions/index.js +130 -0
  2. package/es/components/LDActions/index.less +48 -0
  3. package/es/components/LdFormList/index.js +1 -1
  4. package/es/components/LdGrid/index.js +9 -3
  5. package/es/components/LdTree/index.js +32 -5
  6. package/es/components/LdTree/index.less +6 -1
  7. package/es/index.js +1 -0
  8. package/es/locales/zh-CN.js +151 -0
  9. package/es/lowcode/constants/api-url.js +71 -12
  10. package/es/lowcode/constants/index.js +3 -1
  11. package/es/lowcode/engine/factory/panel-item-factory/CheckboxStrategy.js +32 -0
  12. package/es/lowcode/engine/factory/panel-item-factory/index.js +2 -0
  13. package/es/lowcode/engine/meta/box.props.default.json +1 -3
  14. package/es/lowcode/engine/meta/box.props.json +1 -3
  15. package/es/lowcode/engine/meta/button.props.default.json +1 -1
  16. package/es/lowcode/engine/meta/button.props.json +1 -1
  17. package/es/lowcode/engine/meta/cardlist.props.default.json +0 -1
  18. package/es/lowcode/engine/meta/cardlist.props.json +1 -2
  19. package/es/lowcode/engine/meta/dialog.props.default.json +0 -1
  20. package/es/lowcode/engine/meta/dialog.props.json +0 -1
  21. package/es/lowcode/engine/meta/drawer.props.default.json +0 -1
  22. package/es/lowcode/engine/meta/drawer.props.json +0 -1
  23. package/es/lowcode/engine/meta/form.props.default.json +0 -1
  24. package/es/lowcode/engine/meta/form.props.json +1 -2
  25. package/es/lowcode/engine/meta/iframe.props.default.json +1 -1
  26. package/es/lowcode/engine/meta/iframe.props.json +1 -1
  27. package/es/lowcode/engine/meta/image.props.default.json +1 -1
  28. package/es/lowcode/engine/meta/image.props.json +1 -1
  29. package/es/lowcode/engine/meta/imex.props.default.json +1 -1
  30. package/es/lowcode/engine/meta/imex.props.json +1 -1
  31. package/es/lowcode/engine/meta/js-editor/auto-complete.json +132 -26
  32. package/es/lowcode/engine/meta/jsx.props.default.json +1 -1
  33. package/es/lowcode/engine/meta/jsx.props.json +1 -1
  34. package/es/lowcode/engine/meta/layout.props.default.json +1 -1
  35. package/es/lowcode/engine/meta/layout.props.json +1 -1
  36. package/es/lowcode/engine/meta/link.props.default.json +1 -1
  37. package/es/lowcode/engine/meta/link.props.json +1 -1
  38. package/es/lowcode/engine/meta/local/local.zh-cn.js +97 -0
  39. package/es/lowcode/engine/meta/section.props.default.json +1 -1
  40. package/es/lowcode/engine/meta/section.props.json +1 -1
  41. package/es/lowcode/engine/meta/split.props.default.json +1 -1
  42. package/es/lowcode/engine/meta/split.props.json +1 -1
  43. package/es/lowcode/engine/meta/table.props.default.json +18 -2
  44. package/es/lowcode/engine/meta/table.props.json +207 -32
  45. package/es/lowcode/engine/meta/tabs.props.default.json +0 -1
  46. package/es/lowcode/engine/meta/tabs.props.json +0 -1
  47. package/es/lowcode/engine/meta/text.props.default.json +1 -1
  48. package/es/lowcode/engine/meta/text.props.json +1 -1
  49. package/es/lowcode/engine/meta/tree.props.default.json +9 -4
  50. package/es/lowcode/engine/meta/tree.props.json +101 -55
  51. package/es/lowcode/engine/provider/{ContextProvider.js → ContextProvider/index.js} +71 -41
  52. package/es/lowcode/engine/tools/helper.js +29 -1
  53. package/es/lowcode/engine/tools/usePromiseState.js +7 -6
  54. package/es/lowcode/painter/Panel.js +50 -133
  55. package/es/lowcode/painter/Ribbon.js +1 -1
  56. package/es/lowcode/painter/components/ActionBindModal.js +180 -0
  57. package/es/lowcode/painter/components/AdvancePanel.js +68 -0
  58. package/es/lowcode/painter/components/AttrsPanel.js +134 -0
  59. package/es/lowcode/painter/components/Collapse.js +12 -7
  60. package/es/lowcode/painter/components/FieldSelector.js +44 -0
  61. package/es/lowcode/painter/components/ListEditor.js +4 -2
  62. package/es/lowcode/painter/components/PopConfirm.js +10 -3
  63. package/es/lowcode/painter/components/code-editor/BaseEditor.js +14 -2
  64. package/es/lowcode/painter/components/code-editor/JSEditor.js +25 -14
  65. package/es/lowcode/painter/components/code-editor/JsonEditor.js +41 -0
  66. package/es/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/ActionEditor.js +10 -3
  67. package/es/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/index.js +36 -8
  68. package/es/lowcode/painter/panel-section/ImpExp.js +91 -0
  69. package/es/lowcode/painter/panel-section/JSEditor.js +48 -0
  70. package/es/lowcode/painter/panel-section/StylePanel/MainPanel.js +2 -2
  71. package/es/lowcode/painter/panel-section/StylePanel/StyleContext.js +1 -1
  72. package/es/lowcode/painter/panel-section/TableTopFilter.js +306 -0
  73. package/es/lowcode/painter/style/action-bind-modal.less +99 -0
  74. package/es/lowcode/painter/style/design.less +1 -1
  75. package/es/lowcode/painter/style/impexp.less +7 -0
  76. package/es/lowcode/painter/style/panel-attrs.less +43 -0
  77. package/es/lowcode/painter/style/panel.less +6 -37
  78. package/es/lowcode/painter/style/pop-confirm.less +9 -2
  79. package/es/lowcode/view/lc-components/Box/index.js +20 -4
  80. package/es/lowcode/view/lc-components/Box/index.less +0 -1
  81. package/es/lowcode/view/lc-components/Box/meta.json +1 -3
  82. package/es/lowcode/view/lc-components/Button/meta.json +1 -1
  83. package/es/lowcode/view/lc-components/CardList/meta.json +1 -2
  84. package/es/lowcode/view/lc-components/Dialog/meta.json +0 -1
  85. package/es/lowcode/view/lc-components/Drawer/index.js +16 -0
  86. package/es/lowcode/view/lc-components/Drawer/meta.json +0 -1
  87. package/es/lowcode/view/lc-components/Form/meta.json +1 -2
  88. package/es/lowcode/view/lc-components/Iframe/meta.json +1 -1
  89. package/es/lowcode/view/lc-components/ImEx/meta.json +1 -1
  90. package/es/lowcode/view/lc-components/Image/meta.json +1 -1
  91. package/es/lowcode/view/lc-components/JSX/meta.json +1 -1
  92. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +6 -9
  93. package/es/lowcode/view/lc-components/Layout/meta.json +1 -1
  94. package/es/lowcode/view/lc-components/Link/meta.json +1 -1
  95. package/es/lowcode/view/lc-components/Section/meta.json +1 -1
  96. package/es/lowcode/view/lc-components/Split/meta.json +1 -1
  97. package/es/lowcode/view/lc-components/Table/FunctionDesign.js +35 -2
  98. package/es/lowcode/view/lc-components/Table/components/TopFilter.js +96 -0
  99. package/es/lowcode/view/lc-components/Table/index.js +255 -35
  100. package/es/lowcode/view/lc-components/Table/meta.json +179 -32
  101. package/es/lowcode/view/lc-components/Tabs/meta.json +0 -1
  102. package/es/lowcode/view/lc-components/Text/meta.json +1 -1
  103. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +48 -3
  104. package/es/lowcode/view/lc-components/Tree/index.js +77 -6
  105. package/es/lowcode/view/lc-components/Tree/index.less +2 -0
  106. package/es/lowcode/view/lc-components/Tree/meta.json +97 -55
  107. package/es/lowcode/view/lc-components/Wrapper.js +2 -2
  108. package/lib/components/LDActions/index.js +138 -0
  109. package/lib/components/LDActions/index.less +48 -0
  110. package/lib/components/LdFormList/index.js +1 -1
  111. package/lib/components/LdGrid/index.js +8 -2
  112. package/lib/components/LdTree/index.js +31 -4
  113. package/lib/components/LdTree/index.less +6 -1
  114. package/lib/index.js +8 -0
  115. package/lib/locales/zh-CN.js +157 -0
  116. package/lib/lowcode/constants/api-url.js +71 -12
  117. package/lib/lowcode/constants/index.js +4 -2
  118. package/lib/lowcode/engine/factory/panel-item-factory/CheckboxStrategy.js +38 -0
  119. package/lib/lowcode/engine/factory/panel-item-factory/index.js +2 -0
  120. package/lib/lowcode/engine/meta/box.props.default.json +1 -3
  121. package/lib/lowcode/engine/meta/box.props.json +1 -3
  122. package/lib/lowcode/engine/meta/button.props.default.json +1 -1
  123. package/lib/lowcode/engine/meta/button.props.json +1 -1
  124. package/lib/lowcode/engine/meta/cardlist.props.default.json +0 -1
  125. package/lib/lowcode/engine/meta/cardlist.props.json +1 -2
  126. package/lib/lowcode/engine/meta/dialog.props.default.json +0 -1
  127. package/lib/lowcode/engine/meta/dialog.props.json +0 -1
  128. package/lib/lowcode/engine/meta/drawer.props.default.json +0 -1
  129. package/lib/lowcode/engine/meta/drawer.props.json +0 -1
  130. package/lib/lowcode/engine/meta/form.props.default.json +0 -1
  131. package/lib/lowcode/engine/meta/form.props.json +1 -2
  132. package/lib/lowcode/engine/meta/iframe.props.default.json +1 -1
  133. package/lib/lowcode/engine/meta/iframe.props.json +1 -1
  134. package/lib/lowcode/engine/meta/image.props.default.json +1 -1
  135. package/lib/lowcode/engine/meta/image.props.json +1 -1
  136. package/lib/lowcode/engine/meta/imex.props.default.json +1 -1
  137. package/lib/lowcode/engine/meta/imex.props.json +1 -1
  138. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +132 -26
  139. package/lib/lowcode/engine/meta/jsx.props.default.json +1 -1
  140. package/lib/lowcode/engine/meta/jsx.props.json +1 -1
  141. package/lib/lowcode/engine/meta/layout.props.default.json +1 -1
  142. package/lib/lowcode/engine/meta/layout.props.json +1 -1
  143. package/lib/lowcode/engine/meta/link.props.default.json +1 -1
  144. package/lib/lowcode/engine/meta/link.props.json +1 -1
  145. package/lib/lowcode/engine/meta/local/local.zh-cn.js +103 -0
  146. package/lib/lowcode/engine/meta/section.props.default.json +1 -1
  147. package/lib/lowcode/engine/meta/section.props.json +1 -1
  148. package/lib/lowcode/engine/meta/split.props.default.json +1 -1
  149. package/lib/lowcode/engine/meta/split.props.json +1 -1
  150. package/lib/lowcode/engine/meta/table.props.default.json +18 -2
  151. package/lib/lowcode/engine/meta/table.props.json +207 -32
  152. package/lib/lowcode/engine/meta/tabs.props.default.json +0 -1
  153. package/lib/lowcode/engine/meta/tabs.props.json +0 -1
  154. package/lib/lowcode/engine/meta/text.props.default.json +1 -1
  155. package/lib/lowcode/engine/meta/text.props.json +1 -1
  156. package/lib/lowcode/engine/meta/tree.props.default.json +9 -4
  157. package/lib/lowcode/engine/meta/tree.props.json +101 -55
  158. package/lib/lowcode/engine/provider/{ContextProvider.js → ContextProvider/index.js} +70 -40
  159. package/lib/lowcode/engine/tools/helper.js +31 -0
  160. package/lib/lowcode/engine/tools/usePromiseState.js +6 -5
  161. package/lib/lowcode/painter/Panel.js +48 -131
  162. package/lib/lowcode/painter/Ribbon.js +1 -1
  163. package/lib/lowcode/painter/components/ActionBindModal.js +188 -0
  164. package/lib/lowcode/painter/components/AdvancePanel.js +76 -0
  165. package/lib/lowcode/painter/components/AttrsPanel.js +142 -0
  166. package/lib/lowcode/painter/components/Collapse.js +12 -7
  167. package/lib/lowcode/painter/components/FieldSelector.js +52 -0
  168. package/lib/lowcode/painter/components/ListEditor.js +4 -2
  169. package/lib/lowcode/painter/components/PopConfirm.js +10 -3
  170. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +14 -2
  171. package/lib/lowcode/painter/components/code-editor/JSEditor.js +25 -14
  172. package/lib/lowcode/painter/components/code-editor/JsonEditor.js +48 -0
  173. package/lib/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/ActionEditor.js +10 -3
  174. package/lib/lowcode/painter/{components/actions-editor → panel-section/ActionsEditor}/index.js +35 -7
  175. package/lib/lowcode/painter/panel-section/ImpExp.js +98 -0
  176. package/lib/lowcode/painter/panel-section/JSEditor.js +56 -0
  177. package/lib/lowcode/painter/panel-section/StylePanel/MainPanel.js +2 -2
  178. package/lib/lowcode/painter/panel-section/StylePanel/StyleContext.js +1 -1
  179. package/lib/lowcode/painter/panel-section/TableTopFilter.js +314 -0
  180. package/lib/lowcode/painter/style/action-bind-modal.less +99 -0
  181. package/lib/lowcode/painter/style/design.less +1 -1
  182. package/lib/lowcode/painter/style/impexp.less +7 -0
  183. package/lib/lowcode/painter/style/panel-attrs.less +43 -0
  184. package/lib/lowcode/painter/style/panel.less +6 -37
  185. package/lib/lowcode/painter/style/pop-confirm.less +9 -2
  186. package/lib/lowcode/view/lc-components/Box/index.js +17 -2
  187. package/lib/lowcode/view/lc-components/Box/index.less +0 -1
  188. package/lib/lowcode/view/lc-components/Box/meta.json +1 -3
  189. package/lib/lowcode/view/lc-components/Button/meta.json +1 -1
  190. package/lib/lowcode/view/lc-components/CardList/meta.json +1 -2
  191. package/lib/lowcode/view/lc-components/Dialog/meta.json +0 -1
  192. package/lib/lowcode/view/lc-components/Drawer/index.js +16 -0
  193. package/lib/lowcode/view/lc-components/Drawer/meta.json +0 -1
  194. package/lib/lowcode/view/lc-components/Form/meta.json +1 -2
  195. package/lib/lowcode/view/lc-components/Iframe/meta.json +1 -1
  196. package/lib/lowcode/view/lc-components/ImEx/meta.json +1 -1
  197. package/lib/lowcode/view/lc-components/Image/meta.json +1 -1
  198. package/lib/lowcode/view/lc-components/JSX/meta.json +1 -1
  199. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +6 -9
  200. package/lib/lowcode/view/lc-components/Layout/meta.json +1 -1
  201. package/lib/lowcode/view/lc-components/Link/meta.json +1 -1
  202. package/lib/lowcode/view/lc-components/Section/meta.json +1 -1
  203. package/lib/lowcode/view/lc-components/Split/meta.json +1 -1
  204. package/lib/lowcode/view/lc-components/Table/FunctionDesign.js +37 -3
  205. package/lib/lowcode/view/lc-components/Table/components/TopFilter.js +104 -0
  206. package/lib/lowcode/view/lc-components/Table/index.js +255 -35
  207. package/lib/lowcode/view/lc-components/Table/meta.json +179 -32
  208. package/lib/lowcode/view/lc-components/Tabs/meta.json +0 -1
  209. package/lib/lowcode/view/lc-components/Text/meta.json +1 -1
  210. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +49 -3
  211. package/lib/lowcode/view/lc-components/Tree/index.js +77 -6
  212. package/lib/lowcode/view/lc-components/Tree/index.less +2 -0
  213. package/lib/lowcode/view/lc-components/Tree/meta.json +97 -55
  214. package/lib/lowcode/view/lc-components/Wrapper.js +2 -2
  215. package/package.json +10 -5
  216. package/es/lowcode/painter/panel-section/TableActions.js +0 -19
  217. package/lib/lowcode/painter/panel-section/TableActions.js +0 -26
@@ -14,7 +14,7 @@
14
14
  "disabled": true
15
15
  },
16
16
  {
17
- "key": "dateset",
17
+ "key": "dataset",
18
18
  "name": "首次数据自动加载",
19
19
  "desc": "选择系统中的可用树形数据集",
20
20
  "type": "_DataSetSelector"
@@ -85,7 +85,6 @@
85
85
  "type": "number"
86
86
  }
87
87
  ],
88
- "style": {},
89
88
  "advance": {
90
89
  "events": [
91
90
  {
@@ -27,6 +27,6 @@
27
27
  "default": true
28
28
  }
29
29
  ],
30
- "style": {},
30
+ "css": {},
31
31
  "advance": {}
32
32
  }
@@ -50,7 +50,7 @@
50
50
  "type": "string"
51
51
  }
52
52
  ],
53
- "style": {},
53
+ "css": {},
54
54
  "advance": {
55
55
  "events": [
56
56
  {
@@ -88,7 +88,7 @@
88
88
  "default": false
89
89
  }
90
90
  ],
91
- "style": {},
91
+ "css": {},
92
92
  "advance": {
93
93
  "events": [
94
94
  {
@@ -20,6 +20,6 @@
20
20
  "type": "_CodeEditor"
21
21
  }
22
22
  ],
23
- "style": {},
23
+ "css": {},
24
24
  "advance": {}
25
25
  }
@@ -15,8 +15,7 @@ var _utils = require("@luck-design-biz/base/utils");
15
15
  var _index = _interopRequireDefault(require("./index"));
16
16
  var _dataProcess = require("../../../engine/tools/dataProcess");
17
17
  var _boxPropsDefault = _interopRequireDefault(require("../../../engine/meta/box.props.default.json"));
18
- var _excluded = ["children", "context", "id", "columnRatio"],
19
- _excluded2 = ["style"];
18
+ var _excluded = ["children", "context", "id", "columnRatio"];
20
19
  var LayoutFunctionDesign = function LayoutFunctionDesign(_ref) {
21
20
  var children = _ref.children,
22
21
  context = _ref.context,
@@ -37,18 +36,16 @@ var LayoutFunctionDesign = function LayoutFunctionDesign(_ref) {
37
36
  var boxId = (_current$children = current.children) === null || _current$children === void 0 ? void 0 : _current$children[index];
38
37
  if (boxId) {
39
38
  (0, _dataProcess.modifyById)(cloneData, current.children[index], (0, _objectSpread2.default)((0, _objectSpread2.default)({}, current[boxId].props), {}, {
40
- style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, current[boxId].props.style), {}, {
39
+ style: {
41
40
  gridColumn: 'span ' + ratio
42
- })
41
+ }
43
42
  }));
44
43
  } else {
45
44
  boxId = "box_".concat((0, _utils.suid)());
46
- var style = _boxPropsDefault.default.style,
47
- json = (0, _objectWithoutProperties2.default)(_boxPropsDefault.default, _excluded2);
48
- (0, _dataProcess.add)(cloneData, id, boxId, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, json), {}, {
49
- style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, style), {}, {
45
+ (0, _dataProcess.add)(cloneData, id, boxId, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _boxPropsDefault.default), {}, {
46
+ style: {
50
47
  gridColumn: 'span ' + ratio
51
- })
48
+ }
52
49
  }));
53
50
  }
54
51
  });
@@ -88,7 +88,7 @@
88
88
  "default": 16
89
89
  }
90
90
  ],
91
- "style": {},
91
+ "css": {},
92
92
  "advance": {
93
93
  "events": [
94
94
  {
@@ -86,7 +86,7 @@
86
86
  "default": "hidden"
87
87
  }
88
88
  ],
89
- "style": {},
89
+ "css": {},
90
90
  "advance": {
91
91
  "events": [
92
92
  {
@@ -88,7 +88,7 @@
88
88
  "default": true
89
89
  }
90
90
  ],
91
- "style": {},
91
+ "css": {},
92
92
  "advance": {
93
93
  "events": [
94
94
  {
@@ -46,7 +46,7 @@
46
46
  "default": "1:3"
47
47
  }
48
48
  ],
49
- "style": {},
49
+ "css": {},
50
50
  "advance": {
51
51
  "events": [
52
52
  {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -8,18 +9,51 @@ exports.default = void 0;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
  var _index = _interopRequireDefault(require("./index"));
14
+ var _ahooks = require("ahooks");
12
15
  var _classnames = _interopRequireDefault(require("classnames"));
13
16
  var _index2 = require("../../../constants/index");
14
- var _excluded = ["children", "className", "suppressPreset"];
17
+ var _excluded = ["children", "className", "suppressPreset", "renderIndex", "zebra", "actions"];
15
18
  var FunctionDesign = function FunctionDesign(_ref) {
16
19
  var children = _ref.children,
17
20
  className = _ref.className,
18
21
  suppressPreset = _ref.suppressPreset,
22
+ renderIndex = _ref.renderIndex,
23
+ zebra = _ref.zebra,
24
+ actions = _ref.actions,
19
25
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
20
- return /*#__PURE__*/React.createElement(_index.default, (0, _extends2.default)({
26
+ var gridRef = (0, _react.useRef)(null);
27
+ var latestZebra = (0, _ahooks.useLatest)(zebra);
28
+ var latestActions = (0, _ahooks.useLatest)(actions);
29
+ var handleGridReady = (0, _ahooks.useMemoizedFn)(function (grid) {
30
+ gridRef.current = grid;
31
+ });
32
+ (0, _ahooks.useUpdateEffect)(function () {
33
+ var itemsToUpdate = [];
34
+ gridRef.current.api.forEachNode(function (rowNode) {
35
+ if (rowNode.rowIndex % 2 === 0) itemsToUpdate.push(rowNode.data);
36
+ });
37
+ gridRef.current.api.updateRowData({
38
+ update: itemsToUpdate
39
+ });
40
+ }, [zebra]);
41
+ (0, _ahooks.useUpdateEffect)(function () {
42
+ gridRef.current.api.refreshCells({
43
+ columns: ['luck-actions'],
44
+ force: true
45
+ });
46
+ }, [actions]);
47
+ (0, _ahooks.useUpdateEffect)(function () {
48
+ gridRef.current.columnApi.setColumnVisible('luck-index', renderIndex);
49
+ }, [renderIndex]);
50
+ return /*#__PURE__*/_react.default.createElement(_index.default, (0, _extends2.default)({
21
51
  className: (0, _classnames.default)(_index2.CELL_CLASS_NAME, (0, _defineProperty2.default)({}, className, !!className)),
22
- suppressPreset: true
52
+ suppressPreset: true,
53
+ renderIndex: renderIndex,
54
+ zebra: latestZebra,
55
+ actions: latestActions,
56
+ onGridReady: handleGridReady
23
57
  }, props), children);
24
58
  };
25
59
  var _default = exports.default = FunctionDesign;
@@ -0,0 +1,104 @@
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 _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _ahooks = require("ahooks");
14
+ var _antd = require("luck-design/antd");
15
+ var _lodash = require("lodash");
16
+ function mockDict() {
17
+ return new Promise(function (resolve) {
18
+ setTimeout(function () {
19
+ resolve([{
20
+ value: '1',
21
+ label: '启用'
22
+ }, {
23
+ value: '2',
24
+ label: '未启用'
25
+ }, {
26
+ value: '0',
27
+ label: '未知'
28
+ }]);
29
+ }, 600);
30
+ });
31
+ }
32
+ function mockDApi() {
33
+ return new Promise(function (resolve) {
34
+ setTimeout(function () {
35
+ resolve({
36
+ options: [{
37
+ value: '2023',
38
+ label: '2023年'
39
+ }, {
40
+ value: '2024',
41
+ label: '2024年'
42
+ }, {
43
+ value: '2024',
44
+ label: '2025年'
45
+ }],
46
+ field: 'planYear'
47
+ });
48
+ }, 600);
49
+ });
50
+ }
51
+ var TopFilter = function TopFilter(_ref) {
52
+ var filter = _ref.filter;
53
+ var _useState = (0, _react.useState)((0, _lodash.isArray)(filter) ? filter : []),
54
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
+ optons = _useState2[0],
56
+ setOptions = _useState2[1];
57
+ (0, _ahooks.useAsyncEffect)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
58
+ var _yield$mockDApi, options, field;
59
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
60
+ while (1) switch (_context.prev = _context.next) {
61
+ case 0:
62
+ if (!(0, _lodash.isString)(filter)) {
63
+ _context.next = 9;
64
+ break;
65
+ }
66
+ _context.next = 3;
67
+ return mockDApi();
68
+ case 3:
69
+ _yield$mockDApi = _context.sent;
70
+ options = _yield$mockDApi.options;
71
+ field = _yield$mockDApi.field;
72
+ setOptions(options);
73
+ _context.next = 19;
74
+ break;
75
+ case 9:
76
+ if (!(0, _lodash.isArray)(filter)) {
77
+ _context.next = 13;
78
+ break;
79
+ }
80
+ setOptions(filter);
81
+ _context.next = 19;
82
+ break;
83
+ case 13:
84
+ if (!(filter.key && filter.field)) {
85
+ _context.next = 19;
86
+ break;
87
+ }
88
+ _context.t0 = setOptions;
89
+ _context.next = 17;
90
+ return mockDict();
91
+ case 17:
92
+ _context.t1 = _context.sent;
93
+ (0, _context.t0)(_context.t1);
94
+ case 19:
95
+ case "end":
96
+ return _context.stop();
97
+ }
98
+ }, _callee);
99
+ })), [filter]);
100
+ return /*#__PURE__*/_react.default.createElement(_antd.Segmented, {
101
+ options: optons
102
+ });
103
+ };
104
+ var _default = exports.default = TopFilter;
@@ -1,23 +1,23 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
11
  var _react = _interopRequireWildcard(require("react"));
13
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
13
  var _ahooks = require("ahooks");
15
- var _LdGrid = _interopRequireDefault(require("../../../../components/LdGrid"));
14
+ var _lodash = require("lodash");
16
15
  var _classnames = _interopRequireDefault(require("classnames"));
17
16
  var _Wrapper = _interopRequireDefault(require("../Wrapper"));
17
+ var _index = require("../../../../index");
18
+ var _TopFilter = _interopRequireDefault(require("./components/TopFilter"));
18
19
  var _helper = require("../../../engine/tools/helper");
19
20
  var _tablePropsDefault = _interopRequireDefault(require("../../../engine/meta/table.props.default.json"));
20
- var _excluded = ["context", "id", "className", "dataset", "width", "height", "bordered", "zebra", "autoLoad", "readOnly", "suppressActions", "actionsColumnWidth", "actions", "pagination", "pageSize", "showSizeChanger", "showQuickJumper", "hideOnSinglePage", "paginationSimple", "suppressPreset"];
21
21
  var LCTable = function LCTable(_ref) {
22
22
  var context = _ref.context,
23
23
  id = _ref.id,
@@ -29,6 +29,7 @@ var LCTable = function LCTable(_ref) {
29
29
  zebra = _ref.zebra,
30
30
  autoLoad = _ref.autoLoad,
31
31
  readOnly = _ref.readOnly,
32
+ renderIndex = _ref.renderIndex,
32
33
  suppressActions = _ref.suppressActions,
33
34
  actionsColumnWidth = _ref.actionsColumnWidth,
34
35
  actions = _ref.actions,
@@ -39,9 +40,25 @@ var LCTable = function LCTable(_ref) {
39
40
  hideOnSinglePage = _ref.hideOnSinglePage,
40
41
  paginationSimple = _ref.paginationSimple,
41
42
  suppressPreset = _ref.suppressPreset,
42
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
43
+ impexp = _ref.impexp,
44
+ topActionGroup = _ref.topActionGroup,
45
+ topFilter = _ref.topFilter,
46
+ rowSelection = _ref.rowSelection,
47
+ suppressRowSelectionPagination = _ref.suppressRowSelectionPagination,
48
+ rowSelectionMode = _ref.rowSelectionMode,
49
+ defaultRowSelectedCode = _ref.defaultRowSelectedCode,
50
+ rowSelectableCode = _ref.rowSelectableCode,
51
+ bantchActions = _ref.bantchActions,
52
+ formatDataSource = _ref.formatDataSource,
53
+ getDataPath = _ref.getDataPath,
54
+ columnsRewrite = _ref.columnsRewrite,
55
+ columnsReset = _ref.columnsReset,
56
+ modelParams = _ref.modelParams,
57
+ onGridReady = _ref.onGridReady;
43
58
  var ref = (0, _react.useRef)();
44
- var latestZebra = (0, _ahooks.useLatest)(zebra);
59
+ var handleBatchOperationsClick = (0, _ahooks.useMemoizedFn)(function (key, selectedRows, action) {
60
+ console.log('handleBatchOperationsClick', key, selectedRows, action);
61
+ });
45
62
  var _pagination = (0, _ahooks.useCreation)(function () {
46
63
  return {
47
64
  isFlow: !pagination,
@@ -59,44 +76,119 @@ var LCTable = function LCTable(_ref) {
59
76
  return {
60
77
  actionsColumn: suppressActions ? null : {
61
78
  width: actionsColumnWidth,
62
- maxCount: actions.max,
63
- type: actions.type,
79
+ maxCount: (actions.current || actions).max,
80
+ type: (actions.current || actions).type,
64
81
  getActions: function getActions() {
65
- return actions.todoList.map(function (_action) {
82
+ return (actions.current || actions).todoList.map(function (action) {
66
83
  return {
67
- title: _action.name,
68
- action: function action(d) {
69
- console.log('doAction', d, _action);
70
- },
71
- resource: _action.serial,
72
- style: _action.riskLevel === 'default' ? null : {
84
+ title: action.name,
85
+ action: function (_action) {
86
+ function action(_x, _x2, _x3) {
87
+ return _action.apply(this, arguments);
88
+ }
89
+ action.toString = function () {
90
+ return _action.toString();
91
+ };
92
+ return action;
93
+ }(function (d, i, p) {
94
+ console.log('doAction', d, action);
95
+ }),
96
+ resource: action.serial,
97
+ style: action.riskLevel === 'default' ? null : {
73
98
  color: {
74
99
  danger: '#ff7875',
75
- destroy: '#820014'
76
- }[_action.riskLevel]
100
+ destroy: '#ff4d4f'
101
+ }[action.riskLevel]
77
102
  }
78
103
  };
79
104
  });
80
105
  }
81
106
  }
82
107
  };
83
- }, [suppressActions, actionsColumnWidth, actions]);
84
- (0, _ahooks.useUpdateEffect)(function () {
85
- var itemsToUpdate = [];
86
- ref.current.gridApi.api.forEachNode(function (rowNode) {
87
- if (rowNode.rowIndex % 2 === 0) itemsToUpdate.push(rowNode.data);
88
- });
89
- ref.current.gridApi.api.updateRowData({
90
- update: itemsToUpdate
91
- });
92
- }, [zebra]);
108
+ }, [suppressActions, actionsColumnWidth, actions.current || actions]);
109
+ var _rowSelection = (0, _ahooks.useCreation)(function () {
110
+ return rowSelection ? {
111
+ rowSelection: {
112
+ mode: rowSelectionMode,
113
+ suppressPagination: suppressRowSelectionPagination,
114
+ isDefaultSelected: function isDefaultSelected(d, n) {
115
+ if ((0, _lodash.isNil)(defaultRowSelectedCode)) return false;
116
+ return (0, _helper.executeCode)(context, defaultRowSelectedCode, ['data', 'node'], d, n);
117
+ },
118
+ isRowSelectable: function isRowSelectable(d, n) {
119
+ if ((0, _lodash.isNil)(rowSelectableCode)) return true;
120
+ return (0, _helper.executeCode)(context, rowSelectableCode, ['data', 'node'], d, n);
121
+ }
122
+ }
123
+ } : false;
124
+ }, [rowSelection, suppressRowSelectionPagination, rowSelectionMode, defaultRowSelectedCode, rowSelectableCode]);
125
+ var _export = (0, _ahooks.useCreation)(function () {
126
+ return {
127
+ enableExportAll: !!impexp.export,
128
+ apiUrl: (0, _lodash.isString)(impexp.export) ? impexp.export : void 0
129
+ };
130
+ }, [impexp.export]);
131
+ var _batchActions = (0, _ahooks.useCreation)(function () {
132
+ return {
133
+ batchOperations: bantchActions.todoList.map(function (action) {
134
+ return {
135
+ key: action.id,
136
+ title: action.name,
137
+ resource: action.serial
138
+ };
139
+ }),
140
+ onBatchOperationsClick: function onBatchOperationsClick(key, selectedRows) {
141
+ return handleBatchOperationsClick(key, selectedRows, action);
142
+ }
143
+ };
144
+ }, [bantchActions.todoList]);
145
+ var _others = (0, _ahooks.useCreation)(function () {
146
+ var temp = {};
147
+ if (!(0, _lodash.isNil)(formatDataSource)) {
148
+ temp.formatDataSource = function (list, detail) {
149
+ return (0, _helper.executeCode)(context, formatDataSource, ['list', 'detail'], list, detail);
150
+ };
151
+ }
152
+ if (!(0, _lodash.isNil)(getDataPath)) {
153
+ temp.getDataPath = function (data) {
154
+ return (0, _helper.executeCode)(context, getDataPath, ['data'], data);
155
+ };
156
+ }
157
+ if (!(0, _lodash.isNil)(columnsRewrite)) {
158
+ temp.columnsRewrite = function (cols) {
159
+ return (0, _helper.executeCode)(context, columnsRewrite, ['columns'], cols);
160
+ };
161
+ }
162
+ if (!(0, _lodash.isNil)(columnsReset)) {
163
+ temp.columnsReset = function (cols) {
164
+ return (0, _helper.executeCode)(context, columnsReset, ['columns'], cols);
165
+ };
166
+ }
167
+ if (!(0, _lodash.isNil)(modelParams)) {
168
+ temp.overModel = (0, _helper.executeCode)(context, modelParams);
169
+ }
170
+ return temp;
171
+ }, [formatDataSource, getDataPath, columnsRewrite, columnsReset, modelParams]);
93
172
  var getTargetDom = (0, _ahooks.useMemoizedFn)(function () {
94
173
  return ref.current.wrapperRef.current;
95
174
  });
175
+ var renderFunctionArea = (0, _ahooks.useMemoizedFn)(function () {
176
+ var _topActionGroup$todoL;
177
+ return !!(topActionGroup !== null && topActionGroup !== void 0 && (_topActionGroup$todoL = topActionGroup.todoList) !== null && _topActionGroup$todoL !== void 0 && _topActionGroup$todoL.length) ? /*#__PURE__*/_react.default.createElement(_index.LDActions, (0, _extends2.default)({}, topActionGroup, {
178
+ doAction: function doAction(action) {
179
+ return context.doAction(action);
180
+ }
181
+ })) : null;
182
+ });
183
+ var renderFilterArea = (0, _ahooks.useMemoizedFn)(function () {
184
+ return topFilter ? /*#__PURE__*/_react.default.createElement(_TopFilter.default, {
185
+ filter: topFilter
186
+ }) : null;
187
+ });
96
188
  return /*#__PURE__*/_react.default.createElement(_Wrapper.default, {
97
189
  id: id,
98
190
  getTargetDom: getTargetDom
99
- }, /*#__PURE__*/_react.default.createElement(_LdGrid.default, (0, _extends2.default)({
191
+ }, /*#__PURE__*/_react.default.createElement(_index.LdGrid, (0, _extends2.default)({
100
192
  ref: ref,
101
193
  width: width,
102
194
  height: height,
@@ -106,17 +198,47 @@ var LCTable = function LCTable(_ref) {
106
198
  ldId: id,
107
199
  dataSetKey: dataset,
108
200
  readOnly: readOnly,
201
+ renderIndex: renderIndex,
109
202
  suppressInit: !autoLoad,
110
203
  getRowStyle: function getRowStyle(params) {
111
- return latestZebra.current && params.node.rowIndex % 2 === 0 ? {
112
- 'background-color': latestZebra.current
204
+ return (zebra.current || zebra) && params.node.rowIndex % 2 === 0 ? {
205
+ 'background-color': zebra.current || zebra
113
206
  } : {
114
207
  'background-color': '#fff'
115
208
  };
116
209
  },
117
210
  suppressPreset: suppressPreset
118
- // operates={resources}
119
- }, _pagination, _actionsColumn)));
211
+ }, _pagination, _actionsColumn, _rowSelection, _export, _batchActions, _others, {
212
+ onGridReady: onGridReady,
213
+ renderFunctionArea: renderFunctionArea,
214
+ renderFilterArea: renderFilterArea
215
+ /* ----------------------------其他可用配置开始 !!!不使用请删除!!!------------------------------ */
216
+ /**
217
+ * @description 初始化后的回调
218
+ * @require false
219
+ * @default -
220
+ */
221
+ // afterInit={(res, dispatch, props)=>console.log(res, dispatch, props)}
222
+ /**
223
+ * @description 获取过滤条件
224
+ * @require false
225
+ * @default -
226
+ */
227
+ // readFilter={(params, filters)=>{}}
228
+ /**
229
+ * @description 复写model参数
230
+ * @require false
231
+ * @default -
232
+ */
233
+ // overModel={{ unclosableSet: ['ilinkno'] }}
234
+ /**
235
+ * @description 读取数据源后的回调,返回所有接口中所有
236
+ * @require false
237
+ * @default -
238
+ */
239
+ // afterQuery={(res) => console.log('afterQuery', res)}
240
+ /* ----------------------------其他可用配置结束 !!!不使用请删除!!!------------------------------ */
241
+ })));
120
242
  };
121
243
  LCTable.propTypes = {
122
244
  /**
@@ -244,8 +366,106 @@ LCTable.propTypes = {
244
366
  * @name 操作项
245
367
  * @type _TableActions
246
368
  * @groupNext actionsColumn
369
+ * @default {"display": "text", "max": 2, "moreText": "更多行为", "todoList": []}
370
+ */
371
+ actions: _propTypes.default.shape({
372
+ display: _propTypes.default.oneOf(['text', 'button']),
373
+ max: _propTypes.default.number,
374
+ moreText: _propTypes.default.string,
375
+ todoList: _propTypes.default.array
376
+ }),
377
+ /**
378
+ * @name 顶部操作
379
+ * @type _ActionGroup
380
+ * @default {"display": "button", "max": 2, "moreText": "操作", "todoList": []}
381
+ */
382
+ topActionGroup: _propTypes.default.shape({
383
+ display: _propTypes.default.oneOf(['text', 'button']),
384
+ max: _propTypes.default.number,
385
+ moreText: _propTypes.default.string,
386
+ todoList: _propTypes.default.array
387
+ }),
388
+ /**
389
+ * @name 顶部过滤器
390
+ * @type _TableTopFilter
391
+ */
392
+ topFilter: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.array, _propTypes.default.shape({
393
+ options: _propTypes.default.array.isRequired,
394
+ field: _propTypes.default.string.isRequired
395
+ })]),
396
+ /**
397
+ * @name 开启行选择器
398
+ * @type boolean
399
+ * @default false
400
+ */
401
+ rowSelection: _propTypes.default.bool,
402
+ /**
403
+ * @name 停用分页多选
404
+ * @type boolean
405
+ * @default false
406
+ */
407
+ suppressRowSelectionPagination: _propTypes.default.bool,
408
+ /**
409
+ * @name 选择器模式
410
+ * @type segmented
411
+ * @options [{label: '复选', value: 'multiple'}, {label: '单选', value: 'single'}]
412
+ * @default 'multiple'
413
+ */
414
+ rowSelectionMode: _propTypes.default.oneOf(['single', 'multiple']),
415
+ /**
416
+ * @name 默认选中
417
+ * @type _JSEditor
418
+ * @default "function getDefaultRowSelected(data, node, ctx) { \n return false; \n}"
419
+ */
420
+ defaultRowSelectedCode: _propTypes.default.string,
421
+ /**
422
+ * @name 行是否可选
423
+ * @type _JSEditor
424
+ * @default "function getRowSelectable(data, node, ctx) { \n return true; \n}"
425
+ */
426
+ rowSelectableCode: _propTypes.default.string,
427
+ /**
428
+ * @name 导入导出
429
+ * @type _ImpExp
430
+ * @default { "export": true }
431
+ */
432
+ impexp: _propTypes.default.shape({
433
+ import: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),
434
+ export: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string])
435
+ }),
436
+ /**
437
+ * @name 批量操作
438
+ * @type _BatchActions
439
+ * @default { "todoList": [] }
440
+ */
441
+ bantchActions: _propTypes.default.shape({
442
+ todoList: _propTypes.default.array
443
+ }),
444
+ /**
445
+ * @name 格式化数据
446
+ * @type _JSEditor
447
+ */
448
+ formatDataSource: _propTypes.default.string,
449
+ /**
450
+ * @name 构建树层级
451
+ * @type _JSEditor
452
+ */
453
+ getDataPath: _propTypes.default.string,
454
+ /**
455
+ * @name 重写表格列
456
+ * @type _JSEditor
457
+ */
458
+ columnsRewrite: _propTypes.default.string,
459
+ /**
460
+ * @name 重置表格列
461
+ * @type _JSEditor
462
+ */
463
+ columnsReset: _propTypes.default.string,
464
+ /**
465
+ * @name model参数
466
+ * @type _JSEditor
247
467
  */
248
- actions: _propTypes.default.array
468
+ modelParams: _propTypes.default.string
249
469
  };
250
- LCTable.defaultProps = (0, _helper.omitBadProps)(_tablePropsDefault.default, ['actionsColumn']);
470
+ LCTable.defaultProps = (0, _helper.omitBadProps)(_tablePropsDefault.default);
251
471
  var _default = exports.default = LCTable;