linkmore-design 1.0.63 → 1.0.67

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 (225) hide show
  1. package/README.md +1 -1
  2. package/dist/Approval/demos/basic.d.ts +2 -0
  3. package/dist/Approval/index.d.ts +4 -0
  4. package/dist/Approval/style/index.d.ts +1 -0
  5. package/dist/Approval/type.d.ts +24 -0
  6. package/dist/Form/index.d.ts +1 -1
  7. package/dist/LmEditTable/EditTable.d.ts +2 -1
  8. package/dist/LmFilter/customFilter/drawer.d.ts +4 -0
  9. package/dist/LmFilter/customFilter/saveModal.d.ts +4 -0
  10. package/dist/LmFilter/customFilter/valueDrawer.d.ts +4 -0
  11. package/dist/LmFilter/filterFns/index.d.ts +9 -1
  12. package/dist/LmTable/demos/musort.d.ts +2 -0
  13. package/dist/LmUpload/LmUpload.d.ts +3 -0
  14. package/dist/LmUpload/UploadList/ItemPicture.d.ts +4 -0
  15. package/dist/LmUpload/UploadList/ItemPictureCard.d.ts +5 -0
  16. package/dist/LmUpload/UploadList/ItemText.d.ts +4 -0
  17. package/dist/LmUpload/UploadList/RenderItem.d.ts +6 -0
  18. package/dist/LmUpload/UploadList/index.d.ts +4 -0
  19. package/dist/LmUpload/body/UploadCore.d.ts +4 -0
  20. package/dist/LmUpload/body/UploadDrag.d.ts +4 -0
  21. package/dist/LmUpload/body/UploadPicture.d.ts +4 -0
  22. package/dist/LmUpload/components/card.d.ts +2 -0
  23. package/dist/LmUpload/demos/basic.d.ts +2 -0
  24. package/dist/LmUpload/fns/index.d.ts +13 -0
  25. package/dist/LmUpload/index.d.ts +2 -0
  26. package/dist/LmUpload/style/index.d.ts +1 -0
  27. package/dist/LmUpload/utils.d.ts +4 -0
  28. package/dist/LmUpload/view/index.d.ts +4 -0
  29. package/dist/LmUpload/wrapper/Upload.d.ts +4 -0
  30. package/dist/LmUpload/wrapper/UploadContainer.d.ts +4 -0
  31. package/dist/LmUpload/wrapper/UploadRoot.d.ts +3 -0
  32. package/dist/LmUpload/wrapper/UploadWrapper.d.ts +4 -0
  33. package/dist/LmUpload/wrapper/reducer.d.ts +8 -0
  34. package/dist/Mentions/demos/basic.d.ts +2 -0
  35. package/dist/Mentions/index.d.ts +3 -0
  36. package/dist/Mentions/style/index.d.ts +1 -0
  37. package/dist/Rate/demos/basic.d.ts +2 -0
  38. package/dist/Rate/index.d.ts +3 -0
  39. package/dist/Rate/style/index.d.ts +1 -0
  40. package/dist/Steps/demos/basic.d.ts +2 -0
  41. package/dist/Steps/index.d.ts +3 -0
  42. package/dist/Steps/style/index.d.ts +1 -0
  43. package/dist/index.umd.js +211 -66
  44. package/dist/index.umd.min.js +1 -1
  45. package/es/Approval/index.d.ts +4 -0
  46. package/es/Approval/index.js +303 -0
  47. package/es/Approval/style/index.css +658 -0
  48. package/es/Approval/style/index.d.ts +1 -0
  49. package/es/Approval/style/index.js +1 -0
  50. package/es/Approval/type.d.ts +24 -0
  51. package/es/Approval/type.js +1 -0
  52. package/es/CustomTableOption/index.js +6 -6
  53. package/es/EditTable/README.md.old +66 -0
  54. package/es/Form/container.js +17 -1
  55. package/es/Form/index.d.ts +1 -1
  56. package/es/Form/index.js +5 -2
  57. package/es/Form/style/index.css +18 -3
  58. package/es/LmEditTable/DragHandle.js +2 -1
  59. package/es/LmEditTable/EditTable.d.ts +2 -1
  60. package/es/LmEditTable/EditTable.js +155 -46
  61. package/es/LmEditTable/style/index.css +6 -0
  62. package/es/LmFilter/LmFilter.js +2 -0
  63. package/es/LmFilter/complexFilter/drawer.js +2 -5
  64. package/es/LmFilter/components/CustomSelectFilter.js +18 -7
  65. package/es/LmFilter/components/SelectFilter.js +14 -5
  66. package/es/LmFilter/components/index.js +9 -2
  67. package/es/LmFilter/customFilter/drawer.js +427 -0
  68. package/es/LmFilter/customFilter/index.js +47 -15
  69. package/es/LmFilter/customFilter/saveModal.js +187 -0
  70. package/es/LmFilter/customFilter/valueDrawer.js +238 -0
  71. package/es/LmFilter/filterFns/index.js +152 -20
  72. package/es/LmFilter/style/{style.css → index.css} +19 -8
  73. package/es/LmFilter/style/index.js +1 -1
  74. package/es/LmFilter/wrapper/Filter.js +3 -2
  75. package/es/LmFilter/wrapper/FilterRoot.js +48 -2
  76. package/es/LmSelect/NormalSelect.js +5 -1
  77. package/es/LmSelect/style/index.css +2 -1
  78. package/es/LmSelect/useCheckboxOptions.js +2 -1
  79. package/es/LmTable/Table.js +16 -7
  80. package/es/LmUpload/LmUpload.d.ts +3 -0
  81. package/es/LmUpload/LmUpload.js +34 -0
  82. package/es/LmUpload/UploadList/ItemPicture.d.ts +4 -0
  83. package/es/LmUpload/UploadList/ItemPicture.js +25 -0
  84. package/es/LmUpload/UploadList/ItemPictureCard.d.ts +5 -0
  85. package/es/LmUpload/UploadList/ItemPictureCard.js +69 -0
  86. package/es/LmUpload/UploadList/ItemText.d.ts +4 -0
  87. package/es/LmUpload/UploadList/ItemText.js +25 -0
  88. package/es/LmUpload/UploadList/RenderItem.d.ts +6 -0
  89. package/es/LmUpload/UploadList/RenderItem.js +31 -0
  90. package/es/LmUpload/UploadList/index.d.ts +4 -0
  91. package/es/LmUpload/UploadList/index.js +21 -0
  92. package/es/LmUpload/body/UploadCore.d.ts +4 -0
  93. package/es/LmUpload/body/UploadCore.js +46 -0
  94. package/es/LmUpload/body/UploadDrag.d.ts +4 -0
  95. package/es/LmUpload/body/UploadDrag.js +10 -0
  96. package/es/LmUpload/body/UploadPicture.d.ts +4 -0
  97. package/es/LmUpload/body/UploadPicture.js +27 -0
  98. package/es/LmUpload/components/card.d.ts +2 -0
  99. package/es/LmUpload/components/card.js +9 -0
  100. package/es/LmUpload/fns/index.d.ts +13 -0
  101. package/es/LmUpload/fns/index.js +74 -0
  102. package/es/LmUpload/index.d.ts +2 -0
  103. package/es/LmUpload/index.js +2 -0
  104. package/es/LmUpload/style/index.css +188 -0
  105. package/es/LmUpload/style/index.js +3 -0
  106. package/es/LmUpload/utils.d.ts +4 -0
  107. package/es/LmUpload/utils.js +20 -0
  108. package/es/LmUpload/view/index.d.ts +4 -0
  109. package/es/LmUpload/view/index.js +10 -0
  110. package/es/LmUpload/wrapper/Upload.d.ts +4 -0
  111. package/es/LmUpload/wrapper/Upload.js +12 -0
  112. package/es/LmUpload/wrapper/UploadContainer.d.ts +4 -0
  113. package/es/LmUpload/wrapper/UploadContainer.js +12 -0
  114. package/es/LmUpload/wrapper/UploadRoot.d.ts +3 -0
  115. package/es/LmUpload/wrapper/UploadRoot.js +41 -0
  116. package/es/LmUpload/wrapper/UploadWrapper.d.ts +4 -0
  117. package/es/LmUpload/wrapper/UploadWrapper.js +21 -0
  118. package/es/LmUpload/wrapper/reducer.d.ts +8 -0
  119. package/es/LmUpload/wrapper/reducer.js +26 -0
  120. package/es/Mentions/index.d.ts +3 -0
  121. package/es/Mentions/index.js +3 -0
  122. package/es/Mentions/style/index.css +505 -0
  123. package/es/Mentions/style/index.d.ts +1 -0
  124. package/es/Mentions/style/index.js +1 -0
  125. package/es/Rate/index.d.ts +3 -0
  126. package/es/Rate/index.js +3 -0
  127. package/es/Rate/style/index.css +505 -0
  128. package/es/Rate/style/index.d.ts +1 -0
  129. package/es/Rate/style/index.js +1 -0
  130. package/es/Steps/index.d.ts +3 -0
  131. package/es/Steps/index.js +3 -0
  132. package/es/Steps/style/index.css +505 -0
  133. package/es/Steps/style/index.d.ts +1 -0
  134. package/es/Steps/style/index.js +1 -0
  135. package/lib/Approval/index.d.ts +4 -0
  136. package/lib/Approval/index.js +316 -0
  137. package/lib/Approval/style/index.css +658 -0
  138. package/lib/Approval/style/index.d.ts +1 -0
  139. package/lib/Approval/style/index.js +3 -0
  140. package/lib/Approval/type.d.ts +24 -0
  141. package/lib/Approval/type.js +5 -0
  142. package/lib/CustomTableOption/index.js +6 -6
  143. package/lib/EditTable/README.md.old +66 -0
  144. package/lib/Form/container.js +17 -1
  145. package/lib/Form/index.d.ts +1 -1
  146. package/lib/Form/index.js +5 -2
  147. package/lib/Form/style/index.css +18 -3
  148. package/lib/LmEditTable/DragHandle.js +2 -1
  149. package/lib/LmEditTable/EditTable.d.ts +2 -1
  150. package/lib/LmEditTable/EditTable.js +155 -46
  151. package/lib/LmEditTable/style/index.css +6 -0
  152. package/lib/LmFilter/LmFilter.js +2 -0
  153. package/lib/LmFilter/complexFilter/drawer.js +2 -5
  154. package/lib/LmFilter/components/CustomSelectFilter.js +18 -7
  155. package/lib/LmFilter/components/SelectFilter.js +14 -5
  156. package/lib/LmFilter/components/index.js +9 -2
  157. package/lib/LmFilter/customFilter/drawer.js +427 -0
  158. package/lib/LmFilter/customFilter/index.js +47 -15
  159. package/lib/LmFilter/customFilter/saveModal.js +187 -0
  160. package/lib/LmFilter/customFilter/valueDrawer.js +238 -0
  161. package/lib/LmFilter/filterFns/index.js +152 -20
  162. package/lib/LmFilter/style/{style.css → index.css} +19 -8
  163. package/lib/LmFilter/style/index.js +1 -1
  164. package/lib/LmFilter/wrapper/Filter.js +3 -2
  165. package/lib/LmFilter/wrapper/FilterRoot.js +48 -2
  166. package/lib/LmSelect/NormalSelect.js +5 -1
  167. package/lib/LmSelect/style/index.css +2 -1
  168. package/lib/LmSelect/useCheckboxOptions.js +2 -1
  169. package/lib/LmTable/Table.js +16 -7
  170. package/lib/LmUpload/LmUpload.d.ts +3 -0
  171. package/lib/LmUpload/LmUpload.js +48 -0
  172. package/lib/LmUpload/UploadList/ItemPicture.d.ts +4 -0
  173. package/lib/LmUpload/UploadList/ItemPicture.js +37 -0
  174. package/lib/LmUpload/UploadList/ItemPictureCard.d.ts +5 -0
  175. package/lib/LmUpload/UploadList/ItemPictureCard.js +85 -0
  176. package/lib/LmUpload/UploadList/ItemText.d.ts +4 -0
  177. package/lib/LmUpload/UploadList/ItemText.js +36 -0
  178. package/lib/LmUpload/UploadList/RenderItem.d.ts +6 -0
  179. package/lib/LmUpload/UploadList/RenderItem.js +44 -0
  180. package/lib/LmUpload/UploadList/index.d.ts +4 -0
  181. package/lib/LmUpload/UploadList/index.js +32 -0
  182. package/lib/LmUpload/body/UploadCore.d.ts +4 -0
  183. package/lib/LmUpload/body/UploadCore.js +60 -0
  184. package/lib/LmUpload/body/UploadDrag.d.ts +4 -0
  185. package/lib/LmUpload/body/UploadDrag.js +21 -0
  186. package/lib/LmUpload/body/UploadPicture.d.ts +4 -0
  187. package/lib/LmUpload/body/UploadPicture.js +39 -0
  188. package/lib/LmUpload/components/card.d.ts +2 -0
  189. package/lib/LmUpload/components/card.js +19 -0
  190. package/lib/LmUpload/fns/index.d.ts +13 -0
  191. package/lib/LmUpload/fns/index.js +85 -0
  192. package/lib/LmUpload/index.d.ts +2 -0
  193. package/lib/LmUpload/index.js +13 -0
  194. package/lib/LmUpload/style/index.css +188 -0
  195. package/lib/LmUpload/style/index.js +3 -0
  196. package/lib/LmUpload/utils.d.ts +4 -0
  197. package/lib/LmUpload/utils.js +39 -0
  198. package/lib/LmUpload/view/index.d.ts +4 -0
  199. package/lib/LmUpload/view/index.js +20 -0
  200. package/lib/LmUpload/wrapper/Upload.d.ts +4 -0
  201. package/lib/LmUpload/wrapper/Upload.js +25 -0
  202. package/lib/LmUpload/wrapper/UploadContainer.d.ts +4 -0
  203. package/lib/LmUpload/wrapper/UploadContainer.js +25 -0
  204. package/lib/LmUpload/wrapper/UploadRoot.d.ts +3 -0
  205. package/lib/LmUpload/wrapper/UploadRoot.js +58 -0
  206. package/lib/LmUpload/wrapper/UploadWrapper.d.ts +4 -0
  207. package/lib/LmUpload/wrapper/UploadWrapper.js +36 -0
  208. package/lib/LmUpload/wrapper/reducer.d.ts +8 -0
  209. package/lib/LmUpload/wrapper/reducer.js +39 -0
  210. package/lib/Mentions/index.d.ts +3 -0
  211. package/lib/Mentions/index.js +15 -0
  212. package/lib/Mentions/style/index.css +505 -0
  213. package/lib/Mentions/style/index.d.ts +1 -0
  214. package/lib/Mentions/style/index.js +3 -0
  215. package/lib/Rate/index.d.ts +3 -0
  216. package/lib/Rate/index.js +15 -0
  217. package/lib/Rate/style/index.css +505 -0
  218. package/lib/Rate/style/index.d.ts +1 -0
  219. package/lib/Rate/style/index.js +3 -0
  220. package/lib/Steps/index.d.ts +3 -0
  221. package/lib/Steps/index.js +15 -0
  222. package/lib/Steps/style/index.css +505 -0
  223. package/lib/Steps/style/index.d.ts +1 -0
  224. package/lib/Steps/style/index.js +3 -0
  225. package/package.json +2 -2
