linkmore-design 1.0.50 → 1.0.54

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 (265) hide show
  1. package/dist/Alert/ErrorBoundary.d.ts +22 -0
  2. package/dist/{Notification → Alert}/demos/basic.d.ts +0 -0
  3. package/dist/{Notification/demos/button.d.ts → Alert/demos/visible.d.ts} +0 -0
  4. package/dist/Alert/index.d.ts +41 -0
  5. package/dist/{Notification → Alert}/style/index.d.ts +0 -0
  6. package/dist/Button/style/index.d.ts +1 -1
  7. package/dist/CardTable/fns/index.d.ts +7 -3
  8. package/dist/CardTable/{toolbar → pager}/TablePagination.d.ts +0 -0
  9. package/dist/CardTable/pager/index.d.ts +3 -0
  10. package/dist/LmEditTable/style/index.d.ts +1 -1
  11. package/dist/LmFilter/LmFilter.d.ts +3 -0
  12. package/dist/LmFilter/baseFilter/index.d.ts +3 -0
  13. package/dist/LmFilter/clearFilter/index.d.ts +3 -0
  14. package/dist/LmFilter/complexFilter/index.d.ts +2 -0
  15. package/dist/LmFilter/components/CascaderFilter.d.ts +5 -0
  16. package/dist/LmFilter/components/CheckboxFilter.d.ts +5 -0
  17. package/dist/LmFilter/components/DateFilter.d.ts +5 -0
  18. package/dist/LmFilter/components/DropdownFIlter.d.ts +3 -0
  19. package/dist/LmFilter/components/EmptyFilter.d.ts +2 -0
  20. package/dist/LmFilter/components/InputFilter.d.ts +4 -0
  21. package/dist/LmFilter/components/InputSearchClose.d.ts +3 -0
  22. package/dist/LmFilter/components/SelectFilter.d.ts +5 -0
  23. package/dist/LmFilter/components/fuzzySearch.d.ts +4 -0
  24. package/dist/LmFilter/components/index.d.ts +3 -0
  25. package/dist/LmFilter/customFilter/index.d.ts +2 -0
  26. package/dist/LmFilter/demos/basic.d.ts +2 -0
  27. package/dist/LmFilter/filterFns/index.d.ts +12 -0
  28. package/dist/LmFilter/hooks/index.d.ts +1 -0
  29. package/dist/LmFilter/hooks/useDelayedFn.d.ts +2 -0
  30. package/dist/LmFilter/index.d.ts +2 -0
  31. package/dist/LmFilter/style/index.d.ts +1 -0
  32. package/dist/LmFilter/utils.d.ts +8 -0
  33. package/dist/LmFilter/wrapper/Filter.d.ts +3 -0
  34. package/dist/LmFilter/wrapper/FilterContainer.d.ts +3 -0
  35. package/dist/LmFilter/wrapper/FilterRoot.d.ts +3 -0
  36. package/dist/LmFilter/wrapper/FilterWrapper.d.ts +3 -0
  37. package/dist/_util/getDataOrAriaProps.d.ts +1 -0
  38. package/dist/_util/reactNode.d.ts +7 -0
  39. package/dist/index.d.ts +1 -1
  40. package/dist/index.umd.js +3019 -425
  41. package/dist/index.umd.min.js +6 -6
  42. package/dist/message/hooks/useMessage.d.ts +7 -0
  43. package/dist/message/index.d.ts +63 -4
  44. package/dist/{Notification/demos/icon.d.ts → notification/demos/basic.d.ts} +0 -0
  45. package/dist/notification/demos/button.d.ts +2 -0
  46. package/dist/notification/demos/icon.d.ts +2 -0
  47. package/dist/notification/hooks/useNotification.d.ts +7 -0
  48. package/dist/notification/index.d.ts +54 -0
  49. package/dist/notification/style/index.d.ts +1 -0
  50. package/es/Alert/ErrorBoundary.d.ts +22 -0
  51. package/es/Alert/ErrorBoundary.js +65 -0
  52. package/es/Alert/index.d.ts +41 -0
  53. package/es/Alert/index.js +192 -0
  54. package/{lib/Notification → es/Alert}/style/index.css +25 -2
  55. package/es/{Notification → Alert}/style/index.d.ts +0 -0
  56. package/es/{Notification → Alert}/style/index.js +0 -0
  57. package/es/Button/style/{style.css → index.css} +0 -0
  58. package/es/Button/style/index.d.ts +1 -1
  59. package/es/Button/style/index.js +1 -1
  60. package/es/ButtonTags/style/{style.css → index.css} +0 -0
  61. package/es/ButtonTags/style/index.js +1 -1
  62. package/es/CardTable/card/PictureTextColumn.js +8 -6
  63. package/es/CardTable/card/PictureTextRow.js +1 -1
  64. package/es/CardTable/fns/index.js +38 -9
  65. package/es/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  66. package/es/CardTable/pager/index.js +48 -0
  67. package/{lib/CardTable/style/style.css → es/CardTable/style/index.css} +2 -2
  68. package/es/CardTable/style/index.js +1 -1
  69. package/es/CardTable/table/TableRoot.js +20 -18
  70. package/es/CardTable/table/TableWrapper.js +4 -0
  71. package/es/CardTable/toolbar/ToolBarBottom.js +8 -27
  72. package/es/Checkbox/style/{style.css → index.css} +0 -0
  73. package/es/Checkbox/style/index.js +1 -1
  74. package/es/CkFilter/style/{style.css → index.css} +0 -0
  75. package/es/CkFilter/style/index.js +1 -1
  76. package/es/CustomerService/style/{style.css → index.css} +0 -0
  77. package/es/CustomerService/style/index.js +1 -1
  78. package/es/EditTable/style/{style.css → index.css} +0 -0
  79. package/es/EditTable/style/index.js +1 -1
  80. package/es/EnlargeImg/style/{style.css → index.css} +0 -0
  81. package/es/EnlargeImg/style/index.js +1 -1
  82. package/es/Filter/style/{style.css → index.css} +0 -0
  83. package/es/Filter/style/index.js +1 -1
  84. package/es/IconSelect/style/{style.css → index.css} +0 -0
  85. package/es/IconSelect/style/index.js +1 -1
  86. package/es/Input/style/{style.css → index.css} +0 -0
  87. package/es/Input/style/index.js +1 -1
  88. package/es/LeftTable/style/{style.css → index.css} +0 -0
  89. package/es/LeftTable/style/index.js +1 -1
  90. package/es/LmEditTable/style/{style.css → index.css} +0 -0
  91. package/es/LmEditTable/style/index.d.ts +1 -1
  92. package/es/LmEditTable/style/index.js +1 -1
  93. package/es/LmFilter/LmFilter.js +27 -0
  94. package/es/LmFilter/baseFilter/index.js +34 -0
  95. package/es/LmFilter/clearFilter/index.js +33 -0
  96. package/es/LmFilter/complexFilter/index.js +17 -0
  97. package/es/LmFilter/components/CascaderFilter.js +183 -0
  98. package/es/LmFilter/components/CheckboxFilter.js +197 -0
  99. package/es/LmFilter/components/DateFilter.js +147 -0
  100. package/es/LmFilter/components/DropdownFIlter.js +162 -0
  101. package/es/LmFilter/components/EmptyFilter.js +27 -0
  102. package/es/LmFilter/components/InputFilter.js +52 -0
  103. package/es/LmFilter/components/InputSearchClose.js +74 -0
  104. package/es/LmFilter/components/SelectFilter.js +113 -0
  105. package/es/LmFilter/components/fuzzySearch.js +37 -0
  106. package/es/LmFilter/components/index.js +97 -0
  107. package/es/LmFilter/customFilter/index.js +17 -0
  108. package/es/LmFilter/filterFns/index.js +54 -0
  109. package/es/LmFilter/hooks/index.js +18 -0
  110. package/es/LmFilter/hooks/useDelayedFn.js +27 -0
  111. package/es/LmFilter/icon_placeholder.png +0 -0
  112. package/es/LmFilter/index.js +16 -0
  113. package/es/LmFilter/style/index.js +3 -0
  114. package/es/LmFilter/style/style.css +189 -0
  115. package/es/LmFilter/utils.js +55 -0
  116. package/es/LmFilter/wrapper/Filter.js +33 -0
  117. package/es/LmFilter/wrapper/FilterContainer.js +29 -0
  118. package/es/LmFilter/wrapper/FilterRoot.js +114 -0
  119. package/es/LmFilter/wrapper/FilterWrapper.js +25 -0
  120. package/es/LmTable/Table.js +3 -5
  121. package/{lib/LmTable/style/style.css → es/LmTable/style/index.css} +6 -0
  122. package/es/LmTable/style/index.js +1 -1
  123. package/es/OldModal/style/{style.css → index.css} +0 -0
  124. package/es/OldModal/style/index.js +1 -1
  125. package/es/PopTable/style/{style.css → index.css} +0 -0
  126. package/es/PopTable/style/index.js +1 -1
  127. package/es/ProTable/style/{style.css → index.css} +0 -0
  128. package/es/ProTable/style/index.js +1 -1
  129. package/es/Radio/style/{style.css → index.css} +0 -0
  130. package/es/Radio/style/index.js +1 -1
  131. package/es/TableRender/style/{style.css → index.css} +0 -0
  132. package/es/TableRender/style/index.js +1 -1
  133. package/es/UploadOss/style/{style.css → index.css} +0 -0
  134. package/es/UploadOss/style/index.js +1 -1
  135. package/es/VirtualList/style/{style.css → index.css} +0 -0
  136. package/es/VirtualList/style/index.js +1 -1
  137. package/es/_util/getDataOrAriaProps.d.ts +1 -0
  138. package/es/_util/getDataOrAriaProps.js +9 -0
  139. package/es/_util/reactNode.d.ts +7 -0
  140. package/es/_util/reactNode.js +10 -0
  141. package/es/index.d.ts +1 -1
  142. package/es/index.js +1 -1
  143. package/es/message/hooks/useMessage.d.ts +7 -0
  144. package/es/message/hooks/useMessage.js +83 -0
  145. package/es/message/index.d.ts +63 -4
  146. package/es/message/index.js +241 -12
  147. package/es/message/style/index.css +28 -1
  148. package/es/notification/hooks/useNotification.d.ts +7 -0
  149. package/es/notification/hooks/useNotification.js +54 -0
  150. package/es/notification/index.d.ts +54 -0
  151. package/es/notification/index.js +342 -0
  152. package/es/notification/style/index.css +546 -0
  153. package/{lib/Notification → es/notification}/style/index.d.ts +0 -0
  154. package/es/notification/style/index.js +1 -0
  155. package/lib/Alert/ErrorBoundary.d.ts +22 -0
  156. package/lib/Alert/ErrorBoundary.js +79 -0
  157. package/lib/Alert/index.d.ts +41 -0
  158. package/lib/Alert/index.js +215 -0
  159. package/{es/Notification → lib/Alert}/style/index.css +25 -2
  160. package/lib/Alert/style/index.d.ts +1 -0
  161. package/lib/{Notification → Alert}/style/index.js +0 -0
  162. package/lib/Button/style/{style.css → index.css} +0 -0
  163. package/lib/Button/style/index.d.ts +1 -1
  164. package/lib/Button/style/index.js +1 -1
  165. package/lib/ButtonTags/style/{style.css → index.css} +0 -0
  166. package/lib/ButtonTags/style/index.js +1 -1
  167. package/lib/CardTable/card/PictureTextColumn.js +8 -6
  168. package/lib/CardTable/card/PictureTextRow.js +1 -1
  169. package/lib/CardTable/fns/index.js +38 -9
  170. package/lib/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  171. package/lib/CardTable/pager/index.js +48 -0
  172. package/{es/CardTable/style/style.css → lib/CardTable/style/index.css} +2 -2
  173. package/lib/CardTable/style/index.js +1 -1
  174. package/lib/CardTable/table/TableRoot.js +20 -18
  175. package/lib/CardTable/table/TableWrapper.js +4 -0
  176. package/lib/CardTable/toolbar/ToolBarBottom.js +8 -27
  177. package/lib/Checkbox/style/{style.css → index.css} +0 -0
  178. package/lib/Checkbox/style/index.js +1 -1
  179. package/lib/CkFilter/style/{style.css → index.css} +0 -0
  180. package/lib/CkFilter/style/index.js +1 -1
  181. package/lib/CustomerService/style/{style.css → index.css} +0 -0
  182. package/lib/CustomerService/style/index.js +1 -1
  183. package/lib/EditTable/style/{style.css → index.css} +0 -0
  184. package/lib/EditTable/style/index.js +1 -1
  185. package/lib/EnlargeImg/style/{style.css → index.css} +0 -0
  186. package/lib/EnlargeImg/style/index.js +1 -1
  187. package/lib/Filter/style/{style.css → index.css} +0 -0
  188. package/lib/Filter/style/index.js +1 -1
  189. package/lib/IconSelect/style/{style.css → index.css} +0 -0
  190. package/lib/IconSelect/style/index.js +1 -1
  191. package/lib/Input/style/{style.css → index.css} +0 -0
  192. package/lib/Input/style/index.js +1 -1
  193. package/lib/LeftTable/style/{style.css → index.css} +0 -0
  194. package/lib/LeftTable/style/index.js +1 -1
  195. package/lib/LmEditTable/style/{style.css → index.css} +0 -0
  196. package/lib/LmEditTable/style/index.d.ts +1 -1
  197. package/lib/LmEditTable/style/index.js +1 -1
  198. package/lib/LmFilter/LmFilter.js +27 -0
  199. package/lib/LmFilter/baseFilter/index.js +34 -0
  200. package/lib/LmFilter/clearFilter/index.js +33 -0
  201. package/lib/LmFilter/complexFilter/index.js +17 -0
  202. package/lib/LmFilter/components/CascaderFilter.js +183 -0
  203. package/lib/LmFilter/components/CheckboxFilter.js +197 -0
  204. package/lib/LmFilter/components/DateFilter.js +147 -0
  205. package/lib/LmFilter/components/DropdownFIlter.js +162 -0
  206. package/lib/LmFilter/components/EmptyFilter.js +27 -0
  207. package/lib/LmFilter/components/InputFilter.js +52 -0
  208. package/lib/LmFilter/components/InputSearchClose.js +74 -0
  209. package/lib/LmFilter/components/SelectFilter.js +113 -0
  210. package/lib/LmFilter/components/fuzzySearch.js +37 -0
  211. package/lib/LmFilter/components/index.js +97 -0
  212. package/lib/LmFilter/customFilter/index.js +17 -0
  213. package/lib/LmFilter/filterFns/index.js +54 -0
  214. package/lib/LmFilter/hooks/index.js +18 -0
  215. package/lib/LmFilter/hooks/useDelayedFn.js +27 -0
  216. package/lib/LmFilter/icon_placeholder.png +0 -0
  217. package/lib/LmFilter/index.js +16 -0
  218. package/lib/LmFilter/style/index.js +3 -0
  219. package/lib/LmFilter/style/style.css +189 -0
  220. package/lib/LmFilter/utils.js +55 -0
  221. package/lib/LmFilter/wrapper/Filter.js +33 -0
  222. package/lib/LmFilter/wrapper/FilterContainer.js +29 -0
  223. package/lib/LmFilter/wrapper/FilterRoot.js +114 -0
  224. package/lib/LmFilter/wrapper/FilterWrapper.js +25 -0
  225. package/lib/LmTable/Table.js +3 -5
  226. package/{es/LmTable/style/style.css → lib/LmTable/style/index.css} +6 -0
  227. package/lib/LmTable/style/index.js +1 -1
  228. package/lib/OldModal/style/{style.css → index.css} +0 -0
  229. package/lib/OldModal/style/index.js +1 -1
  230. package/lib/PopTable/style/{style.css → index.css} +0 -0
  231. package/lib/PopTable/style/index.js +1 -1
  232. package/lib/ProTable/style/{style.css → index.css} +0 -0
  233. package/lib/ProTable/style/index.js +1 -1
  234. package/lib/Radio/style/{style.css → index.css} +0 -0
  235. package/lib/Radio/style/index.js +1 -1
  236. package/lib/TableRender/style/{style.css → index.css} +0 -0
  237. package/lib/TableRender/style/index.js +1 -1
  238. package/lib/UploadOss/style/{style.css → index.css} +0 -0
  239. package/lib/UploadOss/style/index.js +1 -1
  240. package/lib/VirtualList/style/{style.css → index.css} +0 -0
  241. package/lib/VirtualList/style/index.js +1 -1
  242. package/lib/_util/getDataOrAriaProps.d.ts +1 -0
  243. package/lib/_util/getDataOrAriaProps.js +16 -0
  244. package/lib/_util/reactNode.d.ts +7 -0
  245. package/lib/_util/reactNode.js +24 -0
  246. package/lib/index.d.ts +1 -1
  247. package/lib/index.js +2 -2
  248. package/lib/message/hooks/useMessage.d.ts +7 -0
  249. package/lib/message/hooks/useMessage.js +101 -0
  250. package/lib/message/index.d.ts +63 -4
  251. package/lib/message/index.js +262 -16
  252. package/lib/message/style/index.css +28 -1
  253. package/lib/notification/hooks/useNotification.d.ts +7 -0
  254. package/lib/notification/hooks/useNotification.js +69 -0
  255. package/lib/notification/index.d.ts +54 -0
  256. package/lib/notification/index.js +365 -0
  257. package/lib/notification/style/index.css +546 -0
  258. package/lib/notification/style/index.d.ts +1 -0
  259. package/lib/notification/style/index.js +3 -0
  260. package/package.json +1 -1
  261. package/dist/Notification/index.d.ts +0 -7
  262. package/es/Notification/index.d.ts +0 -7
  263. package/es/Notification/index.js +0 -10
  264. package/lib/Notification/index.d.ts +0 -7
  265. package/lib/Notification/index.js +0 -23
