linkmore-design 1.0.53 → 1.0.56

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 (257) hide show
  1. package/dist/{Notification → Affix}/demos/basic.d.ts +0 -0
  2. package/dist/Affix/index.d.ts +54 -0
  3. package/dist/{Notification → Affix}/style/index.d.ts +0 -0
  4. package/dist/Affix/utils.d.ts +15 -0
  5. package/dist/Alert/ErrorBoundary.d.ts +22 -0
  6. package/dist/{Notification/demos/button.d.ts → Alert/demos/basic.d.ts} +0 -0
  7. package/dist/{Notification/demos/icon.d.ts → Alert/demos/visible.d.ts} +0 -0
  8. package/dist/Alert/index.d.ts +41 -0
  9. package/dist/Alert/style/index.d.ts +1 -0
  10. package/dist/CardTable/card/PictureTextRowOperate.d.ts +7 -0
  11. package/dist/CardTable/fns/index.d.ts +3 -3
  12. package/dist/CardTable/{toolbar → pager}/TablePagination.d.ts +0 -0
  13. package/dist/CardTable/pager/index.d.ts +3 -0
  14. package/dist/IconFont/index.d.ts +1 -1
  15. package/dist/LmFilter/Controls/CheckboxTags.d.ts +6 -0
  16. package/dist/LmFilter/Controls/index.d.ts +2 -0
  17. package/dist/LmFilter/LmFilter.d.ts +6 -0
  18. package/dist/LmFilter/baseFilter/fuzzySearch.d.ts +4 -0
  19. package/dist/LmFilter/baseFilter/index.d.ts +3 -0
  20. package/dist/LmFilter/clearFilter/index.d.ts +3 -0
  21. package/dist/LmFilter/complexFilter/drawer.d.ts +4 -0
  22. package/dist/LmFilter/complexFilter/index.d.ts +4 -0
  23. package/dist/LmFilter/complexFilter/valueDrawer.d.ts +4 -0
  24. package/dist/LmFilter/components/CascaderFilter.d.ts +5 -0
  25. package/dist/LmFilter/components/CheckboxFilter.d.ts +5 -0
  26. package/dist/LmFilter/components/DateFilter.d.ts +5 -0
  27. package/dist/LmFilter/components/DropdownFIlter.d.ts +3 -0
  28. package/dist/LmFilter/components/EmptyFilter.d.ts +2 -0
  29. package/dist/LmFilter/components/InputFilter.d.ts +4 -0
  30. package/dist/LmFilter/components/InputSearchClose.d.ts +3 -0
  31. package/dist/LmFilter/components/SelectFilter.d.ts +5 -0
  32. package/dist/LmFilter/components/index.d.ts +3 -0
  33. package/dist/LmFilter/customFilter/index.d.ts +2 -0
  34. package/dist/LmFilter/demos/basic.d.ts +2 -0
  35. package/dist/LmFilter/filterFns/index.d.ts +12 -0
  36. package/dist/LmFilter/hooks/index.d.ts +1 -0
  37. package/dist/LmFilter/hooks/useDelayedFn.d.ts +2 -0
  38. package/dist/LmFilter/index.d.ts +2 -0
  39. package/dist/LmFilter/localization.d.ts +8 -0
  40. package/dist/LmFilter/style/index.d.ts +1 -0
  41. package/dist/LmFilter/utils.d.ts +9 -0
  42. package/dist/LmFilter/wrapper/Filter.d.ts +3 -0
  43. package/dist/LmFilter/wrapper/FilterContainer.d.ts +3 -0
  44. package/dist/LmFilter/wrapper/FilterRoot.d.ts +3 -0
  45. package/dist/LmFilter/wrapper/FilterWrapper.d.ts +3 -0
  46. package/dist/QuickMenu/demos/basic.d.ts +2 -0
  47. package/dist/QuickMenu/index.d.ts +14 -0
  48. package/dist/QuickMenu/style/index.d.ts +1 -0
  49. package/dist/Switch/demos/table.d.ts +2 -0
  50. package/dist/Switch/index.d.ts +2 -1
  51. package/dist/Tag/demos/ExigencyTag.d.ts +2 -0
  52. package/dist/Tag/index.d.ts +4 -0
  53. package/dist/Upload/demos/picture-little.d.ts +3 -0
  54. package/dist/Upload/index.d.ts +5 -1
  55. package/dist/_util/domTarget.d.ts +7 -0
  56. package/dist/_util/getDataOrAriaProps.d.ts +1 -0
  57. package/dist/_util/reactNode.d.ts +7 -0
  58. package/dist/_util/throttleByAnimationFrame.d.ts +8 -0
  59. package/dist/index.d.ts +2 -1
  60. package/dist/index.umd.js +4245 -3326
  61. package/dist/index.umd.min.js +5 -5
  62. package/dist/notification/demos/basic.d.ts +2 -0
  63. package/dist/notification/demos/button.d.ts +2 -0
  64. package/dist/notification/demos/icon.d.ts +2 -0
  65. package/dist/notification/hooks/useNotification.d.ts +7 -0
  66. package/dist/notification/index.d.ts +54 -0
  67. package/dist/notification/style/index.d.ts +1 -0
  68. package/es/Affix/index.d.ts +54 -0
  69. package/es/Affix/index.js +326 -0
  70. package/es/{Notification → Affix}/style/index.css +0 -3
  71. package/es/{Notification → Affix}/style/index.d.ts +0 -0
  72. package/es/{Notification → Affix}/style/index.js +0 -0
  73. package/es/Affix/utils.d.ts +15 -0
  74. package/es/Affix/utils.js +83 -0
  75. package/es/Alert/ErrorBoundary.d.ts +22 -0
  76. package/es/Alert/ErrorBoundary.js +65 -0
  77. package/es/Alert/index.d.ts +41 -0
  78. package/es/Alert/index.js +192 -0
  79. package/es/Alert/style/index.css +531 -0
  80. package/{lib/Notification → es/Alert}/style/index.d.ts +0 -0
  81. package/es/Alert/style/index.js +1 -0
  82. package/es/CardTable/body/TableBodyCell.js +3 -0
  83. package/es/CardTable/card/PictureTextColumn.js +8 -6
  84. package/es/CardTable/card/PictureTextRow.js +14 -51
  85. package/es/CardTable/card/PictureTextRowOperate.js +130 -0
  86. package/es/CardTable/fns/index.js +38 -8
  87. package/es/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  88. package/es/CardTable/pager/index.js +48 -0
  89. package/es/CardTable/style/index.css +160 -12
  90. package/es/CardTable/table/TableRoot.js +20 -18
  91. package/es/CardTable/table/TableWrapper.js +4 -0
  92. package/es/CardTable/toolbar/ToolBarBottom.js +8 -27
  93. package/es/Descriptions/style/index.css +10 -8
  94. package/es/IconFont/index.js +3 -2
  95. package/es/LmFilter/Controls/CheckboxTags.js +53 -0
  96. package/es/LmFilter/Controls/index.js +47 -0
  97. package/es/LmFilter/LmFilter.js +39 -0
  98. package/es/LmFilter/baseFilter/fuzzySearch.js +53 -0
  99. package/es/LmFilter/baseFilter/index.js +34 -0
  100. package/es/LmFilter/clearFilter/index.js +35 -0
  101. package/es/LmFilter/complexFilter/drawer.js +376 -0
  102. package/es/LmFilter/complexFilter/index.js +64 -0
  103. package/es/LmFilter/complexFilter/valueDrawer.js +238 -0
  104. package/es/LmFilter/components/CascaderFilter.js +159 -0
  105. package/es/LmFilter/components/CheckboxFilter.js +197 -0
  106. package/es/LmFilter/components/DateFilter.js +139 -0
  107. package/es/LmFilter/components/DropdownFIlter.js +229 -0
  108. package/es/LmFilter/components/EmptyFilter.js +27 -0
  109. package/es/LmFilter/components/InputFilter.js +52 -0
  110. package/es/LmFilter/components/InputSearchClose.js +74 -0
  111. package/es/LmFilter/components/SelectFilter.js +113 -0
  112. package/es/LmFilter/components/index.js +140 -0
  113. package/es/LmFilter/customFilter/index.js +17 -0
  114. package/es/LmFilter/filterFns/index.js +73 -0
  115. package/es/LmFilter/hooks/index.js +18 -0
  116. package/es/LmFilter/hooks/useDelayedFn.js +29 -0
  117. package/es/LmFilter/icon_placeholder.png +0 -0
  118. package/es/LmFilter/index.js +16 -0
  119. package/es/LmFilter/localization.d.ts +8 -0
  120. package/es/LmFilter/localization.js +12 -0
  121. package/es/LmFilter/style/index.js +3 -0
  122. package/es/LmFilter/style/style.css +212 -0
  123. package/es/LmFilter/utils.js +71 -0
  124. package/es/LmFilter/wrapper/Filter.js +33 -0
  125. package/es/LmFilter/wrapper/FilterContainer.js +29 -0
  126. package/es/LmFilter/wrapper/FilterRoot.js +170 -0
  127. package/es/LmFilter/wrapper/FilterWrapper.js +25 -0
  128. package/es/QuickMenu/index.d.ts +14 -0
  129. package/es/QuickMenu/index.js +169 -0
  130. package/es/QuickMenu/style/index.css +560 -0
  131. package/es/QuickMenu/style/index.d.ts +1 -0
  132. package/es/QuickMenu/style/index.js +1 -0
  133. package/es/Switch/index.d.ts +2 -1
  134. package/es/Switch/index.js +33 -1
  135. package/es/Switch/style/index.css +41 -0
  136. package/es/Tag/index.d.ts +4 -0
  137. package/es/Tag/index.js +48 -2
  138. package/es/Tag/style/index.css +4 -1
  139. package/es/Upload/index.d.ts +5 -1
  140. package/es/Upload/index.js +7 -2
  141. package/es/Upload/style/index.css +35 -0
  142. package/es/_util/domTarget.d.ts +7 -0
  143. package/es/_util/domTarget.js +20 -0
  144. package/es/_util/getDataOrAriaProps.d.ts +1 -0
  145. package/es/_util/getDataOrAriaProps.js +9 -0
  146. package/es/_util/reactNode.d.ts +7 -0
  147. package/es/_util/reactNode.js +10 -0
  148. package/es/_util/throttleByAnimationFrame.d.ts +8 -0
  149. package/es/_util/throttleByAnimationFrame.js +58 -0
  150. package/es/index.d.ts +2 -1
  151. package/es/index.js +3 -2
  152. package/es/message/style/index.css +1 -0
  153. package/es/notification/hooks/useNotification.d.ts +7 -0
  154. package/es/notification/hooks/useNotification.js +54 -0
  155. package/es/notification/index.d.ts +54 -0
  156. package/es/notification/index.js +342 -0
  157. package/es/notification/style/index.css +546 -0
  158. package/es/notification/style/index.d.ts +1 -0
  159. package/es/notification/style/index.js +1 -0
  160. package/lib/Affix/index.d.ts +54 -0
  161. package/lib/Affix/index.js +349 -0
  162. package/lib/{Notification → Affix}/style/index.css +0 -3
  163. package/lib/Affix/style/index.d.ts +1 -0
  164. package/lib/{Notification → Affix}/style/index.js +0 -0
  165. package/lib/Affix/utils.d.ts +15 -0
  166. package/lib/Affix/utils.js +104 -0
  167. package/lib/Alert/ErrorBoundary.d.ts +22 -0
  168. package/lib/Alert/ErrorBoundary.js +79 -0
  169. package/lib/Alert/index.d.ts +41 -0
  170. package/lib/Alert/index.js +215 -0
  171. package/lib/Alert/style/index.css +531 -0
  172. package/lib/Alert/style/index.d.ts +1 -0
  173. package/lib/Alert/style/index.js +3 -0
  174. package/lib/CardTable/body/TableBodyCell.js +3 -0
  175. package/lib/CardTable/card/PictureTextColumn.js +8 -6
  176. package/lib/CardTable/card/PictureTextRow.js +14 -51
  177. package/lib/CardTable/card/PictureTextRowOperate.js +130 -0
  178. package/lib/CardTable/fns/index.js +38 -8
  179. package/lib/CardTable/{toolbar → pager}/TablePagination.js +0 -0
  180. package/lib/CardTable/pager/index.js +48 -0
  181. package/lib/CardTable/style/index.css +160 -12
  182. package/lib/CardTable/table/TableRoot.js +20 -18
  183. package/lib/CardTable/table/TableWrapper.js +4 -0
  184. package/lib/CardTable/toolbar/ToolBarBottom.js +8 -27
  185. package/lib/Descriptions/style/index.css +10 -8
  186. package/lib/IconFont/index.js +3 -2
  187. package/lib/LmFilter/Controls/CheckboxTags.js +53 -0
  188. package/lib/LmFilter/Controls/index.js +47 -0
  189. package/lib/LmFilter/LmFilter.js +39 -0
  190. package/lib/LmFilter/baseFilter/fuzzySearch.js +53 -0
  191. package/lib/LmFilter/baseFilter/index.js +34 -0
  192. package/lib/LmFilter/clearFilter/index.js +35 -0
  193. package/lib/LmFilter/complexFilter/drawer.js +376 -0
  194. package/lib/LmFilter/complexFilter/index.js +64 -0
  195. package/lib/LmFilter/complexFilter/valueDrawer.js +238 -0
  196. package/lib/LmFilter/components/CascaderFilter.js +159 -0
  197. package/lib/LmFilter/components/CheckboxFilter.js +197 -0
  198. package/lib/LmFilter/components/DateFilter.js +139 -0
  199. package/lib/LmFilter/components/DropdownFIlter.js +229 -0
  200. package/lib/LmFilter/components/EmptyFilter.js +27 -0
  201. package/lib/LmFilter/components/InputFilter.js +52 -0
  202. package/lib/LmFilter/components/InputSearchClose.js +74 -0
  203. package/lib/LmFilter/components/SelectFilter.js +113 -0
  204. package/lib/LmFilter/components/index.js +140 -0
  205. package/lib/LmFilter/customFilter/index.js +17 -0
  206. package/lib/LmFilter/filterFns/index.js +73 -0
  207. package/lib/LmFilter/hooks/index.js +18 -0
  208. package/lib/LmFilter/hooks/useDelayedFn.js +29 -0
  209. package/lib/LmFilter/icon_placeholder.png +0 -0
  210. package/lib/LmFilter/index.js +16 -0
  211. package/lib/LmFilter/localization.d.ts +8 -0
  212. package/lib/LmFilter/localization.js +19 -0
  213. package/lib/LmFilter/style/index.js +3 -0
  214. package/lib/LmFilter/style/style.css +212 -0
  215. package/lib/LmFilter/utils.js +71 -0
  216. package/lib/LmFilter/wrapper/Filter.js +33 -0
  217. package/lib/LmFilter/wrapper/FilterContainer.js +29 -0
  218. package/lib/LmFilter/wrapper/FilterRoot.js +170 -0
  219. package/lib/LmFilter/wrapper/FilterWrapper.js +25 -0
  220. package/lib/QuickMenu/index.d.ts +14 -0
  221. package/lib/QuickMenu/index.js +187 -0
  222. package/lib/QuickMenu/style/index.css +560 -0
  223. package/lib/QuickMenu/style/index.d.ts +1 -0
  224. package/lib/QuickMenu/style/index.js +3 -0
  225. package/lib/Switch/index.d.ts +2 -1
  226. package/lib/Switch/index.js +34 -1
  227. package/lib/Switch/style/index.css +41 -0
  228. package/lib/Tag/index.d.ts +4 -0
  229. package/lib/Tag/index.js +48 -1
  230. package/lib/Tag/style/index.css +4 -1
  231. package/lib/Upload/index.d.ts +5 -1
  232. package/lib/Upload/index.js +8 -2
  233. package/lib/Upload/style/index.css +35 -0
  234. package/lib/_util/domTarget.d.ts +7 -0
  235. package/lib/_util/domTarget.js +31 -0
  236. package/lib/_util/getDataOrAriaProps.d.ts +1 -0
  237. package/lib/_util/getDataOrAriaProps.js +16 -0
  238. package/lib/_util/reactNode.d.ts +7 -0
  239. package/lib/_util/reactNode.js +24 -0
  240. package/lib/_util/throttleByAnimationFrame.d.ts +8 -0
  241. package/lib/_util/throttleByAnimationFrame.js +72 -0
  242. package/lib/index.d.ts +2 -1
  243. package/lib/index.js +11 -3
  244. package/lib/message/style/index.css +1 -0
  245. package/lib/notification/hooks/useNotification.d.ts +7 -0
  246. package/lib/notification/hooks/useNotification.js +69 -0
  247. package/lib/notification/index.d.ts +54 -0
  248. package/lib/notification/index.js +365 -0
  249. package/lib/notification/style/index.css +546 -0
  250. package/lib/notification/style/index.d.ts +1 -0
  251. package/lib/notification/style/index.js +3 -0
  252. package/package.json +5 -2
  253. package/dist/Notification/index.d.ts +0 -7
  254. package/es/Notification/index.d.ts +0 -7
  255. package/es/Notification/index.js +0 -10
  256. package/lib/Notification/index.d.ts +0 -7
  257. package/lib/Notification/index.js +0 -23
