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,264 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _linkmoreDesign = require("linkmore-design");
21
+
22
+ var _icons = require("@ant-design/icons");
23
+
24
+ var _InputFilter = _interopRequireDefault(require("./InputFilter"));
25
+
26
+ var _SelectFilter = _interopRequireDefault(require("./SelectFilter"));
27
+
28
+ var _CheckboxFilter = _interopRequireDefault(require("./CheckboxFilter"));
29
+
30
+ var _CascaderFilter = _interopRequireDefault(require("./CascaderFilter"));
31
+
32
+ var _DateFilter = _interopRequireDefault(require("./DateFilter"));
33
+
34
+ var _utils = require("../utils");
35
+
36
+ // 组件渲染
37
+ var FilterControl = function FilterControl(_ref) {
38
+ var instance = _ref.instance,
39
+ item = _ref.item;
40
+ var type = item.type;
41
+ var widgets = {
42
+ input: /*#__PURE__*/_react.default.createElement(_InputFilter.default, {
43
+ instance: instance,
44
+ item: item
45
+ }),
46
+ select: /*#__PURE__*/_react.default.createElement(_SelectFilter.default, {
47
+ instance: instance,
48
+ item: item
49
+ }),
50
+ checkbox: /*#__PURE__*/_react.default.createElement(_CheckboxFilter.default, {
51
+ instance: instance,
52
+ item: item
53
+ }),
54
+ cascader: /*#__PURE__*/_react.default.createElement(_CascaderFilter.default, {
55
+ instance: instance,
56
+ item: item
57
+ }),
58
+ date: /*#__PURE__*/_react.default.createElement(_DateFilter.default, {
59
+ instance: instance,
60
+ item: item
61
+ })
62
+ };
63
+ return widgets[type] || null;
64
+ };
65
+
66
+ var getPlacehodler = function getPlacehodler(props) {
67
+ var type = props.type,
68
+ itemProps = props.props; // 日期显示的处理
69
+
70
+ if (['date'].includes(type)) {
71
+ if (['range', 'rangePicker'].includes(props.dateType || props.datetype)) {
72
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "\u5F00\u59CB\u65E5\u671F", /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
73
+ type: "lmweb-swap-right",
74
+ style: {
75
+ fontSize: 14
76
+ }
77
+ }), "\u7ED3\u675F\u65E5\u671F", /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
78
+ style: {
79
+ fontSize: 12
80
+ }
81
+ }));
82
+ }
83
+
84
+ var placeholder = {
85
+ week: '周',
86
+ month: '月份',
87
+ quarter: '季度',
88
+ year: '年份'
89
+ };
90
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "\u9009\u62E9", placeholder[itemProps === null || itemProps === void 0 ? void 0 : itemProps.picker] || '日期', /*#__PURE__*/_react.default.createElement(_icons.CalendarOutlined, {
91
+ style: {
92
+ fontSize: 12
93
+ }
94
+ }));
95
+ }
96
+
97
+ return '全部';
98
+ }; // 根据不同的类型展示文本内容
99
+
100
+
101
+ var getLabel = function getLabel(filterValue, item) {
102
+ var type = item.type,
103
+ data = item.data; // 不存在筛选时
104
+
105
+ if (!(0, _utils.getIsHas)(filterValue)) {
106
+ return getPlacehodler(item);
107
+ } // 存在筛选数据时 ⬇️
108
+
109
+
110
+ try {
111
+ var _data$find;
112
+
113
+ // 级联数据转换平级结构
114
+ if (['cascader'].includes(type)) {
115
+ var nArr = (0, _utils.getFlatItem)(item, filterValue);
116
+ var labels = nArr === null || nArr === void 0 ? void 0 : nArr.map(function (v) {
117
+ var _item$props, _item$props$fieldName;
118
+
119
+ return v[(item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : (_item$props$fieldName = _item$props.fieldNames) === null || _item$props$fieldName === void 0 ? void 0 : _item$props$fieldName.label) || 'label'];
120
+ });
121
+
122
+ switch (labels.length) {
123
+ case 0:
124
+ // 数据未查找到时
125
+ return filterValue;
126
+
127
+ case 1:
128
+ return labels[0];
129
+
130
+ case 2:
131
+ return "".concat(labels[0], "\u3001").concat(labels[1]);
132
+
133
+ default:
134
+ return "".concat(labels[0], "\u3001+").concat(labels.length - 1, "...");
135
+ }
136
+ }
137
+
138
+ if (Array.isArray(filterValue)) {
139
+ var _data$filter;
140
+
141
+ // 日期
142
+ if (['date'].includes(type)) {
143
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, filterValue[0], /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
144
+ type: "lmweb-swap-right",
145
+ style: {
146
+ fontSize: 14,
147
+ color: 'var(--text-color)'
148
+ }
149
+ }), filterValue[1]);
150
+ } // 多选
151
+
152
+
153
+ var _labels = data === null || data === void 0 ? void 0 : (_data$filter = data.filter(function (v) {
154
+ return filterValue.includes(v.value);
155
+ })) === null || _data$filter === void 0 ? void 0 : _data$filter.map(function (v) {
156
+ return v.label;
157
+ });
158
+
159
+ if (!_labels.length) {
160
+ _labels = filterValue;
161
+ } // 受控模式未查找到显示的内容时展示
162
+
163
+
164
+ switch (_labels.length) {
165
+ case 1:
166
+ return _labels[0];
167
+
168
+ case 2:
169
+ return "".concat(_labels[0], "\u3001").concat(_labels[1]);
170
+
171
+ default:
172
+ return "".concat(_labels[0], "\u3001+").concat(_labels.length - 1, "...");
173
+ }
174
+ } // 输入框
175
+
176
+
177
+ if (['input', 'date'].includes(type)) {
178
+ return filterValue;
179
+ } // 单选框 受控模式未查找到显示的内容时展示filterValue
180
+
181
+
182
+ var label = (data === null || data === void 0 ? void 0 : (_data$find = data.find(function (v) {
183
+ return (v === null || v === void 0 ? void 0 : v.value) === filterValue;
184
+ })) === null || _data$find === void 0 ? void 0 : _data$find.label) || filterValue;
185
+ return label;
186
+ } catch (error) {
187
+ return filterValue;
188
+ }
189
+ };
190
+ /*
191
+ * css样式控制
192
+ * expand: 展开样式
193
+ * active: 选中样式
194
+ */
195
+
196
+
197
+ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
198
+ var instance = _ref2.instance,
199
+ item = _ref2.item;
200
+
201
+ var _useState = (0, _react.useState)(false),
202
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
203
+ visible = _useState2[0],
204
+ setVisible = _useState2[1];
205
+
206
+ var filterValue = instance.filterValue; // 触发查询时关闭下拉框
207
+
208
+ var setFilterValue = function setFilterValue(obj) {
209
+ instance.setFilterValue(obj);
210
+ setVisible(false);
211
+ }; // 重组Instance 加入下拉关闭控制
212
+
213
+
214
+ var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({
215
+ visible: visible,
216
+ setVisible: setVisible
217
+ }, instance), {}, {
218
+ setFilterValue: setFilterValue
219
+ }); // 是否有筛选值/是否处于筛选状态
220
+
221
+ var active = (0, _react.useMemo)(function () {
222
+ return (0, _utils.getIsHas)(filterValue);
223
+ }, [filterValue]);
224
+
225
+ var handleClear = function handleClear(e) {
226
+ if (active) {
227
+ e.stopPropagation();
228
+ setFilterValue((0, _utils.getValueForType)(item.type));
229
+ }
230
+ };
231
+
232
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Dropdown, {
233
+ trigger: ['click'],
234
+ visible: resetInstance.visible,
235
+ placement: "bottomLeft",
236
+ overlay: /*#__PURE__*/_react.default.createElement(FilterControl, {
237
+ instance: resetInstance,
238
+ item: item
239
+ }),
240
+ overlayClassName: "filter_dropdown_container_".concat(item.type),
241
+ onVisibleChange: function onVisibleChange(v) {
242
+ return setVisible(v);
243
+ } // 未开启则需手动控制下拉展示组件的初始化
244
+ ,
245
+ destroyPopupOnHide: true
246
+ }, /*#__PURE__*/_react.default.createElement("div", {
247
+ className: (0, _classnames.default)('lm_filter_basic_item', {
248
+ expand: visible,
249
+ active: active
250
+ })
251
+ }, /*#__PURE__*/_react.default.createElement("div", {
252
+ className: "filter_item_label"
253
+ }, item === null || item === void 0 ? void 0 : item.title, ":"), /*#__PURE__*/_react.default.createElement("div", {
254
+ className: "filter_item_value"
255
+ }, getLabel(filterValue, item)), /*#__PURE__*/_react.default.createElement("div", {
256
+ className: "filter_item_icon addon_after"
257
+ }, item.type !== 'date' || active ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
258
+ type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
259
+ onClick: handleClear
260
+ }) : null)));
261
+ });
262
+
263
+ var _default = DropdownFilter;
264
+ exports.default = _default;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _empty = _interopRequireDefault(require("../assets/empty.png"));
13
+
14
+ var EmptyFilter = function EmptyFilter() {
15
+ return /*#__PURE__*/_react.default.createElement("div", {
16
+ className: "filter_empty"
17
+ }, /*#__PURE__*/_react.default.createElement("img", {
18
+ src: _empty.default,
19
+ alt: "empty",
20
+ width: 81
21
+ }), /*#__PURE__*/_react.default.createElement("div", {
22
+ className: "filter_empty_text"
23
+ }, "\u6682\u65E0\u6570\u636E"));
24
+ };
25
+
26
+ var _default = EmptyFilter;
27
+ exports.default = _default;
@@ -0,0 +1,51 @@
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 _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
15
+
16
+ var InputFilter = function InputFilter(_ref) {
17
+ var instance = _ref.instance;
18
+ var _instance$filterValue = instance.filterValue,
19
+ filterValue = _instance$filterValue === void 0 ? '' : _instance$filterValue,
20
+ setFilterValue = instance.setFilterValue,
21
+ visible = instance.visible;
22
+ var inputRef = (0, _react.useRef)(null);
23
+
24
+ var onChange = function onChange(val) {
25
+ return setFilterValue(val);
26
+ };
27
+
28
+ (0, _react.useEffect)(function () {
29
+ if (visible) {
30
+ var _inputRef$current;
31
+
32
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
33
+ cursor: 'all'
34
+ }); // 若开启了 Dropdown => destroyPopupOnHide=true 无需重置操作 反之需开启
35
+ // inputRef.current?.setValue?.('');
36
+ // handleFilter('');
37
+ }
38
+ }, [visible]);
39
+ return /*#__PURE__*/_react.default.createElement("div", {
40
+ className: "filter_dropdown"
41
+ }, /*#__PURE__*/_react.default.createElement("div", {
42
+ className: "filter_header"
43
+ }, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
44
+ defaultValue: filterValue,
45
+ ref: inputRef,
46
+ onSearch: onChange
47
+ })));
48
+ };
49
+
50
+ var _default = InputFilter;
51
+ exports.default = _default;
@@ -0,0 +1,74 @@
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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _linkmoreDesign = require("linkmore-design");
23
+
24
+ var _hooks = require("../hooks");
25
+
26
+ var _excluded = ["value", "onChange", "onSearch"];
27
+ // 搜索输入框, 增加Ref关闭功能
28
+ var InputSearchClose = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
29
+ var inputRef = (0, _react.useRef)(null);
30
+ var value = props.value,
31
+ onChange = props.onChange,
32
+ onSearch = props.onSearch,
33
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
34
+
35
+ var _useState = (0, _react.useState)(value),
36
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
+ aliveValue = _useState2[0],
38
+ setAliveValue = _useState2[1];
39
+
40
+ var delayedQuery = (0, _hooks.useDelayedFn)(500); // 内容改变触发 => 延迟触发
41
+
42
+ var handleChange = function handleChange(e) {
43
+ e === null || e === void 0 ? void 0 : e.persist();
44
+ setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(e.target.value);
45
+ delayedQuery(function () {
46
+ return onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value);
47
+ });
48
+ }; // 搜索触发 => 立即触发 & 解除上一次的延迟触发
49
+
50
+
51
+ var handleSearch = function handleSearch(val) {
52
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(val);
53
+ delayedQuery.cancel();
54
+ };
55
+
56
+ (0, _react.useImperativeHandle)(ref, function () {
57
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, inputRef.current), {}, {
58
+ setValue: function setValue(val) {
59
+ return setAliveValue(val);
60
+ }
61
+ });
62
+ });
63
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input.Search, (0, _extends2.default)({
64
+ ref: inputRef,
65
+ allowClear: true,
66
+ size: "small",
67
+ placeholder: "\u8BF7\u8F93\u5165",
68
+ value: aliveValue,
69
+ onSearch: handleSearch,
70
+ onChange: handleChange
71
+ }, resetProps));
72
+ });
73
+ var _default = InputSearchClose;
74
+ exports.default = _default;
@@ -0,0 +1,121 @@
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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _linkmoreDesign = require("linkmore-design");
23
+
24
+ var _classnames = _interopRequireDefault(require("classnames"));
25
+
26
+ var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
27
+
28
+ var _EmptyFilter = _interopRequireDefault(require("./EmptyFilter"));
29
+
30
+ var _hooks = require("../hooks");
31
+
32
+ var _excluded = ["item"];
33
+
34
+ var SelectFilter = function SelectFilter(_ref) {
35
+ var instance = _ref.instance,
36
+ itemProps = _ref.item;
37
+ var _instance$filterValue = instance.filterValue,
38
+ filterValue = _instance$filterValue === void 0 ? '' : _instance$filterValue,
39
+ setFilterValue = instance.setFilterValue,
40
+ visible = instance.visible;
41
+ var _itemProps$data = itemProps.data,
42
+ filters = _itemProps$data === void 0 ? [] : _itemProps$data;
43
+ var delayedFn = (0, _hooks.useDelayedFn)();
44
+ var inputRef = (0, _react.useRef)(null); // 搜索后的筛选项
45
+
46
+ var _useState = (0, _react.useState)(filters),
47
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
48
+ options = _useState2[0],
49
+ setOptions = _useState2[1]; // 是否存在搜索, 当数据大于8时存在搜索
50
+
51
+
52
+ var isSearch = (0, _react.useMemo)(function () {
53
+ return filters.length > 8;
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]);
62
+
63
+ var handleFilter = function handleFilter() {
64
+ var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
65
+ var serachValues = filters.filter(function (v) {
66
+ return v[fieldNames.label].indexOf(val) > -1;
67
+ });
68
+ setOptions(serachValues);
69
+ }; // 单选事件
70
+
71
+
72
+ var onChange = function onChange(e, obj) {
73
+ e.preventDefault();
74
+ setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(obj[fieldNames.value], obj);
75
+ }; // 展开下拉时触发: 赋值 && 聚焦 && 重置显示内容
76
+
77
+
78
+ (0, _react.useEffect)(function () {
79
+ if (visible) {
80
+ delayedFn(function () {
81
+ var _inputRef$current, _inputRef$current$foc;
82
+
83
+ return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : (_inputRef$current$foc = _inputRef$current.focus) === null || _inputRef$current$foc === void 0 ? void 0 : _inputRef$current$foc.call(_inputRef$current, {
84
+ cursor: 'all'
85
+ });
86
+ }); // 若开启了 Dropdown => destroyPopupOnHide=true 无需重置操作 反之需开启
87
+ // inputRef.current?.setValue?.('');
88
+ // handleFilter('');
89
+ }
90
+ }, [visible]);
91
+ return /*#__PURE__*/_react.default.createElement("div", {
92
+ className: "filter_dropdown"
93
+ }, isSearch && /*#__PURE__*/_react.default.createElement("div", {
94
+ className: "filter_header"
95
+ }, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
96
+ ref: inputRef,
97
+ onSearch: handleFilter,
98
+ onChange: handleFilter
99
+ })), /*#__PURE__*/_react.default.createElement("div", {
100
+ className: "filter_body"
101
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
102
+ options: options,
103
+ className: "filter_list"
104
+ }, function (_ref2) {
105
+ var item = _ref2.item,
106
+ resetProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
107
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
108
+ className: (0, _classnames.default)('filter_item', {
109
+ checked: item[fieldNames.value] === filterValue
110
+ }),
111
+ onClick: function onClick(e) {
112
+ return onChange(e, item);
113
+ }
114
+ }), /*#__PURE__*/_react.default.createElement("div", {
115
+ className: "filter_item_content"
116
+ }, item[fieldNames.label]));
117
+ }), !options.length && /*#__PURE__*/_react.default.createElement(_EmptyFilter.default, null)));
118
+ };
119
+
120
+ var _default = SelectFilter;
121
+ exports.default = _default;
@@ -0,0 +1,93 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _DropdownFIlter = _interopRequireDefault(require("./DropdownFIlter"));
21
+
22
+ var _utils = require("../utils");
23
+
24
+ var _excluded = ["instance", "item", "value", "onChange", "options"],
25
+ _excluded2 = ["getFilterValue", "setFilterValue"];
26
+
27
+ // 下拉筛选组件
28
+
29
+ /*
30
+ * 筛选组件使用时只传入 instance, item
31
+ * 其余参数皆为单独使用时传入
32
+ */
33
+ var FilterControl = /*#__PURE__*/_react.default.memo(function (props) {
34
+ var _props$instance = props.instance,
35
+ instance = _props$instance === void 0 ? {} : _props$instance,
36
+ _props$item = props.item,
37
+ item = _props$item === void 0 ? {} : _props$item,
38
+ value = props.value,
39
+ onChange = props.onChange,
40
+ options = props.options,
41
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
42
+ var getFilterValue = instance.getFilterValue,
43
+ _setFilterValue = instance.setFilterValue,
44
+ resetInstanceProps = (0, _objectWithoutProperties2.default)(instance, _excluded2); // 重组item值
45
+
46
+ var resetItem = (0, _react.useMemo)(function () {
47
+ var data = item.data;
48
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), resetProps), {}, {
49
+ data: data || options
50
+ });
51
+ }, [item, resetProps, options]); // 单独使用时的缓存数据(非受控模式) 默认值: [] || ''
52
+
53
+ var _useState = (0, _react.useState)(function () {
54
+ return (0, _utils.getValueForType)(resetItem.type);
55
+ }),
56
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
57
+ aliveValue = _useState2[0],
58
+ setAliveValue = _useState2[1]; // 单独使用 检查是否受控模式
59
+
60
+
61
+ var transformFilterValue = (0, _react.useMemo)(function () {
62
+ return value || aliveValue;
63
+ }, [value, aliveValue]);
64
+ var filterValue = (0, _react.useMemo)(function () {
65
+ var val = getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem);
66
+
67
+ if ((0, _utils.getIsHas)(val)) {
68
+ return val;
69
+ }
70
+
71
+ return val || transformFilterValue;
72
+ }, [getFilterValue, resetItem, transformFilterValue]); // 单独使用时抛出选中的值
73
+
74
+ var handleChange = function handleChange(val) {
75
+ setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(val);
76
+ onChange === null || onChange === void 0 ? void 0 : onChange(val);
77
+ }; // 重组instance
78
+
79
+
80
+ var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetInstanceProps), {}, {
81
+ filterValue: filterValue,
82
+ setFilterValue: function setFilterValue(val) {
83
+ return (_setFilterValue || handleChange)(val, resetItem);
84
+ }
85
+ });
86
+ return /*#__PURE__*/_react.default.createElement(_DropdownFIlter.default, {
87
+ instance: resetInstance,
88
+ item: resetItem
89
+ });
90
+ });
91
+
92
+ var _default = FilterControl;
93
+ exports.default = _default;