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,64 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _linkmoreDesign = require("linkmore-design");
19
+
20
+ var _drawer = _interopRequireDefault(require("./drawer"));
21
+
22
+ var _utils = require("../utils");
23
+
24
+ var LmFilterComplex = function LmFilterComplex(_ref) {
25
+ var instance = _ref.instance;
26
+ var state = instance.state,
27
+ dispatch = instance.dispatch;
28
+ var expand = (0, _react.useMemo)(function () {
29
+ return state.complexDrawer.visible;
30
+ }, [state.complexDrawer.visible]);
31
+ var active = (0, _react.useMemo)(function () {
32
+ return (0, _utils.getIsHas)(state.complexFilter);
33
+ }, [state.complexFilter]);
34
+
35
+ var handleClick = function handleClick() {
36
+ dispatch({
37
+ type: 'changeComplexDrawer',
38
+ complexDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.complexDrawer), {}, {
39
+ visible: true
40
+ })
41
+ });
42
+ };
43
+
44
+ return /*#__PURE__*/_react.default.createElement("div", {
45
+ className: "lm_filter_complex"
46
+ }, /*#__PURE__*/_react.default.createElement("div", {
47
+ className: (0, _classnames.default)('lm_filter_basic_item lm_filter_complex_item', {
48
+ expand: expand,
49
+ active: active
50
+ }),
51
+ onClick: handleClick
52
+ }, /*#__PURE__*/_react.default.createElement("div", {
53
+ className: "filter_item_icon addon_before"
54
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
55
+ type: "lmweb-filter"
56
+ })), /*#__PURE__*/_react.default.createElement("div", {
57
+ className: "filter_item_label"
58
+ }, "\u9AD8\u7EA7\u7B5B\u9009")), /*#__PURE__*/_react.default.createElement(_drawer.default, {
59
+ instance: instance
60
+ }));
61
+ };
62
+
63
+ var _default = LmFilterComplex;
64
+ exports.default = _default;
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
18
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
19
+
20
+ require("antd/es/form/style");
21
+
22
+ var _form = _interopRequireDefault(require("antd/es/form"));
23
+
24
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
25
+
26
+ var _react = _interopRequireWildcard(require("react"));
27
+
28
+ var _linkmoreDesign = require("linkmore-design");
29
+
30
+ var _utils = require("../utils");
31
+
32
+ var _Controls = _interopRequireDefault(require("../Controls"));
33
+
34
+ // 第二层抽屉,弹出数据选择
35
+ var ValueDrawer = function ValueDrawer(_ref) {
36
+ var instance = _ref.instance;
37
+ var state = instance.state,
38
+ dispatch = instance.dispatch,
39
+ dataSource = instance.dataSource;
40
+ var valueDrawer = state.valueDrawer,
41
+ complexDrawer = state.complexDrawer;
42
+
43
+ var _Form$useForm = _form.default.useForm(),
44
+ _Form$useForm2 = (0, _slicedToArray2.default)(_Form$useForm, 1),
45
+ form = _Form$useForm2[0];
46
+
47
+ var onClose = function onClose() {
48
+ dispatch({
49
+ type: 'changeValueDrawer',
50
+ valueDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, valueDrawer), {}, {
51
+ visible: false
52
+ })
53
+ });
54
+ form.resetFields();
55
+ };
56
+ /*
57
+ * customModal.data.type === 'nested' 时,处理不同
58
+ *
59
+ */
60
+
61
+
62
+ var onSave = /*#__PURE__*/function () {
63
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
64
+ var _yield$form$validateF, field, mode, value, filterValues, currentItem, isNested, nField, nValue, _value$subValue;
65
+
66
+ return _regenerator.default.wrap(function _callee$(_context) {
67
+ while (1) {
68
+ switch (_context.prev = _context.next) {
69
+ case 0:
70
+ _context.prev = 0;
71
+ _context.next = 3;
72
+ return form.validateFields();
73
+
74
+ case 3:
75
+ _yield$form$validateF = _context.sent;
76
+ field = _yield$form$validateF.field;
77
+ mode = _yield$form$validateF.mode;
78
+ value = _yield$form$validateF.value;
79
+ // 选中的筛选数据
80
+ filterValues = (0, _objectSpread2.default)({}, complexDrawer.data); // 查找当前筛选的值
81
+
82
+ currentItem = valueDrawer.data; // 是否嵌套筛选
83
+
84
+ isNested = currentItem.type === 'nested'; // 嵌套筛选的键值不同
85
+
86
+ nField = valueDrawer.data.field;
87
+ nValue = value;
88
+
89
+ if (isNested) {
90
+ // 删除原有筛选
91
+ delete filterValues[currentItem.field];
92
+ currentItem.data.forEach(function (element) {
93
+ delete filterValues[element.value];
94
+ }); // 存在子级嵌套时,改变键值
95
+
96
+ if (value === null || value === void 0 ? void 0 : (_value$subValue = value.subValue) === null || _value$subValue === void 0 ? void 0 : _value$subValue.children) {
97
+ nField = value.subValue.value;
98
+ }
99
+
100
+ nValue = (value === null || value === void 0 ? void 0 : value.value) || [];
101
+ } // 判断是新增还是编辑
102
+
103
+
104
+ Object.assign(filterValues, (0, _defineProperty2.default)({}, nField, {
105
+ mode: mode,
106
+ value: nValue,
107
+ originField: currentItem.field
108
+ }));
109
+ dispatch({
110
+ type: 'changeComplexDrawer',
111
+ complexDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, complexDrawer), {}, {
112
+ data: filterValues
113
+ })
114
+ });
115
+ onClose();
116
+ _context.next = 21;
117
+ break;
118
+
119
+ case 18:
120
+ _context.prev = 18;
121
+ _context.t0 = _context["catch"](0);
122
+ console.log('校验错误!', _context.t0);
123
+
124
+ case 21:
125
+ case "end":
126
+ return _context.stop();
127
+ }
128
+ }
129
+ }, _callee, null, [[0, 18]]);
130
+ }));
131
+
132
+ return function onSave() {
133
+ return _ref2.apply(this, arguments);
134
+ };
135
+ }();
136
+
137
+ var onValuesChange = function onValuesChange(values) {
138
+ console.log('values', values);
139
+
140
+ if (values.field) {
141
+ form.setFieldsValue({
142
+ value: []
143
+ });
144
+ }
145
+
146
+ if (values.value) {
147
+ var _values$value;
148
+
149
+ // 嵌套筛选双击触发
150
+ if ((values === null || values === void 0 ? void 0 : (_values$value = values.value) === null || _values$value === void 0 ? void 0 : _values$value.type) === 'dbclick') {
151
+ onSave();
152
+ }
153
+ }
154
+ }; // 动态展示选择框
155
+
156
+
157
+ var DynamicSelect = (0, _react.useCallback)(function (_ref3) {
158
+ var getFieldValue = _ref3.getFieldValue;
159
+ var field = getFieldValue('field');
160
+ var findItem = (dataSource === null || dataSource === void 0 ? void 0 : dataSource.find(function (v) {
161
+ return v.field === field;
162
+ })) || {};
163
+ var options = (findItem === null || findItem === void 0 ? void 0 : findItem.data) || [];
164
+
165
+ if (field) {
166
+ return /*#__PURE__*/_react.default.createElement(_form.default.Item, {
167
+ name: "value",
168
+ label: "\u9009\u62E9\u5B57\u6BB5\u503C",
169
+ noStyle: true
170
+ }, /*#__PURE__*/_react.default.createElement(_Controls.default, {
171
+ item: findItem,
172
+ options: options
173
+ }));
174
+ }
175
+
176
+ return false;
177
+ }, [dataSource]);
178
+ var config = {
179
+ title: valueDrawer.data.title,
180
+ visible: valueDrawer.visible,
181
+ onClose: onClose,
182
+ className: 'lm_det_drawer',
183
+ extra: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, {
184
+ size: 8
185
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
186
+ key: "cancel",
187
+ onClick: onClose,
188
+ size: "small"
189
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
190
+ type: "primary",
191
+ key: "back",
192
+ onClick: onSave,
193
+ size: "small"
194
+ }, "\u786E\u5B9A"))
195
+ }; // 初始化重置数据
196
+
197
+ (0, _react.useEffect)(function () {
198
+ if (valueDrawer.visible) {
199
+ form.setFieldsValue(valueDrawer.data);
200
+ }
201
+ }, [form, valueDrawer]);
202
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Drawer, config, /*#__PURE__*/_react.default.createElement(_form.default, {
203
+ form: form,
204
+ initialValues: {
205
+ mode: 'or'
206
+ },
207
+ onValuesChange: onValuesChange,
208
+ layout: "vertical",
209
+ size: "default",
210
+ className: "custom_form"
211
+ }, /*#__PURE__*/_react.default.createElement("div", {
212
+ className: "custom_group"
213
+ }, /*#__PURE__*/_react.default.createElement("div", {
214
+ className: "custom_label"
215
+ }, "\u67E5\u8BE2\u65B9\u5F0F"), /*#__PURE__*/_react.default.createElement(_form.default.Item, {
216
+ name: "mode",
217
+ label: "\u67E5\u8BE2\u65B9\u5F0F",
218
+ noStyle: true
219
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
220
+ direction: "column"
221
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
222
+ value: "and"
223
+ }, "\u4E14,\u67E5\u8BE2\u540C\u65F6\u6EE1\u8DB3\u6B64\u9009\u9879\u6761\u4EF6"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
224
+ value: "or"
225
+ }, "\u6216,\u67E5\u8BE2\u5305\u542B\u6B64\u9009\u9879\u6761\u4EF6")))), /*#__PURE__*/_react.default.createElement("div", {
226
+ className: "custom_group custom_full"
227
+ }, /*#__PURE__*/_react.default.createElement("div", {
228
+ className: "custom_label"
229
+ }, "\u9009\u62E9\u5B57\u6BB5\u503C"), /*#__PURE__*/_react.default.createElement(_form.default.Item, {
230
+ noStyle: true,
231
+ shouldUpdate: function shouldUpdate(prevValues, currentValues) {
232
+ return prevValues.field !== currentValues.field;
233
+ }
234
+ }, DynamicSelect))));
235
+ };
236
+
237
+ var _default = ValueDrawer;
238
+ exports.default = _default;
@@ -0,0 +1,159 @@
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
+ require("antd/es/cascader/style");
13
+
14
+ var _cascader = _interopRequireDefault(require("antd/es/cascader"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _linkmoreDesign = require("linkmore-design");
21
+
22
+ var _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
23
+
24
+ // 重置级联弹框
25
+ var DropdownRender = function DropdownRender(_ref) {
26
+ var dom = _ref.dom,
27
+ instance = _ref.instance,
28
+ item = _ref.item,
29
+ setOptions = _ref.setOptions,
30
+ checkedValues = _ref.checkedValues,
31
+ setCheckedValues = _ref.setCheckedValues;
32
+ var _instance$filterValue = instance.filterValue,
33
+ filterValue = _instance$filterValue === void 0 ? [] : _instance$filterValue,
34
+ setFilterValue = instance.setFilterValue,
35
+ visible = instance.visible,
36
+ setVisible = instance.setVisible;
37
+ var _item$data = item.data,
38
+ filters = _item$data === void 0 ? [] : _item$data;
39
+ var inputRef = (0, _react.useRef)(null);
40
+
41
+ var handleFilter = function handleFilter(val) {
42
+ var serachValues = filters.filter(function (v) {
43
+ return v.label.indexOf(val) > -1;
44
+ });
45
+ setOptions(serachValues);
46
+ }; // 确定
47
+
48
+
49
+ var handleSure = function handleSure() {
50
+ setFilterValue(checkedValues);
51
+ setVisible(false);
52
+ }; // 取消
53
+
54
+
55
+ var handleReset = function handleReset() {
56
+ setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
57
+ };
58
+
59
+ (0, _react.useEffect)(function () {
60
+ if (visible) {
61
+ var _inputRef$current2, _inputRef$current2$se;
62
+
63
+ setTimeout(function () {
64
+ var _inputRef$current;
65
+
66
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
67
+ cursor: 'all'
68
+ });
69
+ }, 200);
70
+ setCheckedValues(filterValue);
71
+ (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : (_inputRef$current2$se = _inputRef$current2.setValue) === null || _inputRef$current2$se === void 0 ? void 0 : _inputRef$current2$se.call(_inputRef$current2, '');
72
+ handleFilter('');
73
+ }
74
+ }, [visible]);
75
+ return /*#__PURE__*/_react.default.createElement("div", {
76
+ className: "filter_dropdown"
77
+ }, /*#__PURE__*/_react.default.createElement("div", {
78
+ className: "filter_header"
79
+ }, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
80
+ ref: inputRef,
81
+ onSearch: handleFilter,
82
+ onChange: handleFilter
83
+ })), dom, /*#__PURE__*/_react.default.createElement("div", {
84
+ className: "filter_footer"
85
+ }, /*#__PURE__*/_react.default.createElement("div", {
86
+ className: "footer_clear",
87
+ onClick: handleReset
88
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
89
+ type: "primary",
90
+ size: "small",
91
+ onClick: handleSure
92
+ }, "\u786E\u5B9A")));
93
+ };
94
+
95
+ var CascaderFilter = function CascaderFilter(_ref2) {
96
+ var instance = _ref2.instance,
97
+ itemProps = _ref2.item;
98
+ var _instance$filterValue2 = instance.filterValue,
99
+ filterValue = _instance$filterValue2 === void 0 ? [] : _instance$filterValue2,
100
+ setFilterValue = instance.setFilterValue,
101
+ visible = instance.visible,
102
+ setVisible = instance.setVisible;
103
+ var _itemProps$data = itemProps.data,
104
+ filters = _itemProps$data === void 0 ? [] : _itemProps$data;
105
+
106
+ var _useState = (0, _react.useState)(filters),
107
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
108
+ options = _useState2[0],
109
+ setOptions = _useState2[1];
110
+
111
+ var _useState3 = (0, _react.useState)([]),
112
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
113
+ checkedValues = _useState4[0],
114
+ setCheckedValues = _useState4[1];
115
+
116
+ var checkedKeys = (0, _react.useMemo)(function () {
117
+ return checkedValues.map(function (v) {
118
+ return v.value;
119
+ });
120
+ }, [checkedValues]);
121
+ var defaultValue = (0, _react.useMemo)(function () {
122
+ var flatKeys = function flatKeys(arr) {
123
+ return arr.map(function (v) {
124
+ return v.value;
125
+ });
126
+ };
127
+
128
+ var nKey = filterValue.map(function (v) {
129
+ return Array.isArray(v) ? flatKeys(v) : v.value;
130
+ });
131
+ return nKey;
132
+ }, [filterValue]);
133
+
134
+ var onChange = function onChange(item, selectedOptions) {
135
+ console.log('item', item, '===', selectedOptions);
136
+ setCheckedValues(selectedOptions);
137
+ };
138
+
139
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, {
140
+ multiple: true,
141
+ options: options,
142
+ onChange: onChange,
143
+ defaultValue: defaultValue,
144
+ open: visible,
145
+ dropdownRender: function dropdownRender(dom) {
146
+ return /*#__PURE__*/_react.default.createElement(DropdownRender, {
147
+ dom: dom,
148
+ instance: instance,
149
+ item: itemProps,
150
+ checkedValues: checkedValues,
151
+ setCheckedValues: setCheckedValues,
152
+ setOptions: setOptions
153
+ });
154
+ }
155
+ }, /*#__PURE__*/_react.default.createElement("div", null)));
156
+ };
157
+
158
+ var _default = CascaderFilter;
159
+ exports.default = _default;
@@ -0,0 +1,197 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
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 _InputSearchClose = _interopRequireDefault(require("./InputSearchClose"));
25
+
26
+ var _EmptyFilter = _interopRequireDefault(require("./EmptyFilter"));
27
+
28
+ var _classnames = _interopRequireDefault(require("classnames"));
29
+
30
+ var _utils = require("../utils");
31
+
32
+ var _hooks = require("../hooks");
33
+
34
+ var _excluded = ["item"];
35
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? _react.useLayoutEffect : _react.useEffect;
36
+
37
+ var CheckboxFilter = function CheckboxFilter(_ref) {
38
+ var instance = _ref.instance,
39
+ itemProps = _ref.item;
40
+ var _instance$filterValue = instance.filterValue,
41
+ filterValue = _instance$filterValue === void 0 ? [] : _instance$filterValue,
42
+ setFilterValue = instance.setFilterValue,
43
+ visible = instance.visible,
44
+ setVisible = instance.setVisible;
45
+ var _itemProps$data = itemProps.data,
46
+ filters = _itemProps$data === void 0 ? [] : _itemProps$data;
47
+ var inputRef = (0, _react.useRef)(); // 选中的数据项: [{}, {}, ...];
48
+
49
+ var _useState = (0, _react.useState)(filterValue),
50
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
+ checkedValues = _useState2[0],
52
+ setCheckedValues = _useState2[1]; // 选中的数据的键
53
+
54
+
55
+ var checkedKeys = (0, _react.useMemo)(function () {
56
+ return checkedValues.map(function (v) {
57
+ return v.value;
58
+ });
59
+ }, [checkedValues]); // 搜索后的筛选项
60
+
61
+ var _useState3 = (0, _react.useState)(filters),
62
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
63
+ options = _useState4[0],
64
+ setOptions = _useState4[1];
65
+
66
+ var delayedFn = (0, _hooks.useDelayedFn)(); // 是否存在搜索, 当数据大于8时存在搜索
67
+
68
+ var isSearch = (0, _react.useMemo)(function () {
69
+ return filters.length > 8;
70
+ }, [filters.length]); // 是否全选: 选中的数据大于等于筛选后的数据 && 筛选后的数据全部存在于选中的数据中
71
+
72
+ var checkAll = (0, _react.useMemo)(function () {
73
+ var isAll = checkedValues.length >= options.length;
74
+ return isAll && options.every(function (_ref2) {
75
+ var value = _ref2.value;
76
+ return checkedValues.some(function (v) {
77
+ return v.value === value;
78
+ });
79
+ });
80
+ }, [checkedValues, options]); // 是否半选: 存在选中的数据 && 未全选
81
+
82
+ var indeterminate = (0, _react.useMemo)(function () {
83
+ return checkedValues.length && !checkAll;
84
+ }, [checkedValues.length, checkAll]); // 搜索
85
+
86
+ var handleFilter = function handleFilter() {
87
+ var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
88
+ var serachValues = filters.filter(function (v) {
89
+ return v.label.indexOf(val) > -1;
90
+ });
91
+ setOptions(serachValues);
92
+ }; // 单选事件
93
+
94
+
95
+ var onChange = function onChange(e, item) {
96
+ e.preventDefault();
97
+ var nValue = checkedValues.some(function (_ref3) {
98
+ var value = _ref3.value;
99
+ return value === item.value;
100
+ }) ? checkedValues.filter(function (_ref4) {
101
+ var value = _ref4.value;
102
+ return value !== item.value;
103
+ }) : (0, _utils.uniqueFunc)([].concat((0, _toConsumableArray2.default)(checkedValues), [item]), 'value');
104
+ setCheckedValues(nValue);
105
+ }; // 全选事件
106
+
107
+
108
+ var onCheckAllChange = function onCheckAllChange() {
109
+ var nValue = checkAll ? checkedValues.filter(function (_ref5) {
110
+ var value = _ref5.value;
111
+ return !options.some(function (v) {
112
+ return v.value === value;
113
+ });
114
+ }) : (0, _utils.uniqueFunc)([].concat((0, _toConsumableArray2.default)(checkedValues), (0, _toConsumableArray2.default)(options)), 'value');
115
+ setCheckedValues(nValue);
116
+ }; // 取消 不执行查询操作 关闭下拉框
117
+
118
+
119
+ var handleCancel = function handleCancel() {
120
+ // 手动触发内容改变(不会触发onChange事件)
121
+ setVisible === null || setVisible === void 0 ? void 0 : setVisible(false);
122
+ }; // 确定 执行查询操作
123
+
124
+
125
+ var handleSure = function handleSure() {
126
+ setFilterValue(checkedValues);
127
+ }; // 展开下拉时触发: 赋值 && 聚焦 && 重置显示内容
128
+
129
+
130
+ useIsomorphicLayoutEffect(function () {
131
+ if (visible) {
132
+ delayedFn(function () {
133
+ var _inputRef$current;
134
+
135
+ return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
136
+ cursor: 'all'
137
+ });
138
+ }); // 若开启了 Dropdown => destroyPopupOnHide=true 无需重置操作 反之需开启
139
+ // setCheckedValues(filterValue);
140
+ // inputRef.current?.setValue?.('');
141
+ // handleFilter('');
142
+ }
143
+ }, [visible]);
144
+ return /*#__PURE__*/_react.default.createElement("div", {
145
+ className: "filter_dropdown"
146
+ }, isSearch && /*#__PURE__*/_react.default.createElement("div", {
147
+ className: "filter_header"
148
+ }, /*#__PURE__*/_react.default.createElement(_InputSearchClose.default, {
149
+ ref: inputRef,
150
+ onSearch: handleFilter,
151
+ onChange: handleFilter
152
+ }), /*#__PURE__*/_react.default.createElement("div", {
153
+ className: "filter_header_operate"
154
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
155
+ indeterminate: indeterminate,
156
+ onChange: onCheckAllChange,
157
+ checked: checkAll,
158
+ className: "filter_tip"
159
+ }, "\u5168\u90E8"), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", {
160
+ className: "filter_tip"
161
+ }, "\u5DF2\u9009: ", checkedValues.length)))), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox.Group, {
162
+ value: checkedKeys,
163
+ className: "filter_body"
164
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
165
+ options: options,
166
+ className: "filter_list"
167
+ }, function (_ref6) {
168
+ var item = _ref6.item,
169
+ resetProps = (0, _objectWithoutProperties2.default)(_ref6, _excluded);
170
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
171
+ className: (0, _classnames.default)('filter_item', {
172
+ checked: checkedValues.some(function (_ref7) {
173
+ var value = _ref7.value;
174
+ return value === item.value;
175
+ })
176
+ }),
177
+ onClick: function onClick(e) {
178
+ return onChange(e, item);
179
+ }
180
+ }), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Checkbox, {
181
+ value: item.value,
182
+ className: "filter_item-content"
183
+ }, item.label));
184
+ }), !options.length && /*#__PURE__*/_react.default.createElement(_EmptyFilter.default, null)), /*#__PURE__*/_react.default.createElement("div", {
185
+ className: "filter_footer"
186
+ }, /*#__PURE__*/_react.default.createElement("div", {
187
+ className: "footer_clear",
188
+ onClick: handleCancel
189
+ }, "\u53D6\u6D88"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
190
+ type: "primary",
191
+ size: "small",
192
+ onClick: handleSure
193
+ }, "\u786E\u5B9A")));
194
+ };
195
+
196
+ var _default = CheckboxFilter;
197
+ exports.default = _default;