linkmore-design 1.0.91 → 1.0.93

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 (315) hide show
  1. package/dist/AutoComplete/index.d.ts +2 -1
  2. package/dist/CardTable/hooks/usePagination.d.ts +1 -1
  3. package/dist/CardTable/utils.d.ts +1 -1
  4. package/dist/LmFilter/components/CascaderFilter.d.ts +1 -1
  5. package/dist/LmFilter/components/CheckboxFilter.d.ts +1 -1
  6. package/dist/LmFilter/components/DateFilter.d.ts +1 -1
  7. package/dist/LmFilter/components/SelectFilter.d.ts +1 -1
  8. package/dist/LmSelect/useCheckboxOptions.d.ts +1 -1
  9. package/dist/_util/placements.d.ts +0 -1
  10. package/dist/index.umd.css +4454 -67964
  11. package/dist/index.umd.js +193645 -223476
  12. package/dist/index.umd.min.css +2 -2
  13. package/dist/index.umd.min.js +21 -21
  14. package/es/AutoComplete/index.d.ts +2 -1
  15. package/es/Box/style/index.js +3 -0
  16. package/es/Box/style/variables.js +3 -0
  17. package/es/ButtonTags/ButtonTags.js +59 -0
  18. package/es/ButtonTags/index.js +13 -0
  19. package/es/ButtonTags/style/index.js +3 -0
  20. package/es/ButtonTags/style/variables.js +3 -0
  21. package/es/CardTable/LmCardTable.js +63 -0
  22. package/es/CardTable/body/TableBody.js +78 -0
  23. package/es/CardTable/body/TableBodyCell.js +67 -0
  24. package/es/CardTable/body/TableBodyRow.js +91 -0
  25. package/es/CardTable/card/PictureTextColumn.js +132 -0
  26. package/es/CardTable/card/PictureTextRow.js +153 -0
  27. package/es/CardTable/card/PictureTextRowOperate.js +146 -0
  28. package/es/CardTable/context.js +20 -0
  29. package/es/CardTable/empty.js +24 -0
  30. package/es/CardTable/fns/index.js +160 -0
  31. package/es/CardTable/footer.js +59 -0
  32. package/es/CardTable/hooks/usePagination.js +128 -0
  33. package/es/CardTable/index.js +17 -0
  34. package/es/CardTable/pager/TablePagination.js +62 -0
  35. package/es/CardTable/pager/index.js +48 -0
  36. package/es/CardTable/style/index.js +3 -0
  37. package/es/CardTable/style/variables.js +3 -0
  38. package/es/CardTable/table/Table.js +27 -0
  39. package/es/CardTable/table/TableContainer.js +97 -0
  40. package/es/CardTable/table/TableRoot.js +210 -0
  41. package/es/CardTable/table/TableWrapper.js +40 -0
  42. package/es/CardTable/toolbar/ToolBarBottom.js +28 -0
  43. package/es/CardTable/utils.js +31 -0
  44. package/es/Checkbox/index.js +47 -0
  45. package/es/Checkbox/style/index.js +3 -0
  46. package/es/Checkbox/style/variables.js +3 -0
  47. package/es/ConfigProvider/style/index.js +3 -0
  48. package/es/ConfigProvider/style/variables.js +3 -0
  49. package/es/CustomerService/components/question.js +120 -0
  50. package/es/CustomerService/index.js +291 -0
  51. package/es/CustomerService/style/index.js +3 -0
  52. package/es/CustomerService/style/variables.js +3 -0
  53. package/es/EditTable/EditTable.js +704 -0
  54. package/es/EditTable/index.js +13 -0
  55. package/es/EditTable/style/index.js +3 -0
  56. package/es/EditTable/style/variables.js +3 -0
  57. package/es/EnlargeImg/index.js +109 -0
  58. package/es/EnlargeImg/style/index.js +3 -0
  59. package/es/EnlargeImg/style/variables.js +3 -0
  60. package/es/Filter/Popover.js +199 -0
  61. package/es/Filter/baseFilter/Popover.js +213 -0
  62. package/es/Filter/baseFilter/ToggleFilter.js +111 -0
  63. package/es/Filter/baseFilter/index.js +100 -0
  64. package/es/Filter/complex/ComplexFilter.js +149 -0
  65. package/es/Filter/complex/ComplexItem.js +157 -0
  66. package/es/Filter/components/Checkbox.js +94 -0
  67. package/es/Filter/components/Date.js +87 -0
  68. package/es/Filter/components/Input.js +63 -0
  69. package/es/Filter/components/Select.js +89 -0
  70. package/es/Filter/components/Tree.js +64 -0
  71. package/es/Filter/components/header.js +60 -0
  72. package/es/Filter/components/index.js +47 -0
  73. package/es/Filter/context.js +15 -0
  74. package/es/Filter/edit/editFilter.js +273 -0
  75. package/es/Filter/index.js +174 -0
  76. package/es/Filter/popContext.js +15 -0
  77. package/es/Filter/remember.js +136 -0
  78. package/es/Filter/style/index.js +3 -0
  79. package/es/Filter/style/variables.js +3 -0
  80. package/es/Icon/index.js +20 -0
  81. package/es/Icon/style/index.js +3 -0
  82. package/es/Icon/style/variables.js +3 -0
  83. package/es/IconFont/font/iconfont.js +48 -0
  84. package/es/IconFont/style/index.js +3 -0
  85. package/es/IconFont/style/variables.js +3 -0
  86. package/es/IconSelect/index.js +115 -0
  87. package/es/IconSelect/style/index.js +3 -0
  88. package/es/IconSelect/style/variables.js +3 -0
  89. package/es/ImageViewer/style/index.js +3 -0
  90. package/es/ImageViewer/style/variables.js +3 -0
  91. package/es/Input/style/variables.css +0 -511
  92. package/es/LeftTable/index.js +184 -0
  93. package/es/LeftTable/style/index.js +3 -0
  94. package/es/LeftTable/style/variables.js +3 -0
  95. package/es/LmFilter/Controls/CheckboxTags.js +53 -0
  96. package/es/LmFilter/Controls/index.js +78 -0
  97. package/es/LmFilter/LmFilter.js +69 -0
  98. package/es/LmFilter/baseFilter/fuzzySearch.js +69 -0
  99. package/es/LmFilter/baseFilter/index.js +33 -0
  100. package/es/LmFilter/clearFilter/index.js +31 -0
  101. package/es/LmFilter/complexFilter/drawer.js +381 -0
  102. package/es/LmFilter/complexFilter/index.js +64 -0
  103. package/es/LmFilter/complexFilter/valueDrawer.js +235 -0
  104. package/es/LmFilter/components/CascaderFilter.js +160 -0
  105. package/es/LmFilter/components/CheckboxFilter.js +189 -0
  106. package/es/LmFilter/components/CustomSelectFilter.js +139 -0
  107. package/es/LmFilter/components/DateFilter.js +163 -0
  108. package/es/LmFilter/components/DropdownFIlter.js +264 -0
  109. package/es/LmFilter/components/EmptyFilter.js +27 -0
  110. package/es/LmFilter/components/InputFilter.js +51 -0
  111. package/es/LmFilter/components/InputSearchClose.js +74 -0
  112. package/es/LmFilter/components/SelectFilter.js +121 -0
  113. package/es/LmFilter/components/index.js +93 -0
  114. package/es/LmFilter/customFilter/drawer.js +409 -0
  115. package/es/LmFilter/customFilter/index.js +136 -0
  116. package/es/LmFilter/customFilter/saveModal.js +185 -0
  117. package/es/LmFilter/customFilter/valueDrawer.js +232 -0
  118. package/es/LmFilter/filterFns/index.js +644 -0
  119. package/es/LmFilter/hooks/index.js +18 -0
  120. package/es/LmFilter/hooks/useDelayedFn.js +29 -0
  121. package/es/LmFilter/index.js +16 -0
  122. package/es/LmFilter/style/index.js +3 -0
  123. package/es/LmFilter/style/variables.js +3 -0
  124. package/es/LmFilter/utils.js +173 -0
  125. package/es/LmFilter/wrapper/Filter.js +41 -0
  126. package/es/LmFilter/wrapper/FilterContainer.js +25 -0
  127. package/es/LmFilter/wrapper/FilterRoot.js +208 -0
  128. package/es/LmFilter/wrapper/FilterWrapper.js +25 -0
  129. package/es/LmSelect/useCheckboxOptions.d.ts +1 -1
  130. package/es/LmTable/Table.js +1385 -0
  131. package/es/LmTable/VList.js +594 -0
  132. package/es/LmTable/autosize.js +167 -0
  133. package/es/LmTable/components/sortableBoxCol.js +24 -0
  134. package/es/LmTable/components/sortableItemCol.js +54 -0
  135. package/es/LmTable/context.js +12 -0
  136. package/es/LmTable/detectElementResize.js +225 -0
  137. package/es/LmTable/index.js +14 -0
  138. package/es/LmTable/resetConfig.js +39 -0
  139. package/es/LmTable/style/index.js +3 -0
  140. package/es/LmTable/style/variables.js +3 -0
  141. package/es/LmTable/util.js +211 -0
  142. package/es/LmUpload/style/index.js +3 -0
  143. package/es/LmUpload/style/variables.js +3 -0
  144. package/es/LoadingPage/index.js +33 -0
  145. package/es/LoadingPage/style/index.js +3 -0
  146. package/es/LoadingPage/style/variables.js +3 -0
  147. package/es/Radio/index.js +50 -0
  148. package/es/Radio/style/index.js +3 -0
  149. package/es/Radio/style/variables.js +3 -0
  150. package/es/TestTable/style/index.js +3 -0
  151. package/es/TestTable/style/variables.js +3 -0
  152. package/es/UploadOss/index.js +18 -0
  153. package/es/UploadOss/style/index.js +3 -0
  154. package/es/UploadOss/style/variables.js +3 -0
  155. package/es/UploadOss/uploadBtn.js +141 -0
  156. package/es/UploadOss/uploadImg.js +282 -0
  157. package/es/VirtualList/index.js +85 -0
  158. package/es/VirtualList/style/index.js +3 -0
  159. package/es/VirtualList/style/variables.js +3 -0
  160. package/es/_util/placements.d.ts +0 -1
  161. package/es/services/newRequest.js +201 -0
  162. package/es/services/utils.js +72 -0
  163. package/es/styles/variables.css +0 -347
  164. package/lib/AutoComplete/index.d.ts +2 -1
  165. package/lib/Box/style/index.js +3 -0
  166. package/lib/Box/style/variables.js +3 -0
  167. package/lib/ButtonTags/ButtonTags.js +59 -0
  168. package/lib/ButtonTags/index.js +13 -0
  169. package/lib/ButtonTags/style/index.js +3 -0
  170. package/lib/ButtonTags/style/variables.js +3 -0
  171. package/lib/CardTable/LmCardTable.js +63 -0
  172. package/lib/CardTable/body/TableBody.js +78 -0
  173. package/lib/CardTable/body/TableBodyCell.js +67 -0
  174. package/lib/CardTable/body/TableBodyRow.js +91 -0
  175. package/lib/CardTable/card/PictureTextColumn.js +132 -0
  176. package/lib/CardTable/card/PictureTextRow.js +153 -0
  177. package/lib/CardTable/card/PictureTextRowOperate.js +146 -0
  178. package/lib/CardTable/context.js +20 -0
  179. package/lib/CardTable/empty.js +24 -0
  180. package/lib/CardTable/fns/index.js +160 -0
  181. package/lib/CardTable/footer.js +59 -0
  182. package/lib/CardTable/hooks/usePagination.js +128 -0
  183. package/lib/CardTable/index.js +17 -0
  184. package/lib/CardTable/pager/TablePagination.js +62 -0
  185. package/lib/CardTable/pager/index.js +48 -0
  186. package/lib/CardTable/style/index.js +3 -0
  187. package/lib/CardTable/style/variables.js +3 -0
  188. package/lib/CardTable/table/Table.js +27 -0
  189. package/lib/CardTable/table/TableContainer.js +97 -0
  190. package/lib/CardTable/table/TableRoot.js +210 -0
  191. package/lib/CardTable/table/TableWrapper.js +40 -0
  192. package/lib/CardTable/toolbar/ToolBarBottom.js +28 -0
  193. package/lib/CardTable/utils.js +31 -0
  194. package/lib/Checkbox/index.js +47 -0
  195. package/lib/Checkbox/style/index.js +3 -0
  196. package/lib/Checkbox/style/variables.js +3 -0
  197. package/lib/ConfigProvider/style/index.js +3 -0
  198. package/lib/ConfigProvider/style/variables.js +3 -0
  199. package/lib/CustomerService/components/question.js +120 -0
  200. package/lib/CustomerService/index.js +291 -0
  201. package/lib/CustomerService/style/index.js +3 -0
  202. package/lib/CustomerService/style/variables.js +3 -0
  203. package/lib/EditTable/EditTable.js +704 -0
  204. package/lib/EditTable/index.js +13 -0
  205. package/lib/EditTable/style/index.js +3 -0
  206. package/lib/EditTable/style/variables.js +3 -0
  207. package/lib/EnlargeImg/index.js +109 -0
  208. package/lib/EnlargeImg/style/index.js +3 -0
  209. package/lib/EnlargeImg/style/variables.js +3 -0
  210. package/lib/Filter/Popover.js +199 -0
  211. package/lib/Filter/baseFilter/Popover.js +213 -0
  212. package/lib/Filter/baseFilter/ToggleFilter.js +111 -0
  213. package/lib/Filter/baseFilter/index.js +100 -0
  214. package/lib/Filter/complex/ComplexFilter.js +149 -0
  215. package/lib/Filter/complex/ComplexItem.js +157 -0
  216. package/lib/Filter/components/Checkbox.js +94 -0
  217. package/lib/Filter/components/Date.js +87 -0
  218. package/lib/Filter/components/Input.js +63 -0
  219. package/lib/Filter/components/Select.js +89 -0
  220. package/lib/Filter/components/Tree.js +64 -0
  221. package/lib/Filter/components/header.js +60 -0
  222. package/lib/Filter/components/index.js +47 -0
  223. package/lib/Filter/context.js +15 -0
  224. package/lib/Filter/edit/editFilter.js +273 -0
  225. package/lib/Filter/index.js +174 -0
  226. package/lib/Filter/popContext.js +15 -0
  227. package/lib/Filter/remember.js +136 -0
  228. package/lib/Filter/style/index.js +3 -0
  229. package/lib/Filter/style/variables.js +3 -0
  230. package/lib/Icon/index.js +20 -0
  231. package/lib/Icon/style/index.js +3 -0
  232. package/lib/Icon/style/variables.js +3 -0
  233. package/lib/IconFont/font/iconfont.js +48 -0
  234. package/lib/IconFont/style/index.js +3 -0
  235. package/lib/IconFont/style/variables.js +3 -0
  236. package/lib/IconSelect/index.js +115 -0
  237. package/lib/IconSelect/style/index.js +3 -0
  238. package/lib/IconSelect/style/variables.js +3 -0
  239. package/lib/ImageViewer/style/index.js +3 -0
  240. package/lib/ImageViewer/style/variables.js +3 -0
  241. package/lib/Input/style/variables.css +0 -511
  242. package/lib/LeftTable/index.js +184 -0
  243. package/lib/LeftTable/style/index.js +3 -0
  244. package/lib/LeftTable/style/variables.js +3 -0
  245. package/lib/LmFilter/Controls/CheckboxTags.js +53 -0
  246. package/lib/LmFilter/Controls/index.js +78 -0
  247. package/lib/LmFilter/LmFilter.js +69 -0
  248. package/lib/LmFilter/baseFilter/fuzzySearch.js +69 -0
  249. package/lib/LmFilter/baseFilter/index.js +33 -0
  250. package/lib/LmFilter/clearFilter/index.js +31 -0
  251. package/lib/LmFilter/complexFilter/drawer.js +381 -0
  252. package/lib/LmFilter/complexFilter/index.js +64 -0
  253. package/lib/LmFilter/complexFilter/valueDrawer.js +235 -0
  254. package/lib/LmFilter/components/CascaderFilter.js +160 -0
  255. package/lib/LmFilter/components/CheckboxFilter.js +189 -0
  256. package/lib/LmFilter/components/CustomSelectFilter.js +139 -0
  257. package/lib/LmFilter/components/DateFilter.js +163 -0
  258. package/lib/LmFilter/components/DropdownFIlter.js +264 -0
  259. package/lib/LmFilter/components/EmptyFilter.js +27 -0
  260. package/lib/LmFilter/components/InputFilter.js +51 -0
  261. package/lib/LmFilter/components/InputSearchClose.js +74 -0
  262. package/lib/LmFilter/components/SelectFilter.js +121 -0
  263. package/lib/LmFilter/components/index.js +93 -0
  264. package/lib/LmFilter/customFilter/drawer.js +409 -0
  265. package/lib/LmFilter/customFilter/index.js +136 -0
  266. package/lib/LmFilter/customFilter/saveModal.js +185 -0
  267. package/lib/LmFilter/customFilter/valueDrawer.js +232 -0
  268. package/lib/LmFilter/filterFns/index.js +644 -0
  269. package/lib/LmFilter/hooks/index.js +18 -0
  270. package/lib/LmFilter/hooks/useDelayedFn.js +29 -0
  271. package/lib/LmFilter/index.js +16 -0
  272. package/lib/LmFilter/style/index.js +3 -0
  273. package/lib/LmFilter/style/variables.js +3 -0
  274. package/lib/LmFilter/utils.js +173 -0
  275. package/lib/LmFilter/wrapper/Filter.js +41 -0
  276. package/lib/LmFilter/wrapper/FilterContainer.js +25 -0
  277. package/lib/LmFilter/wrapper/FilterRoot.js +208 -0
  278. package/lib/LmFilter/wrapper/FilterWrapper.js +25 -0
  279. package/lib/LmSelect/useCheckboxOptions.d.ts +1 -1
  280. package/lib/LmTable/Table.js +1385 -0
  281. package/lib/LmTable/VList.js +594 -0
  282. package/lib/LmTable/autosize.js +167 -0
  283. package/lib/LmTable/components/sortableBoxCol.js +24 -0
  284. package/lib/LmTable/components/sortableItemCol.js +54 -0
  285. package/lib/LmTable/context.js +12 -0
  286. package/lib/LmTable/detectElementResize.js +225 -0
  287. package/lib/LmTable/index.js +14 -0
  288. package/lib/LmTable/resetConfig.js +39 -0
  289. package/lib/LmTable/style/index.js +3 -0
  290. package/lib/LmTable/style/variables.js +3 -0
  291. package/lib/LmTable/util.js +211 -0
  292. package/lib/LmUpload/style/index.js +3 -0
  293. package/lib/LmUpload/style/variables.js +3 -0
  294. package/lib/LoadingPage/index.js +33 -0
  295. package/lib/LoadingPage/style/index.js +3 -0
  296. package/lib/LoadingPage/style/variables.js +3 -0
  297. package/lib/Radio/index.js +50 -0
  298. package/lib/Radio/style/index.js +3 -0
  299. package/lib/Radio/style/variables.js +3 -0
  300. package/lib/TestTable/style/index.js +3 -0
  301. package/lib/TestTable/style/variables.js +3 -0
  302. package/lib/UploadOss/index.js +18 -0
  303. package/lib/UploadOss/style/index.js +3 -0
  304. package/lib/UploadOss/style/variables.js +3 -0
  305. package/lib/UploadOss/uploadBtn.js +141 -0
  306. package/lib/UploadOss/uploadImg.js +282 -0
  307. package/lib/VirtualList/index.js +85 -0
  308. package/lib/VirtualList/style/index.js +3 -0
  309. package/lib/VirtualList/style/variables.js +3 -0
  310. package/lib/_util/placements.d.ts +0 -1
  311. package/lib/services/newRequest.js +201 -0
  312. package/lib/services/utils.js +72 -0
  313. package/lib/styles/variables.css +0 -347
  314. package/package.json +1 -1
  315. package/CHANGELOG.md +0 -12