@@ -305,7 +305,7 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
305
305
  var onClose = function onClose() {
306
306
  dispatch({
307
307
  type: 'changeComplexDrawer',
308
- complexDrawer: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.complexDrawer), {}, {
308
+ complexDrawer: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, complexDrawer), {}, {
309
309
  visible: false
310
310
  })
311
311
  });
@@ -352,10 +352,7 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
352
352
  extra: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
353
353
  onClick: onClose,
354
354
  size: "small"
355
- }, "\u53D6\u6D88"), !!instance.custom && /*#__PURE__*/_react.default.createElement(SaveModal, {
356
- state: state,
357
- dispatch: dispatch
358
- }), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
355
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
359
356
  type: "primary",
360
357
  onClick: onSearch,
361
358
  size: "small"
@@ -30,13 +30,16 @@ var _excluded = ["item"];
30
30
  // 自定义筛选使用
31
31
  var CustomSelect = function CustomSelect(_ref) {
32
32
  var instance = _ref.instance;
33
- var _instance$filters = instance.filters,
33
+ var dispatch = instance.dispatch,
34
+ _instance$filters = instance.filters,
34
35
  filters = _instance$filters === void 0 ? [] : _instance$filters,
35
36
  _instance$filterValue = instance.filterValue,
36
37
  filterValue = _instance$filterValue === void 0 ? '' : _instance$filterValue,
37
38
  setFilterValue = instance.setFilterValue,
38
39
  visible = instance.visible,
39
- setVisible = instance.setVisible;
40
+ setVisible = instance.setVisible,
41
+ onEdit = instance.onEdit,
42
+ onAdd = instance.onAdd;
40
43
  var delayedFn = (0, _hooks.useDelayedFn)();
41
44
  var inputRef = (0, _react.useRef)(null); // 搜索后的筛选项
42
45
 
@@ -61,11 +64,16 @@ var CustomSelect = function CustomSelect(_ref) {
61
64
 
62
65
  var onChange = function onChange(e, obj) {
63
66
  e.preventDefault();
64
- setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj.value);
67
+ setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj.value, obj);
65
68
  };
