linkmore-design 1.0.3 → 1.0.4

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 (43) hide show
  1. package/dist/index.umd.js +478 -166
  2. package/dist/index.umd.min.js +5 -5
  3. package/es/ButtonTags/style/style.css +353 -8
  4. package/es/CkFilter/baseFilter/filterMenu.js +36 -6
  5. package/es/CkFilter/complexFilter/drawer.js +3 -2
  6. package/es/CkFilter/components/filterTypes.js +178 -76
  7. package/es/CkFilter/context.js +11 -2
  8. package/es/CkFilter/filter.js +50 -12
  9. package/es/CkFilter/style/style.css +408 -8
  10. package/es/CustomerService/style/style.css +353 -8
  11. package/es/EditTable/EditTable.js +177 -73
  12. package/es/EditTable/style/style.css +353 -8
  13. package/es/Filter/style/style.css +353 -8
  14. package/es/IconFont/index.js +1 -1
  15. package/es/LeftTable/style/style.css +353 -8
  16. package/es/Modal/exportModal.js +1 -1
  17. package/es/PopTable/style/style.css +353 -8
  18. package/es/ProTable/ImgList/cardCell.js +19 -6
  19. package/es/ProTable/style/style.css +378 -15
  20. package/es/styles/globalClass.css +63 -0
  21. package/es/styles/main.css +353 -8
  22. package/es/styles/resetAntd.css +15 -0
  23. package/lib/ButtonTags/style/style.css +353 -8
  24. package/lib/CkFilter/baseFilter/filterMenu.js +36 -6
  25. package/lib/CkFilter/complexFilter/drawer.js +3 -2
  26. package/lib/CkFilter/components/filterTypes.js +178 -76
  27. package/lib/CkFilter/context.js +11 -2
  28. package/lib/CkFilter/filter.js +50 -12
  29. package/lib/CkFilter/style/style.css +408 -8
  30. package/lib/CustomerService/style/style.css +353 -8
  31. package/lib/EditTable/EditTable.js +177 -73
  32. package/lib/EditTable/style/style.css +353 -8
  33. package/lib/Filter/style/style.css +353 -8
  34. package/lib/IconFont/index.js +1 -1
  35. package/lib/LeftTable/style/style.css +353 -8
  36. package/lib/Modal/exportModal.js +1 -1
  37. package/lib/PopTable/style/style.css +353 -8
  38. package/lib/ProTable/ImgList/cardCell.js +19 -6
  39. package/lib/ProTable/style/style.css +378 -15
  40. package/lib/styles/globalClass.css +63 -0
  41. package/lib/styles/main.css +353 -8
  42. package/lib/styles/resetAntd.css +15 -0
  43. package/package.json +4 -3
@@ -51,7 +51,8 @@ var _excluded = ["item"],
51
51
  _excluded2 = ["item"],
52
52
  _excluded3 = ["item"],
53
53
  _excluded4 = ["item"],
54
- _excluded5 = ["type"];
54
+ _excluded5 = ["item"],
55
+ _excluded6 = ["type"];
55
56
 
56
57
  // 输入框过滤器
57
58
  var InputFilter = function InputFilter(_ref) {
@@ -79,7 +80,8 @@ var InputFilter = function InputFilter(_ref) {
79
80
 
80
81
 
81
82
  var SelectFilter = function SelectFilter(_ref2) {
82
- var filters = _ref2.filters,
83
+ var _ref2$filters = _ref2.filters,
84
+ filters = _ref2$filters === void 0 ? [] : _ref2$filters,
83
85
  getFilterValue = _ref2.getFilterValue,
84
86
  setFilterValue = _ref2.setFilterValue;
85
87
  var inputRef = (0, _react.useRef)(null); // 搜索后的筛选项
@@ -140,13 +142,90 @@ var SelectFilter = function SelectFilter(_ref2) {
140
142
  }), !options.length && /*#__PURE__*/_react.default.createElement("div", {
141
143
  className: "filter_empty"
142
144
  }, "\u6682\u65E0\u6570\u636E")));
143
- }; // 自定义筛选下拉选过滤器
145
+ }; // 嵌套结构下拉单选过滤器
144
146
 
145
147
 
