@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
@@ -1,20 +1,91 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- var _excluded = ["id"];
4
+ var _excluded = ["context", "id", "className", "dataset", "width", "height", "showLine", "defaultExpandDeep", "editable"];
3
5
  import React, { useRef } from 'react';
6
+ import PropTypes from 'prop-types';
4
7
  import { useMemoizedFn } from 'ahooks';
8
+ import classNames from 'classnames';
5
9
  import Wrapper from "../Wrapper";
10
+ import { LdTree } from "../../../../index";
11
+ import { RUNTIME } from "../../../constants";
12
+ import { omitBadProps } from "../../../engine/tools/helper";
13
+ import defaultMeta from "../../../engine/meta/tree.props.default.json";
14
+ import styles from "./index.less";
6
15
  var LCTree = function LCTree(_ref) {
7
- var id = _ref.id,
16
+ var context = _ref.context,
17
+ id = _ref.id,
18
+ className = _ref.className,
19
+ dataset = _ref.dataset,
20
+ width = _ref.width,
21
+ height = _ref.height,
22
+ showLine = _ref.showLine,
23
+ defaultExpandDeep = _ref.defaultExpandDeep,
24
+ editable = _ref.editable,
8
25
  props = _objectWithoutProperties(_ref, _excluded);
26
+ var boxRef = useRef();
9
27
  var ref = useRef();
10
28
  var getTargetDom = useMemoizedFn(function () {
11
- return ref.current;
29
+ return boxRef.current;
12
30
  });
13
31
  return /*#__PURE__*/React.createElement(Wrapper, {
14
32
  id: id,
15
33
  getTargetDom: getTargetDom
16
- }, /*#__PURE__*/React.createElement("div", {
17
- ref: ref
18
- }, "LCTree"));
34
+ }, /*#__PURE__*/React.createElement(LdTree, _extends({
35
+ ref: ref,
36
+ boxRef: boxRef,
37
+ width: width,
38
+ height: height,
39
+ id: id,
40
+ ldId: id,
41
+ className: classNames(_defineProperty(_defineProperty({}, styles['runtime-tree'], context.runtime === RUNTIME.DESIGN), className, !!className)),
42
+ dataSetKey: dataset,
43
+ showLine: showLine,
44
+ readOnly: !editable,
45
+ defaultExpandDeep: defaultExpandDeep === 'all' ? defaultExpandDeep : Number(defaultExpandDeep) // 可以为数字或者“all”
46
+ }, props)));
47
+ };
48
+ LCTree.propTypes = {
49
+ /**
50
+ * @name 唯一标识
51
+ * @type string
52
+ * @disabled true
53
+ */
54
+ id: PropTypes.string.isRequired,
55
+ /**
56
+ * @name 数据集
57
+ * @type _DataSetSelector
58
+ */
59
+ dataset: PropTypes.string,
60
+ /**
61
+ * @name 支持编辑
62
+ * @type switch
63
+ * @default true
64
+ */
65
+ editable: PropTypes.bool,
66
+ /**
67
+ * @name 宽度
68
+ * @type _WidthHeight
69
+ * @default 100%
70
+ * @group styleSetting
71
+ */
72
+ width: PropTypes.string,
73
+ /**
74
+ * @name 高度
75
+ * @type _WidthHeight
76
+ * @default 100%
77
+ * @group styleSetting
78
+ */
79
+ height: PropTypes.string,
80
+ /**
81
+ * @name 操作项
82
+ * @type _TableActions
83
+ * @groupNext actionsColumn
84
+ * @default { "todoList": []}
85
+ */
86
+ actions: PropTypes.shape({
87
+ todoList: PropTypes.array
88
+ })
19
89
  };
90
+ LCTree.defaultProps = omitBadProps(defaultMeta);
20
91
  export default LCTree;
@@ -0,0 +1,2 @@
1
+ .runtime-tree{
2
+ }
@@ -14,100 +14,142 @@
14
14
  "disabled": true