66
69
 
67
- var handleAdd = function handleAdd(e) {
68
- setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
70
+ var handleAdd = function handleAdd() {
71
+ onAdd();
72
+ };
73
+
74
+ var handleEdit = function handleEdit(e, obj) {
75
+ e.stopPropagation();
76
+ onEdit(obj);
69
77
  }; // 展开下拉时触发: 赋值 && 聚焦 && 重置显示内容
70
78
 
71
79
 
@@ -107,8 +115,11 @@ var CustomSelect = function CustomSelect(_ref) {
107
115
  className: "filter_item_content"
108
116
  }, item.label), /*#__PURE__*/_react.default.createElement("div", {
109
117
  className: "filter_item_operate"
110
- }, /*#__PURE__*/_react.default.createElement("div", {
111
- className: "icon_hover"
118
+ }, item.value && /*#__PURE__*/_react.default.createElement("div", {
119
+ className: "icon_hover",
120
+ onClick: function onClick(e) {
121
+ return handleEdit(e, item);
122
+ }
112
123
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
113
124
  type: "lmweb-edit"
114
125
  })), item.default && /*#__PURE__*/_react.default.createElement("div", null, "\u9ED8\u8BA4")));
@@ -13,6 +13,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/exten
13
13
 
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
15
15
 
16
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
17
+
16
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
17
19
 
