linkmore-design 1.0.55 → 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.
- package/dist/CardTable/card/PictureTextRowOperate.d.ts +7 -0
- package/dist/LmFilter/Controls/CheckboxTags.d.ts +6 -0
- package/dist/LmFilter/Controls/index.d.ts +2 -0
- package/dist/LmFilter/LmFilter.d.ts +4 -1
- package/dist/LmFilter/complexFilter/drawer.d.ts +4 -0
- package/dist/LmFilter/complexFilter/index.d.ts +3 -1
- package/dist/LmFilter/complexFilter/valueDrawer.d.ts +4 -0
- package/dist/LmFilter/localization.d.ts +8 -0
- package/dist/Switch/demos/table.d.ts +2 -0
- package/dist/Switch/index.d.ts +2 -1
- package/dist/index.umd.js +25 -14
- package/dist/index.umd.min.js +6 -6
- package/es/CardTable/body/TableBodyCell.js +3 -0
- package/es/CardTable/card/PictureTextRow.js +13 -50
- package/es/CardTable/card/PictureTextRowOperate.js +130 -0
- package/es/CardTable/style/index.css +158 -10
- package/es/LmFilter/Controls/CheckboxTags.js +53 -0
- package/es/LmFilter/Controls/index.js +47 -0
- package/es/LmFilter/LmFilter.js +17 -5
- package/es/LmFilter/complexFilter/drawer.js +376 -0
- package/es/LmFilter/complexFilter/index.js +50 -3
- package/es/LmFilter/complexFilter/valueDrawer.js +238 -0
- package/es/LmFilter/components/DropdownFIlter.js +1 -2
- package/es/LmFilter/filterFns/index.js +22 -3
- package/es/LmFilter/localization.d.ts +8 -0
- package/es/LmFilter/localization.js +12 -0
- package/es/LmFilter/style/style.css +11 -4
- package/es/LmFilter/wrapper/FilterRoot.js +56 -6
- package/es/Switch/index.d.ts +2 -1
- package/es/Switch/index.js +33 -1
- package/es/Switch/style/index.css +41 -0
- package/lib/CardTable/body/TableBodyCell.js +3 -0
- package/lib/CardTable/card/PictureTextRow.js +13 -50
- package/lib/CardTable/card/PictureTextRowOperate.js +130 -0
- package/lib/CardTable/style/index.css +158 -10
- package/lib/LmFilter/Controls/CheckboxTags.js +53 -0
- package/lib/LmFilter/Controls/index.js +47 -0
- package/lib/LmFilter/LmFilter.js +17 -5
- package/lib/LmFilter/complexFilter/drawer.js +376 -0
- package/lib/LmFilter/complexFilter/index.js +50 -3
- package/lib/LmFilter/complexFilter/valueDrawer.js +238 -0
- package/lib/LmFilter/components/DropdownFIlter.js +1 -2
- package/lib/LmFilter/filterFns/index.js +22 -3
- package/lib/LmFilter/localization.d.ts +8 -0
- package/lib/LmFilter/localization.js +19 -0
- package/lib/LmFilter/style/style.css +11 -4
- package/lib/LmFilter/wrapper/FilterRoot.js +56 -6
- package/lib/Switch/index.d.ts +2 -1
- package/lib/Switch/index.js +34 -1
- package/lib/Switch/style/index.css +41 -0
- package/package.json +1 -1
|
@@ -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
|
|
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
|
-
|
|
13
|
-
|
|
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;
|
|
@@ -218,10 +218,9 @@ var DropdownFilter = /*#__PURE__*/_react.default.memo(function (_ref2) {
|
|
|
218
218
|
}, item === null || item === void 0 ? void 0 : item.title, ":"), /*#__PURE__*/_react.default.createElement("div", {
|
|
219
219
|
className: "filter_item_value"
|
|
220
220
|
}, getLabel(filterValue, item)), /*#__PURE__*/_react.default.createElement("div", {
|
|
221
|
-
className: "filter_item_icon"
|
|
221
|
+
className: "filter_item_icon addon_after"
|
|
222
222
|
}, item.type !== 'date' || active ? /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
223
223
|
type: active ? 'lmweb-close-circle-fill' : 'lmweb-down',
|
|
224
|
-
className: "addonAfter",
|
|
225
224
|
onClick: handleClear
|
|
226
225
|
}) : null)));
|
|
227
226
|
});
|