15
15
  },
16
16
  {
17
- "key": "dateset",
17
+ "key": "dataset",
18
18
  "name": "数据集",
19
19
  "desc": "选择系统中的可用树形数据集",
20
20
  "type": "_DataSetSelector"
21
21
  },
22
22
  {
23
- "key": "showLine",
24
- "name": "显示线",
25
- "desc": "是否显示树组件的连接线",
26
- "type": "boolean",
27
- "default": false
23
+ "key": "title",
24
+ "name": "标题",
25
+ "desc": "头部标题",
26
+ "type": "string"
27
+ },
28
+ {
29
+ "key": "styleSetting",
30
+ "name": "风格和样式",
31
+ "type": "group",
32
+ "props": [
33
+ {
34
+ "key": "width",
35
+ "name": "宽度",
36
+ "type": "_WidthHeight",
37
+ "default": "100%"
38
+ },
39
+ {
40
+ "key": "height",
41
+ "name": "高度",
42
+ "type": "_WidthHeight",
43
+ "default": "100%"
44
+ },
45
+ {
46
+ "key": "showLine",
47
+ "name": "显示线",
48
+ "desc": "是否显示树组件的连接线",
49
+ "type": "switch",
50
+ "default": false
51
+ },
52
+ {
53
+ "key": "showIcon",
54
+ "name": "显示图标",
55
+ "desc": "是否显示树组件的图标",
56
+ "type": "switch",
57
+ "default": true
58
+ },
59
+ {
60
+ "key": "defaultExpandDeep",
61
+ "name": "默认展开层级",
62
+ "desc": "默认展开多少层级",
63
+ "type": "select",
64
+ "options": [
65
+ {
66
+ "label": "不展开",
67
+ "value": "0"
68
+ },
69
+ {
70
+ "label": "1",
71
+ "value": "1"
72
+ },
73
+ {
74
+ "label": "2",
75
+ "value": "2"
76
+ },
77
+ {
78
+ "label": "3",
79
+ "value": "3"
80
+ },
81
+ {
82
+ "label": "4",
83
+ "value": "4"
84
+ },
85
+ {
86
+ "label": "全部",
87
+ "value": "all"
88
+ }
89
+ ],
90
+ "default": "0"
91
+ }
92
+ ]
28
93
  },
29
94
  {
30
95
  "key": "lazyLoad",
31
96
  "name": "懒加载",
32
97
  "desc": "是否树形组件懒加载",
33
- "type": "boolean",
98
+ "type": "switch",
34
99
  "default": false
35
100
  },
36
101
  {
37
102
  "key": "editable",
38
103
  "name": "支持编辑",
39
104
  "desc": "是否支持编辑树",
40
- "type": "boolean",
41
- "default": false
105
+ "type": "switch",
106
+ "default": true
42
107
  },
43
108
  {
44
109
  "key": "draggable",
45
110
  "name": "支持拖拽",
46
111
  "desc": "是否支持拖拽",
47
- "type": "boolean",
48
- "default": false
49
- },
50
- {
51
- "key": "defaultExpandDeep",
52
- "name": "默认展开层级",
53
- "desc": "默认展开多少层级",
54
- "type": "select",
55
- "options": [
56
- {
57
- "label": "1",
58
- "value": "1"
59
- },
60
- {
61
- "label": "2",
62
- "value": "2"
63
- },
64
- {
65
- "label": "3",
66
- "value": "3"
67
- },
68
- {
69
- "label": "4",
70
- "value": "4"
71
- },
72
- {
73
- "label": "5",
74
- "value": "5"
75
- },
76
- {
77
- "label": "全部",
78
- "value": "all"
79
- }
80
- ],
81
- "default": 1
82
- },
83
- {
84
- "key": "rowKey",
85
- "name": "数据主键key",
86
- "desc": "数据主键",
87
- "type": "string"
112
+ "type": "switch",
113
+ "default": true
88
114
  },