18
20
  var _react = _interopRequireWildcard(require("react"));
@@ -49,12 +51,19 @@ var SelectFilter = function SelectFilter(_ref) {
49
51
 
50
52
  var isSearch = (0, _react.useMemo)(function () {
51
53
  return filters.length > 8;
52
- }, [filters.length]);
54
+ }, [filters.length]); // 自定义节点字段
55
+
56
+ var fieldNames = (0, _react.useMemo)(function () {
57
+ return (0, _objectSpread2.default)({
58
+ label: 'label',
59
+ value: 'value'
60
+ }, itemProps.fieldNames);
61
+ }, [itemProps.fieldNames]);
53
62
 
54
63
  var handleFilter = function handleFilter() {
55
64
  var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
56
65
  var serachValues = filters.filter(function (v) {
57
- return v.label.indexOf(val) > -1;
66
+ return v[fieldNames.label].indexOf(val) > -1;
58
67
  });
59
68
  setOptions(serachValues);
60
69
  }; // 单选事件
@@ -62,7 +71,7 @@ var SelectFilter = function SelectFilter(_ref) {
62
71
 
63
72
  var onChange = function onChange(e, obj) {
64
73
  e.preventDefault();
65
- setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj.value);
74
+ setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj[fieldNames.value], obj);
66
75
  }; // 展开下拉时触发: 赋值 && 聚焦 && 重置显示内容
67
76
 
68
77
 
