linkmore-design 1.0.60 → 1.0.62
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/LmFilter/filterFns/index.d.ts +8 -1
- package/dist/LmFilter/localization.d.ts +8 -2
- package/dist/index.umd.js +25 -8
- package/dist/index.umd.min.js +6 -6
- package/es/Form/style/index.css +5 -1
- package/es/LmFilter/LmFilter.js +21 -3
- package/es/LmFilter/baseFilter/fuzzySearch.js +6 -1
- package/es/LmFilter/baseFilter/index.js +1 -3
- package/es/LmFilter/complexFilter/drawer.js +8 -16
- package/es/LmFilter/components/index.js +1 -1
- package/es/LmFilter/filterFns/index.js +170 -57
- package/es/LmFilter/localization.d.ts +8 -2
- package/es/LmFilter/localization.js +20 -2
- package/es/LmFilter/style/style.css +1 -3
- package/es/LmFilter/wrapper/Filter.js +4 -0
- package/es/LmFilter/wrapper/FilterContainer.js +0 -4
- package/es/LmFilter/wrapper/FilterRoot.js +44 -47
- package/es/LmTable/Table.js +9 -3
- package/es/LmTable/style/index.css +5 -0
- package/lib/Form/style/index.css +5 -1
- package/lib/LmFilter/LmFilter.js +21 -3
- package/lib/LmFilter/baseFilter/fuzzySearch.js +6 -1
- package/lib/LmFilter/baseFilter/index.js +1 -3
- package/lib/LmFilter/complexFilter/drawer.js +8 -16
- package/lib/LmFilter/components/index.js +1 -1
- package/lib/LmFilter/filterFns/index.js +170 -57
- package/lib/LmFilter/localization.d.ts +8 -2
- package/lib/LmFilter/localization.js +20 -2
- package/lib/LmFilter/style/style.css +1 -3
- package/lib/LmFilter/wrapper/Filter.js +4 -0
- package/lib/LmFilter/wrapper/FilterContainer.js +0 -4
- package/lib/LmFilter/wrapper/FilterRoot.js +44 -47
- package/lib/LmTable/Table.js +9 -3
- package/lib/LmTable/style/index.css +5 -0
- package/package.json +3 -3
package/es/Form/style/index.css
CHANGED
|
@@ -530,7 +530,7 @@ html {
|
|
|
530
530
|
margin-right: 0;
|
|
531
531
|
}
|
|
532
532
|
.lm_form .ant-form-item-control {
|
|
533
|
-
width:
|
|
533
|
+
width: 100%;
|
|
534
534
|
}
|
|
535
535
|
.lm_container_wrapper {
|
|
536
536
|
overflow: auto;
|
|
@@ -546,6 +546,9 @@ html {
|
|
|
546
546
|
.lm_container_wrapper .lm_container.responsive .lm_form .ant-form-item {
|
|
547
547
|
margin-right: 24px;
|
|
548
548
|
}
|
|
549
|
+
.lm_container_wrapper .lm_container.responsive .lm_form .ant-form-item .ant-form-item-control {
|
|
550
|
+
width: 100%;
|
|
551
|
+
}
|
|
549
552
|
.lm_container_wrapper .lm_container.responsive.lm_col_3 .ant-form-item {
|
|
550
553
|
width: calc(33.3333% - 16px);
|
|
551
554
|
}
|
|
@@ -565,6 +568,7 @@ html {
|
|
|
565
568
|
margin-right: 0;
|
|
566
569
|
}
|
|
567
570
|
.lm_form .lm_form-item-tip-error .ant-form-item-explain {
|
|
571
|
+
width: 100%;
|
|
568
572
|
position: absolute;
|
|
569
573
|
display: flex;
|
|
570
574
|
top: 0;
|
package/es/LmFilter/LmFilter.js
CHANGED
|
@@ -28,10 +28,28 @@ var LmFilter = function LmFilter(_ref, ref) {
|
|
|
28
28
|
localization = _ref$localization === void 0 ? {} : _ref$localization,
|
|
29
29
|
resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
30
30
|
var defaultRef = (0, _react.useRef)(null);
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
var defaultProps = {
|
|
32
|
+
dataSource: [],
|
|
33
|
+
// 数据源
|
|
34
|
+
enableSearch: true,
|
|
35
|
+
// 是否启用模糊查询
|
|
36
|
+
enableBaisc: true,
|
|
37
|
+
// 是否启用基础筛选
|
|
38
|
+
enableComplex: false,
|
|
39
|
+
// 是否启用高级筛选
|
|
40
|
+
enableCustom: false,
|
|
41
|
+
// 是否启用自定义筛选
|
|
42
|
+
size: 'middle',
|
|
43
|
+
// 尺寸
|
|
44
|
+
searchKey: 'search',
|
|
45
|
+
// 搜索的key值
|
|
46
|
+
placeholder: '请输入',
|
|
47
|
+
// 搜索占位符
|
|
33
48
|
localization: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _localization.DefaultLocalization), localization)
|
|
34
|
-
}
|
|
49
|
+
};
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement(_FilterRoot.default, (0, _extends2.default)({
|
|
51
|
+
ref: ref || defaultRef
|
|
52
|
+
}, defaultProps, resetProps));
|
|
35
53
|
};
|
|
36
54
|
|
|
37
55
|
var _default = /*#__PURE__*/(0, _react.forwardRef)(LmFilter);
|
|
@@ -29,7 +29,12 @@ var FuzzySearch = function FuzzySearch(_ref) {
|
|
|
29
29
|
}, [state.basicFilter]);
|
|
30
30
|
|
|
31
31
|
var onSearch = function onSearch(val) {
|
|
32
|
-
|
|
32
|
+
var item = {
|
|
33
|
+
field: searchKey,
|
|
34
|
+
operator: 'contains',
|
|
35
|
+
fieldType: 'string'
|
|
36
|
+
};
|
|
37
|
+
setFilterValue(val, item);
|
|
33
38
|
};
|
|
34
39
|
|
|
35
40
|
(0, _react.useEffect)(function () {
|
|
@@ -17,9 +17,7 @@ var _components = _interopRequireDefault(require("../components"));
|
|
|
17
17
|
var LmFilterBase = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
18
18
|
var instance = _ref.instance;
|
|
19
19
|
var dataSource = instance.dataSource;
|
|
20
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
21
|
-
className: "lm_filter_basic"
|
|
22
|
-
}, /*#__PURE__*/_react.default.createElement(_fuzzySearch.default, {
|
|
20
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_fuzzySearch.default, {
|
|
23
21
|
instance: instance
|
|
24
22
|
}), dataSource.map(function (v, index) {
|
|
25
23
|
var isHidden = !v.show && typeof v.show === 'boolean';
|
|
@@ -267,9 +267,9 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
|
|
|
267
267
|
var instance = _ref5.instance;
|
|
268
268
|
var state = instance.state,
|
|
269
269
|
dispatch = instance.dispatch,
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
270
|
+
onQuery = instance.onQuery,
|
|
271
|
+
dataSource = instance.dataSource;
|
|
272
|
+
var complexDrawer = state.complexDrawer;
|
|
273
273
|
var isHas = (0, _react.useMemo)(function () {
|
|
274
274
|
return (0, _utils.getIsHas)(complexDrawer.data);
|
|
275
275
|
}, [complexDrawer.data]); // 过滤的内容转数组
|
|
@@ -293,17 +293,9 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
|
|
|
293
293
|
};
|
|
294
294
|
|
|
295
295
|
var onSearch = function onSearch() {
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
});
|
|
300
|
-
dispatch({
|
|
301
|
-
type: 'changeComplexFilter',
|
|
302
|
-
complexFilter: complexDrawer.data
|
|
303
|
-
});
|
|
304
|
-
onClose();
|
|
305
|
-
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
306
|
-
complexFilter: complexDrawer.data,
|
|
296
|
+
var complexFilter = complexDrawer.data;
|
|
297
|
+
onQuery === null || onQuery === void 0 ? void 0 : onQuery({
|
|
298
|
+
complexFilter: complexFilter,
|
|
307
299
|
type: 'complex'
|
|
308
300
|
});
|
|
309
301
|
}; // 初始化筛选
|
|
@@ -314,7 +306,7 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
|
|
|
314
306
|
dispatch({
|
|
315
307
|
type: 'changeComplexDrawer',
|
|
316
308
|
complexDrawer: {
|
|
317
|
-
data: complexFilter,
|
|
309
|
+
data: state.complexFilter,
|
|
318
310
|
visible: complexDrawer.visible
|
|
319
311
|
}
|
|
320
312
|
});
|
|
@@ -332,7 +324,7 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
|
|
|
332
324
|
|
|
333
325
|
var config = {
|
|
334
326
|
title: /*#__PURE__*/_react.default.createElement(Tit, null),
|
|
335
|
-
visible:
|
|
327
|
+
visible: complexDrawer.visible,
|
|
336
328
|
onClose: onClose,
|
|
337
329
|
width: 440,
|
|
338
330
|
placement: 'right',
|
|
@@ -71,7 +71,7 @@ var FilterControl = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
71
71
|
var resetInstance = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetInstanceProps), {}, {
|
|
72
72
|
filterValue: (getFilterValue === null || getFilterValue === void 0 ? void 0 : getFilterValue(resetItem)) || transformFilterValue,
|
|
73
73
|
setFilterValue: function setFilterValue(val) {
|
|
74
|
-
return (_setFilterValue || handleChange)(val, resetItem
|
|
74
|
+
return (_setFilterValue || handleChange)(val, resetItem);
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
77
|
return /*#__PURE__*/_react.default.createElement(_DropdownFIlter.default, {
|
|
@@ -9,7 +9,7 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
13
13
|
|
|
14
14
|
var _utils = require("../utils");
|
|
15
15
|
|
|
@@ -19,84 +19,196 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
19
19
|
dispatch = _ref.dispatch,
|
|
20
20
|
props = _ref.props;
|
|
21
21
|
var onChange = props.onChange,
|
|
22
|
-
dataSource = props.dataSource
|
|
22
|
+
dataSource = props.dataSource,
|
|
23
|
+
searchKey = props.searchKey; // 触发查询 type basic基础筛选 | complex高级筛选
|
|
23
24
|
|
|
24
|
-
var
|
|
25
|
-
var
|
|
25
|
+
var onQuery = function onQuery(_ref2) {
|
|
26
|
+
var basicFilter = _ref2.basicFilter,
|
|
27
|
+
complexFilter = _ref2.complexFilter,
|
|
28
|
+
basicQuery = _ref2.basicQuery,
|
|
26
29
|
type = _ref2.type;
|
|
30
|
+
console.log('type', type);
|
|
31
|
+
|
|
32
|
+
if (type === 'basic') {
|
|
33
|
+
var _Object$keys;
|
|
34
|
+
|
|
35
|
+
dispatch({
|
|
36
|
+
type: 'changeBasicFilter',
|
|
37
|
+
basicFilter: basicFilter
|
|
38
|
+
});
|
|
39
|
+
dispatch({
|
|
40
|
+
type: 'changeBasicQuery',
|
|
41
|
+
basicQuery: basicQuery
|
|
42
|
+
});
|
|
43
|
+
dispatch({
|
|
44
|
+
type: 'changeComplexFilter',
|
|
45
|
+
complexFilter: {}
|
|
46
|
+
}); // 基础筛选清空高级筛选
|
|
47
|
+
// 抛出给外部查询
|
|
48
|
+
|
|
49
|
+
var filterQuery = {
|
|
50
|
+
filters: [{
|
|
51
|
+
conditions: (_Object$keys = Object.keys(basicQuery)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.map(function (k) {
|
|
52
|
+
return basicQuery[k];
|
|
53
|
+
})
|
|
54
|
+
}]
|
|
55
|
+
};
|
|
56
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
57
|
+
basicFilter: basicFilter,
|
|
58
|
+
filterQuery: filterQuery,
|
|
59
|
+
type: 'basic'
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (type === 'complex') {
|
|
64
|
+
var _Object$keys2, _Object$keys3;
|
|
65
|
+
|
|
66
|
+
var _basicQuery = (_Object$keys2 = Object.keys(complexFilter)) === null || _Object$keys2 === void 0 ? void 0 : _Object$keys2.reduce(function (pre, cur) {
|
|
67
|
+
var item = dataSource.find(function (v) {
|
|
68
|
+
return cur === v.field;
|
|
69
|
+
});
|
|
70
|
+
var itemValue = complexFilter[cur].value;
|
|
71
|
+
|
|
72
|
+
if ((0, _utils.getIsHas)(itemValue) && !!item) {
|
|
73
|
+
pre[cur] = {
|
|
74
|
+
fieldName: cur,
|
|
75
|
+
fieldType: (item === null || item === void 0 ? void 0 : item.valueType) || 'string',
|
|
76
|
+
value: Array.isArray(itemValue) ? itemValue : [itemValue],
|
|
77
|
+
operator: complexFilter[cur].mode === 'and' ? 'equal' : 'contains'
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return pre;
|
|
82
|
+
}, {});
|
|
83
|
+
|
|
84
|
+
dispatch({
|
|
85
|
+
type: 'changeBasicFilter',
|
|
86
|
+
basicFilter: {}
|
|
87
|
+
});
|
|
88
|
+
dispatch({
|
|
89
|
+
type: 'changeComplexFilter',
|
|
90
|
+
complexFilter: complexFilter
|
|
91
|
+
});
|
|
92
|
+
dispatch({
|
|
93
|
+
type: 'changeComplexDrawer',
|
|
94
|
+
complexDrawer: {
|
|
95
|
+
data: {},
|
|
96
|
+
visible: false
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
dispatch({
|
|
100
|
+
type: 'changeBasicQuery',
|
|
101
|
+
basicQuery: _basicQuery
|
|
102
|
+
});
|
|
103
|
+
var _filterQuery = {
|
|
104
|
+
filters: [{
|
|
105
|
+
conditions: (_Object$keys3 = Object.keys(_basicQuery)) === null || _Object$keys3 === void 0 ? void 0 : _Object$keys3.map(function (k) {
|
|
106
|
+
return _basicQuery[k];
|
|
107
|
+
})
|
|
108
|
+
}]
|
|
109
|
+
};
|
|
110
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
111
|
+
complexFilter: complexFilter,
|
|
112
|
+
filterQuery: _filterQuery,
|
|
113
|
+
type: type
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}; // 根据字段查找过滤的数据, 不存在时返回默认值
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
var getFilterValue = function getFilterValue(_ref3) {
|
|
120
|
+
var field = _ref3.field,
|
|
121
|
+
type = _ref3.type;
|
|
27
122
|
var defaultValue = (0, _utils.getValueForType)(type);
|
|
28
123
|
return state.basicFilter[field] || defaultValue;
|
|
29
|
-
}; // 设置筛选的值
|
|
124
|
+
}; // 设置筛选的值 itemValue => String || Array => ['', '', ...]
|
|
30
125
|
|
|
31
126
|
|
|
32
|
-
var setFilterValue = function setFilterValue(
|
|
33
|
-
var
|
|
127
|
+
var setFilterValue = function setFilterValue(itemValue, item) {
|
|
128
|
+
var field = item.field;
|
|
34
129
|
|
|
35
|
-
|
|
130
|
+
if (field) {
|
|
131
|
+
// 基础查询数据(受控数据)
|
|
132
|
+
var basicFilter = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, itemValue)); // 外部查询数据结构
|
|
36
133
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
134
|
+
var basicQuery = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.basicQuery), {}, (0, _defineProperty2.default)({}, field, {
|
|
135
|
+
fieldName: field,
|
|
136
|
+
fieldType: item.valueType || 'string',
|
|
137
|
+
value: Array.isArray(itemValue) ? itemValue : [itemValue],
|
|
138
|
+
operator: item.operator || 'equal'
|
|
139
|
+
}));
|
|
40
140
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
basicFilter: basicFilter
|
|
45
|
-
});
|
|
46
|
-
dispatch({
|
|
47
|
-
type: 'changeComplexFilter',
|
|
48
|
-
complexFilter: {}
|
|
49
|
-
}); // 基础筛选清空高级筛选
|
|
50
|
-
// 抛出给外部存储
|
|
51
|
-
|
|
52
|
-
var filterQuery = (_Object$entries = Object.entries(basicFilter)) === null || _Object$entries === void 0 ? void 0 : _Object$entries.map(function (v) {
|
|
53
|
-
return {
|
|
54
|
-
fieldName: v[0],
|
|
55
|
-
value: v[1],
|
|
56
|
-
operator: 'contains'
|
|
57
|
-
};
|
|
58
|
-
}); // 触发外部事件
|
|
141
|
+
if (!(0, _utils.getIsHas)(itemValue)) {
|
|
142
|
+
delete basicFilter[field];
|
|
143
|
+
}
|
|
59
144
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
145
|
+
; // 触发外部事件
|
|
146
|
+
|
|
147
|
+
onQuery === null || onQuery === void 0 ? void 0 : onQuery({
|
|
148
|
+
basicFilter: basicFilter,
|
|
149
|
+
basicQuery: basicQuery,
|
|
150
|
+
type: 'basic'
|
|
151
|
+
});
|
|
152
|
+
}
|
|
65
153
|
}; // 读取缓存
|
|
66
154
|
|
|
67
155
|
|
|
68
156
|
var setLocalization = function setLocalization() {
|
|
157
|
+
var _Object$keys4;
|
|
158
|
+
|
|
69
159
|
var localization = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.localization;
|
|
70
160
|
var globalQuery = localization.globalQuery,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// 查找改数据是否展示
|
|
77
|
-
var someData = dataSource.some(function (v) {
|
|
78
|
-
if (cur.fieldName === v.field) {
|
|
79
|
-
var isHidden = !v.show && typeof v.show === 'boolean';
|
|
80
|
-
return !isHidden;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return false;
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
if ((0, _utils.getIsHas)(cur.value) && someData) {
|
|
87
|
-
pre[cur.fieldName] = cur.value;
|
|
161
|
+
basicFilter = localization.basicFilter;
|
|
162
|
+
var basicQuery = (_Object$keys4 = Object.keys(basicFilter)) === null || _Object$keys4 === void 0 ? void 0 : _Object$keys4.reduce(function (pre, cur) {
|
|
163
|
+
var item = dataSource.find(function (v) {
|
|
164
|
+
if (cur === v.field) {
|
|
165
|
+
return v.show || typeof v.show !== 'boolean';
|
|
88
166
|
}
|
|
89
167
|
|
|
90
|
-
return
|
|
91
|
-
}, {});
|
|
92
|
-
dispatch({
|
|
93
|
-
type: 'changeBasicFilter',
|
|
94
|
-
basicFilter: basicFilter
|
|
168
|
+
return false;
|
|
95
169
|
});
|
|
96
|
-
|
|
170
|
+
|
|
171
|
+
if (cur === searchKey) {
|
|
172
|
+
item = {
|
|
173
|
+
field: searchKey,
|
|
174
|
+
operator: 'contains',
|
|
175
|
+
fieldType: 'string'
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if ((0, _utils.getIsHas)(basicFilter[cur]) && !!item) {
|
|
180
|
+
var _item, _item2;
|
|
181
|
+
|
|
182
|
+
pre[cur] = {
|
|
183
|
+
fieldName: cur,
|
|
184
|
+
fieldType: ((_item = item) === null || _item === void 0 ? void 0 : _item.valueType) || 'string',
|
|
185
|
+
value: Array.isArray(basicFilter[cur]) ? basicFilter[cur] : [basicFilter[cur]],
|
|
186
|
+
operator: ((_item2 = item) === null || _item2 === void 0 ? void 0 : _item2.operator) || 'equal'
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return pre;
|
|
191
|
+
}, {});
|
|
192
|
+
dispatch({
|
|
193
|
+
type: 'changeBasicFilter',
|
|
194
|
+
basicFilter: basicFilter
|
|
195
|
+
});
|
|
196
|
+
dispatch({
|
|
197
|
+
type: 'changeBasicQuery',
|
|
198
|
+
basicQuery: basicQuery
|
|
199
|
+
});
|
|
200
|
+
}; // 单个设置过滤字段值, 会触发onChange事件, 多个字段时使用setLocalization
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
var setFilterFieldValue = function setFilterFieldValue(field, value) {
|
|
204
|
+
var item = dataSource.find(function (v) {
|
|
205
|
+
return v.fidld === field;
|
|
206
|
+
}) || {};
|
|
207
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue(value, item);
|
|
97
208
|
};
|
|
98
209
|
|
|
99
210
|
return {
|
|
211
|
+
onQuery: onQuery,
|
|
100
212
|
getState: function getState() {
|
|
101
213
|
return state;
|
|
102
214
|
},
|
|
@@ -105,6 +217,7 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
105
217
|
},
|
|
106
218
|
getFilterValue: getFilterValue,
|
|
107
219
|
setFilterValue: setFilterValue,
|
|
220
|
+
setFilterFieldValue: setFilterFieldValue,
|
|
108
221
|
setLocalization: setLocalization
|
|
109
222
|
};
|
|
110
223
|
};
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
export declare const DefaultLocalization: {
|
|
2
|
+
customFilter: {};
|
|
3
|
+
basicFilter: {};
|
|
2
4
|
globalQuery: {
|
|
3
|
-
filter:
|
|
5
|
+
filter: {
|
|
6
|
+
conditions: any[];
|
|
7
|
+
}[];
|
|
4
8
|
};
|
|
5
9
|
filterQuery: {
|
|
6
|
-
filter:
|
|
10
|
+
filter: {
|
|
11
|
+
conditions: any[];
|
|
12
|
+
}[];
|
|
7
13
|
};
|
|
8
14
|
};
|
|
@@ -3,10 +3,28 @@
|
|
|
3
3
|
// operator: number,
|
|
4
4
|
// }
|
|
5
5
|
export var DefaultLocalization = {
|
|
6
|
+
customFilter: {},
|
|
7
|
+
basicFilter: {},
|
|
8
|
+
// 一级筛选
|
|
6
9
|
globalQuery: {
|
|
7
|
-
filter: [
|
|
10
|
+
filter: [{
|
|
11
|
+
// relation: 'and',
|
|
12
|
+
conditions: []
|
|
13
|
+
}]
|
|
8
14
|
},
|
|
15
|
+
// 二级筛选
|
|
9
16
|
filterQuery: {
|
|
10
|
-
filter: [
|
|
17
|
+
filter: [{
|
|
18
|
+
// relation: 'and',
|
|
19
|
+
conditions: [// {
|
|
20
|
+
// relation: 'antd', // 查询间的关系
|
|
21
|
+
// fieldName: '', // 查询字段
|
|
22
|
+
// fieldType: 'string', // 字段类型
|
|
23
|
+
// // 查询值的关系 "integer", "double", "string", "date", "datetime", and "boolean".
|
|
24
|
+
// operator: '',
|
|
25
|
+
// value: [], // 值的集合
|
|
26
|
+
// }
|
|
27
|
+
]
|
|
28
|
+
}]
|
|
11
29
|
}
|
|
12
30
|
};
|
|
@@ -15,6 +15,8 @@ var _customFilter = _interopRequireDefault(require("../customFilter"));
|
|
|
15
15
|
|
|
16
16
|
var _complexFilter = _interopRequireDefault(require("../complexFilter"));
|
|
17
17
|
|
|
18
|
+
var _clearFilter = _interopRequireDefault(require("../clearFilter"));
|
|
19
|
+
|
|
18
20
|
// 筛选组合
|
|
19
21
|
var LmFilter = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
20
22
|
var instance = _ref.instance;
|
|
@@ -29,6 +31,8 @@ var LmFilter = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
29
31
|
instance: instance
|
|
30
32
|
}), enableComplex && /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
|
|
31
33
|
instance: instance
|
|
34
|
+
}), /*#__PURE__*/_react.default.createElement(_clearFilter.default, {
|
|
35
|
+
instance: instance
|
|
32
36
|
}));
|
|
33
37
|
});
|
|
34
38
|
|
|
@@ -11,8 +11,6 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _Filter = _interopRequireDefault(require("./Filter"));
|
|
13
13
|
|
|
14
|
-
var _clearFilter = _interopRequireDefault(require("../clearFilter"));
|
|
15
|
-
|
|
16
14
|
// 过滤组件主体区域
|
|
17
15
|
var LmFilterContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
18
16
|
var instance = _ref.instance;
|
|
@@ -20,8 +18,6 @@ var LmFilterContainer = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
|
20
18
|
className: "lm_filter_container"
|
|
21
19
|
}, /*#__PURE__*/_react.default.createElement(_Filter.default, {
|
|
22
20
|
instance: instance
|
|
23
|
-
}), /*#__PURE__*/_react.default.createElement(_clearFilter.default, {
|
|
24
|
-
instance: instance
|
|
25
21
|
}));
|
|
26
22
|
});
|
|
27
23
|
|
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
|
|
13
|
-
|
|
14
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
15
13
|
|
|
16
14
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
@@ -26,6 +24,7 @@ var _utils = require("../utils");
|
|
|
26
24
|
// 根文件 => 参数聚合
|
|
27
25
|
var reducer = function reducer(state, action) {
|
|
28
26
|
var basicFilter = action.basicFilter,
|
|
27
|
+
basicQuery = action.basicQuery,
|
|
29
28
|
resize = action.resize,
|
|
30
29
|
rows = action.rows,
|
|
31
30
|
complexDrawer = action.complexDrawer,
|
|
@@ -39,6 +38,12 @@ var reducer = function reducer(state, action) {
|
|
|
39
38
|
basicFilter: basicFilter
|
|
40
39
|
});
|
|
41
40
|
|
|
41
|
+
case 'changeBasicQuery':
|
|
42
|
+
// 基础筛选数据改变
|
|
43
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
44
|
+
basicQuery: basicQuery
|
|
45
|
+
});
|
|
46
|
+
|
|
42
47
|
case 'changeRows':
|
|
43
48
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
44
49
|
rows: rows
|
|
@@ -69,6 +74,7 @@ var reducer = function reducer(state, action) {
|
|
|
69
74
|
// 一键清空
|
|
70
75
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
71
76
|
basicFilter: {},
|
|
77
|
+
basicQuery: {},
|
|
72
78
|
complexFilter: {}
|
|
73
79
|
});
|
|
74
80
|
|
|
@@ -79,34 +85,46 @@ var reducer = function reducer(state, action) {
|
|
|
79
85
|
|
|
80
86
|
|
|
81
87
|
var getInitialState = function getInitialState(_ref) {
|
|
88
|
+
var _Object$keys;
|
|
89
|
+
|
|
82
90
|
var localization = _ref.localization,
|
|
83
|
-
dataSource = _ref.dataSource
|
|
91
|
+
dataSource = _ref.dataSource,
|
|
92
|
+
searchKey = _ref.searchKey;
|
|
84
93
|
var globalQuery = localization.globalQuery,
|
|
85
|
-
|
|
86
|
-
var
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
// 查找改数据是否展示
|
|
91
|
-
var someData = dataSource.some(function (v) {
|
|
92
|
-
if (cur.fieldName === v.field) {
|
|
93
|
-
var isHidden = !v.show && typeof v.show === 'boolean';
|
|
94
|
-
return !isHidden;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return false;
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
if ((0, _utils.getIsHas)(cur.value) && someData) {
|
|
101
|
-
pre[cur.fieldName] = cur.value;
|
|
94
|
+
basicFilter = localization.basicFilter;
|
|
95
|
+
var basicQuery = (_Object$keys = Object.keys(basicFilter)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.reduce(function (pre, cur) {
|
|
96
|
+
var item = dataSource.find(function (v) {
|
|
97
|
+
if (cur === v.field) {
|
|
98
|
+
return v.show || typeof v.show !== 'boolean';
|
|
102
99
|
}
|
|
103
100
|
|
|
104
|
-
return
|
|
105
|
-
}
|
|
106
|
-
|
|
101
|
+
return false;
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
if (cur === searchKey) {
|
|
105
|
+
item = {
|
|
106
|
+
field: searchKey,
|
|
107
|
+
operator: 'contains',
|
|
108
|
+
fieldType: 'string'
|
|
109
|
+
};
|
|
110
|
+
}
|
|
107
111
|
|
|
112
|
+
if ((0, _utils.getIsHas)(basicFilter[cur]) && !!item) {
|
|
113
|
+
var _item, _item2;
|
|
114
|
+
|
|
115
|
+
pre[cur] = {
|
|
116
|
+
fieldName: cur,
|
|
117
|
+
fieldType: ((_item = item) === null || _item === void 0 ? void 0 : _item.valueType) || 'string',
|
|
118
|
+
value: Array.isArray(basicFilter[cur]) ? basicFilter[cur] : [basicFilter[cur]],
|
|
119
|
+
operator: ((_item2 = item) === null || _item2 === void 0 ? void 0 : _item2.operator) || 'equal'
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return pre;
|
|
124
|
+
}, {});
|
|
108
125
|
return {
|
|
109
126
|
basicFilter: basicFilter,
|
|
127
|
+
basicQuery: basicQuery,
|
|
110
128
|
complexFilter: {},
|
|
111
129
|
complexDrawer: {
|
|
112
130
|
visible: false,
|
|
@@ -127,29 +145,8 @@ var LmFilterRoot = function LmFilterRoot(props, ref) {
|
|
|
127
145
|
var _useReducer = (0, _react.useReducer)(reducer, initialState),
|
|
128
146
|
_useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
|
|
129
147
|
state = _useReducer2[0],
|
|
130
|
-
dispatch = _useReducer2[1]; //
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
var configProps = (0, _react.useMemo)(function () {
|
|
134
|
-
var resetProps = (0, _extends2.default)({}, props);
|
|
135
|
-
return (0, _objectSpread2.default)({
|
|
136
|
-
dataSource: [],
|
|
137
|
-
// 数据源
|
|
138
|
-
enableSearch: true,
|
|
139
|
-
// 是否启用模糊查询
|
|
140
|
-
enableBaisc: true,
|
|
141
|
-
// 是否启用基础筛选
|
|
142
|
-
enableComplex: false,
|
|
143
|
-
// 是否启用高级筛选
|
|
144
|
-
enableCustom: false,
|
|
145
|
-
// 是否启用自定义筛选
|
|
146
|
-
size: 'middle',
|
|
147
|
-
// 尺寸
|
|
148
|
-
searchKey: 'search',
|
|
149
|
-
// 搜索的key值
|
|
150
|
-
placeholder: '请输入'
|
|
151
|
-
}, resetProps);
|
|
152
|
-
}, [props]); // 事件集合
|
|
148
|
+
dispatch = _useReducer2[1]; // 事件集合
|
|
149
|
+
|
|
153
150
|
|
|
154
151
|
var eventProps = (0, _react.useMemo)(function () {
|
|
155
152
|
return (0, _filterFns.default)({
|
|
@@ -159,7 +156,7 @@ var LmFilterRoot = function LmFilterRoot(props, ref) {
|
|
|
159
156
|
});
|
|
160
157
|
}, [state, dispatch, props]); // 组件示例
|
|
161
158
|
|
|
162
|
-
var instance = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({},
|
|
159
|
+
var instance = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), eventProps), {}, {
|
|
163
160
|
state: state,
|
|
164
161
|
dispatch: dispatch
|
|
165
162
|
}); // 向外暴露出的方法
|