linkmore-design 1.0.54 → 1.0.57

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 (235) hide show
  1. package/dist/Affix/demos/basic.d.ts +2 -0
  2. package/dist/Affix/index.d.ts +54 -0
  3. package/dist/Affix/style/index.d.ts +1 -0
  4. package/dist/Affix/utils.d.ts +15 -0
  5. package/dist/Button/index.d.ts +4 -0
  6. package/dist/CardTable/card/PictureTextRowOperate.d.ts +7 -0
  7. package/dist/CardTable/fns/index.d.ts +1 -5
  8. package/dist/CustomTableOption/cardSort.d.ts +4 -0
  9. package/dist/CustomTableOption/index.d.ts +1 -0
  10. package/dist/DatePicker/PickerButton.d.ts +2 -0
  11. package/dist/DatePicker/PickerTag.d.ts +2 -0
  12. package/dist/DatePicker/demos/basic.d.ts +2 -0
  13. package/dist/DatePicker/generatePicker/generateRangePicker.d.ts +4 -0
  14. package/dist/DatePicker/generatePicker/generateSinglePicker.d.ts +14 -0
  15. package/dist/DatePicker/generatePicker/index.d.ts +106 -0
  16. package/dist/DatePicker/generatePicker/interface.d.ts +12 -0
  17. package/dist/DatePicker/index.d.ts +17 -0
  18. package/dist/DatePicker/style/index.d.ts +1 -0
  19. package/dist/DatePicker/util.d.ts +14 -0
  20. package/dist/IconFont/index.d.ts +1 -1
  21. package/dist/LmEditTable/demos/basic copy.d.ts +2 -0
  22. package/dist/LmFilter/Controls/CheckboxTags.d.ts +6 -0
  23. package/dist/LmFilter/Controls/index.d.ts +2 -0
  24. package/dist/LmFilter/LmFilter.d.ts +4 -1
  25. package/dist/LmFilter/{components → baseFilter}/fuzzySearch.d.ts +0 -0
  26. package/dist/LmFilter/complexFilter/drawer.d.ts +4 -0
  27. package/dist/LmFilter/complexFilter/index.d.ts +3 -1
  28. package/dist/LmFilter/complexFilter/valueDrawer.d.ts +4 -0
  29. package/dist/LmFilter/localization.d.ts +8 -0
  30. package/dist/LmFilter/utils.d.ts +1 -0
  31. package/dist/QuickMenu/demos/basic.d.ts +2 -0
  32. package/dist/QuickMenu/index.d.ts +14 -0
  33. package/dist/QuickMenu/style/index.d.ts +1 -0
  34. package/dist/Switch/demos/table.d.ts +2 -0
  35. package/dist/Switch/index.d.ts +2 -1
  36. package/dist/Tag/demos/ExigencyTag.d.ts +2 -0
  37. package/dist/Tag/index.d.ts +4 -0
  38. package/dist/Upload/demos/picture-little.d.ts +3 -0
  39. package/dist/Upload/index.d.ts +5 -1
  40. package/dist/_util/domTarget.d.ts +7 -0
  41. package/dist/_util/motion.d.ts +8 -0
  42. package/dist/_util/statusUtils.d.ts +6 -0
  43. package/dist/_util/throttleByAnimationFrame.d.ts +8 -0
  44. package/dist/_util/type.d.ts +9 -0
  45. package/dist/_util/warning.d.ts +6 -0
  46. package/dist/index.d.ts +4 -0
  47. package/dist/index.umd.js +10843 -131
  48. package/dist/index.umd.min.js +6 -6
  49. package/es/Affix/index.d.ts +54 -0
  50. package/es/Affix/index.js +326 -0
  51. package/es/Affix/style/index.css +505 -0
  52. package/es/Affix/style/index.d.ts +1 -0
  53. package/es/Affix/style/index.js +1 -0
  54. package/es/Affix/utils.d.ts +15 -0
  55. package/es/Affix/utils.js +83 -0
  56. package/es/Button/index.d.ts +4 -0
  57. package/es/Button/index.js +1 -1
  58. package/es/CardTable/body/TableBodyCell.js +3 -0
  59. package/es/CardTable/card/PictureTextRow.js +13 -50
  60. package/es/CardTable/card/PictureTextRowOperate.js +130 -0
  61. package/es/CardTable/fns/index.js +6 -5
  62. package/es/CardTable/style/index.css +158 -10
  63. package/es/CustomTableOption/cardSort.d.ts +4 -0
  64. package/es/CustomTableOption/cardSort.js +222 -0
  65. package/es/CustomTableOption/index.d.ts +1 -0
  66. package/es/CustomTableOption/index.js +35 -11
  67. package/es/CustomTableOption/style/index.css +3 -0
  68. package/es/DatePicker/PickerButton.d.ts +2 -0
  69. package/es/DatePicker/PickerButton.js +8 -0
  70. package/es/DatePicker/PickerTag.d.ts +2 -0
  71. package/es/DatePicker/PickerTag.js +7 -0
  72. package/es/DatePicker/generatePicker/generateRangePicker.d.ts +4 -0
  73. package/es/DatePicker/generatePicker/generateRangePicker.js +142 -0
  74. package/es/DatePicker/generatePicker/generateSinglePicker.d.ts +14 -0
  75. package/es/DatePicker/generatePicker/generateSinglePicker.js +170 -0
  76. package/es/DatePicker/generatePicker/index.d.ts +106 -0
  77. package/es/DatePicker/generatePicker/index.js +84 -0
  78. package/es/DatePicker/generatePicker/interface.d.ts +12 -0
  79. package/es/DatePicker/generatePicker/interface.js +1 -0
  80. package/es/DatePicker/index.d.ts +17 -0
  81. package/es/DatePicker/index.js +7 -0
  82. package/es/DatePicker/style/index.css +505 -0
  83. package/es/DatePicker/style/index.d.ts +1 -0
  84. package/es/DatePicker/style/index.js +1 -0
  85. package/es/DatePicker/util.d.ts +14 -0
  86. package/es/DatePicker/util.js +111 -0
  87. package/es/Descriptions/style/index.css +10 -8
  88. package/es/IconFont/index.js +3 -2
  89. package/es/LmEditTable/DragHandle.js +1 -1
  90. package/es/LmEditTable/EditTable.js +27 -35
  91. package/es/LmFilter/Controls/CheckboxTags.js +53 -0
  92. package/es/LmFilter/Controls/index.js +47 -0
  93. package/es/LmFilter/LmFilter.js +17 -5
  94. package/es/LmFilter/baseFilter/fuzzySearch.js +53 -0
  95. package/es/LmFilter/baseFilter/index.js +1 -1
  96. package/es/LmFilter/clearFilter/index.js +3 -1
  97. package/es/LmFilter/complexFilter/drawer.js +376 -0
  98. package/es/LmFilter/complexFilter/index.js +50 -3
  99. package/es/LmFilter/complexFilter/valueDrawer.js +238 -0
  100. package/es/LmFilter/components/CascaderFilter.js +17 -41
  101. package/es/LmFilter/components/DateFilter.js +12 -20
  102. package/es/LmFilter/components/DropdownFIlter.js +79 -12
  103. package/es/LmFilter/components/index.js +56 -13
  104. package/es/LmFilter/filterFns/index.js +22 -3
  105. package/es/LmFilter/hooks/useDelayedFn.js +8 -6
  106. package/es/LmFilter/localization.d.ts +8 -0
  107. package/es/LmFilter/localization.js +12 -0
  108. package/es/LmFilter/style/style.css +27 -4
  109. package/es/LmFilter/utils.js +16 -0
  110. package/es/LmFilter/wrapper/FilterRoot.js +62 -6
  111. package/es/LmTable/Table.js +9 -4
  112. package/es/QuickMenu/index.d.ts +14 -0
  113. package/es/QuickMenu/index.js +171 -0
  114. package/es/QuickMenu/style/index.css +560 -0
  115. package/es/QuickMenu/style/index.d.ts +1 -0
  116. package/es/QuickMenu/style/index.js +1 -0
  117. package/es/Switch/index.d.ts +2 -1
  118. package/es/Switch/index.js +33 -1
  119. package/es/Switch/style/index.css +41 -0
  120. package/es/Tag/index.d.ts +4 -0
  121. package/es/Tag/index.js +48 -2
  122. package/es/Tag/style/index.css +4 -1
  123. package/es/Upload/index.d.ts +5 -1
  124. package/es/Upload/index.js +7 -2
  125. package/es/Upload/style/index.css +35 -0
  126. package/es/_util/domTarget.d.ts +7 -0
  127. package/es/_util/domTarget.js +20 -0
  128. package/es/_util/motion.d.ts +8 -0
  129. package/es/_util/motion.js +60 -0
  130. package/es/_util/statusUtils.d.ts +6 -0
  131. package/es/_util/statusUtils.js +12 -0
  132. package/es/_util/throttleByAnimationFrame.d.ts +8 -0
  133. package/es/_util/throttleByAnimationFrame.js +58 -0
  134. package/es/_util/type.d.ts +9 -0
  135. package/es/_util/type.js +15 -0
  136. package/es/_util/warning.d.ts +6 -0
  137. package/es/_util/warning.js +17 -0
  138. package/es/index.d.ts +4 -0
  139. package/es/index.js +3 -1
  140. package/es/message/index.d.ts +5 -5
  141. package/lib/Affix/index.d.ts +54 -0
  142. package/lib/Affix/index.js +349 -0
  143. package/lib/Affix/style/index.css +505 -0
  144. package/lib/Affix/style/index.d.ts +1 -0
  145. package/lib/Affix/style/index.js +3 -0
  146. package/lib/Affix/utils.d.ts +15 -0
  147. package/lib/Affix/utils.js +104 -0
  148. package/lib/Button/index.d.ts +4 -0
  149. package/lib/Button/index.js +1 -1
  150. package/lib/CardTable/body/TableBodyCell.js +3 -0
  151. package/lib/CardTable/card/PictureTextRow.js +13 -50
  152. package/lib/CardTable/card/PictureTextRowOperate.js +130 -0
  153. package/lib/CardTable/fns/index.js +6 -5
  154. package/lib/CardTable/style/index.css +158 -10
  155. package/lib/CustomTableOption/cardSort.d.ts +4 -0
  156. package/lib/CustomTableOption/cardSort.js +242 -0
  157. package/lib/CustomTableOption/index.d.ts +1 -0
  158. package/lib/CustomTableOption/index.js +36 -11
  159. package/lib/CustomTableOption/style/index.css +3 -0
  160. package/lib/DatePicker/PickerButton.d.ts +2 -0
  161. package/lib/DatePicker/PickerButton.js +19 -0
  162. package/lib/DatePicker/PickerTag.d.ts +2 -0
  163. package/lib/DatePicker/PickerTag.js +18 -0
  164. package/lib/DatePicker/generatePicker/generateRangePicker.d.ts +4 -0
  165. package/lib/DatePicker/generatePicker/generateRangePicker.js +168 -0
  166. package/lib/DatePicker/generatePicker/generateSinglePicker.d.ts +14 -0
  167. package/lib/DatePicker/generatePicker/generateSinglePicker.js +196 -0
  168. package/lib/DatePicker/generatePicker/index.d.ts +106 -0
  169. package/lib/DatePicker/generatePicker/index.js +102 -0
  170. package/lib/DatePicker/generatePicker/interface.d.ts +12 -0
  171. package/lib/DatePicker/generatePicker/interface.js +5 -0
  172. package/lib/DatePicker/index.d.ts +17 -0
  173. package/lib/DatePicker/index.js +21 -0
  174. package/lib/DatePicker/style/index.css +505 -0
  175. package/lib/DatePicker/style/index.d.ts +1 -0
  176. package/lib/DatePicker/style/index.js +3 -0
  177. package/lib/DatePicker/util.d.ts +14 -0
  178. package/lib/DatePicker/util.js +122 -0
  179. package/lib/Descriptions/style/index.css +10 -8
  180. package/lib/IconFont/index.js +3 -2
  181. package/lib/LmEditTable/DragHandle.js +1 -1
  182. package/lib/LmEditTable/EditTable.js +26 -36
  183. package/lib/LmFilter/Controls/CheckboxTags.js +53 -0
  184. package/lib/LmFilter/Controls/index.js +47 -0
  185. package/lib/LmFilter/LmFilter.js +17 -5
  186. package/lib/LmFilter/baseFilter/fuzzySearch.js +53 -0
  187. package/lib/LmFilter/baseFilter/index.js +1 -1
  188. package/lib/LmFilter/clearFilter/index.js +3 -1
  189. package/lib/LmFilter/complexFilter/drawer.js +376 -0
  190. package/lib/LmFilter/complexFilter/index.js +50 -3
  191. package/lib/LmFilter/complexFilter/valueDrawer.js +238 -0
  192. package/lib/LmFilter/components/CascaderFilter.js +17 -41
  193. package/lib/LmFilter/components/DateFilter.js +12 -20
  194. package/lib/LmFilter/components/DropdownFIlter.js +79 -12
  195. package/lib/LmFilter/components/index.js +56 -13
  196. package/lib/LmFilter/filterFns/index.js +22 -3
  197. package/lib/LmFilter/hooks/useDelayedFn.js +8 -6
  198. package/lib/LmFilter/localization.d.ts +8 -0
  199. package/lib/LmFilter/localization.js +19 -0
  200. package/lib/LmFilter/style/style.css +27 -4
  201. package/lib/LmFilter/utils.js +16 -0
  202. package/lib/LmFilter/wrapper/FilterRoot.js +62 -6
  203. package/lib/LmTable/Table.js +9 -4
  204. package/lib/QuickMenu/index.d.ts +14 -0
  205. package/lib/QuickMenu/index.js +189 -0
  206. package/lib/QuickMenu/style/index.css +560 -0
  207. package/lib/QuickMenu/style/index.d.ts +1 -0
  208. package/lib/QuickMenu/style/index.js +3 -0
  209. package/lib/Switch/index.d.ts +2 -1
  210. package/lib/Switch/index.js +34 -1
  211. package/lib/Switch/style/index.css +41 -0
  212. package/lib/Tag/index.d.ts +4 -0
  213. package/lib/Tag/index.js +48 -1
  214. package/lib/Tag/style/index.css +4 -1
  215. package/lib/Upload/index.d.ts +5 -1
  216. package/lib/Upload/index.js +8 -2
  217. package/lib/Upload/style/index.css +35 -0
  218. package/lib/_util/domTarget.d.ts +7 -0
  219. package/lib/_util/domTarget.js +31 -0
  220. package/lib/_util/motion.d.ts +8 -0
  221. package/lib/_util/motion.js +71 -0
  222. package/lib/_util/statusUtils.d.ts +6 -0
  223. package/lib/_util/statusUtils.js +29 -0
  224. package/lib/_util/throttleByAnimationFrame.d.ts +8 -0
  225. package/lib/_util/throttleByAnimationFrame.js +72 -0
  226. package/lib/_util/type.d.ts +9 -0
  227. package/lib/_util/type.js +27 -0
  228. package/lib/_util/warning.d.ts +6 -0
  229. package/lib/_util/warning.js +35 -0
  230. package/lib/index.d.ts +4 -0
  231. package/lib/index.js +17 -1
  232. package/lib/message/index.d.ts +5 -5
  233. package/package.json +5 -2
  234. package/es/LmFilter/components/fuzzySearch.js +0 -37
  235. package/lib/LmFilter/components/fuzzySearch.js +0 -37
