@kne/react-filter 0.1.14 → 0.1.17
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/README.md +236 -0
- package/dist/index.css +17 -5
- package/dist/index.css.map +1 -1
- package/dist/index.js +220 -86
- package/dist/index.js.map +1 -1
- package/dist/{index.modern.js → index.modern.mjs} +226 -96
- package/dist/index.modern.mjs.map +1 -0
- package/package.json +10 -7
- package/dist/index.modern.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var React = require('react');
|
|
2
2
|
var antd = require('antd');
|
|
3
|
-
var reactCitySelect = require('@kne/react-city-select');
|
|
4
3
|
var classnames = require('classnames');
|
|
4
|
+
var reactCitySelect = require('@kne/react-city-select');
|
|
5
5
|
var get = require('lodash/get');
|
|
6
6
|
var isFunction = require('lodash/isFunction');
|
|
7
7
|
var isEqual = require('lodash/isEqual');
|
|
@@ -18,8 +18,14 @@ var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
|
|
|
18
18
|
var useClickOutSide__default = /*#__PURE__*/_interopDefaultLegacy(useClickOutSide);
|
|
19
19
|
var isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);
|
|
20
20
|
|
|
21
|
+
var context$1 = React.createContext({});
|
|
22
|
+
var Provider$1 = context$1.Provider;
|
|
23
|
+
var useConsumer = function useConsumer() {
|
|
24
|
+
return React.useContext(context$1);
|
|
25
|
+
};
|
|
26
|
+
|
|
21
27
|
function _extends() {
|
|
22
|
-
_extends = Object.assign
|
|
28
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
23
29
|
for (var i = 1; i < arguments.length; i++) {
|
|
24
30
|
var source = arguments[i];
|
|
25
31
|
|
|
@@ -32,7 +38,6 @@ function _extends() {
|
|
|
32
38
|
|
|
33
39
|
return target;
|
|
34
40
|
};
|
|
35
|
-
|
|
36
41
|
return _extends.apply(this, arguments);
|
|
37
42
|
}
|
|
38
43
|
|
|
@@ -51,21 +56,30 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
51
56
|
return target;
|
|
52
57
|
}
|
|
53
58
|
|
|
54
|
-
var
|
|
55
|
-
var Provider$1 = context$1.Provider;
|
|
56
|
-
var useConsumer = function useConsumer() {
|
|
57
|
-
return React.useContext(context$1);
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
var _excluded$5 = ["label"];
|
|
59
|
+
var _excluded$8 = ["label", "labelHidden", "isMore", "moreTrigger"];
|
|
61
60
|
|
|
62
61
|
var FilterItem = function FilterItem(_ref) {
|
|
63
62
|
var className = _ref.className,
|
|
64
63
|
label = _ref.label,
|
|
64
|
+
labelHidden = _ref.labelHidden,
|
|
65
|
+
isMore = _ref.isMore,
|
|
66
|
+
moreTrigger = _ref.moreTrigger,
|
|
65
67
|
children = _ref.children;
|
|
68
|
+
|
|
69
|
+
if (isMore) {
|
|
70
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
71
|
+
className: classnames__default["default"]("react-filter-item-label", "is-more", className)
|
|
72
|
+
}, /*#__PURE__*/React__default["default"].createElement(antd.Popover, {
|
|
73
|
+
content: children,
|
|
74
|
+
trigger: moreTrigger,
|
|
75
|
+
placement: "bottom",
|
|
76
|
+
overlayClassName: "react-filter-item-popover"
|
|
77
|
+
}, /*#__PURE__*/React__default["default"].createElement("a", null, label)));
|
|
78
|
+
}
|
|
79
|
+
|
|
66
80
|
return /*#__PURE__*/React__default["default"].createElement(antd.Space, {
|
|
67
81
|
className: classnames__default["default"]('react-filter-item', className)
|
|
68
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
82
|
+
}, labelHidden ? null : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
69
83
|
className: "react-filter-item-label"
|
|
70
84
|
}, label, ":"), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
71
85
|
className: "react-filter-item-children"
|
|
@@ -75,21 +89,31 @@ var FilterItem = function FilterItem(_ref) {
|
|
|
75
89
|
var withFilterItem = function withFilterItem(WrappedComponent) {
|
|
76
90
|
return function (_ref2) {
|
|
77
91
|
var label = _ref2.label,
|
|
78
|
-
|
|
92
|
+
labelHidden = _ref2.labelHidden,
|
|
93
|
+
isMore = _ref2.isMore,
|
|
94
|
+
moreTrigger = _ref2.moreTrigger,
|
|
95
|
+
props = _objectWithoutPropertiesLoose(_ref2, _excluded$8);
|
|
79
96
|
|
|
80
97
|
return /*#__PURE__*/React__default["default"].createElement(FilterItem, {
|
|
81
|
-
label: label
|
|
82
|
-
|
|
98
|
+
label: label,
|
|
99
|
+
labelHidden: labelHidden,
|
|
100
|
+
isMore: isMore,
|
|
101
|
+
moreTrigger: moreTrigger
|
|
102
|
+
}, /*#__PURE__*/React__default["default"].createElement(WrappedComponent, _extends({}, props, {
|
|
103
|
+
label: label,
|
|
104
|
+
isMore: isMore
|
|
105
|
+
})));
|
|
83
106
|
};
|
|
84
107
|
};
|
|
85
108
|
|
|
86
|
-
var _excluded$
|
|
109
|
+
var _excluded$7 = ["value", "label"];
|
|
87
110
|
var CheckableTag = antd.Tag.CheckableTag;
|
|
88
111
|
var context = React.createContext({});
|
|
89
112
|
var Provider = context.Provider;
|
|
90
113
|
|
|
91
114
|
var List = function List(_ref) {
|
|
92
115
|
var label = _ref.label,
|
|
116
|
+
labelHidden = _ref.labelHidden,
|
|
93
117
|
name = _ref.name,
|
|
94
118
|
size = _ref.size,
|
|
95
119
|
children = _ref.children,
|
|
@@ -171,7 +195,8 @@ var List = function List(_ref) {
|
|
|
171
195
|
}();
|
|
172
196
|
|
|
173
197
|
return /*#__PURE__*/React__default["default"].createElement(FilterItem, {
|
|
174
|
-
label: label
|
|
198
|
+
label: label,
|
|
199
|
+
labelHidden: labelHidden
|
|
175
200
|
}, /*#__PURE__*/React__default["default"].createElement(Provider, {
|
|
176
201
|
value: {
|
|
177
202
|
currentValue: currentValue,
|
|
@@ -207,7 +232,7 @@ var List = function List(_ref) {
|
|
|
207
232
|
List.Item = function (_ref3) {
|
|
208
233
|
var value = _ref3.value,
|
|
209
234
|
label = _ref3.label,
|
|
210
|
-
props = _objectWithoutPropertiesLoose(_ref3, _excluded$
|
|
235
|
+
props = _objectWithoutPropertiesLoose(_ref3, _excluded$7);
|
|
211
236
|
|
|
212
237
|
var _useContext = React.useContext(context),
|
|
213
238
|
currentValue = _useContext.currentValue,
|
|
@@ -232,13 +257,18 @@ List.defaultProps = {
|
|
|
232
257
|
size: 2
|
|
233
258
|
};
|
|
234
259
|
|
|
260
|
+
var _excluded$6 = ["label", "labelHidden", "name", "size", "isMore"];
|
|
235
261
|
var Item = List.Item;
|
|
236
262
|
|
|
237
263
|
var City = function City(_ref) {
|
|
238
264
|
var label = _ref.label,
|
|
265
|
+
labelHidden = _ref.labelHidden,
|
|
239
266
|
name = _ref.name,
|
|
240
267
|
size = _ref.size;
|
|
268
|
+
_objectWithoutPropertiesLoose(_ref, _excluded$6);
|
|
269
|
+
|
|
241
270
|
return /*#__PURE__*/React__default["default"].createElement(List, {
|
|
271
|
+
labelHidden: labelHidden,
|
|
242
272
|
label: label,
|
|
243
273
|
name: name,
|
|
244
274
|
size: size,
|
|
@@ -320,6 +350,7 @@ var City = function City(_ref) {
|
|
|
320
350
|
var SearchButton = function SearchButton(_ref) {
|
|
321
351
|
var name = _ref.name,
|
|
322
352
|
size = _ref.size,
|
|
353
|
+
isMore = _ref.isMore,
|
|
323
354
|
template = _ref.template,
|
|
324
355
|
children = _ref.children,
|
|
325
356
|
defaultValue = _ref.defaultValue,
|
|
@@ -367,7 +398,7 @@ var SearchButton = function SearchButton(_ref) {
|
|
|
367
398
|
}, [active]);
|
|
368
399
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
369
400
|
className: classnames__default["default"]("react-filter-search-button", {
|
|
370
|
-
"is-active": active
|
|
401
|
+
"is-active": active && !isMore
|
|
371
402
|
}),
|
|
372
403
|
ref: ref,
|
|
373
404
|
onMouseEnter: function onMouseEnter() {
|
|
@@ -376,14 +407,17 @@ var SearchButton = function SearchButton(_ref) {
|
|
|
376
407
|
onMouseLeave: function onMouseLeave() {
|
|
377
408
|
active && setActive(false);
|
|
378
409
|
}
|
|
379
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
380
|
-
className: "inner"
|
|
410
|
+
}, /*#__PURE__*/React__default["default"].createElement(antd.Space, {
|
|
411
|
+
className: "inner",
|
|
412
|
+
size: 0
|
|
381
413
|
}, /*#__PURE__*/React__default["default"].createElement("div", null, children({
|
|
382
414
|
value: value,
|
|
383
415
|
setValue: setValue,
|
|
384
416
|
setActive: setActive
|
|
385
|
-
})), active ? /*#__PURE__*/React__default["default"].createElement(antd.Button, {
|
|
386
|
-
className: "react-filter-search-confirm",
|
|
417
|
+
})), active || isMore ? /*#__PURE__*/React__default["default"].createElement(antd.Button, {
|
|
418
|
+
className: classnames__default["default"]("react-filter-search-confirm", {
|
|
419
|
+
"is-more": isMore
|
|
420
|
+
}),
|
|
387
421
|
size: "small",
|
|
388
422
|
type: "primary",
|
|
389
423
|
onClick: function onClick(e) {
|
|
@@ -410,13 +444,15 @@ SearchButton.defaultProps = {
|
|
|
410
444
|
var RangeInner = function RangeInner(_ref) {
|
|
411
445
|
var name = _ref.name,
|
|
412
446
|
size = _ref.size,
|
|
447
|
+
isMore = _ref.isMore,
|
|
413
448
|
defaultActive = _ref.defaultActive,
|
|
414
449
|
template = _ref.template,
|
|
415
450
|
onBlur = _ref.onBlur,
|
|
416
451
|
onSearch = _ref.onSearch,
|
|
417
452
|
_onActiveChange = _ref.onActiveChange,
|
|
418
453
|
startProps = _ref.startProps,
|
|
419
|
-
endProps = _ref.endProps
|
|
454
|
+
endProps = _ref.endProps,
|
|
455
|
+
placeholder = _ref.placeholder;
|
|
420
456
|
|
|
421
457
|
var _useState = React.useState(null),
|
|
422
458
|
error = _useState[0],
|
|
@@ -440,6 +476,7 @@ var RangeInner = function RangeInner(_ref) {
|
|
|
440
476
|
return /*#__PURE__*/React__default["default"].createElement(SearchButton, {
|
|
441
477
|
size: size,
|
|
442
478
|
template: template,
|
|
479
|
+
isMore: isMore,
|
|
443
480
|
onBlur: onBlur,
|
|
444
481
|
defaultActive: defaultActive,
|
|
445
482
|
name: name,
|
|
@@ -475,7 +512,8 @@ var RangeInner = function RangeInner(_ref) {
|
|
|
475
512
|
},
|
|
476
513
|
onFocus: function onFocus() {
|
|
477
514
|
setActive(true);
|
|
478
|
-
}
|
|
515
|
+
},
|
|
516
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder || "请输入"
|
|
479
517
|
})), "~", /*#__PURE__*/React__default["default"].createElement(antd.InputNumber, _extends({
|
|
480
518
|
size: "small"
|
|
481
519
|
}, endProps, {
|
|
@@ -487,24 +525,29 @@ var RangeInner = function RangeInner(_ref) {
|
|
|
487
525
|
},
|
|
488
526
|
onFocus: function onFocus() {
|
|
489
527
|
setActive(true);
|
|
490
|
-
}
|
|
528
|
+
},
|
|
529
|
+
placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder || "请输入"
|
|
491
530
|
}))));
|
|
492
531
|
});
|
|
493
532
|
};
|
|
494
533
|
var Range = withFilterItem(RangeInner);
|
|
495
534
|
|
|
496
|
-
var _excluded$
|
|
535
|
+
var _excluded$5 = ["name", "label", "isMore", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
|
|
497
536
|
var TextInner = function TextInner(_ref) {
|
|
498
537
|
var name = _ref.name,
|
|
538
|
+
label = _ref.label,
|
|
539
|
+
isMore = _ref.isMore,
|
|
499
540
|
template = _ref.template,
|
|
500
541
|
defaultActive = _ref.defaultActive,
|
|
501
542
|
onBlur = _ref.onBlur,
|
|
502
543
|
onSearch = _ref.onSearch,
|
|
503
544
|
_onActiveChange = _ref.onActiveChange,
|
|
504
|
-
|
|
545
|
+
placeholder = _ref.placeholder,
|
|
546
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
505
547
|
|
|
506
548
|
return /*#__PURE__*/React__default["default"].createElement(SearchButton, {
|
|
507
549
|
defaultActive: defaultActive,
|
|
550
|
+
isMore: isMore,
|
|
508
551
|
onBlur: onBlur,
|
|
509
552
|
template: template,
|
|
510
553
|
name: name,
|
|
@@ -519,6 +562,7 @@ var TextInner = function TextInner(_ref) {
|
|
|
519
562
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(antd.Input, _extends({
|
|
520
563
|
size: "small"
|
|
521
564
|
}, props, {
|
|
565
|
+
placeholder: placeholder || label,
|
|
522
566
|
value: value,
|
|
523
567
|
onChange: function onChange(e) {
|
|
524
568
|
setValue(e.target.value);
|
|
@@ -531,10 +575,12 @@ var TextInner = function TextInner(_ref) {
|
|
|
531
575
|
};
|
|
532
576
|
var Text = withFilterItem(TextInner);
|
|
533
577
|
|
|
534
|
-
var _excluded$
|
|
578
|
+
var _excluded$4 = ["name", "label", "placeholder", "isMore"];
|
|
535
579
|
var SelectorInner = function SelectorInner(_ref) {
|
|
536
580
|
var name = _ref.name,
|
|
537
|
-
|
|
581
|
+
label = _ref.label,
|
|
582
|
+
placeholder = _ref.placeholder,
|
|
583
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
538
584
|
|
|
539
585
|
var _useConsumer = useConsumer(),
|
|
540
586
|
aValue = _useConsumer.value,
|
|
@@ -542,9 +588,7 @@ var SelectorInner = function SelectorInner(_ref) {
|
|
|
542
588
|
|
|
543
589
|
var currentValue = aValue[name];
|
|
544
590
|
return /*#__PURE__*/React__default["default"].createElement(antd.Select, _extends({}, props, {
|
|
545
|
-
|
|
546
|
-
minWidth: "150px"
|
|
547
|
-
},
|
|
591
|
+
placeholder: label || placeholder,
|
|
548
592
|
size: "small",
|
|
549
593
|
value: currentValue,
|
|
550
594
|
onChange: function onChange(value, item) {
|
|
@@ -554,12 +598,13 @@ var SelectorInner = function SelectorInner(_ref) {
|
|
|
554
598
|
};
|
|
555
599
|
var Selector = withFilterItem(SelectorInner);
|
|
556
600
|
|
|
557
|
-
var _excluded$
|
|
601
|
+
var _excluded$3 = ["name", "label", "className", "isMore"];
|
|
558
602
|
|
|
559
603
|
var Check = function Check(_ref) {
|
|
560
604
|
var name = _ref.name,
|
|
561
605
|
label = _ref.label,
|
|
562
|
-
|
|
606
|
+
className = _ref.className,
|
|
607
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
563
608
|
|
|
564
609
|
var _useConsumer = useConsumer(),
|
|
565
610
|
aValue = _useConsumer.value,
|
|
@@ -567,6 +612,7 @@ var Check = function Check(_ref) {
|
|
|
567
612
|
|
|
568
613
|
var currentValue = aValue[name];
|
|
569
614
|
return /*#__PURE__*/React__default["default"].createElement(antd.Checkbox, _extends({}, props, {
|
|
615
|
+
className: classnames__default["default"]('react-filter-item', className),
|
|
570
616
|
size: "small",
|
|
571
617
|
checked: currentValue,
|
|
572
618
|
onChange: function onChange(e) {
|
|
@@ -578,56 +624,59 @@ var Check = function Check(_ref) {
|
|
|
578
624
|
}), label);
|
|
579
625
|
};
|
|
580
626
|
|
|
581
|
-
var _excluded = ["name", "
|
|
582
|
-
|
|
583
|
-
var
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
children = _ref.children,
|
|
587
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
588
|
-
|
|
589
|
-
var _useState = React.useState(false),
|
|
590
|
-
isEdit = _useState[0],
|
|
591
|
-
setIsEdit = _useState[1];
|
|
627
|
+
var _excluded$2 = ["label", "name", "options", "isMore"];
|
|
628
|
+
var RadioList = withFilterItem(function (_ref) {
|
|
629
|
+
var name = _ref.name,
|
|
630
|
+
options = _ref.options,
|
|
631
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
592
632
|
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
name: name,
|
|
597
|
-
onBlur: function onBlur() {
|
|
598
|
-
setIsEdit(false);
|
|
599
|
-
}
|
|
600
|
-
})) : /*#__PURE__*/React__default["default"].createElement(List.Item, {
|
|
601
|
-
onClick: function onClick(e) {
|
|
602
|
-
e.stopPropagation();
|
|
603
|
-
setIsEdit(true);
|
|
604
|
-
},
|
|
605
|
-
label: children || "其他"
|
|
606
|
-
});
|
|
607
|
-
};
|
|
608
|
-
};
|
|
609
|
-
var RangeButton = withMoreExtraButton(RangeInner);
|
|
610
|
-
var TextButton = withMoreExtraButton(TextInner);
|
|
611
|
-
var SelectorButton = withMoreExtraButton(SelectorInner);
|
|
612
|
-
var createExtraButton = function createExtraButton(_ref2) {
|
|
613
|
-
var type = _ref2.type,
|
|
614
|
-
props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
|
|
633
|
+
var _useConsumer = useConsumer(),
|
|
634
|
+
aValue = _useConsumer.value,
|
|
635
|
+
_onChange = _useConsumer.onChange;
|
|
615
636
|
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
637
|
+
var currentValue = aValue[name];
|
|
638
|
+
return /*#__PURE__*/React__default["default"].createElement(antd.Radio.Group, _extends({}, props, {
|
|
639
|
+
options: options,
|
|
640
|
+
value: get__default["default"](currentValue, 'value'),
|
|
641
|
+
onChange: function onChange(e) {
|
|
642
|
+
var item = options.find(function (item) {
|
|
643
|
+
return item.value === e.target.value;
|
|
644
|
+
});
|
|
623
645
|
|
|
624
|
-
|
|
625
|
-
return null;
|
|
646
|
+
_onChange(name, item);
|
|
626
647
|
}
|
|
648
|
+
}));
|
|
649
|
+
});
|
|
627
650
|
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
651
|
+
var _excluded$1 = ["label", "name", "options", "isMore"];
|
|
652
|
+
var CheckboxList = withFilterItem(function (_ref) {
|
|
653
|
+
var name = _ref.name,
|
|
654
|
+
options = _ref.options,
|
|
655
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
656
|
+
|
|
657
|
+
var _useConsumer = useConsumer(),
|
|
658
|
+
aValue = _useConsumer.value,
|
|
659
|
+
_onChange = _useConsumer.onChange;
|
|
660
|
+
|
|
661
|
+
var currentValue = aValue[name];
|
|
662
|
+
return /*#__PURE__*/React__default["default"].createElement(antd.Checkbox.Group, _extends({}, props, {
|
|
663
|
+
value: (currentValue || []).map(function (_ref2) {
|
|
664
|
+
var value = _ref2.value;
|
|
665
|
+
return value;
|
|
666
|
+
}),
|
|
667
|
+
onChange: function onChange(value) {
|
|
668
|
+
var item = value.map(function (value) {
|
|
669
|
+
return options.find(function (item) {
|
|
670
|
+
return item.value === value;
|
|
671
|
+
});
|
|
672
|
+
});
|
|
673
|
+
console.log(item);
|
|
674
|
+
|
|
675
|
+
_onChange(name, item);
|
|
676
|
+
},
|
|
677
|
+
options: options
|
|
678
|
+
}));
|
|
679
|
+
});
|
|
631
680
|
|
|
632
681
|
var filterNull = function filterNull(item) {
|
|
633
682
|
var target = Object.assign({}, item);
|
|
@@ -665,19 +714,25 @@ var filterNull = function filterNull(item) {
|
|
|
665
714
|
|
|
666
715
|
var Filter = function Filter(_ref) {
|
|
667
716
|
var displayLine = _ref.displayLine,
|
|
717
|
+
defaultDisplay = _ref.defaultDisplay,
|
|
668
718
|
isExtra = _ref.isExtra,
|
|
669
719
|
list = _ref.list,
|
|
670
720
|
label = _ref.label,
|
|
721
|
+
labelHidden = _ref.labelHidden,
|
|
722
|
+
itemLabelHidden = _ref.itemLabelHidden,
|
|
671
723
|
unfoldText = _ref.unfoldText,
|
|
672
724
|
foldText = _ref.foldText,
|
|
673
725
|
extra = _ref.extra,
|
|
726
|
+
more = _ref.more,
|
|
727
|
+
moreTrigger = _ref.moreTrigger,
|
|
728
|
+
moreLabel = _ref.moreLabel,
|
|
674
729
|
originValue = _ref.value,
|
|
675
730
|
onChange = _ref.onChange;
|
|
676
731
|
var value = React.useMemo(function () {
|
|
677
732
|
return filterNull(originValue);
|
|
678
733
|
}, [originValue]);
|
|
679
734
|
|
|
680
|
-
var _useState = React.useState(
|
|
735
|
+
var _useState = React.useState(defaultDisplay),
|
|
681
736
|
display = _useState[0],
|
|
682
737
|
setDisplay = _useState[1];
|
|
683
738
|
|
|
@@ -687,10 +742,12 @@ var Filter = function Filter(_ref) {
|
|
|
687
742
|
var renderList = function renderList(list) {
|
|
688
743
|
return list.map(function (item, index) {
|
|
689
744
|
return /*#__PURE__*/React__default["default"].createElement(antd.Space, {
|
|
690
|
-
key: index
|
|
745
|
+
key: index,
|
|
746
|
+
className: "react-filter-line"
|
|
691
747
|
}, item.map(function (item, index) {
|
|
692
748
|
return React.cloneElement(item, {
|
|
693
|
-
key: index
|
|
749
|
+
key: index,
|
|
750
|
+
labelHidden: itemLabelHidden
|
|
694
751
|
});
|
|
695
752
|
}));
|
|
696
753
|
});
|
|
@@ -703,6 +760,24 @@ var Filter = function Filter(_ref) {
|
|
|
703
760
|
onChange(filterNull(target));
|
|
704
761
|
};
|
|
705
762
|
|
|
763
|
+
var moreFilter = more && more.length > 0 ? /*#__PURE__*/React__default["default"].createElement(antd.Space, {
|
|
764
|
+
className: "react-filter-line is-more"
|
|
765
|
+
}, /*#__PURE__*/React__default["default"].createElement(antd.Space, {
|
|
766
|
+
className: "react-filter-item"
|
|
767
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
768
|
+
className: "react-filter-item-label"
|
|
769
|
+
}, moreLabel, ":"), /*#__PURE__*/React__default["default"].createElement(antd.Space, {
|
|
770
|
+
className: "react-filter-item-children",
|
|
771
|
+
split: /*#__PURE__*/React__default["default"].createElement(antd.Divider, {
|
|
772
|
+
type: "vertical"
|
|
773
|
+
})
|
|
774
|
+
}, more.map(function (item, index) {
|
|
775
|
+
return React.cloneElement(item, {
|
|
776
|
+
key: index,
|
|
777
|
+
isMore: true,
|
|
778
|
+
moreTrigger: moreTrigger
|
|
779
|
+
});
|
|
780
|
+
})))) : null;
|
|
706
781
|
return /*#__PURE__*/React__default["default"].createElement(Provider$1, {
|
|
707
782
|
value: {
|
|
708
783
|
value: value,
|
|
@@ -712,7 +787,7 @@ var Filter = function Filter(_ref) {
|
|
|
712
787
|
className: "react-filter"
|
|
713
788
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
714
789
|
className: "react-filter-inner"
|
|
715
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(antd.Space, null, /*#__PURE__*/React__default["default"].createElement(FilterItem, {
|
|
790
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", null, labelHidden ? null : /*#__PURE__*/React__default["default"].createElement(antd.Space, null, /*#__PURE__*/React__default["default"].createElement(FilterItem, {
|
|
716
791
|
className: "react-filter-selected",
|
|
717
792
|
label: label
|
|
718
793
|
}, Object.keys(value).map(function (key) {
|
|
@@ -729,11 +804,11 @@ var Filter = function Filter(_ref) {
|
|
|
729
804
|
var label = _ref2.label;
|
|
730
805
|
return label;
|
|
731
806
|
}).join(",") : item.label);
|
|
732
|
-
})), /*#__PURE__*/React__default["default"].createElement("div", null, extra))), renderList(isExtra ? basicList : list)), display ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(antd.Divider, {
|
|
807
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", null, extra))), renderList(isExtra ? basicList : list), moreList.length === 0 ? moreFilter : null), display ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(antd.Divider, {
|
|
733
808
|
className: "react-filter-divider"
|
|
734
809
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
735
810
|
className: "react-filter-inner"
|
|
736
|
-
}, renderList(moreList))) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
811
|
+
}, renderList(moreList)), moreList.length > 0 ? moreFilter : null) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
737
812
|
className: "react-filter-divider-close"
|
|
738
813
|
}), isExtra && list.length > displayLine ? /*#__PURE__*/React__default["default"].createElement(antd.Row, {
|
|
739
814
|
className: "react-filter-switch-btn",
|
|
@@ -754,20 +829,79 @@ Filter.type = {
|
|
|
754
829
|
Range: Range,
|
|
755
830
|
Text: Text,
|
|
756
831
|
Selector: Selector,
|
|
757
|
-
Check: Check
|
|
832
|
+
Check: Check,
|
|
833
|
+
RadioList: RadioList,
|
|
834
|
+
CheckboxList: CheckboxList
|
|
758
835
|
};
|
|
759
836
|
Filter.defaultProps = {
|
|
760
837
|
label: '筛选项',
|
|
838
|
+
labelHidden: false,
|
|
839
|
+
itemLabelHidden: false,
|
|
761
840
|
unfoldText: '展开',
|
|
762
841
|
foldText: '收起',
|
|
763
842
|
displayLine: 2,
|
|
843
|
+
defaultDisplay: false,
|
|
764
844
|
isExtra: true,
|
|
765
845
|
list: [[]],
|
|
846
|
+
more: [],
|
|
847
|
+
moreTrigger: 'hover',
|
|
848
|
+
moreLabel: '更多',
|
|
766
849
|
value: {},
|
|
767
850
|
extra: null,
|
|
768
851
|
onChange: function onChange() {}
|
|
769
852
|
};
|
|
770
853
|
|
|
854
|
+
var _excluded = ["name", "value", "children"],
|
|
855
|
+
_excluded2 = ["type"];
|
|
856
|
+
var withMoreExtraButton = function withMoreExtraButton(WrappedComponent) {
|
|
857
|
+
return function (_ref) {
|
|
858
|
+
var name = _ref.name,
|
|
859
|
+
children = _ref.children,
|
|
860
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
861
|
+
|
|
862
|
+
var _useState = React.useState(false),
|
|
863
|
+
isEdit = _useState[0],
|
|
864
|
+
setIsEdit = _useState[1];
|
|
865
|
+
|
|
866
|
+
return isEdit ? /*#__PURE__*/React__default["default"].createElement(WrappedComponent, _extends({
|
|
867
|
+
defaultActive: true
|
|
868
|
+
}, props, {
|
|
869
|
+
name: name,
|
|
870
|
+
onBlur: function onBlur() {
|
|
871
|
+
setIsEdit(false);
|
|
872
|
+
}
|
|
873
|
+
})) : /*#__PURE__*/React__default["default"].createElement(List.Item, {
|
|
874
|
+
onClick: function onClick(e) {
|
|
875
|
+
e.stopPropagation();
|
|
876
|
+
setIsEdit(true);
|
|
877
|
+
},
|
|
878
|
+
label: children || "其他"
|
|
879
|
+
});
|
|
880
|
+
};
|
|
881
|
+
};
|
|
882
|
+
var RangeButton = withMoreExtraButton(RangeInner);
|
|
883
|
+
var TextButton = withMoreExtraButton(TextInner);
|
|
884
|
+
var SelectorButton = withMoreExtraButton(SelectorInner);
|
|
885
|
+
var createExtraButton = function createExtraButton(_ref2) {
|
|
886
|
+
var type = _ref2.type,
|
|
887
|
+
props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
|
|
888
|
+
|
|
889
|
+
return function (innerProps) {
|
|
890
|
+
var mapping = {
|
|
891
|
+
range: RangeButton,
|
|
892
|
+
text: TextButton,
|
|
893
|
+
selector: SelectorButton
|
|
894
|
+
};
|
|
895
|
+
var ExtraButtonComponent = mapping[type];
|
|
896
|
+
|
|
897
|
+
if (!ExtraButtonComponent) {
|
|
898
|
+
return null;
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
return /*#__PURE__*/React__default["default"].createElement(ExtraButtonComponent, _extends({}, props, innerProps));
|
|
902
|
+
};
|
|
903
|
+
};
|
|
904
|
+
|
|
771
905
|
exports.FilterItem = FilterItem;
|
|
772
906
|
exports.SearchButton = SearchButton;
|
|
773
907
|
exports.createExtraButton = createExtraButton;
|