@@ -97,14 +106,14 @@ var SelectFilter = function SelectFilter(_ref) {
97
106
  resetProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
98
107
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
99
108
  className: (0, _classnames.default)('filter_item', {
100
- checked: item.value === filterValue
109
+ checked: item[fieldNames.value] === filterValue
101
110
  }),
102
111
  onClick: function onClick(e) {
103
112
  return onChange(e, item);
104
113
  }
105
114
  }), /*#__PURE__*/_react.default.createElement("div", {
106
115
  className: "filter_item_content"
107
- }, item.label));
116
+ }, item[fieldNames.label]));
108
117
  }), !options.length && /*#__PURE__*/_react.default.createElement(_EmptyFilter.default, null)));
109
118
  };
110
119
 
@@ -60,7 +60,14 @@ var FilterControl = /*#__PURE__*/_react.default.memo(function (props) {
60
60
 
61
61
  var transformFilterValue = (0, _react.useMemo)(function () {
62
62
  return value || aliveValue;
63
- }, [value, aliveValue]); // 单独使用时抛出选中的值
63
+ }, [value, aliveValue]);
64
+ var filterValue = (0, _react.useMemo)(function () {
65
+ if ((0, _utils.getIsHas)(getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem))) {
66
+ return getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem);
67
+ }
68
+
69
+ return (getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem)) || transformFilterValue;
70
+ }, [resetItem, transformFilterValue]); // 单独使用时抛出选中的值
64
71
 
