linkmore-design 1.0.55 → 1.0.58

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