@@ -0,0 +1,381 @@
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/extends"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+
20
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
21
+
22
+ var _react = _interopRequireWildcard(require("react"));
23
+
24
+ var _linkmoreDesign = require("linkmore-design");
25
+
26
+ var _utils = require("../utils");
27
+
28
+ var _valueDrawer = _interopRequireDefault(require("./valueDrawer"));
29
+
30
+ var _excluded = ["item"],
31
+ _excluded2 = ["item"];
32
+
33
+ // 选中的筛选项
34
+ var ListItemChecked = function ListItemChecked(_ref) {
35
+ var instance = _ref.instance,
36
+ itemProps = _ref.item;
37
+ var state = instance.state,
38
+ dispatch = instance.dispatch,
39
+ dataSource = instance.dataSource;
40
+ var complexDrawer = state.complexDrawer;
41
+ var field = itemProps.field,
42
+ _itemProps$value = itemProps.value,
43
+ valueObj = _itemProps$value === void 0 ? {} : _itemProps$value; // 单项匹配数据, 根据字段名查找, 嵌套筛选时查询父级
44
+
45
+ var getItem = (0, _react.useMemo)(function () {
46
+ return dataSource.find(function (v) {
47
+ return [field, valueObj.originField].includes(v.field);
48
+ });
49
+ }, [field, valueObj.originField, dataSource]); // 选中值的处理
50
+
51
+ var resetValue = (0, _react.useMemo)(function () {
52
+ return valueObj.value;
53
+ }, [valueObj.value]); // 选中的数据
54
+
55
+ var checkedValues = (0, _react.useMemo)(function () {
56
+ var checkedValue = valueObj.value;
57
+
58
+ if (Array.isArray(checkedValue)) {
59
+ var _getItem$data;
60
+
61
+ if (['date'].includes(getItem.type)) {
62
+ return [{
63
+ value: resetValue,
64
+ label: "".concat(resetValue[0], " ~ ").concat(resetValue[1])
65
+ }];
66
+ }
67
+
68
+ if (getItem.type === 'nested') {
69
+ return checkedValue;
70
+ }
71
+
72
+ if (getItem.type === 'cascader') {
73
+ return (0, _utils.getFlatItem)(getItem, checkedValue, 'parent');
74
+ }
75
+
76
+ return (_getItem$data = getItem.data) === null || _getItem$data === void 0 ? void 0 : _getItem$data.filter(function (v) {
77
+ return checkedValue.includes(v.value);
78
+ });
79
+ }
80
+
81
+ if (['input', 'date'].includes(getItem.type)) {
82
+ return resetValue ? [{
83
+ value: resetValue,
84
+ label: resetValue
85
+ }] : [];
86
+ }
87
+
88
+ var filterValue = getItem.data.find(function (v) {
89
+ return v.value === checkedValue;
90
+ });
91
+ return filterValue ? [filterValue] : [];
92
+ }, [getItem, valueObj.value]); // 编辑
93
+
94
+ var handleEdit = function handleEdit() {
95
+ dispatch({
96
+ type: 'changeValueDrawer',
97
+ valueDrawer: {
98
+ visible: true,
99
+ data: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, getItem), valueObj)
100
+ }
101
+ });
102
+ }; // 删除
103
+
104
+
105
+ var handleDelete = function handleDelete(e) {
106
+ e.stopPropagation();
107
+ var filterValues = (0, _objectSpread3.default)({}, complexDrawer.data);
108
+ delete filterValues[field];
109
+ dispatch({
110
+ type: 'changeComplexDrawer',
111
+ complexDrawer: {
112
+ visible: true,
113
+ data: filterValues
114
+ }
115
+ });
116
+ }; // 删除Tag
117
+
118
+
119
+ var onTagClose = function onTagClose(val) {
120
+ var originData = (0, _objectSpread3.default)({}, complexDrawer.data);
121
+ var nValue = '';
122
+
123
+ if (['select', 'checkbox'].includes(getItem.type)) {
124
+ nValue = originData[field].value.filter(function (v) {
125
+ return !v.includes(val);
126
+ });
127
+ }
128
+
129
+ if (['input'].includes(getItem.type)) {
130
+ nValue = '';
131
+ }
132
+
133
+ if (['cascader'].includes(getItem.type)) {
134
+ nValue = [];
135
+ }
136
+
137
+ var filterValues = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData), {}, (0, _defineProperty2.default)({}, field, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData[field]), {}, {
138
+ value: nValue
139
+ })));
140
+ dispatch({
141
+ type: 'changeComplexDrawer',
142
+ complexDrawer: {
143
+ visible: true,
144
+ data: filterValues
145
+ }
146
+ });
147
+ }; // Tags显示
148
+
149
+
150
+ var tagElem = function tagElem() {
151
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Tag, {
152
+ className: "add_tags"
153
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
154
+ type: "lmweb-plus"
155
+ }), " \u65B0\u589E"), checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.map(function (v) {
156
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Tag, {
157
+ key: v.value,
158
+ closable: true,
159
+ onClose: function onClose() {
160
+ return onTagClose(v.value);
161
+ }
162
+ }, v.label);
163
+ }));
164
+ }; // 模式
165
+
166
+
167
+ var modeLabel = (0, _react.useMemo)(function () {
168
+ return valueObj.mode === 'and' ? '且' : '或';
169
+ }, [valueObj.mode]);
170
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
171
+ className: "item_box",
172
+ onClick: handleEdit
173
+ }, /*#__PURE__*/_react.default.createElement("div", {
174
+ className: "item_header"
175
+ }, /*#__PURE__*/_react.default.createElement("div", {
176
+ className: "item_header_title"
177
+ }, "".concat(getItem.title, "\uFF08").concat(modeLabel, "\uFF09")), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
178
+ type: "lmweb-close1",
179
+ onClick: handleDelete,
180
+ className: "item_header_icon"
181
+ })), /*#__PURE__*/_react.default.createElement("div", {
182
+ className: "item_tags"
183
+ }, tagElem())));
184
+ }; // 全部筛选项
185
+
186
+
187
+ var ListGroup = function ListGroup(_ref2) {
188
+ var instance = _ref2.instance,
189
+ filterItemData = _ref2.filterItemData;
190
+ var state = instance.state,
191
+ dispatch = instance.dispatch,
192
+ dataSource = instance.dataSource;
193
+ var inputRef = (0, _react.useRef)(null);
194
+
195
+ var _useState = (0, _react.useState)(function () {
196
+ return dataSource;
197
+ }),
198
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
199
+ options = _useState2[0],
200
+ setOptions = _useState2[1]; // 未过滤的筛选项
201
+
202
+
203
+ var getNotFilters = (0, _react.useCallback)(function () {
204
+ return dataSource === null || dataSource === void 0 ? void 0 : dataSource.filter(function (v) {
205
+ return !(filterItemData === null || filterItemData === void 0 ? void 0 : filterItemData.some(function (s) {
206
+ return s.field === v.field;
207
+ }));
208
+ });
209
+ }, [dataSource, filterItemData]);
210
+
211
+ var handleSearch = function handleSearch(val) {
212
+ var arr = getNotFilters();
213
+ setOptions(arr.filter(function (v) {
214
+ var _v$title;
215
+
216
+ return ((_v$title = v.title) === null || _v$title === void 0 ? void 0 : _v$title.indexOf(val)) > -1;
217
+ }));
218
+ }; // 编辑
219
+
220
+
221
+ var handleEdit = function handleEdit(_ref3) {
222
+ var field = _ref3.field;
223
+ // 单项匹配数据, 根据字段名查找
224
+ var getItem = dataSource.find(function (v) {
225
+ return v.field === field;
226
+ }); // 编辑
227
+
228
+ dispatch({
229
+ type: 'changeValueDrawer',
230
+ valueDrawer: {
231
+ visible: true,
232
+ type: 'complex',
233
+ data: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, getItem), {}, {
234
+ value: []
235
+ })
236
+ }
237
+ });
238
+ };
239
+
240
+ (0, _react.useEffect)(function () {
241
+ var _inputRef$current, _inputRef$current$inp;
242
+
243
+ var val = ((_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : (_inputRef$current$inp = _inputRef$current.input) === null || _inputRef$current$inp === void 0 ? void 0 : _inputRef$current$inp.value) || '';
244
+ handleSearch(val);
245
+ }, [filterItemData]);
246
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
247
+ className: "list_group"
248
+ }, /*#__PURE__*/_react.default.createElement("div", {
249
+ className: "list_group_title"
250
+ }, "\u9009\u62E9\u67E5\u8BE2\u9879"), /*#__PURE__*/_react.default.createElement("div", {
251
+ className: "list_group_search"
252
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input.Search, {
253
+ ref: inputRef,
254
+ allowClear: true,
255
+ size: "default",
256
+ placeholder: "\u8BF7\u8F93\u5165",
257
+ onSearch: handleSearch
258
+ })), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
259
+ options: options,
260
+ className: "filter_drawer_group_list"
261
+ }, function (_ref4) {
262
+ var item = _ref4.item,
263
+ resetProps = (0, _objectWithoutProperties2.default)(_ref4, _excluded);
264
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
265
+ className: "filter_drawer_group_item"
266
+ }), /*#__PURE__*/_react.default.createElement("div", {
267
+ className: "item_box",
268
+ onClick: function onClick() {
269
+ return handleEdit(item);
270
+ }
271
+ }, /*#__PURE__*/_react.default.createElement("div", {
272
+ className: "item_header"
273
+ }, /*#__PURE__*/_react.default.createElement("div", {
274
+ className: "item_header_title"
275
+ }, item.title), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
276
+ type: "lmweb-plus",
277
+ className: "item_header_icon icon_plus"
278
+ }))));
279
+ })));
280
+ };
281
+
282
+ var ComplexDrawer = function ComplexDrawer(_ref5) {
283
+ var instance = _ref5.instance;
284
+ var state = instance.state,
285
+ dispatch = instance.dispatch,
286
+ onQuery = instance.onQuery,
287
+ dataSource = instance.dataSource;
288
+ var complexDrawer = state.complexDrawer;
289
+ var isHas = (0, _react.useMemo)(function () {
290
+ return (0, _utils.getIsHas)(complexDrawer.data);
291
+ }, [complexDrawer.data]); // 过滤的内容转数组
292
+
293
+ var filterItemData = (0, _react.useMemo)(function () {
294
+ return isHas ? Object.entries(complexDrawer.data).map(function (v) {
295
+ return {
296
+ field: v[0],
297
+ value: v[1]
298
+ };
299
+ }) : [];
300
+ }, [complexDrawer.data, isHas]);
301
+
302
+ var onClose = function onClose() {
303
+ dispatch({
304
+ type: 'changeComplexDrawer',
305
+ complexDrawer: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, complexDrawer), {}, {
306
+ visible: false
307
+ })
308
+ });
309
+ };
310
+
311
+ var onSearch = function onSearch() {
312
+ var complexFilter = complexDrawer.data;
313
+ onQuery === null || onQuery === void 0 ? void 0 : onQuery({
314
+ complexFilter: complexFilter,
315
+ type: 'complex'
316
+ });
317
+ }; // 初始化筛选
318
+
319
+
320
+ (0, _react.useEffect)(function () {
321
+ if (complexDrawer.visible) {
322
+ dispatch({
323
+ type: 'changeComplexDrawer',
324
+ complexDrawer: {
325
+ data: state.complexFilter,
326
+ visible: complexDrawer.visible
327
+ }
328
+ });
329
+ }
330
+ }, [dispatch, complexDrawer.visible]);
331
+
332
+ var Tit = function Tit() {
333
+ return /*#__PURE__*/_react.default.createElement("div", {
334
+ onClick: function onClick() {}
335
+ }, "\u9AD8\u7EA7\u67E5\u8BE2");
336
+ }; // 弹窗配置项
337
+
338
+
339
+ var config = {
340
+ title: /*#__PURE__*/_react.default.createElement(Tit, null),
341
+ visible: complexDrawer.visible,
342
+ onClose: onClose,
343
+ width: 440,
344
+ placement: 'right',
345
+ destroyOnClose: true,
346
+ className: 'lm_filter_drawer',
347
+ extra: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
348
+ onClick: onClose,
349
+ size: "small"
350
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
351
+ type: "primary",
352
+ onClick: onSearch,
353
+ size: "small"
354
+ }, "\u67E5\u8BE2"))
355
+ };
356
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Drawer, config, /*#__PURE__*/_react.default.createElement("div", {
357
+ className: "complex_filter_body"
358
+ }, isHas && /*#__PURE__*/_react.default.createElement("div", {
359
+ className: "checked_group"
360
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
361
+ options: filterItemData,
362
+ className: "filter_drawer_group_list"
363
+ }, function (_ref6) {
364
+ var item = _ref6.item,
365
+ resetProps = (0, _objectWithoutProperties2.default)(_ref6, _excluded2);
366
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
367
+ className: "filter_drawer_group_item"
368
+ }), /*#__PURE__*/_react.default.createElement(ListItemChecked, {
369
+ instance: instance,
370
+ item: item
371
+ }));
372
+ })), /*#__PURE__*/_react.default.createElement(ListGroup, {
373
+ instance: instance,
374
+ filterItemData: filterItemData
375
+ })), /*#__PURE__*/_react.default.createElement(_valueDrawer.default, {
376
+ instance: instance
377
+ })));
378
+ };
379
+
380
+ var _default = ComplexDrawer;
381
+ exports.default = _default;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _linkmoreDesign = require("linkmore-design");
19
+
20
+ var _drawer = _interopRequireDefault(require("./drawer"));
21
+
22
+ var _utils = require("../utils");
23
+
24
+ var LmFilterComplex = function LmFilterComplex(_ref) {
25
+ var instance = _ref.instance;
26
+ var state = instance.state,
27
+ dispatch = instance.dispatch;
28
+ var expand = (0, _react.useMemo)(function () {
29
+ return state.complexDrawer.visible;
30
+ }, [state.complexDrawer.visible]);
31
+ var active = (0, _react.useMemo)(function () {
32
+ return (0, _utils.getIsHas)(state.complexFilter);
33
+ }, [state.complexFilter]);
34
+
35
+ var handleClick = function handleClick() {
36
+ dispatch({
37
+ type: 'changeComplexDrawer',
38
+ complexDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.complexDrawer), {}, {
39
+ visible: true
40
+ })
41
+ });
42
+ };
43
+
44
+ return /*#__PURE__*/_react.default.createElement("div", {
45
+ className: "lm_filter_complex"
46
+ }, /*#__PURE__*/_react.default.createElement("div", {
47
+ className: (0, _classnames.default)('lm_filter_basic_item lm_filter_complex_item', {
48
+ expand: expand,
49
+ active: active
50
+ }),
51
+ onClick: handleClick
52
+ }, /*#__PURE__*/_react.default.createElement("div", {
53
+ className: "filter_item_icon addon_before"
54
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
55
+ type: "lmweb-filter"
56
+ })), /*#__PURE__*/_react.default.createElement("div", {
57
+ className: "filter_item_label"
58
+ }, "\u9AD8\u7EA7\u7B5B\u9009")), /*#__PURE__*/_react.default.createElement(_drawer.default, {
59
+ instance: instance
60
+ }));
61
+ };
62
+
63
+ var _default = LmFilterComplex;
64
+ exports.default = _default;
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
18
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
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/slicedToArray"));
25
+
26
+ var _react = _interopRequireWildcard(require("react"));
27
+
28
+ var _linkmoreDesign = require("linkmore-design");
29
+
30
+ var _utils = require("../utils");
31
+
32
+ var _Controls = _interopRequireDefault(require("../Controls"));
33
+
34
+ // 第二层抽屉,弹出数据选择
35
+ var ValueDrawer = function ValueDrawer(_ref) {
36
+ var instance = _ref.instance;
37
+ var state = instance.state,
38
+ dispatch = instance.dispatch,
39
+ dataSource = instance.dataSource;
40
+ var valueDrawer = state.valueDrawer,
41
+ complexDrawer = state.complexDrawer;
42
+
43
+ var _Form$useForm = _form.default.useForm(),
44
+ _Form$useForm2 = (0, _slicedToArray2.default)(_Form$useForm, 1),
45
+ form = _Form$useForm2[0];
46
+
47
+ var onClose = function onClose() {
48
+ dispatch({
49
+ type: 'changeValueDrawer',
50
+ valueDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, valueDrawer), {}, {
51
+ visible: false
52
+ })
53
+ });
54
+ form.resetFields();
55
+ };
56
+ /*
57
+ * customModal.data.type === 'nested' 时,处理不同(未增加)
58
+ *
59
+ */
60
+
61
+
62
+ var onSave = /*#__PURE__*/function () {
63
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
64
+ var _yield$form$validateF, field, mode, value, filterValues, currentItem, isNested, nField, nValue, _value$subValue;
65
+
66
+ return _regenerator.default.wrap(function _callee$(_context) {
67
+ while (1) {
68
+ switch (_context.prev = _context.next) {
69
+ case 0:
70
+ _context.prev = 0;
71
+ _context.next = 3;
72
+ return form.validateFields();
73
+
74
+ case 3:
75
+ _yield$form$validateF = _context.sent;
76
+ field = _yield$form$validateF.field;
77
+ mode = _yield$form$validateF.mode;
78
+ value = _yield$form$validateF.value;
79
+ // 选中的筛选数据
80
+ filterValues = (0, _objectSpread2.default)({}, complexDrawer.data); // 查找当前筛选的值
81
+
82
+ currentItem = valueDrawer.data; // 是否嵌套筛选
83
+
84
+ isNested = currentItem.type === 'nested'; // 嵌套筛选的键值不同
85
+
86
+ nField = valueDrawer.data.field;
87
+ nValue = value;
88
+
89
+ if (isNested) {
90
+ // 删除原有筛选
91
+ delete filterValues[currentItem.field];
92
+ currentItem.data.forEach(function (element) {
93
+ delete filterValues[element.value];
94
+ }); // 存在子级嵌套时,改变键值
95
+
96
+ if (value === null || value === void 0 ? void 0 : (_value$subValue = value.subValue) === null || _value$subValue === void 0 ? void 0 : _value$subValue.children) {
97
+ nField = value.subValue.value;
98
+ }
99
+
100
+ nValue = (value === null || value === void 0 ? void 0 : value.value) || [];
101
+ } // 判断是新增还是编辑
102
+
103
+
104
+ Object.assign(filterValues, (0, _defineProperty2.default)({}, nField, {
105
+ mode: mode,
106
+ value: nValue,
107
+ originField: currentItem.field
108
+ }));
109
+ dispatch({
110
+ type: 'changeComplexDrawer',
111
+ complexDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, complexDrawer), {}, {
112
+ data: filterValues
113
+ })
114
+ });
115
+ onClose();
116
+ _context.next = 20;
117
+ break;
118
+
119
+ case 18:
120
+ _context.prev = 18;
121
+ _context.t0 = _context["catch"](0);
122
+
123
+ case 20:
124
+ case "end":
125
+ return _context.stop();
126
+ }
127
+ }
128
+ }, _callee, null, [[0, 18]]);
129
+ }));
130
+
131
+ return function onSave() {
132
+ return _ref2.apply(this, arguments);
133
+ };
134
+ }();
135
+
136
+ var onValuesChange = function onValuesChange(values) {
137
+ if (values.field) {
138
+ form.setFieldsValue({
139
+ value: []
140
+ });
141
+ }
142
+
143
+ if (values.value) {
144
+ var _values$value;
145
+
146
+ // 嵌套筛选双击触发
147
+ if ((values === null || values === void 0 ? void 0 : (_values$value = values.value) === null || _values$value === void 0 ? void 0 : _values$value.type) === 'dbclick') {
148
+ onSave();
149
+ }
150
+ }
151
+ }; // 动态展示选择框
152
+
153
+
154
+ var DynamicSelect = (0, _react.useCallback)(function (_ref3) {
155
+ var getFieldValue = _ref3.getFieldValue;
156
+ var field = getFieldValue('field');
157
+ var findItem = (dataSource === null || dataSource === void 0 ? void 0 : dataSource.find(function (v) {
158
+ return v.field === field;
159
+ })) || {};
160
+ var options = (findItem === null || findItem === void 0 ? void 0 : findItem.data) || [];
161
+
162
+ if (field) {
163
+ return /*#__PURE__*/_react.default.createElement(_form.default.Item, {
164
+ name: "value",
165
+ label: "\u9009\u62E9\u5B57\u6BB5\u503C",
166
+ noStyle: true
167
+ }, /*#__PURE__*/_react.default.createElement(_Controls.default, {
168
+ item: findItem,
169
+ options: options
170
+ }));
171
+ }
172
+
173
+ return false;
174
+ }, [dataSource]);
175
+ var config = {
176
+ title: valueDrawer.data.title,
177
+ visible: valueDrawer.visible,
178
+ onClose: onClose,
179
+ className: 'lm_det_drawer',
180
+ extra: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, {
181
+ size: 8
182
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
183
+ key: "cancel",
184
+ onClick: onClose,
185
+ size: "small"
186
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
187
+ type: "primary",
188
+ key: "back",
189
+ onClick: onSave,
190
+ size: "small"
191
+ }, "\u786E\u5B9A"))
192
+ }; // 初始化重置数据
193
+
194
+ (0, _react.useEffect)(function () {
195
+ if (valueDrawer.visible) {
196
+ form.setFieldsValue(valueDrawer.data);
197
+ }
198
+ }, [form, valueDrawer]);
199
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Drawer, config, /*#__PURE__*/_react.default.createElement(_form.default, {
200
+ form: form,
201
+ initialValues: {
202
+ mode: 'or'
203
+ },
204
+ onValuesChange: onValuesChange,
205
+ layout: "vertical",
206
+ size: "default",
207
+ className: "custom_form"
208
+ }, /*#__PURE__*/_react.default.createElement("div", {
209
+ className: "custom_group"
210
+ }, /*#__PURE__*/_react.default.createElement("div", {
211
+ className: "custom_label"
212
+ }, "\u67E5\u8BE2\u65B9\u5F0F"), /*#__PURE__*/_react.default.createElement(_form.default.Item, {
213
+ name: "mode",
214
+ label: "\u67E5\u8BE2\u65B9\u5F0F",
215
+ noStyle: true
216
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
217
+ direction: "column"
218
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
219
+ value: "and"
220
+ }, "\u4E14,\u67E5\u8BE2\u540C\u65F6\u6EE1\u8DB3\u6B64\u9009\u9879\u6761\u4EF6"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
221
+ value: "or"
222
+ }, "\u6216,\u67E5\u8BE2\u5305\u542B\u6B64\u9009\u9879\u6761\u4EF6")))), /*#__PURE__*/_react.default.createElement("div", {
223
+ className: "custom_group custom_full"
224
+ }, /*#__PURE__*/_react.default.createElement("div", {
225
+ className: "custom_label"
226
+ }, "\u9009\u62E9\u5B57\u6BB5\u503C"), /*#__PURE__*/_react.default.createElement(_form.default.Item, {
227
+ noStyle: true,
228
+ shouldUpdate: function shouldUpdate(prevValues, currentValues) {
229
+ return prevValues.field !== currentValues.field;
230
+ }
231
+ }, DynamicSelect))));
232
+ };
233
+
234
+ var _default = ValueDrawer;
235
+ exports.default = _default;