@@ -0,0 +1,376 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+
20
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
21
+
22
+ var _react = _interopRequireWildcard(require("react"));
23
+
24
+ var _linkmoreDesign = require("linkmore-design");
25
+
26
+ var _utils = require("../utils");
27
+
28
+ var _valueDrawer = _interopRequireDefault(require("./valueDrawer"));
29
+
30
+ var _excluded = ["item"],
31
+ _excluded2 = ["item"];
32
+
33
+ // 选中的筛选项
34
+ var ListItemChecked = function ListItemChecked(_ref) {
35
+ var instance = _ref.instance,
36
+ itemProps = _ref.item;
37
+ var state = instance.state,
38
+ dispatch = instance.dispatch,
39
+ dataSource = instance.dataSource;
40
+ var complexDrawer = state.complexDrawer;
41
+ var field = itemProps.field,
42
+ _itemProps$value = itemProps.value,
43
+ valueObj = _itemProps$value === void 0 ? {} : _itemProps$value; // 单项匹配数据, 根据字段名查找, 嵌套筛选时查询父级
44
+
45
+ var getItem = (0, _react.useMemo)(function () {
46
+ return dataSource.find(function (v) {
47
+ return [field, valueObj.originField].includes(v.field);
48
+ });
49
+ }, [field, valueObj.originField, dataSource]); // 选中值的处理
50
+
51
+ var resetValue = (0, _react.useMemo)(function () {
52
+ if (getItem.type === 'cascader') {
53
+ var _valueObj$value;
54
+
55
+ return (_valueObj$value = valueObj.value) === null || _valueObj$value === void 0 ? void 0 : _valueObj$value.map(function (v) {
56
+ return v[v.length - 1];
57
+ });
58
+ }
59
+
60
+ return valueObj.value;
61
+ }, [getItem, valueObj.value]); // 遍历树结构
62
+
63
+ var deepChildren = function deepChildren(arr, preArr) {
64
+ arr.forEach(function (item) {
65
+ var _item$children;
66
+
67
+ if (resetValue.includes(item.value)) {
68
+ preArr.push(item);
69
+ }
70
+
71
+ if ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) {
72
+ deepChildren(item.children, preArr);
73
+ }
74
+ });
75
+ }; // 选中的数据
76
+
77
+
78
+ var checkedValues = (0, _react.useMemo)(function () {
79
+ var checkedValue = valueObj.value;
80
+
81
+ if (Array.isArray(checkedValue)) {
82
+ var _getItem$data;
83
+
84
+ if (getItem.type === 'nested') {
85
+ return checkedValue;
86
+ }
87
+
88
+ if (getItem.type === 'cascader') {
89
+ var arr = [];
90
+ deepChildren(getItem.data, arr);
91
+ return arr;
92
+ }
93
+
94
+ return (_getItem$data = getItem.data) === null || _getItem$data === void 0 ? void 0 : _getItem$data.filter(function (v) {
95
+ return checkedValue.includes(v.value);
96
+ });
97
+ }
98
+
99
+ if (getItem.type === 'input') {
100
+ return resetValue ? [{
101
+ value: resetValue,
102
+ label: resetValue
103
+ }] : [];
104
+ }
105
+
106
+ var filterValue = getItem.data.find(function (v) {
107
+ return v.value === checkedValue;
108
+ });
109
+ return filterValue ? [filterValue] : [];
110
+ }, [getItem, valueObj.value]); // 编辑
111
+
112
+ var handleEdit = function handleEdit() {
113
+ dispatch({
114
+ type: 'changeValueDrawer',
115
+ valueDrawer: {
116
+ visible: true,
117
+ data: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, getItem), valueObj)
118
+ }
119
+ });
120
+ }; // 删除
121
+
122
+
123
+ var handleDelete = function handleDelete(e) {
124
+ e.stopPropagation();
125
+ var filterValues = (0, _objectSpread3.default)({}, complexDrawer.data);
126
+ delete filterValues[field];
127
+ console.log('filterValues', filterValues);
128
+ dispatch({
129
+ type: 'changeComplexDrawer',
130
+ complexDrawer: {
131
+ visible: true,
132
+ data: filterValues
133
+ }
134
+ });
135
+ }; // 删除Tag
136
+
137
+
138
+ var onTagClose = function onTagClose(val) {
139
+ var originData = (0, _objectSpread3.default)({}, complexDrawer.data);
140
+ var filterValues = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData), {}, (0, _defineProperty2.default)({}, field, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData[field]), {}, {
141
+ value: originData[field].value.filter(function (v) {
142
+ return !v.includes(val);
143
+ })
144
+ })));
145
+ dispatch({
146
+ type: 'changeComplexDrawer',
147
+ complexDrawer: {
148
+ visible: true,
149
+ data: filterValues
150
+ }
151
+ });
152
+ }; // Tags显示
153
+
154
+
155
+ var tagElem = function tagElem() {
156
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Tag, {
157
+ className: "add_tags"
158
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
159
+ type: "lmweb-plus"
160
+ }), " \u65B0\u589E"), checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.map(function (v) {
161
+ return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Tag, {
162
+ key: v.value,
163
+ closable: true,
164
+ onClose: function onClose() {
165
+ return onTagClose(v.value);
166
+ }
167
+ }, v.label);
168
+ }));
169
+ }; // 模式
170
+
171
+
172
+ var modeLabel = (0, _react.useMemo)(function () {
173
+ return valueObj.mode === 'and' ? '且' : '或';
174
+ }, [valueObj.mode]);
175
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
176
+ className: "item_box",
177
+ onClick: handleEdit
178
+ }, /*#__PURE__*/_react.default.createElement("div", {
179
+ className: "item_header"
180
+ }, /*#__PURE__*/_react.default.createElement("div", {
181
+ className: "item_header_title"
182
+ }, "".concat(getItem.title, "\uFF08").concat(modeLabel, "\uFF09")), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
183
+ type: "lmweb-close1",
184
+ onClick: handleDelete,
185
+ className: "item_header_icon"
186
+ })), /*#__PURE__*/_react.default.createElement("div", {
187
+ className: "item_tags"
188
+ }, tagElem())));
189
+ }; // 全部筛选项
190
+
191
+
192
+ var ListGroup = function ListGroup(_ref2) {
193
+ var instance = _ref2.instance;
194
+ var state = instance.state,
195
+ dispatch = instance.dispatch,
196
+ dataSource = instance.dataSource;
197
+
198
+ var _useState = (0, _react.useState)(function () {
199
+ return dataSource;
200
+ }),
201
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
202
+ options = _useState2[0],
203
+ setOptions = _useState2[1];
204
+
205
+ var handleSearch = function handleSearch(val) {
206
+ setOptions(dataSource.filter(function (v) {
207
+ var _v$title;
208
+
209
+ return ((_v$title = v.title) === null || _v$title === void 0 ? void 0 : _v$title.indexOf(val)) > -1;
210
+ }));
211
+ }; // 编辑
212
+
213
+
214
+ var handleEdit = function handleEdit(_ref3) {
215
+ var field = _ref3.field;
216
+ // 单项匹配数据, 根据字段名查找
217
+ var getItem = dataSource.find(function (v) {
218
+ return v.field === field;
219
+ }); // 编辑
220
+
221
+ dispatch({
222
+ type: 'changeValueDrawer',
223
+ valueDrawer: {
224
+ visible: true,
225
+ type: 'complex',
226
+ data: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, getItem), {}, {
227
+ value: []
228
+ })
229
+ }
230
+ });
231
+ };
232
+
233
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
234
+ className: "list_group"
235
+ }, /*#__PURE__*/_react.default.createElement("div", {
236
+ className: "list_group_title"
237
+ }, "\u9009\u62E9\u67E5\u8BE2\u9879"), /*#__PURE__*/_react.default.createElement("div", {
238
+ className: "list_group_search"
239
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Input.Search, {
240
+ allowClear: true,
241
+ size: "default",
242
+ placeholder: "\u8BF7\u8F93\u5165",
243
+ onSearch: handleSearch
244
+ })), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
245
+ options: options,
246
+ className: "filter_drawer_group_list"
247
+ }, function (_ref4) {
248
+ var item = _ref4.item,
249
+ resetProps = (0, _objectWithoutProperties2.default)(_ref4, _excluded);
250
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
251
+ className: "filter_drawer_group_item"
252
+ }), /*#__PURE__*/_react.default.createElement("div", {
253
+ className: "item_box",
254
+ onClick: function onClick() {
255
+ return handleEdit(item);
256
+ }
257
+ }, /*#__PURE__*/_react.default.createElement("div", {
258
+ className: "item_header"
259
+ }, /*#__PURE__*/_react.default.createElement("div", {
260
+ className: "item_header_title"
261
+ }, item.title), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
262
+ type: "lmweb-plus",
263
+ className: "item_header_icon icon_plus"
264
+ }))));
265
+ })));
266
+ };
267
+
268
+ var ComplexDrawer = function ComplexDrawer(_ref5) {
269
+ var instance = _ref5.instance;
270
+ var state = instance.state,
271
+ dispatch = instance.dispatch,
272
+ onChange = instance.onChange;
273
+ var complexDrawer = state.complexDrawer,
274
+ complexFilter = state.complexFilter;
275
+ var isHas = (0, _react.useMemo)(function () {
276
+ return (0, _utils.getIsHas)(complexDrawer.data);
277
+ }, [complexDrawer.data]); // 过滤的内容转数组
278
+
279
+ var filterItemData = (0, _react.useMemo)(function () {
280
+ return isHas ? Object.entries(complexDrawer.data).map(function (v) {
281
+ return {
282
+ field: v[0],
283
+ value: v[1]
284
+ };
285
+ }) : [];
286
+ }, [complexDrawer.data, isHas]);
287
+
288
+ var onClose = function onClose() {
289
+ dispatch({
290
+ type: 'changeComplexDrawer',
291
+ complexDrawer: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.complexDrawer), {}, {
292
+ visible: false
293
+ })
294
+ });
295
+ };
296
+
297
+ var onSearch = function onSearch() {
298
+ dispatch({
299
+ type: 'changeBasicFilter',
300
+ basicFilter: {}
301
+ });
302
+ dispatch({
303
+ type: 'changeComplexFilter',
304
+ complexFilter: complexDrawer.data
305
+ });
306
+ onClose();
307
+ onChange === null || onChange === void 0 ? void 0 : onChange(null, complexDrawer.data);
308
+ }; // 初始化筛选
309
+
310
+
311
+ (0, _react.useEffect)(function () {
312
+ if (complexDrawer.visible) {
313
+ dispatch({
314
+ type: 'changeComplexDrawer',
315
+ complexDrawer: {
316
+ data: complexFilter,
317
+ visible: complexDrawer.visible
318
+ }
319
+ });
320
+ }
321
+ }, [dispatch, complexDrawer.visible]);
322
+
323
+ var Tit = function Tit() {
324
+ return /*#__PURE__*/_react.default.createElement("div", {
325
+ onClick: function onClick() {
326
+ console.log('title', state);
327
+ }
328
+ }, "\u9AD8\u7EA7\u67E5\u8BE2");
329
+ }; // 弹窗配置项
330
+
331
+
332
+ var config = {
333
+ title: /*#__PURE__*/_react.default.createElement(Tit, null),
334
+ visible: state.complexDrawer.visible,
335
+ onClose: onClose,
336
+ width: 440,
337
+ placement: 'right',
338
+ destroyOnClose: true,
339
+ className: 'lm_filter_drawer',
340
+ extra: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
341
+ onClick: onClose,
342
+ size: "small"
343
+ }, "\u53D6\u6D88"), !!instance.custom && /*#__PURE__*/_react.default.createElement(SaveModal, {
344
+ state: state,
345
+ dispatch: dispatch
346
+ }), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
347
+ type: "primary",
348
+ onClick: onSearch,
349
+ size: "small"
350
+ }, "\u67E5\u8BE2"))
351
+ };
352
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Drawer, config, /*#__PURE__*/_react.default.createElement("div", {
353
+ className: "complex_filter_body"
354
+ }, isHas && /*#__PURE__*/_react.default.createElement("div", {
355
+ className: "checked_group"
356
+ }, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.VirtualList, {
357
+ options: filterItemData,
358
+ className: "filter_drawer_group_list"
359
+ }, function (_ref6) {
360
+ var item = _ref6.item,
361
+ resetProps = (0, _objectWithoutProperties2.default)(_ref6, _excluded2);
362
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
363
+ className: "filter_drawer_group_item"
364
+ }), /*#__PURE__*/_react.default.createElement(ListItemChecked, {
365
+ instance: instance,
366
+ item: item
367
+ }));
368
+ })), /*#__PURE__*/_react.default.createElement(ListGroup, {
369
+ instance: instance
370
+ })), /*#__PURE__*/_react.default.createElement(_valueDrawer.default, {
371
+ instance: instance
372
+ })));
373
+ };
374
+
375
+ var _default = ComplexDrawer;
376
+ exports.default = _default;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
@@ -7,10 +9,55 @@ Object.defineProperty(exports, "__esModule", {
7
9
  });
8
10
  exports.default = void 0;
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
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
+ };
11
43
 
12
- var LmFilterComplex = function LmFilterComplex(e) {
13
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "LmFilterComplex");
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
+ }));
14
61
  };
15
62
 
16
63
  var _default = LmFilterComplex;
@@ -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;