65
72
  var handleChange = function handleChange(val) {
66
73
  setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(val);
@@ -69,7 +76,7 @@ var FilterControl = /*#__PURE__*/_react.default.memo(function (props) {
69
76
 
70
77
 
71
78
  var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetInstanceProps), {}, {
72
- filterValue: (getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem)) || transformFilterValue,
79
+ filterValue: filterValue,
73
80
  setFilterValue: function setFilterValue(val) {
74
81
  return (_setFilterValue || handleChange)(val, resetItem);
75
82
  }
@@ -0,0 +1,427 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
15
+
16
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
17
+
18
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
19
+
20
+ require("antd/es/form/style");
21
+
22
+ var _form = _interopRequireDefault(require("antd/es/form"));
23
+
24
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
25
+
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
27
+
28
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
29
+
30
+ var _react = _interopRequireWildcard(require("react"));
31
+
32
+ var _linkmoreDesign = require("linkmore-design");
33
+
34
+ var _utils = require("../utils");
35
+
36
+ var _SelectFilter = _interopRequireDefault(require("../components/SelectFilter"));
37
+
38
+ var _valueDrawer = _interopRequireDefault(require("./valueDrawer"));
39
+
40
+ var _excluded = ["item"];
41
+
42
+ // 选中的筛选项
43
+ var ListItemChecked = function ListItemChecked(_ref) {
44
+ var instance = _ref.instance,
45
+ itemProps = _ref.item;
46
+ var state = instance.state,
47
+ dispatch = instance.dispatch,
48
+ dataSource = instance.dataSource;
49
+ var complexDrawer = state.complexDrawer;
50
+ var field = itemProps.field,
51
+ _itemProps$value = itemProps.value,
52
+ valueObj = _itemProps$value === void 0 ? {} : _itemProps$value; // 单项匹配数据, 根据字段名查找, 嵌套筛选时查询父级
53
+
54
+ var getItem = (0, _react.useMemo)(function () {
55
+ return dataSource.find(function (v) {
56
+ return [field, valueObj.originField].includes(v.field);
57
+ });
58
+ }, [field, valueObj.originField, dataSource]); // 选中值的处理
59
+
60
+ var resetValue = (0, _react.useMemo)(function () {
61
+ return valueObj.value;
62
+ }, [valueObj.value]); // 选中的数据
63
+
64
+ var checkedValues = (0, _react.useMemo)(function () {
65
+ var checkedValue = valueObj.value;
66
+
67
+ if (Array.isArray(checkedValue)) {
68
+ var _getItem$data;
69
+
70
+ if (['date'].includes(getItem.type)) {
71
+ return [{
72
+ value: resetValue,
73
+ label: "".concat(resetValue[0], " ~ ").concat(resetValue[1])
74
+ }];
75
+ }
76
+
77
+ if (getItem.type === 'nested') {
78
+ return checkedValue;
79
+ }
80
+
81
+ if (getItem.type === 'cascader') {
82
+ var _getItem$props;
83
+
84
+ return getFlatItem((getItem === null || getItem === void 0 ? void 0 : (_getItem$props = getItem.props) === null || _getItem$props === void 0 ? void 0 : _getItem$props.multiple) ? checkedValue : [checkedValue], getItem.data, 'parent');
85
+ }
86
+
87
+ return (_getItem$data = getItem.data) === null || _getItem$data === void 0 ? void 0 : _getItem$data.filter(function (v) {
88
+ return checkedValue.includes(v.value);
89
+ });
90
+ }
91
+
92
+ if (['input', 'date'].includes(getItem.type)) {
93
+ return resetValue ? [{
94
+ value: resetValue,
95
+ label: resetValue
96
+ }] : [];
97
+ }
98
+
99
+ var filterValue = getItem.data.find(function (v) {
100
+ return v.value === checkedValue;
101
+ });
102
+ return filterValue ? [filterValue] : [];
103
+ }, [getItem, valueObj.value]); // 编辑
104
+
105
+ var handleEdit = function handleEdit() {
106
+ dispatch({
107
+ type: 'changeValueDrawer',
108
+ valueDrawer: {
109
+ visible: true,
110
+ data: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, getItem), valueObj)
111
+ }
112
+ });
113
+ }; // 删除
114
+
115
+
116
+ var handleDelete = function handleDelete(e) {
117
+ e.stopPropagation();
118
+ var filterValues = (0, _objectSpread3.default)({}, complexDrawer.data);
119
+ delete filterValues[field];
120
+ console.log('filterValues', filterValues);
121
+ dispatch({
122
+ type: 'changeComplexDrawer',
123
+ complexDrawer: {
124
+ visible: true,
125
+ data: filterValues
126
+ }
127
+ });
128
+ }; // 删除Tag
129
+
130
+
131
+ var onTagClose = function onTagClose(val) {
132
+ var originData = (0, _objectSpread3.default)({}, complexDrawer.data);
133
+ var nValue = '';
134
+
135
+ if (['select', 'checkbox'].includes(getItem.type)) {
136
+ nValue = originData[field].value.filter(function (v) {
137
+ return !v.includes(val);
138
+ });
139
+ }
140
+
141
+ if (['input'].includes(getItem.type)) {
142
+ nValue = '';
143
+ }
144
+
145
+ if (['cascader'].includes(getItem.type)) {
146
+ nValue = [];
147
+ }
148
+
149
+ var filterValues = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData), {}, (0, _defineProperty2.default)({}, field, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData[field]), {}, {
150
+ value: nValue
151
+ })));
152
+ dispatch({
153
+ type: 'changeComplexDrawer',
154
+ complexDrawer: {
155
+ visible: true,
156
+ data: filterValues
157
+ }
158
+ });
159
+ }; // Tags显示
160
+
161
+
162
+ var tagElem = function tagElem() {
163
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Tag, {
164
+ className: "add_tags"
165
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
166
+ type: "lmweb-plus"
167
+ }), " \u65B0\u589E"), checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.map(function (v) {
168
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Tag, {
169
+ key: v.value,
170
+ closable: true,
171
+ onClose: function onClose() {
172
+ return onTagClose(v.value);
173
+ }
174
+ }, v.label);
175
+ }));
176
+ }; // 模式
177
+
178
+
179
+ var modeLabel = (0, _react.useMemo)(function () {
180
+ return valueObj.mode === 'and' ? '且' : '或';
181
+ }, [valueObj.mode]);
182
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
183
+ className: "item_box",
184
+ onClick: handleEdit
185
+ }, /*#__PURE__*/_react.default.createElement("div", {
186
+ className: "item_header"
187
+ }, /*#__PURE__*/_react.default.createElement("div", {
188
+ className: "item_header_title"
189
+ }, "".concat(getItem.title, "\uFF08").concat(modeLabel, "\uFF09")), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
190
+ type: "lmweb-close1",
191
+ onClick: handleDelete,
192
+ className: "item_header_icon"
193
+ })), /*#__PURE__*/_react.default.createElement("div", {
194
+ className: "item_tags"
195
+ }, tagElem())));
196
+ }; // 新增筛选项按钮
197
+
198
+
199
+ var DropdownBtn = function DropdownBtn(_ref2) {
200
+ var instance = _ref2.instance;
201
+ var state = instance.state,
202
+ dispatch = instance.dispatch,
203
+ dataSource = instance.dataSource;
204
+
205
+ var _useState = (0, _react.useState)(false),
206
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
207
+ visible = _useState2[0],
208
+ setVisible = _useState2[1];
209
+
210
+ var selectInstance = {
211
+ filterValue: '',
212
+ setFilterValue: function setFilterValue(_, valObj) {
213
+ setVisible(false);
214
+ dispatch({
215
+ type: 'changeValueDrawer',
216
+ valueDrawer: {
217
+ visible: true,
218
+ type: 'custom',
219
+ data: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, valObj), {}, {
220
+ value: []
221
+ })
222
+ }
223
+ });
224
+ }
225
+ };
226
+ var itemProps = {
227
+ data: dataSource,
228
+ fieldNames: {
229
+ label: 'title',
230
+ value: 'field'
231
+ }
232
+ };
233
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Dropdown, {
234
+ trigger: ['click'],
235
+ placement: "bottomLeft",
236
+ visible: visible,
237
+ onVisibleChange: function onVisibleChange(v) {
238
+ return setVisible(v);
239
+ },
240
+ overlay: /*#__PURE__*/_react.default.createElement(_SelectFilter.default, {
241
+ instance: selectInstance,
242
+ item: itemProps
243
+ }),
244
+ overlayClassName: "filter_dropdown_container_btn"
245
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
246
+ block: true,
247
+ type: "dashed",
248
+ icon: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
249
+ type: "lmweb-plus"
250
+ }),
251
+ size: "middle"
252
+ }, "\u65B0\u589E\u7B5B\u9009\u9879"));
253
+ };
254
+
255
+ var Index = function Index(_ref3) {
256
+ var instance = _ref3.instance;
257
+ var state = instance.state,
258
+ dispatch = instance.dispatch;
259
+ var customDrawer = state.customDrawer;
260
+
261
+ var _Form$useForm = _form.default.useForm(),
262
+ _Form$useForm2 = (0, _slicedToArray2.default)(_Form$useForm, 1),
263
+ form = _Form$useForm2[0]; // 过滤的内容转数组
264
+
265
+
266
+ var filterItemData = (0, _react.useMemo)(function () {
267
+ return (0, _utils.getIsHas)(customDrawer.data) ? Object.entries(customDrawer.data).map(function (v) {
268
+ return {
269
+ field: v[0],
270
+ value: v[1]
271
+ };
272
+ }) : [];
273
+ }, [customDrawer.data]); // 关闭抽屉
274
+
275
+ var onClose = function onClose() {
276
+ dispatch({
277
+ type: 'changeCustomDrawer',
278
+ customDrawer: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, customDrawer), {}, {
279
+ visible: false
280
+ })
281
+ });
282
+ }; // 新增筛选项
283
+
284
+
285
+ var addEvent = function addEvent() {
286
+ dispatch({
287
+ type: 'changeModal',
288
+ customModal: {
289
+ visible: true,
290
+ type: 'custom',
291
+ data: {}
292
+ }
293
+ });
294
+ }; // 保存数据
295
+
296
+
297
+ var onSave = /*#__PURE__*/function () {
298
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
299
+ var val, nValue;
300
+ return _regenerator.default.wrap(function _callee$(_context) {
301
+ while (1) {
302
+ switch (_context.prev = _context.next) {
303
+ case 0:
304
+ _context.prev = 0;
305
+ _context.next = 3;
306
+ return form.validateFields();
307
+
308
+ case 3:
309
+ val = _context.sent;
310
+ nValue = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, customDrawer), val);
311
+
312
+ if (!nValue.value) {
313
+ Object.assign(nValue, {
314
+ value: "diy".concat(Date.now())
315
+ });
316
+ }
317
+
318
+ console.log('保存数据!', nValue, state.customDrawer);
319
+ dispatch({
320
+ type: 'changeSaveModal',
321
+ saveModal: {
322
+ visible: true,
323
+ data: nValue
324
+ }
325
+ });
326
+ _context.next = 13;
327
+ break;
328
+
329
+ case 10:
330
+ _context.prev = 10;
331
+ _context.t0 = _context["catch"](0);
332
+ console.log('error:', _context.t0);
333
+
334
+ case 13:
335
+ case "end":
336
+ return _context.stop();
337
+ }
338
+ }
339
+ }, _callee, null, [[0, 10]]);
340
+ }));
341
+
342
+ return function onSave() {
343
+ return _ref4.apply(this, arguments);
344
+ };
345
+ }(); // 弹窗配置项
346
+
347
+
348
+ var config = {
349
+ title: customDrawer.type === 'edit' ? "\u7F16\u8F91".concat(customDrawer.label) : '创建自定义查询',
350
+ visible: customDrawer.visible,
351
+ onClose: onClose,
352
+ width: 440,
353
+ placement: 'right',
354
+ destroyOnClose: true,
355
+ className: 'lm_filter_drawer',
356
+ extra: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
357
+ onClick: onClose,
358
+ size: "small"
359
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
360
+ type: "primary",
361
+ onClick: onSave,
362
+ size: "small"
363
+ }, "\u786E\u5B9A"))
364
+ };
365
+ (0, _react.useEffect)(function () {
366
+ if (customDrawer.visible) {
367
+ form.resetFields();
368
+ }
369
+ }, [customDrawer.visible, form]);
370
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Drawer, config, /*#__PURE__*/_react.default.createElement("div", {
371
+ className: "custom_filter_body"
372
+ }, /*#__PURE__*/_react.default.createElement(_form.default, {
373
+ form: form,
374
+ initialValues: {
375
+ label: customDrawer.label,
376
+ default: !!customDrawer.default
377
+ },
378
+ layout: "vertical",
379
+ size: "default"
380
+ }, /*#__PURE__*/_react.default.createElement("div", {
381
+ className: "filter_drawer_group"
382
+ }, /*#__PURE__*/_react.default.createElement(_form.default.Item, {
383
+ name: "label",
384
+ label: "\u540D\u79F0",
385
+ rules: [{
386
+ required: true,
387
+ message: '请输入名称'
388
+ }]
389
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input, {
390
+ placeholder: "\u8BF7\u8F93\u5165",
391
+ size: "middle"
392
+ }))), /*#__PURE__*/_react.default.createElement("div", {
393
+ className: "filter_drawer_group"
394
+ }, /*#__PURE__*/_react.default.createElement(_form.default.Item, {
395
+ name: "default",
396
+ label: "\u8BBE\u4E3A\u9ED8\u8BA4"
397
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
398
+ size: "small"
399
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
400
+ value: true
401
+ }, "\u662F"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
402
+ value: false
403
+ }, "\u5426"))))), /*#__PURE__*/_react.default.createElement("div", {
404
+ className: "filter_drawer_group"
405
+ }, /*#__PURE__*/_react.default.createElement("div", {
406
+ className: "filter_drawer_group_add"
407
+ }, /*#__PURE__*/_react.default.createElement(DropdownBtn, {
408
+ instance: instance
409
+ })), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
410
+ options: filterItemData,
411
+ className: "filter_drawer_group_list"
412
+ }, function (_ref5) {
413
+ var item = _ref5.item,
414
+ resetProps = (0, _objectWithoutProperties2.default)(_ref5, _excluded);
415
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
416
+ className: "filter_drawer_group_item"
417
+ }), /*#__PURE__*/_react.default.createElement(ListItemChecked, {
418
+ instance: instance,
419
+ item: item
420
+ }));
421
+ }))), /*#__PURE__*/_react.default.createElement(_valueDrawer.default, {
422
+ instance: instance
423
+ })));
424
+ };
425
+
426
+ var _default = Index;
427
+ exports.default = _default;
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
13
+
12
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
15
 