89
115
  {
90
116
  "key": "actions",
91
117
  "name": "操作项",
92
118
  "desc": "单行操作项",
93
- "type": "_ActionSelector"
119
+ "type": "group",
120
+ "default": true,
121
+ "next": {
122
+ "name": "操作列",
123
+ "props": [
124
+ {
125
+ "key": "actions",
126
+ "name": "表格操作项",
127
+ "type": "_ActionsEditor",
128
+ "default": { "todoList": [] },
129
+ "suppressDisplay": true,
130
+ "suppressMax": true,
131
+ "suppressMore": true,
132
+ "wrapper": "collapse",
133
+ "wrapperProps": { "suppressIcon": true }
134
+ }
135
+ ]
136
+ }
94
137
  },
95
138
  {
96
139
  "key": "doubleClick",
97
140
  "name": "开启双击事件",
98
141
  "desc": "是否开启双击事件(默认双击收缩节点)",
99
- "type": "boolean",
142
+ "type": "switch",
100
143
  "default": true
101
144
  },
102
145
  {
103
146
  "key": "multiple",
104
147
  "name": "多选",
105
148
  "desc": "是否支持多选",
106
- "type": "boolean",
149
+ "type": "switch",
107
150
  "default": false
108
151
  }
109
152
  ],
110
- "style": {},
111
153
  "advance": {
112
154
  "events": [
113
155
  {
@@ -150,7 +192,7 @@
150
192
  "key": "onDoubleClick",
151
193
  "name": "自定义双击事件",
152
194
  "desc": "自定义双击事件,默认为收缩节点",
153
- "func": "(rowData)=>{\n\t\n}"
195
+ "func": "(e, rowData, doubleClickFunc)=>{\n\t\n}"
154
196
  }
155
197
  ]
156
198
  }
@@ -28,7 +28,7 @@ var LCWrapper = function LCWrapper(_ref) {
28
28
  dom.setAttribute('id', id);
29
29
  dom.classList.add(CELL_CLASS_NAME);
30
30
  }