@@ -0,0 +1,97 @@
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 instance = props.instance,
35
+ item = props.item,
36
+ value = props.value,
37
+ onChange = props.onChange,
38
+ options = props.options,
39
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
40
+ var getFilterValue = instance.getFilterValue,
41
+ _setFilterValue = instance.setFilterValue,
42
+ resetInstanceProps = (0, _objectWithoutProperties2.default)(instance, _excluded2); // 重组item值
43
+
44
+ var resetItem = (0, _react.useMemo)(function () {
45
+ var data = item.data;
46
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), resetProps), {}, {
47
+ data: data || options
48
+ });
49
+ }, [item, resetProps, options]); // 单独使用时的缓存数据(非受控模式) 默认值: [] || ''
50
+
51
+ var _useState = (0, _react.useState)(function () {
52
+ return (0, _utils.getValueForType)(resetItem.type);
53
+ }),
54
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
+ aliveValue = _useState2[0],
56
+ setAliveValue = _useState2[1]; // 单独使用时将值转换为行数据
57
+
58
+
59
+ var transformFilterValue = (0, _react.useMemo)(function () {
60
+ // 检查是否受控模式
61
+ var nValue = value || aliveValue;
62
+ var getOptions = (resetItem === null || resetItem === void 0 ? void 0 : resetItem.data) || [];
63
+
64
+ if (!Array.isArray((0, _utils.getValueForType)(resetItem.type))) {
65
+ return (getOptions === null || getOptions === void 0 ? void 0 : getOptions.find(function (v) {
66
+ return v.value === nValue;
67
+ })) || '';
68
+ } else {
69
+ return (getOptions === null || getOptions === void 0 ? void 0 : getOptions.filter(function (v) {
70
+ return nValue.includes(v.value);
71
+ })) || [];
72
+ }
73
+ }, [value, aliveValue, resetItem.data, resetItem.type]); // 单独使用时抛出选中的值: val => obj || Array
74
+
75
+ var handleChange = function handleChange(val) {
76
+ var nValue = Array.isArray(val) ? val.map(function (v) {
77
+ return v.value;
78
+ }) : val.value;
79
+ setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(nValue);
80
+ onChange === null || onChange === void 0 ? void 0 : onChange(nValue);
81
+ }; // 重组instance
82
+
83
+
84
+ var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetInstanceProps), {}, {
85
+ filterValue: (getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem)) || transformFilterValue,
86
+ setFilterValue: function setFilterValue(val) {
87
+ return (_setFilterValue || handleChange)(val, resetItem.field);
88
+ }
89
+ });
90
+ return /*#__PURE__*/_react.default.createElement(_DropdownFIlter.default, {
91
+ instance: resetInstance,
92
+ item: resetItem
93
+ });
94
+ });
95
+
96
+ var _default = FilterControl;
97
+ exports.default = _default;
@@ -0,0 +1,17 @@
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 LmFilterCustom = function LmFilterCustom(e) {
13
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "LmFilterCustom");
14
+ };
15
+
16
+ var _default = LmFilterCustom;
17
+ exports.default = _default;
@@ -0,0 +1,54 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
15
+
16
+ var _utils = require("../utils");
17
+
18
+ // 核心参数集合
19
+ var CoreOptions = function CoreOptions(_ref) {
20
+ var state = _ref.state,
21
+ dispatch = _ref.dispatch,
22
+ props = _ref.props;
23
+ (0, _objectDestructuringEmpty2.default)(props); // 设置筛选的值 item => Object || Array => [{label: '', value: ''}, ...]
24
+
25
+ var setFilterValue = function setFilterValue(item, field) {
26
+ var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
27
+
28
+ if (!(0, _utils.getIsHas)(item)) {
29
+ delete basicFilter[field];
30
+ }
31
+
32
+ ;
33
+ dispatch({
34
+ type: 'changeBasicFilter',
35
+ basicFilter: basicFilter
36
+ });
37
+ }; // 根据字段查找过滤的数据, 不存在时返回默认值
38
+
39
+
40
+ var getFilterValue = function getFilterValue(_ref2) {
41
+ var field = _ref2.field,
42
+ type = _ref2.type;
43
+ var defaultValue = (0, _utils.getValueForType)(type);
44
+ return state.basicFilter[field] || defaultValue;
45
+ };
46
+
47
+ return {
48
+ setFilterValue: setFilterValue,
49
+ getFilterValue: getFilterValue
50
+ };
51
+ };
52
+
53
+ var _default = CoreOptions;
54
+ exports.default = _default;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _useDelayedFn = require("./useDelayedFn");
8
+
9
+ Object.keys(_useDelayedFn).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _useDelayedFn[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _useDelayedFn[key];
16
+ }
17
+ });
18
+ });
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useDelayedFn = exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _lodash = require("lodash");
11
+
12
+ // 延迟/防抖加载函数, 默认延迟200ms
13
+ var useDelayedFn = function useDelayedFn() {
14
+ var wait = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 200;
15
+ var delayedQuery = (0, _react.useCallback)((0, _lodash.debounce)(function (fn) {
16
+ if (typeof fn === 'function') {
17
+ fn === null || fn === void 0 ? void 0 : fn();
18
+ } else {
19
+ fn;
20
+ }
21
+ }, wait), []);
22
+ return delayedQuery;
23
+ };
24
+
25
+ exports.useDelayedFn = useDelayedFn;
26
+ var _default = useDelayedFn;
27
+ exports.default = _default;
@@ -0,0 +1,16 @@
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 _LmFilter = _interopRequireDefault(require("./LmFilter"));
11
+
12
+ var _components = _interopRequireDefault(require("./components"));
13
+
14
+ _LmFilter.default.FilterControl = _components.default;
15
+ var _default = _LmFilter.default;
16
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ require("./style.css");
@@ -0,0 +1,189 @@
1
+ .lm_filter_wrapper .lm_filter_container,
2
+ .lm_filter_wrapper .lm_filter,
3
+ .lm_filter_wrapper .lm_filter_basic {
4
+ display: flex;
5
+ flex-wrap: wrap;
6
+ align-items: center;
7
+ gap: 8px;
8
+ font-size: 12px;
9
+ }
10
+ .lm_filter_wrapper .lm_filter_container .lm_filter .lm_filter_search {
11
+ max-width: 140px;
12
+ }
13
+ .lm_filter_basic_item {
14
+ display: inline-flex;
15
+ align-items: center;
16
+ line-height: 1;
17
+ border-radius: 2px;
18
+ padding: 0 8px;
19
+ transition: 0.3s;
20
+ cursor: pointer;
21
+ height: 32px;
22
+ gap: 4px;
23
+ }
24
+ .lm_filter_basic_item.small {
25
+ height: 24px;
26
+ }
27
+ .lm_filter_basic_item:hover,
28
+ .lm_filter_basic_item.expand,
29
+ .lm_filter_basic_item.active {
30
+ background-color: var(--color-4);
31
+ }
32
+ .lm_filter_basic_item .filter_item_value {
33
+ color: var(--text-color);
34
+ transition: 0.3s;
35
+ }
36
+ .lm_filter_basic_item .filter_item_icon {
37
+ font-size: 14px;
38
+ color: var(--text-color);
39
+ transition: 0.3s;
40
+ }
41
+ .lm_filter_basic_item .filter_item_icon:hover {
42
+ color: var(--primary-color);
43
+ }
44
+ .lm_filter_basic_item.expand .filter_item_icon {
45
+ transform: rotateX(180deg);
46
+ }
47
+ .lm_filter_basic_item.active .filter_item_value {
48
+ color: var(--primary-color);
49
+ }
50
+ .lm_filter_basic_item.active .filter_item_icon {
51
+ transform: rotateX(180deg);
52
+ }
53
+ .ant-dropdown .filter_dropdown {
54
+ display: flex;
55
+ flex-flow: column;
56
+ box-shadow: 0 2px 6px var(--box-shadow-color);
57
+ background-color: #fff;
58
+ }
59
+ .ant-dropdown .filter_dropdown .filter_header {
60
+ min-height: 40px;
61
+ border-bottom: 1px solid #eee;
62
+ padding: 8px;
63
+ }
64
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate {
65
+ display: flex;
66
+ align-items: center;
67
+ justify-content: space-between;
68
+ }
69
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate .filter_header_operate_checked {
70
+ display: inline-flex;
71
+ align-items: center;
72
+ }
73
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate .filter_reset {
74
+ font-size: 12px;
75
+ color: var(--primary-color);
76
+ cursor: pointer;
77
+ }
78
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate .filter_tip {
79
+ font-size: 12px;
80
+ color: var(--text-color);
81
+ }
82
+ .ant-dropdown .filter_dropdown .filter_header .ant-input-group {
83
+ line-height: 1;
84
+ }
85
+ .ant-dropdown .filter_dropdown .filter_header input {
86
+ font-size: 12px;
87
+ }
88
+ .ant-dropdown .filter_dropdown .filter_header .ant-input-search + .filter_header_operate {
89
+ margin-top: 8px;
90
+ }
91
+ .ant-dropdown .filter_dropdown .filter_body {
92
+ width: 100%;
93
+ }
94
+ .ant-dropdown .filter_dropdown .filter_body .virtual_list {
95
+ min-width: 168px;
96
+ max-height: 224px;
97
+ overflow: auto;
98
+ }
99
+ .ant-dropdown .filter_dropdown .filter_body .filter_item {
100
+ display: flex;
101
+ align-items: center;
102
+ justify-content: space-between;
103
+ font-size: 12px;
104
+ height: 32px;
105
+ min-width: 120px;
106
+ padding: 0 8px;
107
+ transition: 0.3s;
108
+ white-space: nowrap;
109
+ cursor: pointer;
110
+ gap: 8px;
111
+ }
112
+ .ant-dropdown .filter_dropdown .filter_body .filter_item.add_more {
113
+ border-top: 1px solid var(--stripe-color);
114
+ }
115
+ .ant-dropdown .filter_dropdown .filter_body .filter_item .filter_item_content {
116
+ flex: auto;
117
+ }
118
+ .ant-dropdown .filter_dropdown .filter_body .filter_item .filter_item_operate .hover_show {
119
+ font-size: 16px;
120
+ color: var(--primary-color);
121
+ transition: 0.3s;
122
+ opacity: 0;
123
+ }
124
+ .ant-dropdown .filter_dropdown .filter_body .filter_item[disabled] {
125
+ display: none;
126
+ }
127
+ .ant-dropdown .filter_dropdown .filter_body .filter_item.checked {
128
+ background-color: var(--primary-select-color);
129
+ }
130
+ .ant-dropdown .filter_dropdown .filter_body .filter_item:hover {
131
+ background-color: var(--stripe-color);
132
+ }
133
+ .ant-dropdown .filter_dropdown .filter_body .filter_item:hover .filter_item_operate .icon_top {
134
+ opacity: 1;
135
+ }
136
+ .ant-dropdown .filter_dropdown .filter_footer {
137
+ display: flex;
138
+ align-items: center;
139
+ justify-content: space-between;
140
+ font-size: 12px;
141
+ min-height: 32px;
142
+ padding: 6px 8px;
143
+ border-top: 1px solid #eee;
144
+ letter-spacing: 1px;
145
+ }
146
+ .ant-dropdown .filter_dropdown .filter_footer button {
147
+ font-size: 12px;
148
+ padding: 0 8px;
149
+ }
150
+ .ant-dropdown .filter_dropdown .filter_footer .footer_save {
151
+ color: var(--primary-color);
152
+ cursor: pointer;
153
+ transition: 0.3s;
154
+ }
155
+ .ant-dropdown .filter_dropdown .filter_footer .footer_clear {
156
+ color: var(--text-color);
157
+ cursor: pointer;
158
+ transition: 0.3s;
159
+ }
160
+ .ant-dropdown .filter_dropdown .filter_footer .footer_clear:hover {
161
+ color: var(--font-color);
162
+ }
163
+ .ant-dropdown .filter_dropdown .filter_empty {
164
+ display: flex;
165
+ flex-flow: column;
166
+ align-items: center;
167
+ justify-content: center;
168
+ font-size: 12px;
169
+ min-height: 40px;
170
+ color: #666;
171
+ padding: 16px 8px;
172
+ margin: auto;
173
+ gap: 4px;
174
+ }
175
+ .ant-dropdown .filter_dropdown .filter_empty .filter_empty_text {
176
+ display: inline-flex;
177
+ align-items: center;
178
+ justify-content: center;
179
+ min-height: 20px;
180
+ color: var(--font-color);
181
+ }
182
+ .ant-dropdown .filter_dropdown .ant-checkbox-wrapper {
183
+ flex: 1;
184
+ font-size: 12px;
185
+ align-items: center;
186
+ }
187
+ .ant-dropdown .filter_dropdown .ant-checkbox-wrapper .ant-checkbox {
188
+ top: initial;
189
+ }
@@ -0,0 +1,55 @@
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.getIsHas = getIsHas;
9
+ exports.getRanges = getRanges;
10
+ exports.getValueForType = getValueForType;
11
+ exports.uniqueFunc = uniqueFunc;
12
+
13
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
14
+
15
+ var _dayjs = _interopRequireDefault(require("dayjs"));
16
+
17
+ // 检查是否存在内容
18
+ function getIsHas(val) {
19
+ // 检查是否数字类型, 是否布尔类型
20
+ var flag = !!val || typeof val === 'number' || typeof val === 'boolean'; // 检查空对象和空数组
21
+
22
+ if (!!val && (0, _typeof2.default)(val) === 'object') {
23
+ var _Object$keys;
24
+
25
+ flag = Array.isArray(val) ? !!val.length : !!((_Object$keys = Object.keys(val)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length);
26
+ }
27
+
28
+ return flag;
29
+ } // 根据类型返回对应的值
30
+
31
+
32
+ function getValueForType(type) {
33
+ if (['checkbox', 'cascader'].includes(type)) {
34
+ return [];
35
+ }
36
+
37
+ return '';
38
+ } // 数组对象去重
39
+
40
+
41
+ function uniqueFunc(arr, guid) {
42
+ var res = new Map();
43
+ return arr.filter(function (item) {
44
+ return !res.has(item[guid]) && res.set(item[guid], 1);
45
+ });
46
+ } // 获取最近的时间段
47
+
48
+
49
+ function getRanges() {
50
+ return {
51
+ '近一周': [(0, _dayjs.default)().subtract(7, 'day').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')],
52
+ '近一月': [(0, _dayjs.default)().subtract(1, 'month').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')],
53
+ '近一年': [(0, _dayjs.default)().subtract(1, 'year').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')]
54
+ };
55
+ }
@@ -0,0 +1,33 @@
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 _baseFilter = _interopRequireDefault(require("../baseFilter"));
13
+
14
+ var _customFilter = _interopRequireDefault(require("../customFilter"));
15
+
16
+ var _complexFilter = _interopRequireDefault(require("../complexFilter"));
17
+
18
+ // 筛选组合
19
+ var LmFilter = /*#__PURE__*/_react.default.memo(function (_ref) {
20
+ var instance = _ref.instance;
21
+ return /*#__PURE__*/_react.default.createElement("div", {
22
+ className: "lm_filter"
23
+ }, /*#__PURE__*/_react.default.createElement(_customFilter.default, {
24
+ instance: instance
25
+ }), /*#__PURE__*/_react.default.createElement(_baseFilter.default, {
26
+ instance: instance
27
+ }), /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
28
+ instance: instance
29
+ }));
30
+ });
31
+
32
+ var _default = LmFilter;
33
+ exports.default = _default;
@@ -0,0 +1,29 @@
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 _Filter = _interopRequireDefault(require("./Filter"));
13
+
14
+ var _clearFilter = _interopRequireDefault(require("../clearFilter"));
15
+
16
+ // 过滤组件主体区域
17
+ var LmFilterContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
18
+ var instance = _ref.instance;
19
+ return /*#__PURE__*/_react.default.createElement("div", {
20
+ className: "lm_filter_container"
21
+ }, /*#__PURE__*/_react.default.createElement(_Filter.default, {
22
+ instance: instance
23
+ }), /*#__PURE__*/_react.default.createElement(_clearFilter.default, {
24
+ instance: instance
25
+ }));
26
+ });
27
+
28
+ var _default = LmFilterContainer;
29
+ exports.default = _default;
@@ -0,0 +1,114 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _FilterWrapper = _interopRequireDefault(require("./FilterWrapper"));
21
+
22
+ var _filterFns = _interopRequireDefault(require("../filterFns"));
23
+
24
+ // 根文件 => 参数聚合
25
+ var reducer = function reducer(state, action) {
26
+ var basicFilter = action.basicFilter,
27
+ resize = action.resize,
28
+ rows = action.rows;
29
+
30
+ switch (action.type) {
31
+ case 'changeBasicFilter':
32
+ // 基础筛选数据改变
33
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
34
+ basicFilter: basicFilter
35
+ });
36
+
37
+ case 'changeRows':
38
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
39
+ rows: rows
40
+ });
41
+
42
+ case 'windowResize':
43
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
44
+ resize: resize
45
+ });
46
+
47
+ default:
48
+ throw new Error();
49
+ }
50
+ }; // 仅在初始化时触发一次
51
+
52
+
53
+ var getInitialState = function getInitialState(props) {
54
+ return {
55
+ basicFilter: {}
56
+ };
57
+ };
58
+
59
+ var LmFilterRoot = function LmFilterRoot(props, ref) {
60
+ var initialState = (0, _react.useMemo)(function () {
61
+ return getInitialState(props);
62
+ }, []);
63
+
64
+ var _useReducer = (0, _react.useReducer)(reducer, initialState),
65
+ _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
66
+ state = _useReducer2[0],
67
+ dispatch = _useReducer2[1]; // 初始化配置
68
+
69
+
70
+ var configProps = (0, _react.useMemo)(function () {
71
+ var resetProps = (0, _extends2.default)({}, props);
72
+ return (0, _objectSpread2.default)({
73
+ dataSource: [],
74
+ // 数据源
75
+ enableSearch: true,
76
+ // 是否启用模糊查询
77
+ enableBaisc: true,
78
+ // 是否启用基础筛选
79
+ enableComplex: false,
80
+ // 是否启用高级筛选
81
+ enableCustom: false,
82
+ // 是否启用自定义筛选
83
+ size: 'middle',
84
+ // 尺寸
85
+ searchKey: 'search',
86
+ // 搜索的key值
87
+ placeholder: '请输入'
88
+ }, resetProps);
89
+ }, [props]); // 事件集合
90
+
91
+ var eventProps = (0, _react.useMemo)(function () {
92
+ return (0, _filterFns.default)({
93
+ state: state,
94
+ dispatch: dispatch,
95
+ props: props
96
+ });
97
+ }, [state, dispatch, props]); // 组件示例
98
+
99
+ var instance = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, configProps), eventProps), {}, {
100
+ state: state,
101
+ dispatch: dispatch
102
+ }); // 向外暴露出的方法
103
+
104
+ (0, _react.useImperativeHandle)(ref, function () {
105
+ return (0, _objectSpread2.default)({}, eventProps);
106
+ });
107
+ return /*#__PURE__*/_react.default.createElement(_FilterWrapper.default, {
108
+ instance: instance
109
+ });
110
+ };
111
+
112
+ var _default = /*#__PURE__*/(0, _react.forwardRef)(LmFilterRoot);
113
+
114
+ exports.default = _default;
@@ -0,0 +1,25 @@
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 _FilterContainer = _interopRequireDefault(require("./FilterContainer"));
13
+
14
+ // 包裹过滤组件区域: 拓展其他结构
15
+ var LmFilterWrapper = /*#__PURE__*/_react.default.memo(function (_ref) {
16
+ var instance = _ref.instance;
17
+ return /*#__PURE__*/_react.default.createElement("div", {
18
+ className: "lm_filter_wrapper"
19
+ }, /*#__PURE__*/_react.default.createElement(_FilterContainer.default, {
20
+ instance: instance
21
+ }));
22
+ });
23
+
24
+ var _default = LmFilterWrapper;
25
+ exports.default = _default;