linkmore-design 1.0.25 → 1.0.28
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/index.umd.js +4875 -915
- package/dist/index.umd.min.js +7 -7
- package/es/Button/index.js +1 -1
- package/es/Button/style/style.css +9 -0
- package/es/Checkbox/style/style.css +9 -0
- package/es/CkFilter/baseFilter/NestedFilter.js +137 -0
- package/es/CkFilter/baseFilter/filterMenu.js +17 -11
- package/es/CkFilter/baseFilter/index.js +5 -2
- package/es/CkFilter/baseFilter/moreFilters.js +21 -2
- package/es/CkFilter/complexFilter/drawer.js +35 -20
- package/es/CkFilter/complexFilter/index.js +1 -1
- package/es/CkFilter/components/Controls.js +8 -0
- package/es/CkFilter/components/DragBox/DndContainer.js +49 -0
- package/es/CkFilter/components/DragBox/index.js +63 -0
- package/es/CkFilter/components/DragBox/sortableBox.js +24 -0
- package/es/CkFilter/components/DragBox/sortableItem.js +111 -0
- package/es/CkFilter/components/Nested.js +90 -0
- package/es/CkFilter/components/filterTypes.js +60 -95
- package/es/CkFilter/components/modal.js +105 -38
- package/es/CkFilter/context.js +16 -3
- package/es/CkFilter/customFilter/drawer.js +62 -15
- package/es/CkFilter/customFilter/index.js +4 -1
- package/es/CkFilter/customFilter/radioGroup.js +4 -3
- package/es/CkFilter/icon_placeholder.png +0 -0
- package/es/CkFilter/style/style.css +46 -5
- package/es/Dropdown/index.d.ts +2 -0
- package/es/Dropdown/index.js +9 -12
- package/es/Dropdown/style/index.css +12 -2
- package/es/Input/index.js +6 -5
- package/es/LmTable/ImgList/imgCell.js +3 -1
- package/es/LmTable/ImgList/imgTable.js +4 -4
- package/es/LmTable/style/style.css +62 -61
- package/es/Modal/index.js +1 -1
- package/es/Radio/index.js +4 -2
- package/es/Radio/style/style.css +17 -3
- package/es/TabBar/index.js +1 -1
- package/lib/Button/index.js +1 -1
- package/lib/Button/style/style.css +9 -0
- package/lib/Checkbox/style/style.css +9 -0
- package/lib/CkFilter/baseFilter/NestedFilter.js +137 -0
- package/lib/CkFilter/baseFilter/filterMenu.js +17 -11
- package/lib/CkFilter/baseFilter/index.js +5 -2
- package/lib/CkFilter/baseFilter/moreFilters.js +21 -2
- package/lib/CkFilter/complexFilter/drawer.js +35 -20
- package/lib/CkFilter/complexFilter/index.js +1 -1
- package/lib/CkFilter/components/Controls.js +8 -0
- package/lib/CkFilter/components/DragBox/DndContainer.js +49 -0
- package/lib/CkFilter/components/DragBox/index.js +63 -0
- package/lib/CkFilter/components/DragBox/sortableBox.js +24 -0
- package/lib/CkFilter/components/DragBox/sortableItem.js +111 -0
- package/lib/CkFilter/components/Nested.js +90 -0
- package/lib/CkFilter/components/filterTypes.js +60 -95
- package/lib/CkFilter/components/modal.js +105 -38
- package/lib/CkFilter/context.js +16 -3
- package/lib/CkFilter/customFilter/drawer.js +62 -15
- package/lib/CkFilter/customFilter/index.js +4 -1
- package/lib/CkFilter/customFilter/radioGroup.js +4 -3
- package/lib/CkFilter/icon_placeholder.png +0 -0
- package/lib/CkFilter/style/style.css +46 -5
- package/lib/Dropdown/index.d.ts +2 -0
- package/lib/Dropdown/index.js +9 -12
- package/lib/Dropdown/style/index.css +12 -2
- package/lib/Input/index.js +6 -5
- package/lib/LmTable/ImgList/imgCell.js +3 -1
- package/lib/LmTable/ImgList/imgTable.js +4 -4
- package/lib/LmTable/style/style.css +62 -61
- package/lib/Modal/index.js +3 -3
- package/lib/Radio/index.js +4 -2
- package/lib/Radio/style/style.css +17 -3
- package/lib/TabBar/index.js +5 -5
- package/package.json +4 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
4
|
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
@@ -15,8 +15,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
15
15
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
17
|
|
|
18
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
|
-
|
|
20
18
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
21
19
|
|
|
22
20
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
@@ -27,18 +25,17 @@ var _form = _interopRequireDefault(require("antd/es/form"));
|
|
|
27
25
|
|
|
28
26
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
29
27
|
|
|
30
|
-
var _linkmoreDesign = require("linkmore-design");
|
|
31
|
-
|
|
32
28
|
var _react = _interopRequireWildcard(require("react"));
|
|
33
29
|
|
|
30
|
+
var _linkmoreDesign = require("linkmore-design");
|
|
31
|
+
|
|
34
32
|
var _context2 = require("../context");
|
|
35
33
|
|
|
36
34
|
var _utils = require("../utils");
|
|
37
35
|
|
|
38
36
|
var _Controls = _interopRequireDefault(require("./Controls"));
|
|
39
37
|
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
// import Modal from '../../Modal'
|
|
42
39
|
// const { EditModal } = Modal
|
|
43
40
|
// 第二层抽屉,弹出数据选择
|
|
44
41
|
var ModalItem = function ModalItem() {
|
|
@@ -71,10 +68,15 @@ var ModalItem = function ModalItem() {
|
|
|
71
68
|
});
|
|
72
69
|
form.resetFields();
|
|
73
70
|
};
|
|
71
|
+
/*
|
|
72
|
+
* customModal.data.type === 'nested' 时,处理不同
|
|
73
|
+
*
|
|
74
|
+
*/
|
|
75
|
+
|
|
74
76
|
|
|
75
77
|
var onSave = /*#__PURE__*/function () {
|
|
76
78
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
77
|
-
var _yield$form$validateF, field,
|
|
79
|
+
var _instance$fullData, _yield$form$validateF, field, mode, value, filterValues, getFormField, findCustom, currentItem, isNested, nField, nValue, _value$subValue;
|
|
78
80
|
|
|
79
81
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
80
82
|
while (1) {
|
|
@@ -87,16 +89,45 @@ var ModalItem = function ModalItem() {
|
|
|
87
89
|
case 3:
|
|
88
90
|
_yield$form$validateF = _context.sent;
|
|
89
91
|
field = _yield$form$validateF.field;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
+
mode = _yield$form$validateF.mode;
|
|
93
|
+
value = _yield$form$validateF.value;
|
|
94
|
+
// 选中的筛选数据
|
|
95
|
+
filterValues = customModal.type === 'complex' ? (0, _objectSpread2.default)({}, complexDrawer.data) : (0, _objectSpread2.default)({}, customDrawer.data.filterValues); // 查找当前筛选的值: 自定义筛选 & 高级筛选
|
|
92
96
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
97
|
+
getFormField = form.getFieldValue('field');
|
|
98
|
+
findCustom = (_instance$fullData = instance.fullData) === null || _instance$fullData === void 0 ? void 0 : _instance$fullData.find(function (v) {
|
|
99
|
+
return v.field === getFormField;
|
|
100
|
+
});
|
|
101
|
+
currentItem = customModal.type === 'complex' ? customModal.data : findCustom; // 是否嵌套筛选
|
|
102
|
+
|
|
103
|
+
isNested = currentItem.type === 'nested'; // 嵌套筛选的键值不同
|
|
104
|
+
|
|
105
|
+
nField = isEdit ? currentItem.field : field;
|
|
106
|
+
nValue = value;
|
|
107
|
+
|
|
108
|
+
if (isNested) {
|
|
109
|
+
// 删除原有筛选
|
|
110
|
+
delete filterValues[currentItem.field];
|
|
111
|
+
currentItem.data.forEach(function (element) {
|
|
112
|
+
delete filterValues[element.value];
|
|
113
|
+
}); // 存在子级嵌套时,改变键值
|
|
114
|
+
|
|
115
|
+
if (value === null || value === void 0 ? void 0 : (_value$subValue = value.subValue) === null || _value$subValue === void 0 ? void 0 : _value$subValue.children) {
|
|
116
|
+
nField = value.subValue.value;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
nValue = (value === null || value === void 0 ? void 0 : value.value) || [];
|
|
120
|
+
} // 判断是新增还是编辑
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
Object.assign(filterValues, (0, _defineProperty2.default)({}, nField, {
|
|
124
|
+
mode: mode,
|
|
125
|
+
value: nValue,
|
|
126
|
+
originField: currentItem.field
|
|
127
|
+
}));
|
|
98
128
|
|
|
99
129
|
if (customModal.type === 'complex') {
|
|
130
|
+
// 高级筛选
|
|
100
131
|
dispatch({
|
|
101
132
|
type: 'changeComplexDrawer',
|
|
102
133
|
complexDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, complexDrawer), {}, {
|
|
@@ -104,6 +135,7 @@ var ModalItem = function ModalItem() {
|
|
|
104
135
|
})
|
|
105
136
|
});
|
|
106
137
|
} else {
|
|
138
|
+
// 自定义筛选
|
|
107
139
|
dispatch({
|
|
108
140
|
type: 'changeDrawer',
|
|
109
141
|
customDrawer: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, customDrawer), {}, {
|
|
@@ -115,20 +147,20 @@ var ModalItem = function ModalItem() {
|
|
|
115
147
|
}
|
|
116
148
|
|
|
117
149
|
onClose();
|
|
118
|
-
_context.next =
|
|
150
|
+
_context.next = 23;
|
|
119
151
|
break;
|
|
120
152
|
|
|
121
|
-
case
|
|
122
|
-
_context.prev =
|
|
153
|
+
case 20:
|
|
154
|
+
_context.prev = 20;
|
|
123
155
|
_context.t0 = _context["catch"](0);
|
|
124
156
|
console.log('校验错误!', _context.t0);
|
|
125
157
|
|
|
126
|
-
case
|
|
158
|
+
case 23:
|
|
127
159
|
case "end":
|
|
128
160
|
return _context.stop();
|
|
129
161
|
}
|
|
130
162
|
}
|
|
131
|
-
}, _callee, null, [[0,
|
|
163
|
+
}, _callee, null, [[0, 20]]);
|
|
132
164
|
}));
|
|
133
165
|
|
|
134
166
|
return function onSave() {
|
|
@@ -137,30 +169,43 @@ var ModalItem = function ModalItem() {
|
|
|
137
169
|
}();
|
|
138
170
|
|
|
139
171
|
var onValuesChange = function onValuesChange(values) {
|
|
172
|
+
console.log('values', values);
|
|
173
|
+
|
|
140
174
|
if (values.field) {
|
|
141
175
|
form.setFieldsValue({
|
|
142
176
|
value: []
|
|
143
177
|
});
|
|
144
178
|
}
|
|
179
|
+
|
|
180
|
+
if (values.value) {
|
|
181
|
+
var _values$value;
|
|
182
|
+
|
|
183
|
+
// 嵌套筛选双击触发
|
|
184
|
+
if ((values === null || values === void 0 ? void 0 : (_values$value = values.value) === null || _values$value === void 0 ? void 0 : _values$value.type) === 'dbclick') {
|
|
185
|
+
onSave();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
145
188
|
}; // 动态展示选择框
|
|
146
189
|
|
|
147
190
|
|
|
148
191
|
var DynamicSelect = (0, _react.useCallback)(function (_ref2) {
|
|
149
|
-
var _instance$
|
|
192
|
+
var _instance$fullData2;
|
|
150
193
|
|
|
151
194
|
var getFieldValue = _ref2.getFieldValue;
|
|
152
195
|
var field = getFieldValue('field');
|
|
153
|
-
var
|
|
196
|
+
var findItem = (_instance$fullData2 = instance.fullData) === null || _instance$fullData2 === void 0 ? void 0 : _instance$fullData2.find(function (v) {
|
|
154
197
|
return v.field === field;
|
|
155
|
-
})
|
|
198
|
+
});
|
|
199
|
+
var options = (findItem === null || findItem === void 0 ? void 0 : findItem.data) || [];
|
|
156
200
|
|
|
157
201
|
if (field) {
|
|
158
202
|
return /*#__PURE__*/_react.default.createElement(_form.default.Item, {
|
|
159
203
|
name: "value",
|
|
160
|
-
label: "\u9009\u62E9\u5B57\u6BB5\u503C"
|
|
204
|
+
label: "\u9009\u62E9\u5B57\u6BB5\u503C",
|
|
205
|
+
noStyle: true
|
|
161
206
|
}, /*#__PURE__*/_react.default.createElement(_Controls.default, (0, _extends2.default)({
|
|
162
207
|
visible: customModal.visible
|
|
163
|
-
},
|
|
208
|
+
}, findItem, {
|
|
164
209
|
options: options
|
|
165
210
|
})));
|
|
166
211
|
}
|
|
@@ -169,9 +214,12 @@ var ModalItem = function ModalItem() {
|
|
|
169
214
|
}, [instance.fullData, customModal.data.type]);
|
|
170
215
|
var config = {
|
|
171
216
|
title: isEdit ? customModal.data.title : '新增查询项',
|
|
172
|
-
visible: customModal.
|
|
217
|
+
visible: customModal.visible,
|
|
173
218
|
onClose: onClose,
|
|
174
219
|
className: 'lm_det_drawer',
|
|
220
|
+
bodyStyle: customModal.data.type === 'nested' ? {
|
|
221
|
+
padding: '24px 24px 0'
|
|
222
|
+
} : null,
|
|
175
223
|
extra: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, {
|
|
176
224
|
size: 8
|
|
177
225
|
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
|
|
@@ -191,34 +239,53 @@ var ModalItem = function ModalItem() {
|
|
|
191
239
|
form.setFieldsValue(customModal.data);
|
|
192
240
|
}
|
|
193
241
|
}, [form, customModal]);
|
|
194
|
-
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Drawer, config, /*#__PURE__*/_react.default.createElement(
|
|
195
|
-
className: "custom_modal"
|
|
196
|
-
}, /*#__PURE__*/_react.default.createElement(_form.default, {
|
|
242
|
+
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Drawer, config, /*#__PURE__*/_react.default.createElement(_form.default, {
|
|
197
243
|
form: form,
|
|
198
244
|
initialValues: {
|
|
199
245
|
mode: 'or'
|
|
200
246
|
},
|
|
201
247
|
onValuesChange: onValuesChange,
|
|
202
248
|
layout: "vertical",
|
|
203
|
-
size: "default"
|
|
204
|
-
|
|
249
|
+
size: "default",
|
|
250
|
+
className: "custom_form"
|
|
251
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
252
|
+
className: "custom_group"
|
|
253
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
254
|
+
className: "custom_label"
|
|
255
|
+
}, "\u67E5\u8BE2\u65B9\u5F0F"), /*#__PURE__*/_react.default.createElement(_form.default.Item, {
|
|
205
256
|
name: "mode",
|
|
206
|
-
label: "\u67E5\u8BE2\u65B9\u5F0F"
|
|
207
|
-
|
|
257
|
+
label: "\u67E5\u8BE2\u65B9\u5F0F",
|
|
258
|
+
noStyle: true
|
|
259
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
|
|
260
|
+
direction: "column"
|
|
261
|
+
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
|
|
208
262
|
value: "and"
|
|
209
263
|
}, "\u4E14,\u67E5\u8BE2\u540C\u65F6\u6EE1\u8DB3\u6B64\u9009\u9879\u6761\u4EF6"), /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio, {
|
|
210
264
|
value: "or"
|
|
211
|
-
}, "\u6216,\u67E5\u8BE2\u5305\u542B\u6B64\u9009\u9879\u6761\u4EF6"))), !isEdit && /*#__PURE__*/_react.default.createElement(
|
|
265
|
+
}, "\u6216,\u67E5\u8BE2\u5305\u542B\u6B64\u9009\u9879\u6761\u4EF6")))), !isEdit && /*#__PURE__*/_react.default.createElement("div", {
|
|
266
|
+
className: "custom_group",
|
|
267
|
+
id: "area"
|
|
268
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
269
|
+
className: "custom_label"
|
|
270
|
+
}, "\u9009\u62E9\u5B57\u6BB5"), /*#__PURE__*/_react.default.createElement(_form.default.Item, {
|
|
212
271
|
name: "field",
|
|
213
|
-
label: "\u9009\u62E9\u5B57\u6BB5"
|
|
272
|
+
label: "\u9009\u62E9\u5B57\u6BB5",
|
|
273
|
+
noStyle: true
|
|
214
274
|
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Select, {
|
|
215
|
-
|
|
275
|
+
size: "default",
|
|
276
|
+
getPopupContainer: function getPopupContainer() {
|
|
277
|
+
return document.getElementById('area');
|
|
278
|
+
}
|
|
216
279
|
}, state.instance.fullData.map(function (v) {
|
|
217
280
|
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Select.Option, {
|
|
218
281
|
key: v.field,
|
|
219
282
|
value: v.field
|
|
220
283
|
}, v.title);
|
|
221
|
-
}))), /*#__PURE__*/_react.default.createElement(
|
|
284
|
+
})))), /*#__PURE__*/_react.default.createElement("div", {
|
|
285
|
+
className: "custom_group custom_full"
|
|
286
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
287
|
+
className: "custom_label"
|
|
288
|
+
}, "\u9009\u62E9\u5B57\u6BB5\u503C"), /*#__PURE__*/_react.default.createElement(_form.default.Item, {
|
|
222
289
|
noStyle: true,
|
|
223
290
|
shouldUpdate: function shouldUpdate(prevValues, currentValues) {
|
|
224
291
|
return prevValues.field !== currentValues.field;
|
package/lib/CkFilter/context.js
CHANGED
|
@@ -29,7 +29,8 @@ var initialState = {
|
|
|
29
29
|
searchKey: 'search',
|
|
30
30
|
levelGroupKey: 'levGroup',
|
|
31
31
|
filter: true,
|
|
32
|
-
complex: false
|
|
32
|
+
complex: false,
|
|
33
|
+
size: 'middle'
|
|
33
34
|
},
|
|
34
35
|
// 初始化数据
|
|
35
36
|
visibleFields: [],
|
|
@@ -42,8 +43,8 @@ var initialState = {
|
|
|
42
43
|
// 当前过滤的数据的键值对(二级筛选)
|
|
43
44
|
customFilterValues: {},
|
|
44
45
|
// 一级筛选过滤的内容
|
|
46
|
+
// 返回的高级筛选过滤的内容
|
|
45
47
|
complexFilterValues: {},
|
|
46
|
-
// 高级筛选过滤的内容
|
|
47
48
|
nestedFilterValues: {},
|
|
48
49
|
// 嵌套结构的过滤内容 {objType: {field: 'supplier', value: 's1', label: '一号供应商'}, ...}
|
|
49
50
|
customDrawer: {
|
|
@@ -57,10 +58,15 @@ var initialState = {
|
|
|
57
58
|
type: 'custom',
|
|
58
59
|
data: {}
|
|
59
60
|
},
|
|
61
|
+
// 高级筛选弹窗数据结构data: { type: {mode: 'or', value: [], originField: '', ...}, ... }
|
|
60
62
|
complexDrawer: {
|
|
61
63
|
visible: false,
|
|
62
64
|
data: {}
|
|
63
|
-
}
|
|
65
|
+
},
|
|
66
|
+
nestedDrawer: {
|
|
67
|
+
visible: false,
|
|
68
|
+
data: {}
|
|
69
|
+
} // 嵌套过滤抽屉
|
|
64
70
|
|
|
65
71
|
};
|
|
66
72
|
|
|
@@ -73,6 +79,7 @@ var reducer = function reducer(state, action) {
|
|
|
73
79
|
customDrawer = action.customDrawer,
|
|
74
80
|
customModal = action.customModal,
|
|
75
81
|
complexDrawer = action.complexDrawer,
|
|
82
|
+
nestedDrawer = action.nestedDrawer,
|
|
76
83
|
customFilterValues = action.customFilterValues,
|
|
77
84
|
complexFilterValues = action.complexFilterValues,
|
|
78
85
|
nestedFilterValues = action.nestedFilterValues;
|
|
@@ -134,6 +141,12 @@ var reducer = function reducer(state, action) {
|
|
|
134
141
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
135
142
|
complexFilterValues: complexFilterValues
|
|
136
143
|
});
|
|
144
|
+
// 设置嵌套抽屉的数据
|
|
145
|
+
|
|
146
|
+
case 'changeNestedDrawer':
|
|
147
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
148
|
+
nestedDrawer: nestedDrawer
|
|
149
|
+
});
|
|
137
150
|
// 设置嵌套结构的内容
|
|
138
151
|
|
|
139
152
|
case 'changeNestedFilterValues':
|
|
@@ -43,7 +43,7 @@ var _context2 = require("../context");
|
|
|
43
43
|
|
|
44
44
|
var _utils = require("../utils");
|
|
45
45
|
|
|
46
|
-
var
|
|
46
|
+
var _modal = _interopRequireDefault(require("../components/modal"));
|
|
47
47
|
|
|
48
48
|
var _excluded = ["item"];
|
|
49
49
|
|
|
@@ -56,23 +56,68 @@ var ListItem = function ListItem(props) {
|
|
|
56
56
|
fullData = _state$instance$fullD === void 0 ? [] : _state$instance$fullD,
|
|
57
57
|
customDrawer = state.customDrawer;
|
|
58
58
|
var field = props.field,
|
|
59
|
-
value = props.value; // 单项匹配数据,
|
|
59
|
+
value = props.value; // 单项匹配数据, 根据字段名查找, 嵌套筛选时查询父级
|
|
60
60
|
|
|
61
61
|
var getItem = (0, _react.useMemo)(function () {
|
|
62
62
|
return fullData.find(function (v) {
|
|
63
|
-
return v.field
|
|
63
|
+
return [field, value.originField].includes(v.field);
|
|
64
64
|
});
|
|
65
|
-
}, [
|
|
65
|
+
}, [props, fullData]); // 选中值的处理
|
|
66
|
+
|
|
67
|
+
var resetValue = (0, _react.useMemo)(function () {
|
|
68
|
+
if (getItem.type === 'cascader') {
|
|
69
|
+
var _value$value;
|
|
70
|
+
|
|
71
|
+
return (_value$value = value.value) === null || _value$value === void 0 ? void 0 : _value$value.map(function (v) {
|
|
72
|
+
return v[v.length - 1];
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return value.value;
|
|
77
|
+
}, [props]); // 遍历树结构
|
|
78
|
+
|
|
79
|
+
var deepChildren = function deepChildren(arr, preArr) {
|
|
80
|
+
arr.forEach(function (item) {
|
|
81
|
+
var _item$children;
|
|
82
|
+
|
|
83
|
+
if (resetValue.includes(item.value)) {
|
|
84
|
+
preArr.push(item);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) {
|
|
88
|
+
deepChildren(item.children, preArr);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}; // 选中的数据
|
|
92
|
+
|
|
66
93
|
|
|
67
94
|
var checkedValues = (0, _react.useMemo)(function () {
|
|
95
|
+
console.log('value', value);
|
|
68
96
|
var checkedValue = value.value;
|
|
69
97
|
|
|
70
98
|
if (Array.isArray(checkedValue)) {
|
|
99
|
+
if (getItem.type === 'nested') {
|
|
100
|
+
return checkedValue;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (getItem.type === 'cascader') {
|
|
104
|
+
var arr = [];
|
|
105
|
+
deepChildren(getItem.data, arr);
|
|
106
|
+
return arr;
|
|
107
|
+
}
|
|
108
|
+
|
|
71
109
|
return getItem.data.filter(function (v) {
|
|
72
110
|
return checkedValue.includes(v.value);
|
|
73
111
|
});
|
|
74
112
|
}
|
|
75
113
|
|
|
114
|
+
if (getItem.type === 'input') {
|
|
115
|
+
return resetValue ? [{
|
|
116
|
+
value: resetValue,
|
|
117
|
+
label: resetValue
|
|
118
|
+
}] : [];
|
|
119
|
+
}
|
|
120
|
+
|
|
76
121
|
var filterValue = getItem.data.find(function (v) {
|
|
77
122
|
return v.value === checkedValue;
|
|
78
123
|
});
|
|
@@ -87,6 +132,7 @@ var ListItem = function ListItem(props) {
|
|
|
87
132
|
type: 'changeModal',
|
|
88
133
|
customModal: {
|
|
89
134
|
visible: true,
|
|
135
|
+
type: 'custom',
|
|
90
136
|
data: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, getItem), value)
|
|
91
137
|
}
|
|
92
138
|
});
|
|
@@ -126,7 +172,12 @@ var ListItem = function ListItem(props) {
|
|
|
126
172
|
|
|
127
173
|
|
|
128
174
|
var tagElem = function tagElem() {
|
|
129
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null,
|
|
175
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_tag.default, {
|
|
176
|
+
className: "site-tag-plus",
|
|
177
|
+
onClick: handleAdd
|
|
178
|
+
}, /*#__PURE__*/_react.default.createElement(_IconFont.default, {
|
|
179
|
+
type: "lmweb-plus-circle"
|
|
180
|
+
}), " \u65B0\u589E"), checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues.map(function (v) {
|
|
130
181
|
return /*#__PURE__*/_react.default.createElement(_tag.default, {
|
|
131
182
|
key: v.value,
|
|
132
183
|
closable: true,
|
|
@@ -134,12 +185,7 @@ var ListItem = function ListItem(props) {
|
|
|
134
185
|
return onTagClose(v.value);
|
|
135
186
|
}
|
|
136
187
|
}, v.label);
|
|
137
|
-
})
|
|
138
|
-
className: "site-tag-plus",
|
|
139
|
-
onClick: handleAdd
|
|
140
|
-
}, /*#__PURE__*/_react.default.createElement(_IconFont.default, {
|
|
141
|
-
type: "lmweb-plus-circle"
|
|
142
|
-
}), " \u65B0\u589E"));
|
|
188
|
+
}));
|
|
143
189
|
}; // 模式
|
|
144
190
|
|
|
145
191
|
|
|
@@ -180,7 +226,8 @@ var Index = function Index() {
|
|
|
180
226
|
|
|
181
227
|
var filterItem = (0, _react.useMemo)(function () {
|
|
182
228
|
return customDrawer.data;
|
|
183
|
-
}, [customDrawer.data]);
|
|
229
|
+
}, [customDrawer.data]);
|
|
230
|
+
console.log('customDrawer', customDrawer); // 过滤的内容转数组
|
|
184
231
|
|
|
185
232
|
var filterItemData = (0, _react.useMemo)(function () {
|
|
186
233
|
return (0, _utils.getIsHas)(filterItem === null || filterItem === void 0 ? void 0 : filterItem.filterValues) ? Object.entries(filterItem.filterValues).map(function (v) {
|
|
@@ -271,7 +318,7 @@ var Index = function Index() {
|
|
|
271
318
|
width: 440,
|
|
272
319
|
placement: 'right',
|
|
273
320
|
destroyOnClose: true,
|
|
274
|
-
className: '
|
|
321
|
+
className: 'lm_filter_drawer',
|
|
275
322
|
extra: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Space, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
|
|
276
323
|
onClick: onClose,
|
|
277
324
|
size: "small"
|
|
@@ -325,8 +372,8 @@ var Index = function Index() {
|
|
|
325
372
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
326
373
|
className: "filter_drawer_group_add"
|
|
327
374
|
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Button, {
|
|
328
|
-
type: "dashed",
|
|
329
375
|
block: true,
|
|
376
|
+
type: "dashed",
|
|
330
377
|
onClick: addEvent,
|
|
331
378
|
icon: /*#__PURE__*/_react.default.createElement(_IconFont.default, {
|
|
332
379
|
type: "lmweb-plus-circle"
|
|
@@ -341,7 +388,7 @@ var Index = function Index() {
|
|
|
341
388
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
|
|
342
389
|
className: "filter_drawer_group_item"
|
|
343
390
|
}), /*#__PURE__*/_react.default.createElement(ListItem, item));
|
|
344
|
-
}))), /*#__PURE__*/_react.default.createElement(
|
|
391
|
+
}))), /*#__PURE__*/_react.default.createElement(_modal.default, null)));
|
|
345
392
|
};
|
|
346
393
|
|
|
347
394
|
var _default = Index;
|
|
@@ -34,6 +34,8 @@ var Custom = function Custom() {
|
|
|
34
34
|
state = _useStore.state,
|
|
35
35
|
dispatch = _useStore.dispatch;
|
|
36
36
|
|
|
37
|
+
var size = state.instance.size;
|
|
38
|
+
|
|
37
39
|
var _useState = (0, _react.useState)(false),
|
|
38
40
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
39
41
|
visible = _useState2[0],
|
|
@@ -107,7 +109,8 @@ var Custom = function Custom() {
|
|
|
107
109
|
}
|
|
108
110
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
109
111
|
className: (0, _classnames.default)('filter_custom', {
|
|
110
|
-
active: visible
|
|
112
|
+
active: visible,
|
|
113
|
+
small: size === 'small'
|
|
111
114
|
})
|
|
112
115
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
113
116
|
className: "custom_label"
|
|
@@ -24,7 +24,8 @@ var CustomGroup = function CustomGroup() {
|
|
|
24
24
|
|
|
25
25
|
var _state$instance = state.instance,
|
|
26
26
|
levelGroup = _state$instance.levelGroup,
|
|
27
|
-
levelGroupKey = _state$instance.levelGroupKey
|
|
27
|
+
levelGroupKey = _state$instance.levelGroupKey,
|
|
28
|
+
size = _state$instance.size;
|
|
28
29
|
var defaultValue = (0, _react.useMemo)(function () {
|
|
29
30
|
var _levelGroup$find;
|
|
30
31
|
|
|
@@ -50,8 +51,8 @@ var CustomGroup = function CustomGroup() {
|
|
|
50
51
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
|
|
51
52
|
defaultValue: defaultValue,
|
|
52
53
|
onChange: onChange,
|
|
53
|
-
size:
|
|
54
|
-
}, levelGroup.map(function (v) {
|
|
54
|
+
size: size
|
|
55
|
+
}, size, levelGroup.map(function (v) {
|
|
55
56
|
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Button, {
|
|
56
57
|
key: v.value,
|
|
57
58
|
value: v.value
|
|
Binary file
|
|
@@ -511,7 +511,7 @@ html {
|
|
|
511
511
|
display: inline-flex;
|
|
512
512
|
align-items: center;
|
|
513
513
|
justify-content: space-between;
|
|
514
|
-
height:
|
|
514
|
+
height: 32px;
|
|
515
515
|
min-width: 100px;
|
|
516
516
|
border: 1px solid var(--box-shadow-color);
|
|
517
517
|
border-radius: 2px;
|
|
@@ -520,6 +520,9 @@ html {
|
|
|
520
520
|
cursor: pointer;
|
|
521
521
|
transition: 0.3s;
|
|
522
522
|
}
|
|
523
|
+
.lm_filter_base .filter_custom.small {
|
|
524
|
+
height: 24px;
|
|
525
|
+
}
|
|
523
526
|
.lm_filter_base .filter_custom .custom_label {
|
|
524
527
|
padding-right: 16px;
|
|
525
528
|
}
|
|
@@ -531,7 +534,7 @@ html {
|
|
|
531
534
|
}
|
|
532
535
|
.lm_filter_base .line {
|
|
533
536
|
display: inline-block;
|
|
534
|
-
height:
|
|
537
|
+
height: 32px;
|
|
535
538
|
border-right: 1px solid #eee;
|
|
536
539
|
}
|
|
537
540
|
.lm_filter_base .ant-radio-button-wrapper {
|
|
@@ -543,7 +546,7 @@ html {
|
|
|
543
546
|
.lm_filter_base .filter_item {
|
|
544
547
|
display: inline-flex;
|
|
545
548
|
align-items: center;
|
|
546
|
-
height:
|
|
549
|
+
height: 32px;
|
|
547
550
|
line-height: 1;
|
|
548
551
|
border-radius: 1px;
|
|
549
552
|
padding: 0 8px;
|
|
@@ -673,7 +676,7 @@ html {
|
|
|
673
676
|
width: 100%;
|
|
674
677
|
}
|
|
675
678
|
.filter_dropdown .filter_body .virtual_list {
|
|
676
|
-
min-width:
|
|
679
|
+
min-width: 168px;
|
|
677
680
|
max-height: 224px;
|
|
678
681
|
overflow: auto;
|
|
679
682
|
}
|
|
@@ -688,6 +691,7 @@ html {
|
|
|
688
691
|
transition: 0.3s;
|
|
689
692
|
white-space: nowrap;
|
|
690
693
|
cursor: pointer;
|
|
694
|
+
gap: 8px;
|
|
691
695
|
}
|
|
692
696
|
.filter_dropdown .filter_body .filter_item.add_more {
|
|
693
697
|
border-top: 1px solid var(--stripe-color);
|
|
@@ -742,14 +746,25 @@ html {
|
|
|
742
746
|
}
|
|
743
747
|
.filter_dropdown .filter_empty {
|
|
744
748
|
display: flex;
|
|
749
|
+
flex-flow: column;
|
|
745
750
|
align-items: center;
|
|
746
751
|
justify-content: center;
|
|
747
752
|
font-size: 12px;
|
|
748
753
|
min-height: 40px;
|
|
749
754
|
color: #666;
|
|
750
|
-
padding:
|
|
755
|
+
padding: 16px 8px;
|
|
756
|
+
margin: auto;
|
|
757
|
+
gap: 4px;
|
|
758
|
+
}
|
|
759
|
+
.filter_dropdown .filter_empty .filter_empty_text {
|
|
760
|
+
display: inline-flex;
|
|
761
|
+
align-items: center;
|
|
762
|
+
justify-content: center;
|
|
763
|
+
min-height: 20px;
|
|
764
|
+
color: var(--font-color);
|
|
751
765
|
}
|
|
752
766
|
.filter_dropdown .ant-checkbox-wrapper {
|
|
767
|
+
flex: 1;
|
|
753
768
|
font-size: 12px;
|
|
754
769
|
align-items: center;
|
|
755
770
|
}
|
|
@@ -797,6 +812,7 @@ html {
|
|
|
797
812
|
}
|
|
798
813
|
.ant-drawer.lm_filter_drawer .filter_drawer_group_add .ant-btn {
|
|
799
814
|
font-size: 12px;
|
|
815
|
+
max-width: initial;
|
|
800
816
|
}
|
|
801
817
|
.ant-drawer.lm_filter_drawer .filter_drawer_group_list .filter_drawer_group_item {
|
|
802
818
|
margin-bottom: var(--gap);
|
|
@@ -804,6 +820,7 @@ html {
|
|
|
804
820
|
.ant-drawer.lm_filter_drawer .filter_drawer_group_list .filter_drawer_group_item .item_box {
|
|
805
821
|
line-height: 1;
|
|
806
822
|
border: 1px solid transparent;
|
|
823
|
+
border-radius: 2px;
|
|
807
824
|
background: var(--background-color);
|
|
808
825
|
padding: calc(var(--gap) * 2);
|
|
809
826
|
cursor: pointer;
|
|
@@ -818,6 +835,7 @@ html {
|
|
|
818
835
|
justify-content: space-between;
|
|
819
836
|
}
|
|
820
837
|
.ant-drawer.lm_filter_drawer .filter_drawer_group_list .filter_drawer_group_item .item_box .item_header .item_header_title {
|
|
838
|
+
font-size: 12px;
|
|
821
839
|
font-weight: 500;
|
|
822
840
|
}
|
|
823
841
|
.ant-drawer.lm_filter_drawer .filter_drawer_group_list .filter_drawer_group_item .item_box .item_header .item_header_icon {
|
|
@@ -847,6 +865,9 @@ html {
|
|
|
847
865
|
border-style: dashed;
|
|
848
866
|
cursor: pointer;
|
|
849
867
|
}
|
|
868
|
+
.ant-drawer.lm_filter_drawer .filter_drawer_group_list .filter_drawer_group_item .item_box .item_tags .ant-tag.site-tag-plus:hover {
|
|
869
|
+
border-color: var(--primary-color);
|
|
870
|
+
}
|
|
850
871
|
.ant-drawer.lm_filter_drawer .filter_drawer_group_list .filter_drawer_group_item .item_box .item_tags .tag-input {
|
|
851
872
|
width: 78px;
|
|
852
873
|
margin-right: 8px;
|
|
@@ -956,6 +977,23 @@ html {
|
|
|
956
977
|
}
|
|
957
978
|
.ant-drawer.lm_det_drawer .ant-select {
|
|
958
979
|
font-size: 12px;
|
|
980
|
+
width: 100%;
|
|
981
|
+
}
|
|
982
|
+
.ant-drawer.lm_det_drawer .custom_form {
|
|
983
|
+
display: flex;
|
|
984
|
+
flex-flow: column;
|
|
985
|
+
height: 100%;
|
|
986
|
+
gap: 24px;
|
|
987
|
+
}
|
|
988
|
+
.ant-drawer.lm_det_drawer .custom_form .custom_label {
|
|
989
|
+
font-size: 14px;
|
|
990
|
+
font-weight: 500;
|
|
991
|
+
margin-bottom: 16px;
|
|
992
|
+
}
|
|
993
|
+
.ant-drawer.lm_det_drawer .custom_form .custom_full {
|
|
994
|
+
display: flex;
|
|
995
|
+
flex-flow: column;
|
|
996
|
+
flex: 1;
|
|
959
997
|
}
|
|
960
998
|
.ant-modal .custom_modal .checkbox_tag {
|
|
961
999
|
display: inline-flex;
|
|
@@ -1036,3 +1074,6 @@ html {
|
|
|
1036
1074
|
.ant-select-dropdown.ant-cascader-dropdown {
|
|
1037
1075
|
padding: 0;
|
|
1038
1076
|
}
|
|
1077
|
+
.ant-select-dropdown.ant-cascader-dropdown .ant-cascader-menu-item {
|
|
1078
|
+
padding: 5px 8px;
|
|
1079
|
+
}
|
package/lib/Dropdown/index.d.ts
CHANGED
|
@@ -4,9 +4,11 @@ export interface IDropdownProps extends DropdownProps {
|
|
|
4
4
|
className?: string;
|
|
5
5
|
style?: React.CSSProperties;
|
|
6
6
|
dropdownmatchwidth?: boolean;
|
|
7
|
+
onlyIcon?: boolean;
|
|
7
8
|
}
|
|
8
9
|
interface LmDropdownInterface extends React.FC<IDropdownProps> {
|
|
9
10
|
Button?: typeof Dropdown.Button;
|
|
11
|
+
IconButton?: typeof Dropdown.Button;
|
|
10
12
|
}
|
|
11
13
|
declare const LMDropdown: LmDropdownInterface;
|
|
12
14
|
export default LMDropdown;
|