146
- var CustomFilter = function CustomFilter(_ref4) {
148
+ var NestedFilter = function NestedFilter(_ref4) {
147
149
  var filters = _ref4.filters,
148
150
  getFilterValue = _ref4.getFilterValue,
149
151
  setFilterValue = _ref4.setFilterValue;
152
+ var inputRef = (0, _react.useRef)(null); // 搜索后的筛选项
153
+
154
+ var _useState3 = (0, _react.useState)(filters),
155
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
156
+ options = _useState4[0],
157
+ setOptions = _useState4[1]; // 是否存在搜索, 当数据大于8时存在搜索
158
+
159
+
160
+ var isSearch = (0, _react.useMemo)(function () {
161
+ return filters.length > 8;
162
+ }, [filters.length]); // 搜索
163
+
164
+ var handleFilter = function handleFilter(val) {
165
+ setOptions(filters.filter(function (v) {
166
+ return v.label.indexOf(val) > -1;
167
+ }));
168
+ }; // 单选事件
169
+
170
+
171
+ var onChange = function onChange(e, item) {
172
+ e.preventDefault();
173
+ setFilterValue(item.value);
174
+ };
175
+
176
+ var handleClick = function handleClick(e, item) {
177
+ e.preventDefault();
178
+ e.stopPropagation();
179
+ setFilterValue(item, 'children');
180
+ };
181
+
182
+ return /*#__PURE__*/_react.default.createElement("div", {
183
+ className: "filter_dropdown"
184
+ }, isSearch && /*#__PURE__*/_react.default.createElement("div", {
185
+ className: "filter_header"
186
+ }, /*#__PURE__*/_react.default.createElement(_input.default.Search, {
187
+ ref: inputRef,
188
+ allowClear: true,
189
+ size: "small",
190
+ placeholder: "\u8BF7\u8F93\u5165",
191
+ onSearch: handleFilter,
192
+ onChange: (0, _lodash.debounce)(function (e) {
193
+ return handleFilter(e.target.value);
194
+ }, 500)
195
+ })), /*#__PURE__*/_react.default.createElement("div", {
196
+ className: "filter_body"
197
+ }, /*#__PURE__*/_react.default.createElement(_VirtualList.default, {
198
+ options: options,
199
+ className: "filter_list"
200
+ }, function (_ref5) {
201
+ var item = _ref5.item,
202
+ resetProps = (0, _objectWithoutProperties2.default)(_ref5, _excluded2);
203
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
204
+ className: (0, _classnames.default)('filter_item', {
205
+ checked: item.value === getFilterValue
206
+ }),
207
+ onClick: function onClick(e) {
208
+ return onChange(e, item);
209
+ }
210
+ }), /*#__PURE__*/_react.default.createElement("div", {
211
+ className: "filter_item-content"
212
+ }, item.label), /*#__PURE__*/_react.default.createElement(_IconFont.default, {
213
+ type: "lmweb-gengduotianchong",
214
+ onClick: function onClick(e) {
215
+ return handleClick(e, item);
216
+ }
217
+ }));
218
+ }), !options.length && /*#__PURE__*/_react.default.createElement("div", {
219
+ className: "filter_empty"
220
+ }, "\u6682\u65E0\u6570\u636E")));
221
+ }; // 自定义筛选下拉选过滤器
222
+
223
+
224
+ var CustomFilter = function CustomFilter(_ref6) {
225
+ var _ref6$filters = _ref6.filters,
226
+ filters = _ref6$filters === void 0 ? [] : _ref6$filters,
227
+ getFilterValue = _ref6.getFilterValue,
228
+ setFilterValue = _ref6.setFilterValue;
150
229
 
151
230
  // 单选事件
152
231
  var onChange = function onChange(e, item) {
@@ -171,9 +250,9 @@ var CustomFilter = function CustomFilter(_ref4) {
171
250
  }, /*#__PURE__*/_react.default.createElement(_VirtualList.default, {
172
251
  options: filters,
173
252
  className: "filter_list"
174
- }, function (_ref5) {
175
- var item = _ref5.item,
176
- resetProps = (0, _objectWithoutProperties2.default)(_ref5, _excluded2);
253
+ }, function (_ref7) {
254
+ var item = _ref7.item,
255
+ resetProps = (0, _objectWithoutProperties2.default)(_ref7, _excluded3);
177
256
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
178
257
  className: (0, _classnames.default)('filter_item', {
179
258
  checked: item.value === getFilterValue
@@ -207,22 +286,23 @@ var CustomFilter = function CustomFilter(_ref4) {
207
286
  }; // 下拉多选过滤器: 要过滤的数据, 当前选中项, 触发过滤, 过滤前的数据
208
287
 
209
288
 
210
- var CheckboxFilter = function CheckboxFilter(_ref6) {
211
- var filters = _ref6.filters,
212
- getFilterValue = _ref6.getFilterValue,
213
- setFilterValue = _ref6.setFilterValue;
289
+ var CheckboxFilter = function CheckboxFilter(_ref8) {
290
+ var _ref8$filters = _ref8.filters,
291
+ filters = _ref8$filters === void 0 ? [] : _ref8$filters,
292
+ getFilterValue = _ref8.getFilterValue,
293
+ setFilterValue = _ref8.setFilterValue;
214
294
  var inputRef = (0, _react.useRef)(null);
215
295
 
216
- var _useState3 = (0, _react.useState)(getFilterValue || []),
217
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
218
- checkedValues = _useState4[0],
219
- setCheckedValues = _useState4[1]; // 搜索后的筛选项
296
+ var _useState5 = (0, _react.useState)(getFilterValue || []),
297
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
298
+ checkedValues = _useState6[0],
299
+ setCheckedValues = _useState6[1]; // 搜索后的筛选项
220
300
 
221
301
 
222
- var _useState5 = (0, _react.useState)(filters),
223
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
224
- options = _useState6[0],
225
- setOptions = _useState6[1]; // 是否存在搜索, 当数据大于8时存在搜索
302
+ var _useState7 = (0, _react.useState)(filters),
303
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
304
+ options = _useState8[0],
305
+ setOptions = _useState8[1]; // 是否存在搜索, 当数据大于8时存在搜索
226
306
 
227
307
 
228
308
  var isSearch = (0, _react.useMemo)(function () {
@@ -301,9 +381,9 @@ var CheckboxFilter = function CheckboxFilter(_ref6) {
301
381
  }, /*#__PURE__*/_react.default.createElement(_VirtualList.default, {
302
382
  options: options,
303
383
  className: "filter_list"
304
- }, function (_ref7) {
305
- var item = _ref7.item,
306
- resetProps = (0, _objectWithoutProperties2.default)(_ref7, _excluded3);
384
+ }, function (_ref9) {
385
+ var item = _ref9.item,
386
+ resetProps = (0, _objectWithoutProperties2.default)(_ref9, _excluded4);
307
387
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
308
388
  className: (0, _classnames.default)('filter_item', {
309
389
  checked: checkedValues.includes(item.value)
@@ -329,10 +409,10 @@ var CheckboxFilter = function CheckboxFilter(_ref6) {
329
409
  }; // 更多筛选
330
410
 
331
411
 
332
- var MoreFilter = function MoreFilter(_ref8) {
333
- var filters = _ref8.filters,
334
- getFilterValue = _ref8.getFilterValue,
335
- setFilterValue = _ref8.setFilterValue;
412
+ var MoreFilter = function MoreFilter(_ref10) {
413
+ var filters = _ref10.filters,
414
+ getFilterValue = _ref10.getFilterValue,
415
+ setFilterValue = _ref10.setFilterValue;
336
416
  // 选中的数据
337
417
  var checkedValues = (0, _react.useMemo)(function () {
338
418
  return getFilterValue;
@@ -398,9 +478,9 @@ var MoreFilter = function MoreFilter(_ref8) {
398
478
  }, /*#__PURE__*/_react.default.createElement(_VirtualList.default, {
399
479
  options: options,
400
480
  className: "filter_list"
401
- }, function (_ref9) {
402
- var item = _ref9.item,
403
- resetProps = (0, _objectWithoutProperties2.default)(_ref9, _excluded4);
481
+ }, function (_ref11) {
482
+ var item = _ref11.item,
483
+ resetProps = (0, _objectWithoutProperties2.default)(_ref11, _excluded5);
404
484
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, resetProps, {
405
485
  className: "filter_item",
406
486
  onClick: function onClick(e) {
@@ -422,16 +502,17 @@ var MoreFilter = function MoreFilter(_ref8) {
422
502
  }; // 日期范围选择器
423
503
 
424
504
 
425
- var DatePickerFilter = function DatePickerFilter(_ref10) {
426
- var getFilterValue = _ref10.getFilterValue,
427
- setFilterValue = _ref10.setFilterValue,
428
- props = _ref10.props;
505
+ var DatePickerFilter = function DatePickerFilter(_ref12) {
506
+ var getFilterValue = _ref12.getFilterValue,
507
+ setFilterValue = _ref12.setFilterValue,
508
+ props = _ref12.props,
509
+ dateType = _ref12.dateType;
429
510
  // 对日期格式的转换, 日期组件仅接收moment格式
430
511
  var value = (0, _react.useMemo)(function () {
431
512
  var nValue;
432
513
 
433
514
  if (getFilterValue) {
434
- nValue = [(0, _moment.default)(getFilterValue[0]), (0, _moment.default)(getFilterValue[1])];
515
+ nValue = dateType === 'rangePicker' ? [(0, _moment.default)(getFilterValue[0]), (0, _moment.default)(getFilterValue[1])] : (0, _moment.default)(getFilterValue);
435
516
  }
436
517
 
437
518
  return nValue;
@@ -448,59 +529,77 @@ var DatePickerFilter = function DatePickerFilter(_ref10) {
448
529
  }, []); // 选中时间段的触发
449
530
 
450
531
  var onChange = function onChange(dates, dateStrings) {
451
- setFilterValue((0, _utils.getIsHas)(dateStrings.filter(function (v) {
452
- return !!v;
453
- })) ? dateStrings : null);
454
- }; // 最近的时间触发事件
455
-
456
-
457
- var handleLastDateOnChange = function handleLastDateOnChange(e) {
458
- var nValue = JSON.parse(e.target.value);
459
- setFilterValue(nValue);
532
+ setFilterValue((0, _utils.getIsHas)(dateStrings) ? dateStrings : null);
460
533
  };
461
534
 
462
- var panelRender = function panelRender(panelNode) {
463
- return /*#__PURE__*/_react.default.createElement("div", {
464
- className: "filter_picker_box"
465
- }, /*#__PURE__*/_react.default.createElement("div", {
466
- className: "filter_picker_main"
467
- }, /*#__PURE__*/_react.default.createElement("div", {
468
- className: "filter_picker_header"
469
- }, /*#__PURE__*/_react.default.createElement("div", {
470
- className: "filter_picker_header_tip"
471
- }, getFilterValue && "".concat(getFilterValue[0], " - ").concat(getFilterValue[1])), /*#__PURE__*/_react.default.createElement("div", {
472
- className: "filter_picker_header_operate"
473
- }, /*#__PURE__*/_react.default.createElement(_radio.default.Group, {
474
- value: JSON.stringify(getFilterValue),
475
- onChange: handleLastDateOnChange,
535
+ if (dateType === 'rangePicker') {
536
+ // 选中时间段的触发
537
+ var handleOnChange = function handleOnChange(dates, dateStrings) {
538
+ onChange(dates, (0, _utils.getIsHas)(dateStrings.filter(function (v) {
539
+ return !!v;
540
+ })) ? dateStrings : null);
541
+ }; // 最近的时间触发事件
542
+
543
+
544
+ var handleLastDateOnChange = function handleLastDateOnChange(e) {
545
+ var nValue = JSON.parse(e.target.value);
546
+ setFilterValue(nValue);
547
+ };
548
+
549
+ var panelRender = function panelRender(panelNode) {
550
+ return /*#__PURE__*/_react.default.createElement("div", {
551
+ className: "filter_picker_box"
552
+ }, /*#__PURE__*/_react.default.createElement("div", {
553
+ className: "filter_picker_main"
554
+ }, /*#__PURE__*/_react.default.createElement("div", {
555
+ className: "filter_picker_header"
556
+ }, /*#__PURE__*/_react.default.createElement("div", {
557
+ className: "filter_picker_header_tip"
558
+ }, getFilterValue && "".concat(getFilterValue[0], " - ").concat(getFilterValue[1])), /*#__PURE__*/_react.default.createElement("div", {
559
+ className: "filter_picker_header_operate"
560
+ }, /*#__PURE__*/_react.default.createElement(_radio.default.Group, {
561
+ value: JSON.stringify(getFilterValue),
562
+ onChange: handleLastDateOnChange,
563
+ size: "small"
564
+ }, ranges.map(function (v) {
565
+ return /*#__PURE__*/_react.default.createElement(_radio.default.Button, {
566
+ key: v.label,
567
+ value: v.value
568
+ }, v.label);
569
+ })))), panelNode));
570
+ };
571
+
572
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_datePicker.default.RangePicker, (0, _extends2.default)({
573
+ picker: "date",
574
+ separator: "\u81F3",
575
+ placeholder: ['开始日期', '结束日期'],
576
+ style: {
577
+ width: 200
578
+ }
579
+ }, props, {
580
+ value: value,
581
+ onChange: handleOnChange,
582
+ panelRender: panelRender,
583
+ dropdownClassName: "filter_dropdown_picker",
584
+ bordered: false,
476
585
  size: "small"
477
- }, ranges.map(function (v) {
478
- return /*#__PURE__*/_react.default.createElement(_radio.default.Button, {
479
- key: v.label,
480
- value: v.value
481
- }, v.label);
482
- })))), panelNode));
483
- };
586
+ })));
587
+ }
484
588
 
485
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_datePicker.default.RangePicker, (0, _extends2.default)({
589
+ ;
590
+ return /*#__PURE__*/_react.default.createElement(_datePicker.default, (0, _extends2.default)({
591
+ placeholder: "\u9009\u62E9\u65F6\u95F4"
592
+ }, props, {
486
593
  value: value,
487
594
  onChange: onChange,
488
- panelRender: panelRender,
489
- dropdownClassName: "lm_filter_dropdown_picker",
490
595
  bordered: false,
491
- picker: "date",
492
- size: "small",
493
- separator: "\u81F3",
494
- placeholder: ['开始日期', '结束日期'],
495
- style: {
496
- width: 200
497
- }
498
- }, props)));
596
+ size: "small"
597
+ }));
499
598
  };
500
599
 
501
600
  var FilterComp = function FilterComp(props) {
502
601
  var type = props.type,
503
- resetProps = (0, _objectWithoutProperties2.default)(props, _excluded5);
602
+ resetProps = (0, _objectWithoutProperties2.default)(props, _excluded6);
504
603
 
505
604
  switch (type) {
506
605
  case 'input':
@@ -521,6 +620,9 @@ var FilterComp = function FilterComp(props) {
521
620
  case 'more':
522
621
  return /*#__PURE__*/_react.default.createElement(MoreFilter, resetProps);
523
622
 
623
+ case 'nested':
624
+ return /*#__PURE__*/_react.default.createElement(NestedFilter, resetProps);
625
+
524
626
  default:
525
627
  return /*#__PURE__*/_react.default.createElement(CheckboxFilter, resetProps);
526
628
  }
@@ -29,7 +29,7 @@ var initialState = {
29
29
  searchKey: 'search',
30
30
  levelGroupKey: 'levGroup',
31
31
  filter: true,
32
- complex: true
32
+ complex: false
33
33
  },
34
34
  // 初始化数据
35
35
  visibleFields: [],
@@ -44,6 +44,8 @@ var initialState = {
44
44
  // 一级筛选过滤的内容
45
45
  complexFilterValues: {},
46
46
  // 高级筛选过滤的内容
47
+ nestedFilterValues: {},
48
+ // 嵌套结构的过滤内容 {objType: {field: 'supplier', value: 's1', label: '一号供应商'}, ...}
47
49
  customDrawer: {
48
50
  visible: false,
49
51
  data: {}
@@ -72,7 +74,8 @@ var reducer = function reducer(state, action) {
72
74
  customModal = action.customModal,
73
75
  complexDrawer = action.complexDrawer,
74
76
  customFilterValues = action.customFilterValues,
75
- complexFilterValues = action.complexFilterValues;
77
+ complexFilterValues = action.complexFilterValues,
78
+ nestedFilterValues = action.nestedFilterValues;
76
79
 
77
80
  switch (action.type) {
78
81
  // 仅在初始化时触发
@@ -131,6 +134,12 @@ var reducer = function reducer(state, action) {
131
134
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
132
135
  complexFilterValues: complexFilterValues
133
136
  });
137
+ // 设置嵌套结构的内容
138
+
139
+ case 'changeNestedFilterValues':
140
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
141
+ nestedFilterValues: nestedFilterValues
142
+ });
134
143
 
135
144
  default:
136
145
  throw new Error();
@@ -9,6 +9,10 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
+
12
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
17
 
14
18
  var _react = _interopRequireWildcard(require("react"));
@@ -31,7 +35,7 @@ var _modal = _interopRequireDefault(require("./components/modal"));
31
35
  * data
32
36
  *
33
37
  */
34
- var Filter = function Filter(props) {
38
+ var Filter = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
35
39
  var _useContent = (0, _context.useContent)(),
36
40
  _useContent2 = (0, _slicedToArray2.default)(_useContent, 2),
37
41
  state = _useContent2[0],
@@ -40,15 +44,9 @@ var Filter = function Filter(props) {
40
44
  var _state$instance = state.instance,
41
45
  custom = _state$instance.custom,
42
46
  levelGroup = _state$instance.levelGroup,
43
- complex = _state$instance.complex;
44
- (0, _react.useEffect)(function () {
45
- dispatch({
46
- type: 'initOptions',
47
- instance: props
48
- });
49
- }, []); // 初始化过滤的值
47
+ complex = _state$instance.complex; // 初始化
50
48
 
51
- (0, _react.useEffect)(function () {
49
+ var setOptions = (0, _react.useCallback)(function () {
52
50
  var trigger = props.trigger,
53
51
  onChange = props.onChange,
54
52
  data = props.data,
@@ -92,13 +90,54 @@ var Filter = function Filter(props) {
92
90
  }); // 是否立即触发
93
91
 
94
92
  trigger === 'init' && (onChange === null || onChange === void 0 ? void 0 : onChange(filterValues, customFilterValues()));
93
+ }, [dispatch, props]); // 初始化过滤的值
94
+
95
+ (0, _react.useEffect)(function () {
96
+ setOptions();
95
97
  }, []);
96
98
  (0, _react.useEffect)(function () {
97
99
  dispatch({
98
100
  type: 'initInstance',
99
101
  instance: props
100
102
  });
101
- }, [props]);
103
+ }, [props]); // 外部控制
104
+
105
+ var setFilter = function setFilter(_ref) {
106
+ var _state$instance$onCha, _state$instance2;
107
+
108
+ var field = _ref.field,
109
+ value = _ref.value,
110
+ label = _ref.label,
111
+ relation = _ref.relation;
112
+ var nValue = (0, _objectSpread2.default)({}, state.filterValues);
113
+ delete nValue[relation];
114
+ state.instance.data.find(function (v) {
115
+ return v.field === relation;
116
+ }).data.forEach(function (element) {
117
+ delete nValue[element.value];
118
+ });
119
+ (0, _utils.getIsHas)(value) ? nValue[field] = value : delete nValue[field];
120
+ dispatch({
121
+ type: 'changeFilterValues',
122
+ filterValues: nValue
123
+ });
124
+ label && dispatch({
125
+ type: 'changeNestedFilterValues',
126
+ nestedFilterValues: (0, _defineProperty2.default)({}, relation, {
127
+ value: value,
128
+ label: label,
129
+ field: field
130
+ })
131
+ });
132
+ (_state$instance$onCha = (_state$instance2 = state.instance).onChange) === null || _state$instance$onCha === void 0 ? void 0 : _state$instance$onCha.call(_state$instance2, nValue, state.customFilterValues);
133
+ };
134
+
135
+ (0, _react.useImperativeHandle)(ref, function () {
136
+ return {
137
+ setOptions: setOptions,
138
+ setFilter: setFilter
139
+ };
140
+ });
102
141
  return /*#__PURE__*/_react.default.createElement(_context.Context.Provider, {
103
142
  value: {
104
143
  state: state,
@@ -109,7 +148,6 @@ var Filter = function Filter(props) {
109
148
  }, custom && /*#__PURE__*/_react.default.createElement(_customFilter.default, null), levelGroup && /*#__PURE__*/_react.default.createElement(_radioGroup.default, null), (custom || levelGroup) && /*#__PURE__*/_react.default.createElement("div", {
110
149
  className: "line"
111
150
  }), /*#__PURE__*/_react.default.createElement(_baseFilter.default, null), complex && /*#__PURE__*/_react.default.createElement(_complexFilter.default, null), /*#__PURE__*/_react.default.createElement(_modal.default, null)));
112
- };
113
-
151
+ });
114
152
  var _default = Filter;
115
153
  exports.default = _default;