@@ -0,0 +1,140 @@
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/esm/slicedToArray"));
13
+
14
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/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
+ // 检查是否受控模式
63
+ var checkedValue = value || aliveValue;
64
+ var getOptions = (resetItem === null || resetItem === void 0 ? void 0 : resetItem.data) || [];
65
+ var nValue = checkedValue;
66
+
67
+ if (['select'].includes(resetItem.type)) {
68
+ nValue = getOptions === null || getOptions === void 0 ? void 0 : getOptions.find(function (v) {
69
+ return v.value === checkedValue;
70
+ });
71
+ }
72
+
73
+ if (['checkbox'].includes(resetItem.type)) {
74
+ nValue = (getOptions === null || getOptions === void 0 ? void 0 : getOptions.filter(function (v) {
75
+ return checkedValue.includes(v.value);
76
+ })) || [];
77
+ }
78
+
79
+ if (['cascader'].includes(resetItem.type)) {
80
+ // 查询值
81
+ // const getRow = (val, arr) => {
82
+ // let nRow = '';
83
+ // arr.forEach(item => {
84
+ // nRow = item.value === val ? item : getRow(val, item.children);
85
+ // })
86
+ // return nRow;
87
+ // };
88
+ // checkedValue?.map(v => {
89
+ // return Array.isArray(v) ? getRow(v) : getRow(v);
90
+ // })
91
+ return '';
92
+ }
93
+
94
+ return nValue;
95
+ }, [value, aliveValue, resetItem.data, resetItem.type]); // 单独使用时抛出选中的值: val => obj || Array
96
+
97
+ var handleChange = function handleChange(val) {
98
+ var nValue = val;
99
+
100
+ if (['cascader'].includes(resetItem.type)) {
101
+ var flatKeys = function flatKeys(arr) {
102
+ return arr.map(function (v) {
103
+ return v.value;
104
+ });
105
+ };
106
+
107
+ nValue = val.map(function (v) {
108
+ return Array.isArray(v) ? flatKeys(v) : v.value;
109
+ });
110
+ }
111
+
112
+ if (['select'].includes(resetItem.type)) {
113
+ nValue = val.value;
114
+ }
115
+
116
+ if (['checkbox'].includes(resetItem.type)) {
117
+ nValue = val.map(function (v) {
118
+ return v.value;
119
+ });
120
+ }
121
+
122
+ setAliveValue === null || setAliveValue === void 0 ? void 0 : setAliveValue(nValue);
123
+ onChange === null || onChange === void 0 ? void 0 : onChange(nValue);
124
+ }; // 重组instance
125
+
126
+
127
+ var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetInstanceProps), {}, {
128
+ filterValue: (getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem)) || transformFilterValue,
129
+ setFilterValue: function setFilterValue(val) {
130
+ return (_setFilterValue || handleChange)(val, resetItem.field);
131
+ }
132
+ });
133
+ return /*#__PURE__*/_react.default.createElement(_DropdownFIlter.default, {
134
+ instance: resetInstance,
135
+ item: resetItem
136
+ });
137
+ });
138
+
139
+ var _default = FilterControl;
140
+ 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,73 @@
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/esm/defineProperty"));
11
+
12
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
13
+
14
+ var _utils = require("../utils");
15
+
16
+ // 核心参数集合
17
+ var CoreOptions = function CoreOptions(_ref) {
18
+ var state = _ref.state,
19
+ dispatch = _ref.dispatch,
20
+ props = _ref.props;
21
+ var onChange = props.onChange; // 设置筛选的值 item => Object || Array => [{label: '', value: ''}, ...]
22
+
23
+ var setFilterValue = function setFilterValue(item, field) {
24
+ var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
25
+
26
+ if (!(0, _utils.getIsHas)(item)) {
27
+ delete basicFilter[field];
28
+ }
29
+
30
+ ;
31
+ dispatch({
32
+ type: 'changeBasicFilter',
33
+ basicFilter: basicFilter
34
+ });
35
+
36
+ var formatVK = function formatVK() {
37
+ var obj = {};
38
+ Object.entries(basicFilter).forEach(function (item) {
39
+ if (Array.isArray(item[1])) {
40
+ obj[item[0]] = item[1].map(function (v) {
41
+ return v.value;
42
+ });
43
+ return;
44
+ }
45
+
46
+ obj[item[0]] = item[1].value;
47
+ });
48
+ return obj;
49
+ }; // 触发外部事件
50
+
51
+
52
+ onChange === null || onChange === void 0 ? void 0 : onChange({
53
+ basicFilter: basicFilter,
54
+ formatVK: formatVK()
55
+ });
56
+ }; // 根据字段查找过滤的数据, 不存在时返回默认值
57
+
58
+
59
+ var getFilterValue = function getFilterValue(_ref2) {
60
+ var field = _ref2.field,
61
+ type = _ref2.type;
62
+ var defaultValue = (0, _utils.getValueForType)(type);
63
+ return state.basicFilter[field] || defaultValue;
64
+ };
65
+
66
+ return {
67
+ setFilterValue: setFilterValue,
68
+ getFilterValue: getFilterValue
69
+ };
70
+ };
71
+
72
+ var _default = CoreOptions;
73
+ 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,29 @@
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
+ typeof fn === 'function' ? fn === null || fn === void 0 ? void 0 : fn() : fn;
17
+ }, wait), []); // 防止异步任务数导致的内存泄漏
18
+
19
+ (0, _react.useEffect)(function () {
20
+ return function () {
21
+ delayedQuery.cancel();
22
+ };
23
+ }, []);
24
+ return delayedQuery;
25
+ };
26
+
27
+ exports.useDelayedFn = useDelayedFn;
28
+ var _default = useDelayedFn;
29
+ exports.default = _default;
Binary file
@@ -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,8 @@
1
+ export declare const DefaultLocalization: {
2
+ globalQuery: {
3
+ filter: any[];
4
+ };
5
+ filterQuery: {
6
+ filter: any[];
7
+ };
8
+ };
@@ -0,0 +1,12 @@
1
+ // export interface LM_Localization {
2
+ // fieldName: string,
3
+ // operator: number,
4
+ // }
5
+ export var DefaultLocalization = {
6
+ globalQuery: {
7
+ filter: []
8
+ },
9
+ filterQuery: {
10
+ filter: []
11
+ }
12
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ require("./style.css");
@@ -0,0 +1,212 @@
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_wrapper .lm_filter_container .lm_filter .lm_filter_complex {
14
+ display: inline-flex;
15
+ }
16
+ .lm_filter_basic_item {
17
+ display: inline-flex;
18
+ align-items: center;
19
+ line-height: 1;
20
+ border-radius: 2px;
21
+ padding: 0 8px;
22
+ transition: 0.3s;
23
+ cursor: pointer;
24
+ height: 32px;
25
+ gap: 4px;
26
+ }
27
+ .lm_filter_basic_item.small {
28
+ height: 24px;
29
+ }
30
+ .lm_filter_basic_item:hover,
31
+ .lm_filter_basic_item.expand,
32
+ .lm_filter_basic_item.active {
33
+ background-color: var(--color-4);
34
+ }
35
+ .lm_filter_basic_item .filter_item_value {
36
+ display: inline-flex;
37
+ align-items: center;
38
+ gap: 4px;
39
+ color: var(--text-color);
40
+ transition: 0.3s;
41
+ }
42
+ .lm_filter_basic_item .filter_item_icon {
43
+ font-size: 14px;
44
+ color: var(--text-color);
45
+ transition: 0.3s;
46
+ }
47
+ .lm_filter_basic_item .filter_item_icon.addon_before {
48
+ color: var(--font-color);
49
+ }
50
+ .lm_filter_basic_item.expand .filter_item_icon.addon_after {
51
+ transform: rotateX(180deg);
52
+ }
53
+ .lm_filter_basic_item.active .filter_item_value {
54
+ color: var(--primary-color);
55
+ }
56
+ .lm_filter_basic_item.active .filter_item_icon.addon_after {
57
+ transform: rotateX(180deg);
58
+ }
59
+ .lm_filter_basic_item.active.lm_filter_complex_item .filter_item_icon,
60
+ .lm_filter_basic_item.active.lm_filter_complex_item .filter_item_label {
61
+ color: var(--primary-color);
62
+ }
63
+ .ant-dropdown.filter_dropdown_container_cascader > div {
64
+ transform: translateY(-4px);
65
+ }
66
+ .ant-dropdown.filter_dropdown_container_date .ant-picker {
67
+ visibility: hidden;
68
+ transform: translateY(-28px);
69
+ }
70
+ .ant-dropdown .filter_dropdown {
71
+ display: flex;
72
+ flex-flow: column;
73
+ box-shadow: 0 2px 6px var(--box-shadow-color);
74
+ background-color: #fff;
75
+ }
76
+ .ant-dropdown .filter_dropdown .filter_header {
77
+ min-height: 40px;
78
+ border-bottom: 1px solid #eee;
79
+ padding: 8px;
80
+ }
81
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate {
82
+ display: flex;
83
+ align-items: center;
84
+ justify-content: space-between;
85
+ }
86
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate .filter_header_operate_checked {
87
+ display: inline-flex;
88
+ align-items: center;
89
+ }
90
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate .filter_reset {
91
+ font-size: 12px;
92
+ color: var(--primary-color);
93
+ cursor: pointer;
94
+ }
95
+ .ant-dropdown .filter_dropdown .filter_header .filter_header_operate .filter_tip {
96
+ font-size: 12px;
97
+ color: var(--text-color);
98
+ }
99
+ .ant-dropdown .filter_dropdown .filter_header .ant-input-group {
100
+ line-height: 1;
101
+ }
102
+ .ant-dropdown .filter_dropdown .filter_header input {
103
+ font-size: 12px;
104
+ }
105
+ .ant-dropdown .filter_dropdown .filter_header .ant-input-search + .filter_header_operate {
106
+ margin-top: 8px;
107
+ }
108
+ .ant-dropdown .filter_dropdown .filter_body {
109
+ width: 100%;
110
+ }
111
+ .ant-dropdown .filter_dropdown .filter_body .virtual_list {
112
+ min-width: 168px;
113
+ max-height: 224px;
114
+ overflow: auto;
115
+ }
116
+ .ant-dropdown .filter_dropdown .filter_body .filter_item {
117
+ display: flex;
118
+ align-items: center;
119
+ justify-content: space-between;
120
+ font-size: 12px;
121
+ height: 32px;
122
+ min-width: 120px;
123
+ padding: 0 8px;
124
+ transition: 0.3s;
125
+ white-space: nowrap;
126
+ cursor: pointer;
127
+ gap: 8px;
128
+ }
129
+ .ant-dropdown .filter_dropdown .filter_body .filter_item.add_more {
130
+ border-top: 1px solid var(--stripe-color);
131
+ }
132
+ .ant-dropdown .filter_dropdown .filter_body .filter_item .filter_item_content {
133
+ flex: auto;
134
+ }
135
+ .ant-dropdown .filter_dropdown .filter_body .filter_item .filter_item_operate .hover_show {
136
+ font-size: 16px;
137
+ color: var(--primary-color);
138
+ transition: 0.3s;
139
+ opacity: 0;
140
+ }
141
+ .ant-dropdown .filter_dropdown .filter_body .filter_item[disabled] {
142
+ display: none;
143
+ }
144
+ .ant-dropdown .filter_dropdown .filter_body .filter_item.checked {
145
+ background-color: var(--primary-select-color);
146
+ }
147
+ .ant-dropdown .filter_dropdown .filter_body .filter_item:hover {
148
+ background-color: var(--stripe-color);
149
+ }
150
+ .ant-dropdown .filter_dropdown .filter_body .filter_item:hover .filter_item_operate .icon_top {
151
+ opacity: 1;
152
+ }
153
+ .ant-dropdown .filter_dropdown .filter_footer {
154
+ display: flex;
155
+ align-items: center;
156
+ justify-content: space-between;
157
+ font-size: 12px;
158
+ min-height: 32px;
159
+ padding: 6px 8px;
160
+ border-top: 1px solid #eee;
161
+ letter-spacing: 1px;
162
+ }
163
+ .ant-dropdown .filter_dropdown .filter_footer button {
164
+ font-size: 12px;
165
+ padding: 0 8px;
166
+ }
167
+ .ant-dropdown .filter_dropdown .filter_footer .footer_save {
168
+ color: var(--primary-color);
169
+ cursor: pointer;
170
+ transition: 0.3s;
171
+ }
172
+ .ant-dropdown .filter_dropdown .filter_footer .footer_clear {
173
+ color: var(--text-color);
174
+ cursor: pointer;
175
+ transition: 0.3s;
176
+ }
177
+ .ant-dropdown .filter_dropdown .filter_footer .footer_clear:hover {
178
+ color: var(--font-color);
179
+ }
180
+ .ant-dropdown .filter_dropdown .filter_empty {
181
+ display: flex;
182
+ flex-flow: column;
183
+ align-items: center;
184
+ justify-content: center;
185
+ font-size: 12px;
186
+ min-height: 40px;
187
+ color: #666;
188
+ padding: 16px 8px;
189
+ margin: auto;
190
+ gap: 4px;
191
+ }
192
+ .ant-dropdown .filter_dropdown .filter_empty .filter_empty_text {
193
+ display: inline-flex;
194
+ align-items: center;
195
+ justify-content: center;
196
+ min-height: 20px;
197
+ color: var(--font-color);
198
+ }
199
+ .ant-dropdown .filter_dropdown .ant-checkbox-wrapper {
200
+ flex: 1;
201
+ font-size: 12px;
202
+ align-items: center;
203
+ }
204
+ .ant-dropdown .filter_dropdown .ant-checkbox-wrapper .ant-checkbox {
205
+ top: initial;
206
+ }
207
+ .lm_filter_dropdown_picker {
208
+ padding: 0 !important;
209
+ }
210
+ .lm_filter_dropdown_picker .ant-picker-range-arrow {
211
+ display: none;
212
+ }
@@ -0,0 +1,71 @@
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.getFlat = getFlat;
9
+ exports.getIsHas = getIsHas;
10
+ exports.getRanges = getRanges;
11
+ exports.getValueForType = getValueForType;
12
+ exports.uniqueFunc = uniqueFunc;
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
15
+
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
17
+
18
+ var _dayjs = _interopRequireDefault(require("dayjs"));
19
+
20
+ // 检查是否存在内容
21
+ function getIsHas(val) {
22
+ // 检查是否数字类型, 是否布尔类型
23
+ var flag = !!val || typeof val === 'number' || typeof val === 'boolean'; // 检查空对象和空数组
24
+
25
+ if (!!val && (0, _typeof2.default)(val) === 'object') {
26
+ var _Object$keys;
27
+
28
+ flag = Array.isArray(val) ? !!val.length : !!((_Object$keys = Object.keys(val)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length);
29
+ }
30
+
31
+ return flag;
32
+ } // 根据类型返回对应的值
33
+
34
+
35
+ function getValueForType(type) {
36
+ if (['checkbox', 'cascader'].includes(type)) {
37
+ return [];
38
+ }
39
+
40
+ return '';
41
+ } // 数组对象去重
42
+
43
+
44
+ function uniqueFunc(arr, guid) {
45
+ var res = new Map();
46
+ return arr.filter(function (item) {
47
+ return !res.has(item[guid]) && res.set(item[guid], 1);
48
+ });
49
+ } // 获取最近的时间段
50
+
51
+
52
+ function getRanges() {
53
+ return {
54
+ '近一周': [(0, _dayjs.default)().subtract(7, 'day').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')],
55
+ '近一月': [(0, _dayjs.default)().subtract(1, 'month').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')],
56
+ '近一年': [(0, _dayjs.default)().subtract(1, 'year').format('YYYY-MM-DD'), (0, _dayjs.default)().format('YYYY-MM-DD')]
57
+ };
58
+ }
59
+
60
+ function getFlat(arr) {
61
+ var nValue = [];
62
+ arr.forEach(function (item) {
63
+ if (item.length > 1) {
64
+ var suf = item.splice(1);
65
+ getFlat(suf);
66
+ } else {
67
+ nValue.push.apply(nValue, (0, _toConsumableArray2.default)(item[0].children));
68
+ }
69
+ });
70
+ return nValue;
71
+ }
@@ -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;