14
16
  var _react = _interopRequireWildcard(require("react"));
@@ -19,38 +21,62 @@ var _classnames = _interopRequireDefault(require("classnames"));
19
21
 
20
22
  var _CustomSelectFilter = _interopRequireDefault(require("../components/CustomSelectFilter"));
21
23
 
24
+ var _drawer = _interopRequireDefault(require("./drawer"));
25
+
26
+ var _saveModal = _interopRequireDefault(require("./saveModal"));
27
+
22
28
  var LmFilterCustom = function LmFilterCustom(_ref) {
23
29
  var instance = _ref.instance;
24
30
  var state = instance.state,
25
31
  dispatch = instance.dispatch,
26
32
  size = instance.size,
27
- customOptions = instance.customOptions;
33
+ customOptions = instance.customOptions,
34
+ setCustomFilter = instance.setCustomFilter;
35
+ var customFilter = state.customFilter;
28
36
 
29
37
  var _useState = (0, _react.useState)(false),
30
38
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
31
39
  visible = _useState2[0],
32
- setVisible = _useState2[1];
40
+ setVisible = _useState2[1]; // 下拉数据
33
41
 
34
- var _useState3 = (0, _react.useState)(''),
35
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
36
- checkedValue = _useState4[0],
37
- setCheckedValue = _useState4[1];
38
42
 
39
43
  var filterOptions = customOptions || [{
40
44
  label: '不限',
41
45
  value: '',
42
46
  default: true
43
- }];
47
+ }]; // 默认展示
48
+
44
49
  var defaultValue = (0, _react.useMemo)(function () {
45
50
  return filterOptions.find(function (v) {
46
- return v.value === checkedValue;
47
- });
48
- }, [filterOptions, checkedValue]);
51
+ return v.value === (customFilter === null || customFilter === void 0 ? void 0 : customFilter.value);
52
+ }) || {};
53
+ }, [filterOptions, customFilter]);
49
54
  var selectInstance = {
50
- filterValue: '',
55
+ filterValue: defaultValue.value,
51
56
  filters: filterOptions,
52
- setFilterValue: function setFilterValue(val) {
53
- setCheckedValue(val);
57
+ onEdit: function onEdit(valObj) {
58
+ dispatch({
59
+ type: 'changeCustomDrawer',
60
+ customDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, valObj), {}, {
61
+ visible: true,
62
+ type: 'edit'
63
+ })
64
+ });
65
+ setVisible(false);
66
+ },
67
+ onAdd: function onAdd() {
68
+ dispatch({
69
+ type: 'changeCustomDrawer',
70
+ customDrawer: {
71
+ visible: true,
72
+ type: 'add',
73
+ data: {}
74
+ }
75
+ });
76
+ setVisible(false);
77
+ },
78
+ setFilterValue: function setFilterValue(val, valObj) {
79
+ setCustomFilter === null || setCustomFilter === void 0 ? void 0 : setCustomFilter(val);
54
80
  setVisible(false);
55
81
  },
56
82
  visible: visible,
@@ -78,13 +104,19 @@ var LmFilterCustom = function LmFilterCustom(_ref) {
78
104
  className: "lm_filter_custom_select_label"
79
105
  }, /*#__PURE__*/_react.default.createElement("span", {
80
106
  className: (0, _classnames.default)({
81
- placeholder: !checkedValue
107
+ placeholder: !defaultValue.value
82
108
  })
83
109
  }, defaultValue.label)), /*#__PURE__*/_react.default.createElement("div", {
84
110
  className: "lm_filter_custom_select_icon addon_after"
85
111
  }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
86
112
  type: "lmweb-down"
87
- })))));
113
+ })))), /*#__PURE__*/_react.default.createElement("div", {
114
+ className: "lm_filter_custom_line"
115
+ }), /*#__PURE__*/_react.default.createElement(_drawer.default, {
116
+ instance: instance
117
+ }), /*#__PURE__*/_react.default.createElement(_saveModal.default, {
118
+ instance: instance
119
+ }));
88
120
  };
89
121
 
90
122
  var _default = LmFilterCustom;