linkmore-design 1.0.58 → 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/CardTable/fns/index.d.ts +1 -0
- package/dist/Form/container.d.ts +8 -0
- package/dist/Form/demos/error-tip.d.ts +2 -0
- package/dist/Form/demos/responsive.d.ts +2 -0
- package/dist/Form/index.d.ts +10 -2
- package/dist/LmEditTable/demos/sinleEdit.d.ts +2 -0
- package/dist/LmFilter/customFilter/index.d.ts +3 -1
- package/dist/LmFilter/filterFns/index.d.ts +11 -1
- package/dist/LmFilter/localization.d.ts +8 -2
- package/dist/index.umd.js +199 -45
- package/dist/index.umd.min.js +6 -6
- package/es/CardTable/body/TableBodyCell.js +10 -5
- package/es/CardTable/fns/index.js +29 -2
- package/es/CardTable/table/TableRoot.js +46 -13
- package/es/Dropdown/index.js +2 -2
- package/es/Dropdown/style/index.css +19 -1
- package/es/Form/container.d.ts +8 -0
- package/es/Form/container.js +97 -0
- package/es/Form/index.d.ts +10 -2
- package/es/Form/index.js +30 -2
- package/es/Form/style/index.css +121 -1
- package/es/IconFont/index.js +1 -1
- package/es/LmEditTable/EditTable.js +47 -17
- package/es/LmFilter/LmFilter.js +22 -4
- package/es/LmFilter/baseFilter/fuzzySearch.js +6 -1
- package/es/LmFilter/baseFilter/index.js +3 -4
- package/es/LmFilter/complexFilter/drawer.js +27 -20
- package/es/LmFilter/components/CascaderFilter.js +17 -4
- package/es/LmFilter/components/DateFilter.js +3 -7
- package/es/LmFilter/components/DropdownFIlter.js +12 -4
- package/es/LmFilter/components/index.js +1 -1
- package/es/LmFilter/customFilter/index.js +3 -2
- package/es/LmFilter/filterFns/index.js +186 -33
- 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 +10 -3
- package/es/LmFilter/wrapper/FilterContainer.js +0 -4
- package/es/LmFilter/wrapper/FilterRoot.js +51 -34
- package/es/LmTable/Table.js +9 -3
- package/es/LmTable/style/index.css +5 -0
- package/lib/CardTable/body/TableBodyCell.js +10 -5
- package/lib/CardTable/fns/index.js +29 -2
- package/lib/CardTable/table/TableRoot.js +46 -13
- package/lib/Dropdown/index.js +2 -2
- package/lib/Dropdown/style/index.css +19 -1
- package/lib/Form/container.d.ts +8 -0
- package/lib/Form/container.js +112 -0
- package/lib/Form/index.d.ts +10 -2
- package/lib/Form/index.js +30 -2
- package/lib/Form/style/index.css +121 -1
- package/lib/IconFont/index.js +1 -1
- package/lib/LmEditTable/EditTable.js +47 -17
- package/lib/LmFilter/LmFilter.js +22 -4
- package/lib/LmFilter/baseFilter/fuzzySearch.js +6 -1
- package/lib/LmFilter/baseFilter/index.js +3 -4
- package/lib/LmFilter/complexFilter/drawer.js +27 -20
- package/lib/LmFilter/components/CascaderFilter.js +17 -4
- package/lib/LmFilter/components/DateFilter.js +3 -7
- package/lib/LmFilter/components/DropdownFIlter.js +12 -4
- package/lib/LmFilter/components/index.js +1 -1
- package/lib/LmFilter/customFilter/index.js +3 -2
- package/lib/LmFilter/filterFns/index.js +186 -33
- 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 +10 -3
- package/lib/LmFilter/wrapper/FilterContainer.js +0 -4
- package/lib/LmFilter/wrapper/FilterRoot.js +51 -34
- package/lib/LmTable/Table.js +9 -3
- package/lib/LmTable/style/index.css +5 -0
- package/package.json +3 -3
package/lib/LmFilter/LmFilter.js
CHANGED
|
@@ -19,7 +19,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
|
|
20
20
|
var _FilterRoot = _interopRequireDefault(require("./wrapper/FilterRoot"));
|
|
21
21
|
|
|
22
|
-
var _localization = require("./localization
|
|
22
|
+
var _localization = require("./localization");
|
|
23
23
|
|
|
24
24
|
var _excluded = ["localization"];
|
|
25
25
|
|
|
@@ -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,12 +17,11 @@ 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';
|
|
24
|
+
return isHidden ? null : /*#__PURE__*/_react.default.createElement(_components.default, {
|
|
26
25
|
key: (v === null || v === void 0 ? void 0 : v.field) || index,
|
|
27
26
|
instance: instance,
|
|
28
27
|
item: v
|
|
@@ -70,7 +70,9 @@ var ListItemChecked = function ListItemChecked(_ref) {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
if (getItem.type === 'cascader') {
|
|
73
|
-
|
|
73
|
+
var _getItem$props;
|
|
74
|
+
|
|
75
|
+
return (0, _utils.getFlatItem)((getItem === null || getItem === void 0 ? void 0 : (_getItem$props = getItem.props) === null || _getItem$props === void 0 ? void 0 : _getItem$props.multiple) ? checkedValue : [checkedValue], getItem.data, 'parent');
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
return (_getItem$data = getItem.data) === null || _getItem$data === void 0 ? void 0 : _getItem$data.filter(function (v) {
|
|
@@ -119,9 +121,22 @@ var ListItemChecked = function ListItemChecked(_ref) {
|
|
|
119
121
|
|
|
120
122
|
var onTagClose = function onTagClose(val) {
|
|
121
123
|
var originData = (0, _objectSpread3.default)({}, complexDrawer.data);
|
|
122
|
-
var nValue =
|
|
123
|
-
|
|
124
|
-
|
|
124
|
+
var nValue = '';
|
|
125
|
+
|
|
126
|
+
if (['select', 'checkbox'].includes(getItem.type)) {
|
|
127
|
+
nValue = originData[field].value.filter(function (v) {
|
|
128
|
+
return !v.includes(val);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (['input'].includes(getItem.type)) {
|
|
133
|
+
nValue = '';
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (['cascader'].includes(getItem.type)) {
|
|
137
|
+
nValue = [];
|
|
138
|
+
}
|
|
139
|
+
|
|
125
140
|
var filterValues = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData), {}, (0, _defineProperty2.default)({}, field, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, originData[field]), {}, {
|
|
126
141
|
value: nValue
|
|
127
142
|
})));
|
|
@@ -252,9 +267,9 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
|
|
|
252
267
|
var instance = _ref5.instance;
|
|
253
268
|
var state = instance.state,
|
|
254
269
|
dispatch = instance.dispatch,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
270
|
+
onQuery = instance.onQuery,
|
|
271
|
+
dataSource = instance.dataSource;
|
|
272
|
+
var complexDrawer = state.complexDrawer;
|
|
258
273
|
var isHas = (0, _react.useMemo)(function () {
|
|
259
274
|
return (0, _utils.getIsHas)(complexDrawer.data);
|
|
260
275
|
}, [complexDrawer.data]); // 过滤的内容转数组
|
|
@@ -278,17 +293,9 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
|
|
|
278
293
|
};
|
|
279
294
|
|
|
280
295
|
var onSearch = function onSearch() {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
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,
|
|
296
|
+
var complexFilter = complexDrawer.data;
|
|
297
|
+
onQuery === null || onQuery === void 0 ? void 0 : onQuery({
|
|
298
|
+
complexFilter: complexFilter,
|
|
292
299
|
type: 'complex'
|
|
293
300
|
});
|
|
294
301
|
}; // 初始化筛选
|
|
@@ -299,7 +306,7 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
|
|
|
299
306
|
dispatch({
|
|
300
307
|
type: 'changeComplexDrawer',
|
|
301
308
|
complexDrawer: {
|
|
302
|
-
data: complexFilter,
|
|
309
|
+
data: state.complexFilter,
|
|
303
310
|
visible: complexDrawer.visible
|
|
304
311
|
}
|
|
305
312
|
});
|
|
@@ -317,7 +324,7 @@ var ComplexDrawer = function ComplexDrawer(_ref5) {
|
|
|
317
324
|
|
|
318
325
|
var config = {
|
|
319
326
|
title: /*#__PURE__*/_react.default.createElement(Tit, null),
|
|
320
|
-
visible:
|
|
327
|
+
visible: complexDrawer.visible,
|
|
321
328
|
onClose: onClose,
|
|
322
329
|
width: 440,
|
|
323
330
|
placement: 'right',
|
|
@@ -13,6 +13,8 @@ require("antd/es/cascader/style");
|
|
|
13
13
|
|
|
14
14
|
var _cascader = _interopRequireDefault(require("antd/es/cascader"));
|
|
15
15
|
|
|
16
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
|
+
|
|
16
18
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
19
|
|
|
18
20
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -39,6 +41,11 @@ var DropdownRender = function DropdownRender(_ref) {
|
|
|
39
41
|
filters = _item$data === void 0 ? [] : _item$data;
|
|
40
42
|
var inputRef = (0, _react.useRef)(null);
|
|
41
43
|
var delayedFn = (0, _hooks.useDelayedFn)();
|
|
44
|
+
var isShowFoot = (0, _react.useMemo)(function () {
|
|
45
|
+
var _item$props;
|
|
46
|
+
|
|
47
|
+
return item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.multiple;
|
|
48
|
+
}, [item]);
|
|
42
49
|
|
|
43
50
|
var handleFilter = function handleFilter(val) {
|
|
44
51
|
var serachValues = filters.filter(function (v) {
|
|
@@ -77,7 +84,7 @@ var DropdownRender = function DropdownRender(_ref) {
|
|
|
77
84
|
ref: inputRef,
|
|
78
85
|
onSearch: handleFilter,
|
|
79
86
|
onChange: handleFilter
|
|
80
|
-
})), dom, /*#__PURE__*/_react.default.createElement("div", {
|
|
87
|
+
})), dom, isShowFoot && /*#__PURE__*/_react.default.createElement("div", {
|
|
81
88
|
className: "filter_footer"
|
|
82
89
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
83
90
|
className: "footer_clear",
|
|
@@ -117,11 +124,17 @@ var CascaderFilter = function CascaderFilter(_ref2) {
|
|
|
117
124
|
}, [filterValue]);
|
|
118
125
|
|
|
119
126
|
var onChange = function onChange(item, selectedOptions) {
|
|
127
|
+
var _itemProps$props;
|
|
128
|
+
|
|
129
|
+
console.log('item', item);
|
|
120
130
|
setCheckedValues(item);
|
|
131
|
+
|
|
132
|
+
if (!(itemProps === null || itemProps === void 0 ? void 0 : (_itemProps$props = itemProps.props) === null || _itemProps$props === void 0 ? void 0 : _itemProps$props.multiple)) {
|
|
133
|
+
setFilterValue(item);
|
|
134
|
+
}
|
|
121
135
|
};
|
|
122
136
|
|
|
123
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, {
|
|
124
|
-
multiple: true,
|
|
137
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_cascader.default, (0, _extends2.default)({}, itemProps.props, {
|
|
125
138
|
options: options,
|
|
126
139
|
onChange: onChange,
|
|
127
140
|
defaultValue: defaultValue,
|
|
@@ -139,7 +152,7 @@ var CascaderFilter = function CascaderFilter(_ref2) {
|
|
|
139
152
|
setOptions: setOptions
|
|
140
153
|
});
|
|
141
154
|
}
|
|
142
|
-
}, children));
|
|
155
|
+
}), children));
|
|
143
156
|
};
|
|
144
157
|
|
|
145
158
|
var _default = CascaderFilter;
|
|
@@ -9,10 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
-
require("antd/es/date-picker/style");
|
|
13
|
-
|
|
14
|
-
var _datePicker = _interopRequireDefault(require("antd/es/date-picker"));
|
|
15
|
-
|
|
16
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
13
|
|
|
18
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -73,7 +69,7 @@ var RangePicker = function RangePicker(_ref) {
|
|
|
73
69
|
className: "filter_picker_header"
|
|
74
70
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
75
71
|
className: "filter_picker_header_tip"
|
|
76
|
-
},
|
|
72
|
+
}, defaultValue && "".concat(filterValue[0], " - ").concat(filterValue[1])), /*#__PURE__*/_react.default.createElement("div", {
|
|
77
73
|
className: "filter_picker_header_operate"
|
|
78
74
|
}, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.Radio.Group, {
|
|
79
75
|
value: activeValue,
|
|
@@ -87,7 +83,7 @@ var RangePicker = function RangePicker(_ref) {
|
|
|
87
83
|
})))), panelNode));
|
|
88
84
|
};
|
|
89
85
|
|
|
90
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(
|
|
86
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_linkmoreDesign.DatePicker.RangePicker, (0, _extends2.default)({
|
|
91
87
|
picker: "date",
|
|
92
88
|
separator: /*#__PURE__*/_react.default.createElement(_linkmoreDesign.IconFont, {
|
|
93
89
|
type: "lmweb-swap-right",
|
|
@@ -148,7 +144,7 @@ var DatePickerFilter = function DatePickerFilter(_ref2) {
|
|
|
148
144
|
});
|
|
149
145
|
}
|
|
150
146
|
|
|
151
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
147
|
+
return /*#__PURE__*/_react.default.createElement(_linkmoreDesign.DatePicker, (0, _extends2.default)({
|
|
152
148
|
placeholder: "\u9009\u62E9\u65F6\u95F4"
|
|
153
149
|
}, props, {
|
|
154
150
|
defaultValue: defaultValue,
|
|
@@ -112,7 +112,9 @@ var getLabel = function getLabel(filterValue, item) {
|
|
|
112
112
|
|
|
113
113
|
|
|
114
114
|
if (['cascader'].includes(type)) {
|
|
115
|
-
var
|
|
115
|
+
var _item$props;
|
|
116
|
+
|
|
117
|
+
var nArr = (0, _utils.getFlatItem)((item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.multiple) ? filterValue : [filterValue], data);
|
|
116
118
|
var labels = nArr.map(function (v) {
|
|
117
119
|
return v.label;
|
|
118
120
|
});
|
|
@@ -150,6 +152,12 @@ var getLabel = function getLabel(filterValue, item) {
|
|
|
150
152
|
return v.label;
|
|
151
153
|
});
|
|
152
154
|
|
|
155
|
+
if (!_labels.length) {
|
|
156
|
+
_labels = filterValue;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
; // 受控模式未查找到显示的内容时展示
|
|
160
|
+
|
|
153
161
|
switch (_labels.length) {
|
|
154
162
|
case 1:
|
|
155
163
|
return _labels[0];
|
|
@@ -165,12 +173,12 @@ var getLabel = function getLabel(filterValue, item) {
|
|
|
165
173
|
|
|
166
174
|
if (['input', 'date'].includes(type)) {
|
|
167
175
|
return filterValue;
|
|
168
|
-
} // 单选框
|
|
176
|
+
} // 单选框 受控模式未查找到显示的内容时展示filterValue
|
|
169
177
|
|
|
170
178
|
|
|
171
|
-
var label = (_data$find = data.find(function (v) {
|
|
179
|
+
var label = ((_data$find = data.find(function (v) {
|
|
172
180
|
return v.value === filterValue;
|
|
173
|
-
})) === null || _data$find === void 0 ? void 0 : _data$find.label;
|
|
181
|
+
})) === null || _data$find === void 0 ? void 0 : _data$find.label) || filterValue;
|
|
174
182
|
return label;
|
|
175
183
|
};
|
|
176
184
|
/*
|
|
@@ -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,8 +9,9 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
-
var LmFilterCustom = function LmFilterCustom(
|
|
13
|
-
|
|
12
|
+
var LmFilterCustom = function LmFilterCustom(_ref) {
|
|
13
|
+
var instance = _ref.instance;
|
|
14
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
var _default = LmFilterCustom;
|
|
@@ -9,7 +9,7 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
13
|
|
|
14
14
|
var _utils = require("../utils");
|
|
15
15
|
|
|
@@ -18,54 +18,207 @@ var CoreOptions = function CoreOptions(_ref) {
|
|
|
18
18
|
var state = _ref.state,
|
|
19
19
|
dispatch = _ref.dispatch,
|
|
20
20
|
props = _ref.props;
|
|
21
|
-
var onChange = props.onChange
|
|
21
|
+
var onChange = props.onChange,
|
|
22
|
+
dataSource = props.dataSource,
|
|
23
|
+
searchKey = props.searchKey; // 触发查询 type basic基础筛选 | complex高级筛选
|
|
24
|
+
|
|
25
|
+
var onQuery = function onQuery(_ref2) {
|
|
26
|
+
var basicFilter = _ref2.basicFilter,
|
|
27
|
+
complexFilter = _ref2.complexFilter,
|
|
28
|
+
basicQuery = _ref2.basicQuery,
|
|
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
|
+
}
|
|
22
62
|
|
|
23
|
-
|
|
24
|
-
|
|
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
|
+
}; // 根据字段查找过滤的数据, 不存在时返回默认值
|
|
25
117
|
|
|
26
|
-
var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
|
|
27
118
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
119
|
+
var getFilterValue = function getFilterValue(_ref3) {
|
|
120
|
+
var field = _ref3.field,
|
|
121
|
+
type = _ref3.type;
|
|
122
|
+
var defaultValue = (0, _utils.getValueForType)(type);
|
|
123
|
+
return state.basicFilter[field] || defaultValue;
|
|
124
|
+
}; // 设置筛选的值 itemValue => String || Array => ['', '', ...]
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
var setFilterValue = function setFilterValue(itemValue, item) {
|
|
128
|
+
var field = item.field;
|
|
31
129
|
|
|
32
|
-
|
|
130
|
+
if (field) {
|
|
131
|
+
// 基础查询数据(受控数据)
|
|
132
|
+
var basicFilter = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, itemValue)); // 外部查询数据结构
|
|
133
|
+
|
|
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
|
+
}));
|
|
140
|
+
|
|
141
|
+
if (!(0, _utils.getIsHas)(itemValue)) {
|
|
142
|
+
delete basicFilter[field];
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
; // 触发外部事件
|
|
146
|
+
|
|
147
|
+
onQuery === null || onQuery === void 0 ? void 0 : onQuery({
|
|
148
|
+
basicFilter: basicFilter,
|
|
149
|
+
basicQuery: basicQuery,
|
|
150
|
+
type: 'basic'
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}; // 读取缓存
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
var setLocalization = function setLocalization() {
|
|
157
|
+
var _Object$keys4;
|
|
158
|
+
|
|
159
|
+
var localization = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.localization;
|
|
160
|
+
var globalQuery = localization.globalQuery,
|
|
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';
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return false;
|
|
169
|
+
});
|
|
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
|
+
}, {});
|
|
33
192
|
dispatch({
|
|
34
193
|
type: 'changeBasicFilter',
|
|
35
194
|
basicFilter: basicFilter
|
|
36
195
|
});
|
|
37
196
|
dispatch({
|
|
38
|
-
type: '
|
|
39
|
-
|
|
40
|
-
}); // 基础筛选清空高级筛选
|
|
41
|
-
// 抛出给外部存储
|
|
42
|
-
|
|
43
|
-
var filterQuery = (_Object$entries = Object.entries(basicFilter)) === null || _Object$entries === void 0 ? void 0 : _Object$entries.map(function (v) {
|
|
44
|
-
return {
|
|
45
|
-
fieldName: v[0],
|
|
46
|
-
value: v[1],
|
|
47
|
-
operator: 0
|
|
48
|
-
};
|
|
49
|
-
}); // 触发外部事件
|
|
50
|
-
|
|
51
|
-
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
52
|
-
basicFilter: basicFilter,
|
|
53
|
-
filterQuery: filterQuery,
|
|
54
|
-
type: 'basic'
|
|
197
|
+
type: 'changeBasicQuery',
|
|
198
|
+
basicQuery: basicQuery
|
|
55
199
|
});
|
|
56
|
-
}; //
|
|
200
|
+
}; // 单个设置过滤字段值, 会触发onChange事件, 多个字段时使用setLocalization
|
|
57
201
|
|
|
58
202
|
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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);
|
|
64
208
|
};
|
|
65
209
|
|
|
66
210
|
return {
|
|
211
|
+
onQuery: onQuery,
|
|
212
|
+
getState: function getState() {
|
|
213
|
+
return state;
|
|
214
|
+
},
|
|
215
|
+
getBasicFilter: function getBasicFilter() {
|
|
216
|
+
return state.basicFilter;
|
|
217
|
+
},
|
|
218
|
+
getFilterValue: getFilterValue,
|
|
67
219
|
setFilterValue: setFilterValue,
|
|
68
|
-
|
|
220
|
+
setFilterFieldValue: setFilterFieldValue,
|
|
221
|
+
setLocalization: setLocalization
|
|
69
222
|
};
|
|
70
223
|
};
|
|
71
224
|
|
|
@@ -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
|
};
|
|
@@ -9,11 +9,29 @@ exports.DefaultLocalization = void 0;
|
|
|
9
9
|
// operator: number,
|
|
10
10
|
// }
|
|
11
11
|
var DefaultLocalization = {
|
|
12
|
+
customFilter: {},
|
|
13
|
+
basicFilter: {},
|
|
14
|
+
// 一级筛选
|
|
12
15
|
globalQuery: {
|
|
13
|
-
filter: [
|
|
16
|
+
filter: [{
|
|
17
|
+
// relation: 'and',
|
|
18
|
+
conditions: []
|
|
19
|
+
}]
|
|
14
20
|
},
|
|
21
|
+
// 二级筛选
|
|
15
22
|
filterQuery: {
|
|
16
|
-
filter: [
|
|
23
|
+
filter: [{
|
|
24
|
+
// relation: 'and',
|
|
25
|
+
conditions: [// {
|
|
26
|
+
// relation: 'antd', // 查询间的关系
|
|
27
|
+
// fieldName: '', // 查询字段
|
|
28
|
+
// fieldType: 'string', // 字段类型
|
|
29
|
+
// // 查询值的关系 "integer", "double", "string", "date", "datetime", and "boolean".
|
|
30
|
+
// operator: '',
|
|
31
|
+
// value: [], // 值的集合
|
|
32
|
+
// }
|
|
33
|
+
]
|
|
34
|
+
}]
|
|
17
35
|
}
|
|
18
36
|
};
|
|
19
37
|
exports.DefaultLocalization = DefaultLocalization;
|
|
@@ -15,16 +15,23 @@ 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;
|
|
23
|
+
var enableBaisc = instance.enableBaisc,
|
|
24
|
+
enableComplex = instance.enableComplex,
|
|
25
|
+
enableCustom = instance.enableCustom;
|
|
21
26
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
22
27
|
className: "lm_filter"
|
|
23
|
-
}, /*#__PURE__*/_react.default.createElement(_customFilter.default, {
|
|
28
|
+
}, enableCustom && /*#__PURE__*/_react.default.createElement(_customFilter.default, {
|
|
29
|
+
instance: instance
|
|
30
|
+
}), enableBaisc && /*#__PURE__*/_react.default.createElement(_baseFilter.default, {
|
|
24
31
|
instance: instance
|
|
25
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
32
|
+
}), enableComplex && /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
|
|
26
33
|
instance: instance
|
|
27
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
34
|
+
}), /*#__PURE__*/_react.default.createElement(_clearFilter.default, {
|
|
28
35
|
instance: instance
|
|
29
36
|
}));
|
|
30
37
|
});
|
|
@@ -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
|
|