31
- context.register(id, new Proxy({
31
+ context._register(id, new Proxy({
32
32
  dom: dom
33
33
  }, {
34
34
  get: function get(target, property, receiver) {
@@ -43,7 +43,7 @@ var LCWrapper = function LCWrapper(_ref) {
43
43
  });
44
44
  });
45
45
  return function () {
46
- context.unregister(id);
46
+ context._unregister(id);
47
47
  context.$publisher(context.topics.COMPONENT_UNMOUNT, {
48
48
  id: id
49
49
  });
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _ahooks = require("ahooks");
16
+ var _base = require("@luck-design-biz/base");
17
+ var _antd = require("luck-design/antd");
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+ var _lodash = require("lodash");
20
+ var _ldComBuild = require("../../helper/ldComBuild");
21
+ var _index = _interopRequireDefault(require("./index.less"));
22
+ var _excluded = ["children", "display", "action", "className", "onClick"],
23
+ _excluded2 = ["max", "display", "todoList", "className", "moreText", "doAction"];
24
+ var DisplayComp = function DisplayComp(_ref) {
25
+ var children = _ref.children,
26
+ display = _ref.display,
27
+ action = _ref.action,
28
+ className = _ref.className,
29
+ onClick = _ref.onClick,
30
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
31
+ if (display === 'text') {
32
+ return /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({}, props, {
33
+ className: (0, _classnames.default)(_index.default[action.riskLevel], (0, _defineProperty2.default)((0, _defineProperty2.default)({}, className, !!className), _index.default.disabled, action.serialEffect === 'disable')),
34
+ onClick: onClick
35
+ }), children);
36
+ }
37
+ return /*#__PURE__*/_react.default.createElement(_antd.Button, (0, _extends2.default)({}, props, {
38
+ disabled: action.serialEffect === 'disable',
39
+ className: (0, _classnames.default)(_index.default[action.riskLevel], (0, _defineProperty2.default)({}, className, !!className)),
40
+ onClick: onClick
41
+ }), children);
42
+ };
43
+ var LDActions = function LDActions(_ref2) {
44
+ var max = _ref2.max,
45
+ display = _ref2.display,
46
+ todoList = _ref2.todoList,
47
+ className = _ref2.className,
48
+ _ref2$moreText = _ref2.moreText,
49
+ moreText = _ref2$moreText === void 0 ? '更多行为' : _ref2$moreText,
50
+ doAction = _ref2.doAction,
51
+ props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
52
+ var resources = (0, _ldComBuild.getResources)();
53
+ var handleClick = (0, _ahooks.useMemoizedFn)(function (action) {
54
+ if (action.riskLevel === 'danger') {
55
+ _base.Modal.confirm({
56
+ title: "\u786E\u8BA4\u6267\u884C".concat(action.name, "\u884C\u4E3A\u64CD\u4F5C\u5417\uFF1F"),
57
+ onOk: function onOk() {
58
+ return doAction(action);
59
+ }
60
+ });
61
+ } else if (action.riskLevel === 'destroy') {
62
+ (0, _base.recheck)({
63
+ title: "\u786E\u8BA4\u6267\u884C".concat(action.name, "\u884C\u4E3A\u64CD\u4F5C\u5417\uFF1F"),
64
+ checkWords: "\u6267\u884C".concat(action.name),
65
+ onOk: function onOk() {
66
+ return doAction(action);
67
+ }
68
+ });
69
+ } else {
70
+ doAction(action);
71
+ }
72
+ });
73
+ var actionMap = (0, _ahooks.useCreation)(function () {
74
+ return (0, _lodash.reduce)(todoList, function (ret, action, index) {
75
+ ret[action.serial] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, action), {}, {
76
+ serialValue: Math.pow(2, index)
77
+ });
78
+ return ret;
79
+ }, {});
80
+ }, [todoList]);
81
+ var mySerialsValue = (0, _ahooks.useCreation)(function () {
82
+ return (0, _lodash.reduce)(resources, function (ret, resKey) {
83
+ var _actionMap$resKey;
84
+ ret |= ((_actionMap$resKey = actionMap[resKey]) === null || _actionMap$resKey === void 0 ? void 0 : _actionMap$resKey.serialValue) || 0;
85
+ return ret;
86
+ }, 0);
87
+ }, [resources, actionMap]);
88
+ var _useCreation = (0, _ahooks.useCreation)(function () {
89
+ var approvedActions = (0, _lodash.reduce)(actionMap, function (ret, action) {
90
+ if (mySerialsValue & action.serialValue) {
91
+ ret.push(action);
92
+ } else if (action.serialEffect === 'disable') {
93
+ ret.push(action);
94
+ }
95
+ return ret;
96
+ }, []);
97
+ var _length = approvedActions.length;
98
+ var _permanent = approvedActions.splice(0, max >= _length ? _length : max - 1);
99
+ return [_permanent, approvedActions];
100
+ }, [max, mySerialsValue, actionMap]),
101
+ _useCreation2 = (0, _slicedToArray2.default)(_useCreation, 2),
102
+ permanent = _useCreation2[0],
103
+ more = _useCreation2[1];
104
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
105
+ className: (0, _classnames.default)(_index.default.ldActions, (0, _defineProperty2.default)({}, className, !!className))
106
+ }, props), permanent.map(function (action, index) {
107
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
108
+ key: action.id
109
+ }, /*#__PURE__*/_react.default.createElement(DisplayComp, {
110
+ display: display,
111
+ action: action,
112
+ onClick: function onClick() {
113
+ return handleClick(action);
114
+ }
115
+ }, action.name), display === 'text' && index < permanent.length - (more.length ? 0 : 1) && /*#__PURE__*/_react.default.createElement(_antd.Divider, {
116
+ type: "vertical"
117
+ }));
118
+ }), !!more.length && /*#__PURE__*/_react.default.createElement(_antd.Dropdown, {
119
+ overlay: /*#__PURE__*/_react.default.createElement(_antd.Menu, {
120
+ onClick: function onClick(e) {
121
+ return handleClick(e.item.props.action);
122
+ }
123
+ }, more.map(function (action) {
124
+ return /*#__PURE__*/_react.default.createElement(_antd.Menu.Item, {
125
+ key: action.id,
126
+ action: action
127
+ }, action.name);
128
+ }))
129
+ }, /*#__PURE__*/_react.default.createElement(DisplayComp, {
130
+ display: display,
131
+ action: {
132
+ riskLevel: 'default'
133
+ }
134
+ }, moreText, display !== 'text' && /*#__PURE__*/_react.default.createElement(_antd.Icon, {
135
+ type: "down"
136
+ }))));
137
+ };
138
+ var _default = exports.default = LDActions;
@@ -0,0 +1,48 @@
1
+ .ldActions {
2
+
3
+ button:not(:last-child) {
4
+ margin-right: 8px;
5
+ }
6
+ span {
7
+ cursor: pointer;
8
+ }
9
+
10
+ button.default {
11
+ background-color: white;
12
+ }
13
+ span.default {
14
+ color: #262626;
15
+ }
16
+
17
+ button.primary {
18
+ background-color: var(--luck-color-primary);
19
+ border-color: var(--luck-color-primary);
20
+ color: white;
21
+ }
22
+ span.primary {
23
+ color: var(--luck-color-primary);
24
+ }
25
+
26
+ button.danger {
27
+ background-color: #ff4d4f;
28
+ border-color: #ff4d4f;
29
+ color: white;
30
+ }
31
+ span.danger {
32
+ color: #ff4d4f;
33
+ }
34
+
35
+ button.destroy {
36
+ background-color: #820014;
37
+ border-color: #820014;
38
+ color: white;
39
+ }
40
+ span.destroy {
41
+ color: #820014;
42
+ }
43
+
44
+ span.disabled {
45
+ color: #bfbfbf;
46
+ cursor: not-allowed;
47
+ }
48
+ }
@@ -203,8 +203,8 @@ var LdFormList = function LdFormList(_ref) {
203
203
  mainDataSetKey: mainDataSetKey
204
204
  }, function (success, mainKey, res) {
205
205
  setSubmitLoading(false);
206
- var mainFormData = res.detail[res.list[0]];
207
206
  if (success) {
207
+ var mainFormData = res.detail[res.list[0]];
208
208
  if (afterSubmit) {
209
209
  afterSubmit(success, mainKey, res);
210
210
  } else {
@@ -96,9 +96,15 @@ var LdGrid = function LdGrid(_ref) {
96
96
  * columnsRewrite 覆盖模块管理配置,是否展示以模块管理配置为主,自己可以用hide来隐藏某字段
97
97
  */
98
98
  var _columns = (0, _ahooks.useCreation)(function () {
99
- if (columnsReset) return columnsReset;
99
+ if (columnsReset) {
100
+ if (_lodash.isFunction) {
101
+ return columnsReset(columns);
102
+ }
103
+ return columnsReset;
104
+ }
105
+ var _columnsRewrite = (0, _lodash.isFunction)(columnsRewrite) ? columnsRewrite(columns) : columnsRewrite;
100
106
  var defaultColumns = (0, _lodash.keyBy)(columns, 'aliaName');
101
- var customColumns = (0, _lodash.keyBy)(columnsRewrite, 'field');
107
+ var customColumns = (0, _lodash.keyBy)(_columnsRewrite, 'field');
102
108
  var mergeFields = (0, _lodash.union)((0, _lodash.keys)(defaultColumns), (0, _lodash.keys)(customColumns));
103
109
  return (0, _lodash.transform)(mergeFields, function (result, field) {
104
110
  var _customColumns$field;
@@ -23,7 +23,7 @@ var _base = require("@luck-design-biz/base");
23
23
  var _ldBuilder = _interopRequireDefault(require("../../helper/ldBuilder"));
24
24
  var _utils2 = require("../../utils");
25
25
  var _index = _interopRequireDefault(require("./index.less"));
26
- var _excluded = ["columns", "resources", "actions", "doAction", "wrapperRef", "ldId", "dataSetKey", "defaultParmas", "moduleCode", "readOnly", "title", "rowKey", "treeNodeTitle", "unselectableNodes", "rightMenus", "defaultExpandDeep", "draggable", "onDrop", "className", "treeClassName", "rootAdd", "suppressInit", "afterQuery", "afterInit", "isTree", "service", "dataToTreeFormat"],
26
+ var _excluded = ["columns", "resources", "actions", "doAction", "wrapperRef", "ldId", "dataSetKey", "defaultParmas", "moduleCode", "readOnly", "title", "rowKey", "treeNodeTitle", "unselectableNodes", "rightMenus", "defaultExpandDeep", "draggable", "onDrop", "className", "treeClassName", "rootAdd", "suppressInit", "afterQuery", "afterInit", "isTree", "service", "dataToTreeFormat", "boxRef", "doubleClick", "onNodeDoubleClick", "width", "height"],
27
27
  _excluded2 = ["onClick"];
28
28
  var LdTree = function LdTree(_ref) {
29
29
  var columns = _ref.columns,
@@ -53,6 +53,11 @@ var LdTree = function LdTree(_ref) {
53
53
  isTree = _ref.isTree,
54
54
  service = _ref.service,
55
55
  dataToTreeFormat = _ref.dataToTreeFormat,
56
+ boxRef = _ref.boxRef,
57
+ doubleClick = _ref.doubleClick,
58
+ onNodeDoubleClick = _ref.onNodeDoubleClick,
59
+ width = _ref.width,
60
+ height = _ref.height,
56
61
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
57
62
  if (!(0, _lodash.includes)(isTree, dataSetKey)) return (0, _utils.formatMessage)({
58
63
  id: 'luckda.ldTree.notTres',
@@ -115,6 +120,11 @@ var LdTree = function LdTree(_ref) {
115
120
  }
116
121
  });
117
122
  });
123
+ (0, _react.useLayoutEffect)(function () {
124
+ run((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params[0]), defaultParams[0]), {}, {
125
+ datasetCode: dataSetKey
126
+ }));
127
+ }, [dataSetKey]);
118
128
  var handleMenuClick = function handleMenuClick(menu, data) {
119
129
  var onClick = menu.onClick,
120
130
  other = (0, _objectWithoutProperties2.default)(menu, _excluded2);
@@ -147,15 +157,27 @@ var LdTree = function LdTree(_ref) {
147
157
  type: "more"
148
158
  }));
149
159
  };
160
+ var handleNodeDoubleClick = (0, _ahooks.useMemoizedFn)(function (e) {
161
+ var switcher = e.currentTarget.closest('li').querySelector('.ant-tree-switcher');
162
+ switcher.click();
163
+ });
164
+ var handleDoubleClick = (0, _ahooks.useMemoizedFn)(function (e, rowData) {
165
+ if (onNodeDoubleClick) onNodeDoubleClick(e, rowData, function () {
166
+ return handleNodeDoubleClick(e);
167
+ });else handleNodeDoubleClick(e);
168
+ });
150
169
  var renderTitleNode = function renderTitleNode(data, unSelectable) {
151
170
  var nodeTitle = (0, _lodash.isFunction)(treeNodeTitle) ? treeNodeTitle(data) : data[treeNodeTitle];
152
171
  return /*#__PURE__*/_react.default.createElement("div", {
153
172
  className: _index.default.nodeTitle,
154
- key: data[rowKey]
173
+ key: data[rowKey],
174
+ onDoubleClick: function onDoubleClick(e) {
175
+ return doubleClick && handleDoubleClick(e, data);
176
+ }
155
177
  }, /*#__PURE__*/_react.default.createElement("div", {
156
178
  title: nodeTitle,
157
179
  className: (0, _classnames.default)((0, _defineProperty2.default)({}, _index.default.nodeTitleDisabled, unSelectable))
158
- }, nodeTitle), !readOnly && renderRight(data));
180
+ }, nodeTitle, "11"), !readOnly && renderRight(data));
159
181
  };
160
182
  var renderTreeNodes = (0, _ahooks.useMemoizedFn)(function (data) {
161
183
  return data.map(function (item) {
@@ -193,7 +215,12 @@ var LdTree = function LdTree(_ref) {
193
215
  loading: loading,
194
216
  id: ldId,
195
217
  onAdd: onAdd,
196
- className: className
218
+ className: className,
219
+ ref: boxRef,
220
+ style: {
221
+ width: width,
222
+ height: height
223
+ }
197
224
  }, dataSource && /*#__PURE__*/_react.default.createElement(_luckDesign.LuckTree, (0, _extends2.default)({
198
225
  blockNode: true,
199
226
  className: (0, _classnames.default)(_index.default.tree, (0, _defineProperty2.default)({}, className, !!treeClassName)),
@@ -3,6 +3,7 @@
3
3
  display: flex;
4
4
  align-items: center;
5
5
  width: 100%;
6
+ user-select: none;
6
7
 
7
8
  div {
8
9
  flex: 1;
@@ -10,9 +11,11 @@
10
11
  white-space: nowrap;
11
12
  text-overflow: ellipsis;
12
13
  }
14
+
13
15
  div.nodeTitleDisabled {
14
16
  color: var(--luck-text-color-disabled);
15
17
  }
18
+
16
19
  div.nodeTitleDisabled:hover {
17
20
  cursor: not-allowed;
18
21
  }
@@ -24,13 +27,15 @@
24
27
  }
25
28
  }
26
29
  }
30
+
27
31
  .classTreeOperates {
28
32
  :global(.ant-popover-inner-content) {
29
33
  padding: 0;
30
34
  }
35
+
31
36
  .rightMenu {
32
37
  display: block;
33
38
  padding: 4px 8px;
34
39
  color: var(--luck-text-color-);
35
40
  }
36
- }
41
+ }
package/lib/index.js CHANGED
@@ -13,8 +13,15 @@ var _exportNames = {
13
13
  buildLdGridForm: true,
14
14
  LdInfoPanel: true,
15
15
  LdCard: true,
16
+ LDActions: true,
16
17
  LdRuntimeCom: true
17
18
  };
19
+ Object.defineProperty(exports, "LDActions", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _LDActions.default;
23
+ }
24
+ });
18
25
  Object.defineProperty(exports, "LdCard", {
19
26
  enumerable: true,
20
27
  get: function get() {
@@ -77,6 +84,7 @@ var _LdAutoForm = _interopRequireDefault(require("./components/LdAutoForm"));
77
84
  var _LdGridForm = _interopRequireDefault(require("./components/LdGridForm"));
78
85
  var _LdInfoPanel = _interopRequireDefault(require("./components/LdInfoPanel"));
79
86
  var _LdCard = _interopRequireDefault(require("./components/LdCard"));
87
+ var _LDActions = _interopRequireDefault(require("./components/LDActions"));
80
88
  var _LdRuntimeCom = _interopRequireDefault(require("./components/LdRuntimeCom"));
81
89
  var _LdCom = require("./components/LdCom");
82
90
  Object.keys(_LdCom).forEach(function (key) {