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.
Files changed (35) hide show
  1. package/dist/LmFilter/filterFns/index.d.ts +8 -1
  2. package/dist/LmFilter/localization.d.ts +8 -2
  3. package/dist/index.umd.js +25 -8
  4. package/dist/index.umd.min.js +6 -6
  5. package/es/Form/style/index.css +5 -1
  6. package/es/LmFilter/LmFilter.js +21 -3
  7. package/es/LmFilter/baseFilter/fuzzySearch.js +6 -1
  8. package/es/LmFilter/baseFilter/index.js +1 -3
  9. package/es/LmFilter/complexFilter/drawer.js +8 -16
  10. package/es/LmFilter/components/index.js +1 -1
  11. package/es/LmFilter/filterFns/index.js +170 -57
  12. package/es/LmFilter/localization.d.ts +8 -2
  13. package/es/LmFilter/localization.js +20 -2
  14. package/es/LmFilter/style/style.css +1 -3
  15. package/es/LmFilter/wrapper/Filter.js +4 -0
  16. package/es/LmFilter/wrapper/FilterContainer.js +0 -4
  17. package/es/LmFilter/wrapper/FilterRoot.js +44 -47
  18. package/es/LmTable/Table.js +9 -3
  19. package/es/LmTable/style/index.css +5 -0
  20. package/lib/Form/style/index.css +5 -1
  21. package/lib/LmFilter/LmFilter.js +21 -3
  22. package/lib/LmFilter/baseFilter/fuzzySearch.js +6 -1
  23. package/lib/LmFilter/baseFilter/index.js +1 -3
  24. package/lib/LmFilter/complexFilter/drawer.js +8 -16
  25. package/lib/LmFilter/components/index.js +1 -1
  26. package/lib/LmFilter/filterFns/index.js +170 -57
  27. package/lib/LmFilter/localization.d.ts +8 -2
  28. package/lib/LmFilter/localization.js +20 -2
  29. package/lib/LmFilter/style/style.css +1 -3
  30. package/lib/LmFilter/wrapper/Filter.js +4 -0
  31. package/lib/LmFilter/wrapper/FilterContainer.js +0 -4
  32. package/lib/LmFilter/wrapper/FilterRoot.js +44 -47
  33. package/lib/LmTable/Table.js +9 -3
  34. package/lib/LmTable/style/index.css +5 -0
  35. package/package.json +3 -3
@@ -530,7 +530,7 @@ html {
530
530
  margin-right: 0;
531
531
  }
532
532
  .lm_form .ant-form-item-control {
533
- width: 240px;
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;
@@ -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
- return /*#__PURE__*/_react.default.createElement(_FilterRoot.default, (0, _extends2.default)({
32
- ref: ref || defaultRef,
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
- }, resetProps));
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
- setFilterValue(val, searchKey);
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("div", {
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
- onChange = instance.onChange;
271
- var complexDrawer = state.complexDrawer,
272
- complexFilter = state.complexFilter;
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
- dispatch({
297
- type: 'changeBasicFilter',
298
- basicFilter: {}
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: state.complexDrawer.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.field);
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 _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
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 getFilterValue = function getFilterValue(_ref2) {
25
- var field = _ref2.field,
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
- }; // 设置筛选的值 item => String || Array => ['', '', ...]
124
+ }; // 设置筛选的值 itemValue => String || Array => ['', '', ...]
30
125
 
31
126
 
32
- var setFilterValue = function setFilterValue(item, field) {
33
- var _Object$entries;
127
+ var setFilterValue = function setFilterValue(itemValue, item) {
128
+ var field = item.field;
34
129
 
35
- var basicFilter = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, item));
130
+ if (field) {
131
+ // 基础查询数据(受控数据)
132
+ var basicFilter = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, itemValue)); // 外部查询数据结构
36
133
 
37
- if (!(0, _utils.getIsHas)(item)) {
38
- delete basicFilter[field];
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
- dispatch({
43
- type: 'changeBasicFilter',
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
- onChange === null || onChange === void 0 ? void 0 : onChange({
61
- basicFilter: basicFilter,
62
- filterQuery: filterQuery,
63
- type: 'basic'
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
- filterQuery = localization.filterQuery;
72
-
73
- if (filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filter) {
74
- // 初始化基础查询缓存
75
- var basicFilter = filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filter.reduce(function (pre, cur) {
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 pre;
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: any[];
5
+ filter: {
6
+ conditions: any[];
7
+ }[];
4
8
  };
5
9
  filterQuery: {
6
- filter: any[];
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
  };
@@ -1,6 +1,4 @@
1
- .lm_filter_wrapper .lm_filter_container,
2
- .lm_filter_wrapper .lm_filter,
3
- .lm_filter_wrapper .lm_filter_basic {
1
+ .lm_filter_wrapper .lm_filter_container .lm_filter {
4
2
  display: flex;
5
3
  flex-wrap: wrap;
6
4
  align-items: center;
@@ -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
- filterQuery = localization.filterQuery;
86
- var basicFilter = {}; // 初始化基础查询缓存
87
-
88
- if (filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filter) {
89
- basicFilter = filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filter.reduce(function (pre, cur) {
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 pre;
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)({}, configProps), eventProps), {}, {
159
+ var instance = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), eventProps), {}, {
163
160
  state: state,
164
161
  dispatch: dispatch
165
162
  }); // 向外暴露出的方法