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.
Files changed (72) hide show
  1. package/dist/CardTable/fns/index.d.ts +1 -0
  2. package/dist/Form/container.d.ts +8 -0
  3. package/dist/Form/demos/error-tip.d.ts +2 -0
  4. package/dist/Form/demos/responsive.d.ts +2 -0
  5. package/dist/Form/index.d.ts +10 -2
  6. package/dist/LmEditTable/demos/sinleEdit.d.ts +2 -0
  7. package/dist/LmFilter/customFilter/index.d.ts +3 -1
  8. package/dist/LmFilter/filterFns/index.d.ts +11 -1
  9. package/dist/LmFilter/localization.d.ts +8 -2
  10. package/dist/index.umd.js +199 -45
  11. package/dist/index.umd.min.js +6 -6
  12. package/es/CardTable/body/TableBodyCell.js +10 -5
  13. package/es/CardTable/fns/index.js +29 -2
  14. package/es/CardTable/table/TableRoot.js +46 -13
  15. package/es/Dropdown/index.js +2 -2
  16. package/es/Dropdown/style/index.css +19 -1
  17. package/es/Form/container.d.ts +8 -0
  18. package/es/Form/container.js +97 -0
  19. package/es/Form/index.d.ts +10 -2
  20. package/es/Form/index.js +30 -2
  21. package/es/Form/style/index.css +121 -1
  22. package/es/IconFont/index.js +1 -1
  23. package/es/LmEditTable/EditTable.js +47 -17
  24. package/es/LmFilter/LmFilter.js +22 -4
  25. package/es/LmFilter/baseFilter/fuzzySearch.js +6 -1
  26. package/es/LmFilter/baseFilter/index.js +3 -4
  27. package/es/LmFilter/complexFilter/drawer.js +27 -20
  28. package/es/LmFilter/components/CascaderFilter.js +17 -4
  29. package/es/LmFilter/components/DateFilter.js +3 -7
  30. package/es/LmFilter/components/DropdownFIlter.js +12 -4
  31. package/es/LmFilter/components/index.js +1 -1
  32. package/es/LmFilter/customFilter/index.js +3 -2
  33. package/es/LmFilter/filterFns/index.js +186 -33
  34. package/es/LmFilter/localization.d.ts +8 -2
  35. package/es/LmFilter/localization.js +20 -2
  36. package/es/LmFilter/style/style.css +1 -3
  37. package/es/LmFilter/wrapper/Filter.js +10 -3
  38. package/es/LmFilter/wrapper/FilterContainer.js +0 -4
  39. package/es/LmFilter/wrapper/FilterRoot.js +51 -34
  40. package/es/LmTable/Table.js +9 -3
  41. package/es/LmTable/style/index.css +5 -0
  42. package/lib/CardTable/body/TableBodyCell.js +10 -5
  43. package/lib/CardTable/fns/index.js +29 -2
  44. package/lib/CardTable/table/TableRoot.js +46 -13
  45. package/lib/Dropdown/index.js +2 -2
  46. package/lib/Dropdown/style/index.css +19 -1
  47. package/lib/Form/container.d.ts +8 -0
  48. package/lib/Form/container.js +112 -0
  49. package/lib/Form/index.d.ts +10 -2
  50. package/lib/Form/index.js +30 -2
  51. package/lib/Form/style/index.css +121 -1
  52. package/lib/IconFont/index.js +1 -1
  53. package/lib/LmEditTable/EditTable.js +47 -17
  54. package/lib/LmFilter/LmFilter.js +22 -4
  55. package/lib/LmFilter/baseFilter/fuzzySearch.js +6 -1
  56. package/lib/LmFilter/baseFilter/index.js +3 -4
  57. package/lib/LmFilter/complexFilter/drawer.js +27 -20
  58. package/lib/LmFilter/components/CascaderFilter.js +17 -4
  59. package/lib/LmFilter/components/DateFilter.js +3 -7
  60. package/lib/LmFilter/components/DropdownFIlter.js +12 -4
  61. package/lib/LmFilter/components/index.js +1 -1
  62. package/lib/LmFilter/customFilter/index.js +3 -2
  63. package/lib/LmFilter/filterFns/index.js +186 -33
  64. package/lib/LmFilter/localization.d.ts +8 -2
  65. package/lib/LmFilter/localization.js +20 -2
  66. package/lib/LmFilter/style/style.css +1 -3
  67. package/lib/LmFilter/wrapper/Filter.js +10 -3
  68. package/lib/LmFilter/wrapper/FilterContainer.js +0 -4
  69. package/lib/LmFilter/wrapper/FilterRoot.js +51 -34
  70. package/lib/LmTable/Table.js +9 -3
  71. package/lib/LmTable/style/index.css +5 -0
  72. package/package.json +3 -3
@@ -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.tsx");
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
- 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,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("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
- return /*#__PURE__*/_react.default.createElement(_components.default, {
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
- return (0, _utils.getFlatItem)(checkedValue, getItem.data, 'parent');
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 = Array.isArray(originData[field].value) ? originData[field].value.filter(function (v) {
123
- return !v.includes(val);
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
- onChange = instance.onChange;
256
- var complexDrawer = state.complexDrawer,
257
- complexFilter = state.complexFilter;
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
- dispatch({
282
- type: 'changeBasicFilter',
283
- basicFilter: {}
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: state.complexDrawer.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
- }, filterValue && "".concat(filterValue[0], " - ").concat(filterValue[1])), /*#__PURE__*/_react.default.createElement("div", {
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(_datePicker.default.RangePicker, (0, _extends2.default)({
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(_datePicker.default, (0, _extends2.default)({
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 nArr = (0, _utils.getFlatItem)(filterValue, data);
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.field);
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(e) {
13
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "LmFilterCustom");
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 _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
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; // 设置筛选的值 item => Object || Array => [{label: '', value: ''}, ...]
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
- var setFilterValue = function setFilterValue(item, field) {
24
- var _Object$entries;
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
- if (!(0, _utils.getIsHas)(item)) {
29
- delete basicFilter[field];
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: 'changeComplexFilter',
39
- complexFilter: {}
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 getFilterValue = function getFilterValue(_ref2) {
60
- var field = _ref2.field,
61
- type = _ref2.type;
62
- var defaultValue = (0, _utils.getValueForType)(type);
63
- return state.basicFilter[field] || defaultValue;
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
- getFilterValue: getFilterValue
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: 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
  };
@@ -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;
@@ -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,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(_baseFilter.default, {
32
+ }), enableComplex && /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
26
33
  instance: instance
27
- }), /*#__PURE__*/_react.default.createElement(_complexFilter.default, {
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