@kne/react-filter 0.1.0 → 0.1.3

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 zhipenglin
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ MIT License
2
+
3
+ Copyright (c) 2022 zhipenglin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
package/dist/index.css CHANGED
@@ -4,8 +4,11 @@
4
4
  .react-filter-divider {
5
5
  margin: 5px auto; }
6
6
 
7
+ .react-filter-item {
8
+ line-height: 32px; }
9
+
7
10
  .react-filter-item-label {
8
- color: #888;
11
+ font-weight: bold;
9
12
  font-size: 14px; }
10
13
 
11
14
  .react-filter-item-children {
@@ -28,7 +31,6 @@
28
31
  padding: 4px 4px 4px 60px;
29
32
  box-sizing: content-box;
30
33
  transform: translate(-3px, -3px);
31
- pointer-events: none;
32
34
  background: #FFFFFF; }
33
35
 
34
36
  .react-filter-search-confirm {
@@ -37,4 +39,7 @@
37
39
  right: -10px;
38
40
  transform: translateX(100%); }
39
41
 
42
+ .react-filter-switch-btn {
43
+ transform: translateY(-130%); }
44
+
40
45
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["index.scss"],"names":[],"mappings":"AAAA;EACE,WAAW,EAAE;;AAEf;EACE,gBAAgB,EAAE;;AAEpB;EACE,WAAW;EACX,eAAe,EAAE;;AAEnB;EACE,aAAa,EAAE;;AAEjB;EACE,kBAAkB;EAClB,UAAU,EAAE;EACZ;IACE,kBAAkB;IAClB,UAAU,EAAE;EACd;IACE,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,+CAA+C;IAC/C,kBAAkB;IAClB,yBAAyB;IACzB,uBAAuB;IACvB,gCAAgC;IAChC,oBAAoB;IACpB,mBAAmB,EAAE;;AAEzB;EACE,kBAAkB;EAClB,MAAM;EACN,YAAY;EACZ,2BAA2B,EAAE","file":"index.css","sourcesContent":[".space-full {\n width: 100%; }\n\n.react-filter-divider {\n margin: 5px auto; }\n\n.react-filter-item-label {\n color: #888;\n font-size: 14px; }\n\n.react-filter-item-children {\n display: flex; }\n\n.react-filter-search-button.is-active {\n position: relative;\n z-index: 1; }\n .react-filter-search-button.is-active .inner {\n position: relative;\n z-index: 1; }\n .react-filter-search-button.is-active:before {\n content: '';\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n box-shadow: 2px 3px 10px 4px rgba(0, 0, 0, 0.2);\n border-radius: 3px;\n padding: 4px 4px 4px 60px;\n box-sizing: content-box;\n transform: translate(-3px, -3px);\n pointer-events: none;\n background: #FFFFFF; }\n\n.react-filter-search-confirm {\n position: absolute;\n top: 0;\n right: -10px;\n transform: translateX(100%); }\n"]}
1
+ {"version":3,"sources":["index.scss"],"names":[],"mappings":"AAAA;EACE,WAAW,EAAE;;AAEf;EACE,gBAAgB,EAAE;;AAEpB;EACE,iBAAiB,EAAE;;AAErB;EACE,iBAAiB;EACjB,eAAe,EAAE;;AAEnB;EACE,aAAa,EAAE;;AAEjB;EACE,kBAAkB;EAClB,UAAU,EAAE;EACZ;IACE,kBAAkB;IAClB,UAAU,EAAE;EACd;IACE,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,+CAA+C;IAC/C,kBAAkB;IAClB,yBAAyB;IACzB,uBAAuB;IACvB,gCAAgC;IAChC,mBAAmB,EAAE;;AAEzB;EACE,kBAAkB;EAClB,MAAM;EACN,YAAY;EACZ,2BAA2B,EAAE;;AAE/B;EACE,4BAA4B,EAAE","file":"index.css","sourcesContent":[".space-full {\n width: 100%; }\n\n.react-filter-divider {\n margin: 5px auto; }\n\n.react-filter-item {\n line-height: 32px; }\n\n.react-filter-item-label {\n font-weight: bold;\n font-size: 14px; }\n\n.react-filter-item-children {\n display: flex; }\n\n.react-filter-search-button.is-active {\n position: relative;\n z-index: 1; }\n .react-filter-search-button.is-active .inner {\n position: relative;\n z-index: 1; }\n .react-filter-search-button.is-active:before {\n content: '';\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n box-shadow: 2px 3px 10px 4px rgba(0, 0, 0, 0.2);\n border-radius: 3px;\n padding: 4px 4px 4px 60px;\n box-sizing: content-box;\n transform: translate(-3px, -3px);\n background: #FFFFFF; }\n\n.react-filter-search-confirm {\n position: absolute;\n top: 0;\n right: -10px;\n transform: translateX(100%); }\n\n.react-filter-switch-btn {\n transform: translateY(-130%); }\n"]}
package/dist/index.js CHANGED
@@ -62,7 +62,9 @@ var _excluded$5 = ["label"];
62
62
  var FilterItem = function FilterItem(_ref) {
63
63
  var label = _ref.label,
64
64
  children = _ref.children;
65
- return /*#__PURE__*/React__default["default"].createElement(antd.Space, null, /*#__PURE__*/React__default["default"].createElement("div", {
65
+ return /*#__PURE__*/React__default["default"].createElement(antd.Space, {
66
+ className: "react-filter-item"
67
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
66
68
  className: "react-filter-item-label"
67
69
  }, label, ":"), /*#__PURE__*/React__default["default"].createElement("div", {
68
70
  className: "react-filter-item-children"
@@ -214,7 +216,7 @@ List.Item = function (_ref3) {
214
216
 
215
217
  if (value !== void 0) {
216
218
  itemProps.checked = currentValue.findIndex(function (item) {
217
- return isEqual__default["default"](item.value, value);
219
+ return isEqual__default["default"](get__default["default"](item, 'value'), value);
218
220
  }) > -1;
219
221
  itemProps.onChange = createCheckedChangeHandler({
220
222
  label: label,
@@ -321,6 +323,7 @@ var SearchButton = function SearchButton(_ref) {
321
323
  children = _ref.children,
322
324
  defaultValue = _ref.defaultValue,
323
325
  defaultActive = _ref.defaultActive,
326
+ onBlur = _ref.onBlur,
324
327
  onSearch = _ref.onSearch,
325
328
  onBeforeSearch = _ref.onBeforeSearch,
326
329
  onActiveChange = _ref.onActiveChange,
@@ -348,23 +351,31 @@ var SearchButton = function SearchButton(_ref) {
348
351
  };
349
352
 
350
353
  var ref = useClickOutSide__default["default"](function () {
351
- if (!active) {
352
- return;
353
- }
354
-
355
354
  setValue(get__default["default"](currentValue, "value"));
356
355
  setActive(false);
356
+ onBlur && onBlur();
357
357
  });
358
358
  var activeChangeRef = React.useRef(onActiveChange);
359
359
  activeChangeRef.current = onActiveChange;
360
360
  React.useEffect(function () {
361
361
  activeChangeRef.current && activeChangeRef.current(active);
362
362
  }, [active]);
363
+ var timer;
363
364
  return /*#__PURE__*/React__default["default"].createElement("div", {
364
365
  className: classnames__default["default"]("react-filter-search-button", {
365
366
  "is-active": active
366
367
  }),
367
- ref: ref
368
+ ref: ref,
369
+ onMouseEnter: function onMouseEnter() {
370
+ clearTimeout(timer);
371
+ !active && setActive(true);
372
+ },
373
+ onMouseLeave: function onMouseLeave() {
374
+ clearTimeout(timer);
375
+ timer = setTimeout(function () {
376
+ active && setActive(false);
377
+ }, 200);
378
+ }
368
379
  }, /*#__PURE__*/React__default["default"].createElement("div", {
369
380
  className: "inner"
370
381
  }, /*#__PURE__*/React__default["default"].createElement("div", null, children({
@@ -401,6 +412,7 @@ var RangeInner = function RangeInner(_ref) {
401
412
  size = _ref.size,
402
413
  defaultActive = _ref.defaultActive,
403
414
  template = _ref.template,
415
+ onBlur = _ref.onBlur,
404
416
  onSearch = _ref.onSearch,
405
417
  _onActiveChange = _ref.onActiveChange,
406
418
  startProps = _ref.startProps,
@@ -417,11 +429,6 @@ var RangeInner = function RangeInner(_ref) {
417
429
  return false;
418
430
  }
419
431
 
420
- if (value[0] === null && value[1] === null) {
421
- setError("最大值和最小值不能同时为空");
422
- return false;
423
- }
424
-
425
432
  if (isNumber__default["default"](value[1]) && value[0] > value[1]) {
426
433
  setError("最大值不能小于最小值");
427
434
  return false;
@@ -433,6 +440,7 @@ var RangeInner = function RangeInner(_ref) {
433
440
  return /*#__PURE__*/React__default["default"].createElement(SearchButton, {
434
441
  size: size,
435
442
  template: template,
443
+ onBlur: onBlur,
436
444
  defaultActive: defaultActive,
437
445
  name: name,
438
446
  onSearch: onSearch,
@@ -485,17 +493,19 @@ var RangeInner = function RangeInner(_ref) {
485
493
  };
486
494
  var Range = withFilterItem(RangeInner);
487
495
 
488
- var _excluded$3 = ["name", "label", "template", "defaultActive", "onSearch", "onActiveChange"];
496
+ var _excluded$3 = ["name", "label", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange"];
489
497
  var TextInner = function TextInner(_ref) {
490
498
  var name = _ref.name,
491
499
  template = _ref.template,
492
500
  defaultActive = _ref.defaultActive,
501
+ onBlur = _ref.onBlur,
493
502
  onSearch = _ref.onSearch,
494
503
  _onActiveChange = _ref.onActiveChange,
495
504
  props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
496
505
 
497
506
  return /*#__PURE__*/React__default["default"].createElement(SearchButton, {
498
507
  defaultActive: defaultActive,
508
+ onBlur: onBlur,
499
509
  template: template,
500
510
  name: name,
501
511
  onSearch: onSearch,
@@ -584,10 +594,8 @@ var withMoreExtraButton = function withMoreExtraButton(WrappedComponent) {
584
594
  defaultActive: true
585
595
  }, props, {
586
596
  name: name,
587
- onActiveChange: function onActiveChange(active) {
588
- if (active === false) {
589
- setIsEdit(false);
590
- }
597
+ onBlur: function onBlur() {
598
+ setIsEdit(false);
591
599
  }
592
600
  })) : /*#__PURE__*/React__default["default"].createElement(List.Item, {
593
601
  onClick: function onClick(e) {
@@ -653,13 +661,31 @@ var Filter = function Filter(_ref) {
653
661
  Object.keys(target).forEach(function (key) {
654
662
  var item = target[key];
655
663
 
656
- if (item === void 0 || item === null) {
657
- delete target[key];
658
- }
664
+ (function () {
665
+ if (Array.isArray(item) && item.length > 0 && item.every(function (item) {
666
+ return item.value === void 0 || item.value === null || item.value === "";
667
+ })) {
668
+ delete target[key];
669
+ return;
670
+ }
659
671
 
660
- if (Array.isArray(item) && item.length === 0) {
661
- delete target[key];
662
- }
672
+ if (Array.isArray(item) && item.length === 0) {
673
+ delete target[key];
674
+ return;
675
+ }
676
+
677
+ if (item && Array.isArray(item.value) && (item.value.length === 0 || item.value.every(function (item) {
678
+ return item === void 0 || item === null || item === "";
679
+ }))) {
680
+ delete target[key];
681
+ return;
682
+ }
683
+
684
+ if (item === void 0 || item === null || !Array.isArray(item) && item && (item.value === void 0 || item.value === null || item.value === "")) {
685
+ delete target[key];
686
+ return;
687
+ }
688
+ })();
663
689
  });
664
690
  onChange(target);
665
691
  };
@@ -691,6 +717,7 @@ var Filter = function Filter(_ref) {
691
717
  })), renderList(basicList), display ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(antd.Divider, {
692
718
  className: "react-filter-divider"
693
719
  }), renderList(moreList)) : null, /*#__PURE__*/React__default["default"].createElement(antd.Row, {
720
+ className: "react-filter-switch-btn",
694
721
  justify: "end"
695
722
  }, /*#__PURE__*/React__default["default"].createElement(antd.Col, null, /*#__PURE__*/React__default["default"].createElement(antd.Button, {
696
723
  type: "link",
@@ -699,7 +726,7 @@ var Filter = function Filter(_ref) {
699
726
  return !display;
700
727
  });
701
728
  }
702
- }, display ? "收起更多条件" : "展开更多")))));
729
+ }, display ? "收起筛选条件" : "展开筛选条件")))));
703
730
  };
704
731
 
705
732
  Filter.type = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/context.js","../src/FilterItem/index.js","../src/List/index.js","../src/City/index.js","../src/SearchButton/index.js","../src/Range/index.js","../src/Text/index.js","../src/Selector/index.js","../src/Check/index.js","../src/MoreExtraButton/index.js","../src/index.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\r\n\r\nconst context = createContext({});\r\n\r\nexport const { Consumer, Provider } = context;\r\n\r\nexport const useConsumer = () => useContext(context);\r\n\r\nexport default context;","import React from \"react\";\r\nimport { Space } from \"antd\";\r\n\r\nconst FilterItem = ({ label, children }) => {\r\n return <Space>\r\n <div className=\"react-filter-item-label\">{label}:</div>\r\n <div className=\"react-filter-item-children\">{children}</div>\r\n </Space>;\r\n};\r\n\r\nexport const withFilterItem = (WrappedComponent) => ({ label, ...props }) => <FilterItem\r\n label={label}><WrappedComponent {...props} /></FilterItem>;\r\n\r\nexport default FilterItem;","import React, { createContext, useContext } from \"react\";\r\nimport { Button, message, Tag } from \"antd\";\r\nimport { useConsumer } from \"../context\";\r\nimport FilterItem from \"../FilterItem\";\r\nimport get from \"lodash/get\";\r\nimport isFunction from \"lodash/isFunction\";\r\nimport isEqual from \"lodash/isEqual\";\r\n\r\nconst { CheckableTag } = Tag;\r\n\r\nconst context = createContext({});\r\n\r\nconst { Provider } = context;\r\n\r\nconst List = ({ label, name, size, children, options, more }) => {\r\n const { value, onChange } = useConsumer();\r\n const currentValue = (() => {\r\n const originValue = get(value, name);\r\n if (size === 1) {\r\n return originValue !== void (0) ? [originValue] : [];\r\n } else {\r\n return originValue || [];\r\n }\r\n })();\r\n\r\n const changeHandler = (value) => {\r\n if (size === 1) {\r\n return onChange(name, value[0]);\r\n } else {\r\n return onChange(name, value);\r\n }\r\n };\r\n const createCheckedChangeHandler = (value) => (checked) => {\r\n if (checked) {\r\n let newList = currentValue.slice(0);\r\n if (currentValue.length < size) {\r\n newList.push(value);\r\n }\r\n if (currentValue.length === size && size === 1) {\r\n newList = [value];\r\n }\r\n if (currentValue.length >= size && size > 1) {\r\n message.error(`最多选择${size}个`);\r\n return;\r\n }\r\n changeHandler(newList);\r\n } else {\r\n const newList = currentValue.slice(0);\r\n newList.splice(currentValue.indexOf(value), 1);\r\n changeHandler(newList);\r\n }\r\n };\r\n const computedChildren = (() => {\r\n if (Array.isArray(options)) {\r\n return options.map(({ label, value }) => <List.Item key={value} value={value} label={label} />);\r\n }\r\n if (isFunction(children)) {\r\n return children({ value: currentValue, onChange: changeHandler });\r\n }\r\n return children;\r\n })();\r\n return <FilterItem label={label}>\r\n <Provider value={{\r\n currentValue, createCheckedChangeHandler\r\n }}>\r\n {computedChildren}\r\n {more ? (() => {\r\n if (isFunction(more)) {\r\n return more({ name, size, label, value: currentValue, onChange: changeHandler });\r\n }\r\n const { children, onClick } = more;\r\n return <List.Item {...more} onClick={(e) => {\r\n onClick({ name, label, value: currentValue, onChange: changeHandler }, e);\r\n }} label={children || \"其他\"} />;\r\n })() : null}\r\n </Provider>\r\n </FilterItem>;\r\n};\r\n\r\nList.Item = ({ value, label, ...props }) => {\r\n const { currentValue, createCheckedChangeHandler } = useContext(context);\r\n const itemProps = {};\r\n if (value !== void (0)) {\r\n itemProps.checked = currentValue.findIndex((item) => isEqual(item.value, value)) > -1;\r\n itemProps.onChange = createCheckedChangeHandler({ label, value });\r\n }\r\n\r\n return <CheckableTag {...props} {...itemProps}>{label}</CheckableTag>;\r\n};\r\n\r\nList.defaultProps = {\r\n size: 2\r\n};\r\n\r\nexport default List;","import React from \"react\";\r\nimport { createCitySelect, apis, RemoteData, DisplayCity } from \"@kne/react-city-select\";\r\nimport List from \"../List\";\r\n\r\nconst { Item } = List;\r\n\r\nconst City = ({ label, name, size }) => {\r\n return <List label={label} name={name} size={size} more={{\r\n children: \"其他\", onClick: ({ value, onChange }) => {\r\n createCitySelect({\r\n size, defaultValue: value.map(({ value }) => value), onChange: (value) => {\r\n Promise.all(value.map((id) => apis.getCity(id).then(({ city }) => ({\r\n label: city.name, value: city.code\r\n })))).then((value) => onChange(value));\r\n }\r\n });\r\n }\r\n }}>\r\n {({ value: currentValue }) => <>\r\n <RemoteData loader={apis.getChinaHotCities}>{(data) => {\r\n const otherList = currentValue.filter(({ value: code }) => !data.find((item) => item.code === code));\r\n let extraLength = 0;\r\n data.forEach((item, index) => {\r\n if (currentValue.findIndex(({ value }) => value === item.code) > -1 && index >= data.length - otherList.length) {\r\n extraLength += 1;\r\n }\r\n });\r\n return <>\r\n {otherList.map(({ value: code }) => {\r\n return <DisplayCity id={code} key={code}>{({ city: item }) => {\r\n return <Item value={code} label={item.name} />;\r\n }}</DisplayCity>;\r\n })}\r\n {data.filter((item, index) => currentValue.findIndex(({ value }) => value === item.code) > -1 || index < data.length - otherList.length - extraLength).map((item) =>\r\n <Item key={item.code} value={item.code} label={item.name} />)}\r\n </>;\r\n }}</RemoteData>\r\n </>}\r\n </List>;\r\n};\r\n\r\nexport default City;","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Button, Space } from \"antd\";\r\nimport { useConsumer } from \"../context\";\r\nimport useClickOutSide from \"@kne/use-click-outside\";\r\nimport classnames from \"classnames\";\r\nimport isFunction from \"lodash/isFunction\";\r\nimport get from \"lodash/get\";\r\n\r\nconst SearchButton = ({\r\n name,\r\n size,\r\n template,\r\n children,\r\n defaultValue,\r\n defaultActive,\r\n onSearch,\r\n onBeforeSearch,\r\n onActiveChange,\r\n buttonText\r\n }) => {\r\n const { value: aValue, onChange } = useConsumer();\r\n const currentValue = aValue[name];\r\n const [value, setValue] = useState(defaultValue || get(currentValue, \"value\"));\r\n const [active, setActive] = useState(defaultActive);\r\n const withTemplate = (value) => ({\r\n value, label: isFunction(template) ? template(value) : value.toString()\r\n });\r\n const ref = useClickOutSide(() => {\r\n if (!active) {\r\n return;\r\n }\r\n setValue(get(currentValue, \"value\"));\r\n setActive(false);\r\n });\r\n\r\n const activeChangeRef = useRef(onActiveChange);\r\n activeChangeRef.current = onActiveChange;\r\n\r\n useEffect(() => {\r\n activeChangeRef.current && activeChangeRef.current(active);\r\n }, [active]);\r\n return <div className={classnames(\"react-filter-search-button\", {\r\n \"is-active\": active\r\n })} ref={ref}>\r\n <div className=\"inner\">\r\n <div>{children({ value, setValue, setActive })}</div>\r\n {active ? <Button className=\"react-filter-search-confirm\" size=\"small\" type=\"primary\" onClick={(e) => {\r\n e.stopPropagation();\r\n if (onBeforeSearch && onBeforeSearch(value) === false) {\r\n return;\r\n }\r\n onChange(name, Number.isInteger(size) && size > 1 ? [withTemplate(value)] : withTemplate(value));\r\n setActive(false);\r\n onSearch && onSearch({ value });\r\n }}>{buttonText}</Button> : null}</div>\r\n </div>;\r\n};\r\n\r\nSearchButton.defaultProps = {\r\n defaultActive: false, buttonText: \"确定\"\r\n};\r\n\r\nexport default SearchButton;","import React, { useState } from \"react\";\r\nimport { InputNumber, Space, Tooltip } from \"antd\";\r\nimport { withFilterItem } from \"../FilterItem\";\r\nimport SearchButton from \"../SearchButton\";\r\nimport get from \"lodash/get\";\r\nimport isNumber from \"lodash/isNumber\";\r\n\r\nexport const RangeInner = ({ name, size, defaultActive, template, onSearch, onActiveChange, startProps, endProps }) => {\r\n const [error, setError] = useState(null);\r\n const check = (value) => {\r\n setError(null);\r\n if (!Array.isArray(value)) {\r\n return false;\r\n }\r\n if (value[0] === null && value[1] === null) {\r\n setError(\"最大值和最小值不能同时为空\");\r\n return false;\r\n }\r\n if (isNumber(value[1]) && value[0] > value[1]) {\r\n setError(\"最大值不能小于最小值\");\r\n return false;\r\n }\r\n return true;\r\n };\r\n return <SearchButton size={size} template={template} defaultActive={defaultActive} name={name} onSearch={onSearch}\r\n onBeforeSearch={(value) => {\r\n return check(value);\r\n }} onActiveChange={(active) => {\r\n if (!active) {\r\n setError(null);\r\n }\r\n onActiveChange && onActiveChange(active);\r\n }}>\r\n {({ value, setValue, setActive }) => <Tooltip visible={!!error} title={error} placement=\"bottomRight\"><Space\r\n size=\"small\">\r\n <InputNumber size=\"small\" {...startProps} value={get(value, 0)} onChange={(inputValue) => {\r\n const target = [inputValue, get(value, 1)];\r\n check(target);\r\n setValue(target);\r\n }} onFocus={() => {\r\n setActive(true);\r\n }} />\r\n ~\r\n <InputNumber size=\"small\" {...endProps} value={get(value, 1)} onChange={(inputValue) => {\r\n const target = [get(value, 0), inputValue];\r\n check(target);\r\n setValue(target);\r\n }} onFocus={() => {\r\n setActive(true);\r\n }} />\r\n </Space></Tooltip>}\r\n </SearchButton>;\r\n};\r\n\r\nconst Range = withFilterItem(RangeInner);\r\n\r\nexport default Range;\r\n\r\n","import React from \"react\";\r\nimport { Input } from \"antd\";\r\nimport { withFilterItem } from \"../FilterItem\";\r\nimport SearchButton from \"../SearchButton\";\r\n\r\nexport const TextInner = ({ name, label, template, defaultActive, onSearch, onActiveChange, ...props }) => {\r\n return <SearchButton defaultActive={defaultActive} template={template} name={name} onSearch={onSearch}\r\n onActiveChange={(active) => {\r\n onActiveChange && onActiveChange(active);\r\n }}>\r\n {({ value, setValue, setActive }) => <>\r\n <Input size=\"small\" {...props} value={value} onChange={(e) => {\r\n setValue(e.target.value);\r\n }} onFocus={() => {\r\n setActive(true);\r\n }} />\r\n </>}\r\n </SearchButton>;\r\n};\r\n\r\nconst Text = withFilterItem(TextInner);\r\n\r\nexport default Text;\r\n\r\n","import React from \"react\";\r\nimport { Select } from \"antd\";\r\nimport { withFilterItem } from \"../FilterItem\";\r\nimport { useConsumer } from \"../context\";\r\n\r\nexport const SelectorInner = ({ name, ...props }) => {\r\n const { value: aValue, onChange } = useConsumer();\r\n const currentValue = aValue[name];\r\n return <Select {...props} style={{ minWidth: \"150px\" }} size=\"small\" value={currentValue} onChange={(value, item) => {\r\n onChange(name, item);\r\n }} />;\r\n};\r\n\r\nconst Selector = withFilterItem(SelectorInner);\r\n\r\nexport default Selector;","import React from \"react\";\r\nimport { Checkbox } from \"antd\";\r\nimport { useConsumer } from \"../context\";\r\n\r\nconst Check = ({ name, label, ...props }) => {\r\n const { value: aValue, onChange } = useConsumer();\r\n const currentValue = aValue[name];\r\n return <Checkbox {...props} size=\"small\" checked={currentValue} onChange={(e) => {\r\n onChange(name, e.target.checked ? { value: true, label } : null);\r\n }}>{label}</Checkbox>;\r\n};\r\n\r\nexport default Check;","import React, { useState } from \"react\";\r\nimport List from \"../List\";\r\nimport { RangeInner } from \"../Range\";\r\nimport { TextInner } from \"../Text\";\r\nimport { SelectorInner } from \"../Selector\";\r\n\r\nexport const withMoreExtraButton = (WrappedComponent) => ({ name, value, children, ...props }) => {\r\n const [isEdit, setIsEdit] = useState(false);\r\n return isEdit ? <WrappedComponent defaultActive={true} {...props} name={name} onActiveChange={(active) => {\r\n if (active === false) {\r\n setIsEdit(false);\r\n }\r\n }} /> : <List.Item onClick={(e) => {\r\n e.stopPropagation();\r\n setIsEdit(true);\r\n }} label={children || \"其他\"} />;\r\n};\r\n\r\nconst RangeButton = withMoreExtraButton(RangeInner);\r\nconst TextButton = withMoreExtraButton(TextInner);\r\nconst SelectorButton = withMoreExtraButton(SelectorInner);\r\n\r\nexport const createExtraButton = ({ type, ...props }) => (innerProps) => {\r\n const mapping = {\r\n range: RangeButton, text: TextButton, selector: SelectorButton\r\n };\r\n\r\n const ExtraButtonComponent = mapping[type];\r\n if (!ExtraButtonComponent) {\r\n return null;\r\n }\r\n return <ExtraButtonComponent {...props} {...innerProps} />;\r\n};\r\n\r\n","import React, { cloneElement, useState } from \"react\";\r\nimport { Space, Button, Divider, Tag, Row, Col } from \"antd\";\r\nimport City from \"./City\";\r\nimport List from \"./List\";\r\nimport Range from \"./Range\";\r\nimport Text from \"./Text\";\r\nimport Selector from \"./Selector\";\r\nimport Check from \"./Check\";\r\nimport { Provider } from \"./context\";\r\nimport FilterItem from \"./FilterItem\";\r\nimport \"./index.scss\";\r\n\r\nconst Filter = ({ displayLine, list, value, onChange }) => {\r\n const [display, setDisplay] = useState(false);\r\n const basicList = list.slice(0, displayLine), moreList = list.slice(displayLine);\r\n const renderList = (list) => list.map((item, index) => {\r\n return <Space key={index}>{item.map((item, index) => cloneElement(item, { key: index }))}</Space>;\r\n });\r\n const changeHandler = (name, item) => {\r\n const target = Object.assign({}, value, { [name]: item });\r\n Object.keys(target).forEach((key) => {\r\n const item = target[key];\r\n if (item === void (0) || item === null) {\r\n delete target[key];\r\n }\r\n if (Array.isArray(item) && item.length === 0) {\r\n delete target[key];\r\n }\r\n });\r\n onChange(target);\r\n };\r\n return <Provider value={{\r\n value, onChange: changeHandler\r\n }}>\r\n <Space className=\"space-full\" direction=\"vertical\">\r\n <FilterItem label=\"筛选项\">{Object.keys(value).map((key) => {\r\n const item = value[key];\r\n if (!item) return null;\r\n if (Array.isArray(item) && item.length === 0) return null;\r\n return <Tag key={key} closable onClose={() => {\r\n changeHandler(key, null);\r\n }}>{Array.isArray(item) ? item.map(({ label }) => label).join(\",\") : item.label}</Tag>;\r\n })}</FilterItem>\r\n {renderList(basicList)}\r\n {display ? <><Divider className=\"react-filter-divider\" />{renderList(moreList)}</> : null}\r\n <Row justify=\"end\">\r\n <Col><Button type=\"link\" onClick={() => {\r\n setDisplay((display) => !display);\r\n }}>{display ? \"收起更多条件\" : \"展开更多\"}</Button></Col>\r\n </Row>\r\n </Space>\r\n </Provider>;\r\n};\r\n\r\nFilter.type = {\r\n City, List, Range, Text, Selector, Check\r\n};\r\n\r\nFilter.defaultProps = {\r\n displayLine: 2, list: [[]], value: {}, onChange: () => {\r\n }\r\n};\r\n\r\nexport { createExtraButton, withMoreExtraButton } from \"./MoreExtraButton\";\r\n\r\nexport { default as SearchButton } from \"./SearchButton\";\r\n\r\nexport { default as FilterItem, withFilterItem } from \"./FilterItem\";\r\n\r\nexport default Filter;"],"names":["context","createContext","Provider","useConsumer","useContext","FilterItem","label","children","React","Space","withFilterItem","WrappedComponent","props","CheckableTag","Tag","List","name","size","options","more","value","onChange","currentValue","originValue","get","changeHandler","createCheckedChangeHandler","checked","newList","slice","length","push","message","error","splice","indexOf","computedChildren","Array","isArray","map","isFunction","onClick","e","Item","itemProps","findIndex","item","isEqual","defaultProps","City","createCitySelect","defaultValue","Promise","all","id","apis","getCity","then","city","code","RemoteData","getChinaHotCities","data","otherList","filter","find","extraLength","forEach","index","DisplayCity","SearchButton","template","defaultActive","onSearch","onBeforeSearch","onActiveChange","buttonText","aValue","useState","setValue","active","setActive","withTemplate","toString","ref","useClickOutSide","activeChangeRef","useRef","current","useEffect","classnames","Button","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","setError","check","isNumber","Tooltip","InputNumber","inputValue","target","Range","TextInner","Input","Text","SelectorInner","Select","minWidth","Selector","Check","Checkbox","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","type","innerProps","mapping","range","text","selector","ExtraButtonComponent","Filter","displayLine","list","display","setDisplay","basicList","moreList","renderList","cloneElement","key","Object","assign","keys","join","Divider","Row","Col"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/context.js","../src/FilterItem/index.js","../src/List/index.js","../src/City/index.js","../src/SearchButton/index.js","../src/Range/index.js","../src/Text/index.js","../src/Selector/index.js","../src/Check/index.js","../src/MoreExtraButton/index.js","../src/index.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nconst context = createContext({});\n\nexport const { Consumer, Provider } = context;\n\nexport const useConsumer = () => useContext(context);\n\nexport default context;","import React from \"react\";\nimport { Space } from \"antd\";\n\nconst FilterItem = ({ label, children }) => {\n return <Space className=\"react-filter-item\">\n <div className=\"react-filter-item-label\">{label}:</div>\n <div className=\"react-filter-item-children\">{children}</div>\n </Space>;\n};\n\nexport const withFilterItem = (WrappedComponent) => ({ label, ...props }) => <FilterItem\n label={label}><WrappedComponent {...props} /></FilterItem>;\n\nexport default FilterItem;\n","import React, { createContext, useContext } from \"react\";\nimport { Button, message, Tag } from \"antd\";\nimport { useConsumer } from \"../context\";\nimport FilterItem from \"../FilterItem\";\nimport get from \"lodash/get\";\nimport isFunction from \"lodash/isFunction\";\nimport isEqual from \"lodash/isEqual\";\n\nconst { CheckableTag } = Tag;\n\nconst context = createContext({});\n\nconst { Provider } = context;\n\nconst List = ({ label, name, size, children, options, more }) => {\n const { value, onChange } = useConsumer();\n const currentValue = (() => {\n const originValue = get(value, name);\n if (size === 1) {\n return originValue !== void (0) ? [originValue] : [];\n } else {\n return originValue || [];\n }\n })();\n\n const changeHandler = (value) => {\n if (size === 1) {\n return onChange(name, value[0]);\n } else {\n return onChange(name, value);\n }\n };\n const createCheckedChangeHandler = (value) => (checked) => {\n if (checked) {\n let newList = currentValue.slice(0);\n if (currentValue.length < size) {\n newList.push(value);\n }\n if (currentValue.length === size && size === 1) {\n newList = [value];\n }\n if (currentValue.length >= size && size > 1) {\n message.error(`最多选择${size}个`);\n return;\n }\n changeHandler(newList);\n } else {\n const newList = currentValue.slice(0);\n newList.splice(currentValue.indexOf(value), 1);\n changeHandler(newList);\n }\n };\n const computedChildren = (() => {\n if (Array.isArray(options)) {\n return options.map(({ label, value }) => <List.Item key={value} value={value} label={label} />);\n }\n if (isFunction(children)) {\n return children({ value: currentValue, onChange: changeHandler });\n }\n return children;\n })();\n return <FilterItem label={label}>\n <Provider value={{\n currentValue, createCheckedChangeHandler\n }}>\n {computedChildren}\n {more ? (() => {\n if (isFunction(more)) {\n return more({ name, size, label, value: currentValue, onChange: changeHandler });\n }\n const { children, onClick } = more;\n return <List.Item {...more} onClick={(e) => {\n onClick({ name, label, value: currentValue, onChange: changeHandler }, e);\n }} label={children || \"其他\"} />;\n })() : null}\n </Provider>\n </FilterItem>;\n};\n\nList.Item = ({ value, label, ...props }) => {\n const { currentValue, createCheckedChangeHandler } = useContext(context);\n const itemProps = {};\n if (value !== void (0)) {\n itemProps.checked = currentValue.findIndex((item) => isEqual(get(item,'value'), value)) > -1;\n itemProps.onChange = createCheckedChangeHandler({ label, value });\n }\n\n return <CheckableTag {...props} {...itemProps}>{label}</CheckableTag>;\n};\n\nList.defaultProps = {\n size: 2\n};\n\nexport default List;\n","import React from \"react\";\nimport { createCitySelect, apis, RemoteData, DisplayCity } from \"@kne/react-city-select\";\nimport List from \"../List\";\n\nconst { Item } = List;\n\nconst City = ({ label, name, size }) => {\n return <List label={label} name={name} size={size} more={{\n children: \"其他\", onClick: ({ value, onChange }) => {\n createCitySelect({\n size, defaultValue: value.map(({ value }) => value), onChange: (value) => {\n Promise.all(value.map((id) => apis.getCity(id).then(({ city }) => ({\n label: city.name, value: city.code\n })))).then((value) => onChange(value));\n }\n });\n }\n }}>\n {({ value: currentValue }) => <>\n <RemoteData loader={apis.getChinaHotCities}>{(data) => {\n const otherList = currentValue.filter(({ value: code }) => !data.find((item) => item.code === code));\n let extraLength = 0;\n data.forEach((item, index) => {\n if (currentValue.findIndex(({ value }) => value === item.code) > -1 && index >= data.length - otherList.length) {\n extraLength += 1;\n }\n });\n return <>\n {otherList.map(({ value: code }) => {\n return <DisplayCity id={code} key={code}>{({ city: item }) => {\n return <Item value={code} label={item.name} />;\n }}</DisplayCity>;\n })}\n {data.filter((item, index) => currentValue.findIndex(({ value }) => value === item.code) > -1 || index < data.length - otherList.length - extraLength).map((item) =>\n <Item key={item.code} value={item.code} label={item.name} />)}\n </>;\n }}</RemoteData>\n </>}\n </List>;\n};\n\nexport default City;","import React, { useState, useEffect, useRef } from \"react\";\nimport { Button, Space } from \"antd\";\nimport { useConsumer } from \"../context\";\nimport useClickOutSide from \"@kne/use-click-outside\";\nimport classnames from \"classnames\";\nimport isFunction from \"lodash/isFunction\";\nimport get from \"lodash/get\";\n\nconst SearchButton = ({\n name,\n size,\n template,\n children,\n defaultValue,\n defaultActive,\n onBlur,\n onSearch,\n onBeforeSearch,\n onActiveChange,\n buttonText\n }) => {\n const { value: aValue, onChange } = useConsumer();\n const currentValue = aValue[name];\n const [value, setValue] = useState(defaultValue || get(currentValue, \"value\"));\n const [active, setActive] = useState(defaultActive);\n const withTemplate = (value) => ({\n value, label: isFunction(template) ? template(value) : value.toString()\n });\n const ref = useClickOutSide(() => {\n setValue(get(currentValue, \"value\"));\n setActive(false);\n onBlur && onBlur();\n });\n\n const activeChangeRef = useRef(onActiveChange);\n activeChangeRef.current = onActiveChange;\n\n useEffect(() => {\n activeChangeRef.current && activeChangeRef.current(active);\n }, [active]);\n let timer;\n return <div className={classnames(\"react-filter-search-button\", {\n \"is-active\": active\n })} ref={ref} onMouseEnter={() => {\n clearTimeout(timer);\n !active && setActive(true);\n }} onMouseLeave={() => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n active && setActive(false);\n }, 200);\n }}>\n <div className=\"inner\">\n <div>{children({ value, setValue, setActive })}</div>\n {active ? <Button className=\"react-filter-search-confirm\" size=\"small\" type=\"primary\" onClick={(e) => {\n e.stopPropagation();\n if (onBeforeSearch && onBeforeSearch(value) === false) {\n return;\n }\n onChange(name, Number.isInteger(size) && size > 1 ? [withTemplate(value)] : withTemplate(value));\n setActive(false);\n onSearch && onSearch({ value });\n }}>{buttonText}</Button> : null}</div>\n </div>;\n};\n\nSearchButton.defaultProps = {\n defaultActive: false, buttonText: \"确定\"\n};\n\nexport default SearchButton;","import React, { useState } from \"react\";\nimport { InputNumber, Space, Tooltip } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\nimport get from \"lodash/get\";\nimport isNumber from \"lodash/isNumber\";\n\nexport const RangeInner = ({\n name, size, defaultActive, template, onBlur, onSearch, onActiveChange, startProps, endProps\n }) => {\n const [error, setError] = useState(null);\n const check = (value) => {\n setError(null);\n if (!Array.isArray(value)) {\n return false;\n }\n if (isNumber(value[1]) && value[0] > value[1]) {\n setError(\"最大值不能小于最小值\");\n return false;\n }\n return true;\n };\n return <SearchButton size={size} template={template} onBlur={onBlur} defaultActive={defaultActive} name={name} onSearch={onSearch}\n onBeforeSearch={(value) => {\n return check(value);\n }} onActiveChange={(active) => {\n if (!active) {\n setError(null);\n }\n onActiveChange && onActiveChange(active);\n }}>\n {({ value, setValue, setActive }) => <Tooltip visible={!!error} title={error} placement=\"bottomRight\"><Space\n size=\"small\">\n <InputNumber size=\"small\" {...startProps} value={get(value, 0)} onChange={(inputValue) => {\n const target = [inputValue, get(value, 1)];\n check(target);\n setValue(target);\n }} onFocus={() => {\n setActive(true);\n }} />\n ~\n <InputNumber size=\"small\" {...endProps} value={get(value, 1)} onChange={(inputValue) => {\n const target = [get(value, 0), inputValue];\n check(target);\n setValue(target);\n }} onFocus={() => {\n setActive(true);\n }} />\n </Space></Tooltip>}\n </SearchButton>;\n};\n\nconst Range = withFilterItem(RangeInner);\n\nexport default Range;\n\n","import React from \"react\";\nimport { Input } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\n\nexport const TextInner = ({ name, label, template, defaultActive, onBlur, onSearch, onActiveChange, ...props }) => {\n return <SearchButton defaultActive={defaultActive} onBlur={onBlur} template={template} name={name} onSearch={onSearch}\n onActiveChange={(active) => {\n onActiveChange && onActiveChange(active);\n }}>\n {({ value, setValue, setActive }) => <>\n <Input size=\"small\" {...props} value={value} onChange={(e) => {\n setValue(e.target.value);\n }} onFocus={() => {\n setActive(true);\n }} />\n </>}\n </SearchButton>;\n};\n\nconst Text = withFilterItem(TextInner);\n\nexport default Text;\n\n","import React from \"react\";\nimport { Select } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport { useConsumer } from \"../context\";\n\nexport const SelectorInner = ({ name, ...props }) => {\n const { value: aValue, onChange } = useConsumer();\n const currentValue = aValue[name];\n return <Select {...props} style={{ minWidth: \"150px\" }} size=\"small\" value={currentValue} onChange={(value, item) => {\n onChange(name, item);\n }} />;\n};\n\nconst Selector = withFilterItem(SelectorInner);\n\nexport default Selector;","import React from \"react\";\nimport { Checkbox } from \"antd\";\nimport { useConsumer } from \"../context\";\n\nconst Check = ({ name, label, ...props }) => {\n const { value: aValue, onChange } = useConsumer();\n const currentValue = aValue[name];\n return <Checkbox {...props} size=\"small\" checked={currentValue} onChange={(e) => {\n onChange(name, e.target.checked ? { value: true, label } : null);\n }}>{label}</Checkbox>;\n};\n\nexport default Check;","import React, { useState } from \"react\";\nimport List from \"../List\";\nimport { RangeInner } from \"../Range\";\nimport { TextInner } from \"../Text\";\nimport { SelectorInner } from \"../Selector\";\n\nexport const withMoreExtraButton = (WrappedComponent) => ({ name, value, children, ...props }) => {\n const [isEdit, setIsEdit] = useState(false);\n return isEdit ? <WrappedComponent defaultActive={true} {...props} name={name} onBlur={() => {\n setIsEdit(false);\n }} /> : <List.Item onClick={(e) => {\n e.stopPropagation();\n setIsEdit(true);\n }} label={children || \"其他\"} />;\n};\n\nconst RangeButton = withMoreExtraButton(RangeInner);\nconst TextButton = withMoreExtraButton(TextInner);\nconst SelectorButton = withMoreExtraButton(SelectorInner);\n\nexport const createExtraButton = ({ type, ...props }) => (innerProps) => {\n const mapping = {\n range: RangeButton, text: TextButton, selector: SelectorButton\n };\n\n const ExtraButtonComponent = mapping[type];\n if (!ExtraButtonComponent) {\n return null;\n }\n return <ExtraButtonComponent {...props} {...innerProps} />;\n};\n\n","import React, {cloneElement, useState} from \"react\";\nimport {Space, Button, Divider, Tag, Row, Col} from \"antd\";\nimport City from \"./City\";\nimport List from \"./List\";\nimport Range from \"./Range\";\nimport Text from \"./Text\";\nimport Selector from \"./Selector\";\nimport Check from \"./Check\";\nimport {Provider} from \"./context\";\nimport FilterItem from \"./FilterItem\";\nimport \"./index.scss\";\n\nconst Filter = ({displayLine, list, value, onChange}) => {\n const [display, setDisplay] = useState(false);\n const basicList = list.slice(0, displayLine), moreList = list.slice(displayLine);\n const renderList = (list) => list.map((item, index) => {\n return <Space key={index}>{item.map((item, index) => cloneElement(item, {key: index}))}</Space>;\n });\n const changeHandler = (name, item) => {\n const target = Object.assign({}, value, {[name]: item});\n Object.keys(target).forEach((key) => {\n const item = target[key];\n (() => {\n if (Array.isArray(item) && item.length > 0 && item.every((item) => item.value === void (0) || item.value === null || item.value === \"\")) {\n delete target[key];\n return;\n }\n if (Array.isArray(item) && item.length === 0) {\n delete target[key];\n return;\n }\n if (item && Array.isArray(item.value) && (item.value.length === 0 || item.value.every((item) => item === void (0) || item === null || item === \"\"))) {\n delete target[key];\n return;\n }\n if (item === void (0) || item === null || (!Array.isArray(item) && item && (item.value === void (0) || item.value === null || item.value === \"\"))) {\n delete target[key];\n return;\n }\n })();\n });\n onChange(target);\n };\n return <Provider value={{\n value, onChange: changeHandler\n }}>\n <Space className=\"space-full\" direction=\"vertical\">\n <FilterItem label=\"筛选项\">{Object.keys(value).map((key) => {\n const item = value[key];\n if (!item) return null;\n if (Array.isArray(item) && item.length === 0) return null;\n return <Tag key={key} closable onClose={() => {\n changeHandler(key, null);\n }}>{Array.isArray(item) ? item.map(({label}) => label).join(\",\") : item.label}</Tag>;\n })}</FilterItem>\n {renderList(basicList)}\n {display ? <><Divider className=\"react-filter-divider\"/>{renderList(moreList)}</> : null}\n <Row className=\"react-filter-switch-btn\" justify=\"end\">\n <Col><Button type=\"link\" onClick={() => {\n setDisplay((display) => !display);\n }}>{display ? \"收起筛选条件\" : \"展开筛选条件\"}</Button></Col>\n </Row>\n </Space>\n </Provider>;\n};\n\nFilter.type = {\n City, List, Range, Text, Selector, Check\n};\n\nFilter.defaultProps = {\n displayLine: 2, list: [[]], value: {}, onChange: () => {\n }\n};\n\nexport {createExtraButton, withMoreExtraButton} from \"./MoreExtraButton\";\n\nexport {default as SearchButton} from \"./SearchButton\";\n\nexport {default as FilterItem, withFilterItem} from \"./FilterItem\";\n\nexport default Filter;\n"],"names":["context","createContext","Provider","useConsumer","useContext","FilterItem","label","children","React","Space","withFilterItem","WrappedComponent","props","CheckableTag","Tag","List","name","size","options","more","value","onChange","currentValue","originValue","get","changeHandler","createCheckedChangeHandler","checked","newList","slice","length","push","message","error","splice","indexOf","computedChildren","Array","isArray","map","isFunction","onClick","e","Item","itemProps","findIndex","item","isEqual","defaultProps","City","createCitySelect","defaultValue","Promise","all","id","apis","getCity","then","city","code","RemoteData","getChinaHotCities","data","otherList","filter","find","extraLength","forEach","index","DisplayCity","SearchButton","template","defaultActive","onBlur","onSearch","onBeforeSearch","onActiveChange","buttonText","aValue","useState","setValue","active","setActive","withTemplate","toString","ref","useClickOutSide","activeChangeRef","useRef","current","useEffect","timer","classnames","clearTimeout","setTimeout","Button","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","setError","check","isNumber","Tooltip","InputNumber","inputValue","target","Range","TextInner","Input","Text","SelectorInner","Select","minWidth","Selector","Check","Checkbox","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","type","innerProps","mapping","range","text","selector","ExtraButtonComponent","Filter","displayLine","list","display","setDisplay","basicList","moreList","renderList","cloneElement","key","Object","assign","keys","every","join","Divider","Row","Col"],"mappings":"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"}
@@ -54,7 +54,9 @@ const FilterItem = ({
54
54
  label,
55
55
  children
56
56
  }) => {
57
- return /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement("div", {
57
+ return /*#__PURE__*/React.createElement(Space, {
58
+ className: "react-filter-item"
59
+ }, /*#__PURE__*/React.createElement("div", {
58
60
  className: "react-filter-item-label"
59
61
  }, label, ":"), /*#__PURE__*/React.createElement("div", {
60
62
  className: "react-filter-item-children"
@@ -209,7 +211,7 @@ List.Item = _ref => {
209
211
  const itemProps = {};
210
212
 
211
213
  if (value !== void 0) {
212
- itemProps.checked = currentValue.findIndex(item => isEqual(item.value, value)) > -1;
214
+ itemProps.checked = currentValue.findIndex(item => isEqual(get(item, 'value'), value)) > -1;
213
215
  itemProps.onChange = createCheckedChangeHandler({
214
216
  label,
215
217
  value
@@ -305,6 +307,7 @@ const SearchButton = ({
305
307
  children,
306
308
  defaultValue,
307
309
  defaultActive,
310
+ onBlur,
308
311
  onSearch,
309
312
  onBeforeSearch,
310
313
  onActiveChange,
@@ -324,23 +327,31 @@ const SearchButton = ({
324
327
  });
325
328
 
326
329
  const ref = useClickOutSide(() => {
327
- if (!active) {
328
- return;
329
- }
330
-
331
330
  setValue(get(currentValue, "value"));
332
331
  setActive(false);
332
+ onBlur && onBlur();
333
333
  });
334
334
  const activeChangeRef = useRef(onActiveChange);
335
335
  activeChangeRef.current = onActiveChange;
336
336
  useEffect(() => {
337
337
  activeChangeRef.current && activeChangeRef.current(active);
338
338
  }, [active]);
339
+ let timer;
339
340
  return /*#__PURE__*/React.createElement("div", {
340
341
  className: classnames("react-filter-search-button", {
341
342
  "is-active": active
342
343
  }),
343
- ref: ref
344
+ ref: ref,
345
+ onMouseEnter: () => {
346
+ clearTimeout(timer);
347
+ !active && setActive(true);
348
+ },
349
+ onMouseLeave: () => {
350
+ clearTimeout(timer);
351
+ timer = setTimeout(() => {
352
+ active && setActive(false);
353
+ }, 200);
354
+ }
344
355
  }, /*#__PURE__*/React.createElement("div", {
345
356
  className: "inner"
346
357
  }, /*#__PURE__*/React.createElement("div", null, children({
@@ -377,6 +388,7 @@ const RangeInner = ({
377
388
  size,
378
389
  defaultActive,
379
390
  template,
391
+ onBlur,
380
392
  onSearch,
381
393
  onActiveChange,
382
394
  startProps,
@@ -391,11 +403,6 @@ const RangeInner = ({
391
403
  return false;
392
404
  }
393
405
 
394
- if (value[0] === null && value[1] === null) {
395
- setError("最大值和最小值不能同时为空");
396
- return false;
397
- }
398
-
399
406
  if (isNumber(value[1]) && value[0] > value[1]) {
400
407
  setError("最大值不能小于最小值");
401
408
  return false;
@@ -407,6 +414,7 @@ const RangeInner = ({
407
414
  return /*#__PURE__*/React.createElement(SearchButton, {
408
415
  size: size,
409
416
  template: template,
417
+ onBlur: onBlur,
410
418
  defaultActive: defaultActive,
411
419
  name: name,
412
420
  onSearch: onSearch,
@@ -458,12 +466,13 @@ const RangeInner = ({
458
466
  };
459
467
  const Range = withFilterItem(RangeInner);
460
468
 
461
- const _excluded$3 = ["name", "label", "template", "defaultActive", "onSearch", "onActiveChange"];
469
+ const _excluded$3 = ["name", "label", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange"];
462
470
  const TextInner = _ref => {
463
471
  let {
464
472
  name,
465
473
  template,
466
474
  defaultActive,
475
+ onBlur,
467
476
  onSearch,
468
477
  onActiveChange
469
478
  } = _ref,
@@ -471,6 +480,7 @@ const TextInner = _ref => {
471
480
 
472
481
  return /*#__PURE__*/React.createElement(SearchButton, {
473
482
  defaultActive: defaultActive,
483
+ onBlur: onBlur,
474
484
  template: template,
475
485
  name: name,
476
486
  onSearch: onSearch,
@@ -560,10 +570,8 @@ const withMoreExtraButton = WrappedComponent => _ref => {
560
570
  defaultActive: true
561
571
  }, props, {
562
572
  name: name,
563
- onActiveChange: active => {
564
- if (active === false) {
565
- setIsEdit(false);
566
- }
573
+ onBlur: () => {
574
+ setIsEdit(false);
567
575
  }
568
576
  })) : /*#__PURE__*/React.createElement(List.Item, {
569
577
  onClick: e => {
@@ -623,13 +631,27 @@ const Filter = ({
623
631
  Object.keys(target).forEach(key => {
624
632
  const item = target[key];
625
633
 
626
- if (item === void 0 || item === null) {
627
- delete target[key];
628
- }
634
+ (() => {
635
+ if (Array.isArray(item) && item.length > 0 && item.every(item => item.value === void 0 || item.value === null || item.value === "")) {
636
+ delete target[key];
637
+ return;
638
+ }
629
639
 
630
- if (Array.isArray(item) && item.length === 0) {
631
- delete target[key];
632
- }
640
+ if (Array.isArray(item) && item.length === 0) {
641
+ delete target[key];
642
+ return;
643
+ }
644
+
645
+ if (item && Array.isArray(item.value) && (item.value.length === 0 || item.value.every(item => item === void 0 || item === null || item === ""))) {
646
+ delete target[key];
647
+ return;
648
+ }
649
+
650
+ if (item === void 0 || item === null || !Array.isArray(item) && item && (item.value === void 0 || item.value === null || item.value === "")) {
651
+ delete target[key];
652
+ return;
653
+ }
654
+ })();
633
655
  });
634
656
  onChange(target);
635
657
  };
@@ -660,13 +682,14 @@ const Filter = ({
660
682
  })), renderList(basicList), display ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
661
683
  className: "react-filter-divider"
662
684
  }), renderList(moreList)) : null, /*#__PURE__*/React.createElement(Row, {
685
+ className: "react-filter-switch-btn",
663
686
  justify: "end"
664
687
  }, /*#__PURE__*/React.createElement(Col, null, /*#__PURE__*/React.createElement(Button, {
665
688
  type: "link",
666
689
  onClick: () => {
667
690
  setDisplay(display => !display);
668
691
  }
669
- }, display ? "收起更多条件" : "展开更多")))));
692
+ }, display ? "收起筛选条件" : "展开筛选条件")))));
670
693
  };
671
694
 
672
695
  Filter.type = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/context.js","../src/FilterItem/index.js","../src/List/index.js","../src/City/index.js","../src/SearchButton/index.js","../src/Range/index.js","../src/Text/index.js","../src/Selector/index.js","../src/Check/index.js","../src/MoreExtraButton/index.js","../src/index.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\r\n\r\nconst context = createContext({});\r\n\r\nexport const { Consumer, Provider } = context;\r\n\r\nexport const useConsumer = () => useContext(context);\r\n\r\nexport default context;","import React from \"react\";\r\nimport { Space } from \"antd\";\r\n\r\nconst FilterItem = ({ label, children }) => {\r\n return <Space>\r\n <div className=\"react-filter-item-label\">{label}:</div>\r\n <div className=\"react-filter-item-children\">{children}</div>\r\n </Space>;\r\n};\r\n\r\nexport const withFilterItem = (WrappedComponent) => ({ label, ...props }) => <FilterItem\r\n label={label}><WrappedComponent {...props} /></FilterItem>;\r\n\r\nexport default FilterItem;","import React, { createContext, useContext } from \"react\";\r\nimport { Button, message, Tag } from \"antd\";\r\nimport { useConsumer } from \"../context\";\r\nimport FilterItem from \"../FilterItem\";\r\nimport get from \"lodash/get\";\r\nimport isFunction from \"lodash/isFunction\";\r\nimport isEqual from \"lodash/isEqual\";\r\n\r\nconst { CheckableTag } = Tag;\r\n\r\nconst context = createContext({});\r\n\r\nconst { Provider } = context;\r\n\r\nconst List = ({ label, name, size, children, options, more }) => {\r\n const { value, onChange } = useConsumer();\r\n const currentValue = (() => {\r\n const originValue = get(value, name);\r\n if (size === 1) {\r\n return originValue !== void (0) ? [originValue] : [];\r\n } else {\r\n return originValue || [];\r\n }\r\n })();\r\n\r\n const changeHandler = (value) => {\r\n if (size === 1) {\r\n return onChange(name, value[0]);\r\n } else {\r\n return onChange(name, value);\r\n }\r\n };\r\n const createCheckedChangeHandler = (value) => (checked) => {\r\n if (checked) {\r\n let newList = currentValue.slice(0);\r\n if (currentValue.length < size) {\r\n newList.push(value);\r\n }\r\n if (currentValue.length === size && size === 1) {\r\n newList = [value];\r\n }\r\n if (currentValue.length >= size && size > 1) {\r\n message.error(`最多选择${size}个`);\r\n return;\r\n }\r\n changeHandler(newList);\r\n } else {\r\n const newList = currentValue.slice(0);\r\n newList.splice(currentValue.indexOf(value), 1);\r\n changeHandler(newList);\r\n }\r\n };\r\n const computedChildren = (() => {\r\n if (Array.isArray(options)) {\r\n return options.map(({ label, value }) => <List.Item key={value} value={value} label={label} />);\r\n }\r\n if (isFunction(children)) {\r\n return children({ value: currentValue, onChange: changeHandler });\r\n }\r\n return children;\r\n })();\r\n return <FilterItem label={label}>\r\n <Provider value={{\r\n currentValue, createCheckedChangeHandler\r\n }}>\r\n {computedChildren}\r\n {more ? (() => {\r\n if (isFunction(more)) {\r\n return more({ name, size, label, value: currentValue, onChange: changeHandler });\r\n }\r\n const { children, onClick } = more;\r\n return <List.Item {...more} onClick={(e) => {\r\n onClick({ name, label, value: currentValue, onChange: changeHandler }, e);\r\n }} label={children || \"其他\"} />;\r\n })() : null}\r\n </Provider>\r\n </FilterItem>;\r\n};\r\n\r\nList.Item = ({ value, label, ...props }) => {\r\n const { currentValue, createCheckedChangeHandler } = useContext(context);\r\n const itemProps = {};\r\n if (value !== void (0)) {\r\n itemProps.checked = currentValue.findIndex((item) => isEqual(item.value, value)) > -1;\r\n itemProps.onChange = createCheckedChangeHandler({ label, value });\r\n }\r\n\r\n return <CheckableTag {...props} {...itemProps}>{label}</CheckableTag>;\r\n};\r\n\r\nList.defaultProps = {\r\n size: 2\r\n};\r\n\r\nexport default List;","import React from \"react\";\r\nimport { createCitySelect, apis, RemoteData, DisplayCity } from \"@kne/react-city-select\";\r\nimport List from \"../List\";\r\n\r\nconst { Item } = List;\r\n\r\nconst City = ({ label, name, size }) => {\r\n return <List label={label} name={name} size={size} more={{\r\n children: \"其他\", onClick: ({ value, onChange }) => {\r\n createCitySelect({\r\n size, defaultValue: value.map(({ value }) => value), onChange: (value) => {\r\n Promise.all(value.map((id) => apis.getCity(id).then(({ city }) => ({\r\n label: city.name, value: city.code\r\n })))).then((value) => onChange(value));\r\n }\r\n });\r\n }\r\n }}>\r\n {({ value: currentValue }) => <>\r\n <RemoteData loader={apis.getChinaHotCities}>{(data) => {\r\n const otherList = currentValue.filter(({ value: code }) => !data.find((item) => item.code === code));\r\n let extraLength = 0;\r\n data.forEach((item, index) => {\r\n if (currentValue.findIndex(({ value }) => value === item.code) > -1 && index >= data.length - otherList.length) {\r\n extraLength += 1;\r\n }\r\n });\r\n return <>\r\n {otherList.map(({ value: code }) => {\r\n return <DisplayCity id={code} key={code}>{({ city: item }) => {\r\n return <Item value={code} label={item.name} />;\r\n }}</DisplayCity>;\r\n })}\r\n {data.filter((item, index) => currentValue.findIndex(({ value }) => value === item.code) > -1 || index < data.length - otherList.length - extraLength).map((item) =>\r\n <Item key={item.code} value={item.code} label={item.name} />)}\r\n </>;\r\n }}</RemoteData>\r\n </>}\r\n </List>;\r\n};\r\n\r\nexport default City;","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Button, Space } from \"antd\";\r\nimport { useConsumer } from \"../context\";\r\nimport useClickOutSide from \"@kne/use-click-outside\";\r\nimport classnames from \"classnames\";\r\nimport isFunction from \"lodash/isFunction\";\r\nimport get from \"lodash/get\";\r\n\r\nconst SearchButton = ({\r\n name,\r\n size,\r\n template,\r\n children,\r\n defaultValue,\r\n defaultActive,\r\n onSearch,\r\n onBeforeSearch,\r\n onActiveChange,\r\n buttonText\r\n }) => {\r\n const { value: aValue, onChange } = useConsumer();\r\n const currentValue = aValue[name];\r\n const [value, setValue] = useState(defaultValue || get(currentValue, \"value\"));\r\n const [active, setActive] = useState(defaultActive);\r\n const withTemplate = (value) => ({\r\n value, label: isFunction(template) ? template(value) : value.toString()\r\n });\r\n const ref = useClickOutSide(() => {\r\n if (!active) {\r\n return;\r\n }\r\n setValue(get(currentValue, \"value\"));\r\n setActive(false);\r\n });\r\n\r\n const activeChangeRef = useRef(onActiveChange);\r\n activeChangeRef.current = onActiveChange;\r\n\r\n useEffect(() => {\r\n activeChangeRef.current && activeChangeRef.current(active);\r\n }, [active]);\r\n return <div className={classnames(\"react-filter-search-button\", {\r\n \"is-active\": active\r\n })} ref={ref}>\r\n <div className=\"inner\">\r\n <div>{children({ value, setValue, setActive })}</div>\r\n {active ? <Button className=\"react-filter-search-confirm\" size=\"small\" type=\"primary\" onClick={(e) => {\r\n e.stopPropagation();\r\n if (onBeforeSearch && onBeforeSearch(value) === false) {\r\n return;\r\n }\r\n onChange(name, Number.isInteger(size) && size > 1 ? [withTemplate(value)] : withTemplate(value));\r\n setActive(false);\r\n onSearch && onSearch({ value });\r\n }}>{buttonText}</Button> : null}</div>\r\n </div>;\r\n};\r\n\r\nSearchButton.defaultProps = {\r\n defaultActive: false, buttonText: \"确定\"\r\n};\r\n\r\nexport default SearchButton;","import React, { useState } from \"react\";\r\nimport { InputNumber, Space, Tooltip } from \"antd\";\r\nimport { withFilterItem } from \"../FilterItem\";\r\nimport SearchButton from \"../SearchButton\";\r\nimport get from \"lodash/get\";\r\nimport isNumber from \"lodash/isNumber\";\r\n\r\nexport const RangeInner = ({ name, size, defaultActive, template, onSearch, onActiveChange, startProps, endProps }) => {\r\n const [error, setError] = useState(null);\r\n const check = (value) => {\r\n setError(null);\r\n if (!Array.isArray(value)) {\r\n return false;\r\n }\r\n if (value[0] === null && value[1] === null) {\r\n setError(\"最大值和最小值不能同时为空\");\r\n return false;\r\n }\r\n if (isNumber(value[1]) && value[0] > value[1]) {\r\n setError(\"最大值不能小于最小值\");\r\n return false;\r\n }\r\n return true;\r\n };\r\n return <SearchButton size={size} template={template} defaultActive={defaultActive} name={name} onSearch={onSearch}\r\n onBeforeSearch={(value) => {\r\n return check(value);\r\n }} onActiveChange={(active) => {\r\n if (!active) {\r\n setError(null);\r\n }\r\n onActiveChange && onActiveChange(active);\r\n }}>\r\n {({ value, setValue, setActive }) => <Tooltip visible={!!error} title={error} placement=\"bottomRight\"><Space\r\n size=\"small\">\r\n <InputNumber size=\"small\" {...startProps} value={get(value, 0)} onChange={(inputValue) => {\r\n const target = [inputValue, get(value, 1)];\r\n check(target);\r\n setValue(target);\r\n }} onFocus={() => {\r\n setActive(true);\r\n }} />\r\n ~\r\n <InputNumber size=\"small\" {...endProps} value={get(value, 1)} onChange={(inputValue) => {\r\n const target = [get(value, 0), inputValue];\r\n check(target);\r\n setValue(target);\r\n }} onFocus={() => {\r\n setActive(true);\r\n }} />\r\n </Space></Tooltip>}\r\n </SearchButton>;\r\n};\r\n\r\nconst Range = withFilterItem(RangeInner);\r\n\r\nexport default Range;\r\n\r\n","import React from \"react\";\r\nimport { Input } from \"antd\";\r\nimport { withFilterItem } from \"../FilterItem\";\r\nimport SearchButton from \"../SearchButton\";\r\n\r\nexport const TextInner = ({ name, label, template, defaultActive, onSearch, onActiveChange, ...props }) => {\r\n return <SearchButton defaultActive={defaultActive} template={template} name={name} onSearch={onSearch}\r\n onActiveChange={(active) => {\r\n onActiveChange && onActiveChange(active);\r\n }}>\r\n {({ value, setValue, setActive }) => <>\r\n <Input size=\"small\" {...props} value={value} onChange={(e) => {\r\n setValue(e.target.value);\r\n }} onFocus={() => {\r\n setActive(true);\r\n }} />\r\n </>}\r\n </SearchButton>;\r\n};\r\n\r\nconst Text = withFilterItem(TextInner);\r\n\r\nexport default Text;\r\n\r\n","import React from \"react\";\r\nimport { Select } from \"antd\";\r\nimport { withFilterItem } from \"../FilterItem\";\r\nimport { useConsumer } from \"../context\";\r\n\r\nexport const SelectorInner = ({ name, ...props }) => {\r\n const { value: aValue, onChange } = useConsumer();\r\n const currentValue = aValue[name];\r\n return <Select {...props} style={{ minWidth: \"150px\" }} size=\"small\" value={currentValue} onChange={(value, item) => {\r\n onChange(name, item);\r\n }} />;\r\n};\r\n\r\nconst Selector = withFilterItem(SelectorInner);\r\n\r\nexport default Selector;","import React from \"react\";\r\nimport { Checkbox } from \"antd\";\r\nimport { useConsumer } from \"../context\";\r\n\r\nconst Check = ({ name, label, ...props }) => {\r\n const { value: aValue, onChange } = useConsumer();\r\n const currentValue = aValue[name];\r\n return <Checkbox {...props} size=\"small\" checked={currentValue} onChange={(e) => {\r\n onChange(name, e.target.checked ? { value: true, label } : null);\r\n }}>{label}</Checkbox>;\r\n};\r\n\r\nexport default Check;","import React, { useState } from \"react\";\r\nimport List from \"../List\";\r\nimport { RangeInner } from \"../Range\";\r\nimport { TextInner } from \"../Text\";\r\nimport { SelectorInner } from \"../Selector\";\r\n\r\nexport const withMoreExtraButton = (WrappedComponent) => ({ name, value, children, ...props }) => {\r\n const [isEdit, setIsEdit] = useState(false);\r\n return isEdit ? <WrappedComponent defaultActive={true} {...props} name={name} onActiveChange={(active) => {\r\n if (active === false) {\r\n setIsEdit(false);\r\n }\r\n }} /> : <List.Item onClick={(e) => {\r\n e.stopPropagation();\r\n setIsEdit(true);\r\n }} label={children || \"其他\"} />;\r\n};\r\n\r\nconst RangeButton = withMoreExtraButton(RangeInner);\r\nconst TextButton = withMoreExtraButton(TextInner);\r\nconst SelectorButton = withMoreExtraButton(SelectorInner);\r\n\r\nexport const createExtraButton = ({ type, ...props }) => (innerProps) => {\r\n const mapping = {\r\n range: RangeButton, text: TextButton, selector: SelectorButton\r\n };\r\n\r\n const ExtraButtonComponent = mapping[type];\r\n if (!ExtraButtonComponent) {\r\n return null;\r\n }\r\n return <ExtraButtonComponent {...props} {...innerProps} />;\r\n};\r\n\r\n","import React, { cloneElement, useState } from \"react\";\r\nimport { Space, Button, Divider, Tag, Row, Col } from \"antd\";\r\nimport City from \"./City\";\r\nimport List from \"./List\";\r\nimport Range from \"./Range\";\r\nimport Text from \"./Text\";\r\nimport Selector from \"./Selector\";\r\nimport Check from \"./Check\";\r\nimport { Provider } from \"./context\";\r\nimport FilterItem from \"./FilterItem\";\r\nimport \"./index.scss\";\r\n\r\nconst Filter = ({ displayLine, list, value, onChange }) => {\r\n const [display, setDisplay] = useState(false);\r\n const basicList = list.slice(0, displayLine), moreList = list.slice(displayLine);\r\n const renderList = (list) => list.map((item, index) => {\r\n return <Space key={index}>{item.map((item, index) => cloneElement(item, { key: index }))}</Space>;\r\n });\r\n const changeHandler = (name, item) => {\r\n const target = Object.assign({}, value, { [name]: item });\r\n Object.keys(target).forEach((key) => {\r\n const item = target[key];\r\n if (item === void (0) || item === null) {\r\n delete target[key];\r\n }\r\n if (Array.isArray(item) && item.length === 0) {\r\n delete target[key];\r\n }\r\n });\r\n onChange(target);\r\n };\r\n return <Provider value={{\r\n value, onChange: changeHandler\r\n }}>\r\n <Space className=\"space-full\" direction=\"vertical\">\r\n <FilterItem label=\"筛选项\">{Object.keys(value).map((key) => {\r\n const item = value[key];\r\n if (!item) return null;\r\n if (Array.isArray(item) && item.length === 0) return null;\r\n return <Tag key={key} closable onClose={() => {\r\n changeHandler(key, null);\r\n }}>{Array.isArray(item) ? item.map(({ label }) => label).join(\",\") : item.label}</Tag>;\r\n })}</FilterItem>\r\n {renderList(basicList)}\r\n {display ? <><Divider className=\"react-filter-divider\" />{renderList(moreList)}</> : null}\r\n <Row justify=\"end\">\r\n <Col><Button type=\"link\" onClick={() => {\r\n setDisplay((display) => !display);\r\n }}>{display ? \"收起更多条件\" : \"展开更多\"}</Button></Col>\r\n </Row>\r\n </Space>\r\n </Provider>;\r\n};\r\n\r\nFilter.type = {\r\n City, List, Range, Text, Selector, Check\r\n};\r\n\r\nFilter.defaultProps = {\r\n displayLine: 2, list: [[]], value: {}, onChange: () => {\r\n }\r\n};\r\n\r\nexport { createExtraButton, withMoreExtraButton } from \"./MoreExtraButton\";\r\n\r\nexport { default as SearchButton } from \"./SearchButton\";\r\n\r\nexport { default as FilterItem, withFilterItem } from \"./FilterItem\";\r\n\r\nexport default Filter;"],"names":["context","createContext","Consumer","Provider","useConsumer","useContext","FilterItem","label","children","withFilterItem","WrappedComponent","props","CheckableTag","Tag","List","name","size","options","more","value","onChange","currentValue","originValue","get","changeHandler","createCheckedChangeHandler","checked","newList","slice","length","push","message","error","splice","indexOf","computedChildren","Array","isArray","map","isFunction","onClick","e","Item","itemProps","findIndex","item","isEqual","defaultProps","City","createCitySelect","defaultValue","Promise","all","id","apis","getCity","then","city","code","getChinaHotCities","data","otherList","filter","find","extraLength","forEach","index","SearchButton","template","defaultActive","onSearch","onBeforeSearch","onActiveChange","buttonText","aValue","setValue","useState","active","setActive","withTemplate","toString","ref","useClickOutSide","activeChangeRef","useRef","current","useEffect","classnames","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","setError","check","isNumber","inputValue","target","Range","TextInner","Text","SelectorInner","minWidth","Selector","Check","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","type","innerProps","mapping","range","text","selector","ExtraButtonComponent","Filter","displayLine","list","display","setDisplay","basicList","moreList","renderList","cloneElement","key","Object","assign","keys","join"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/context.js","../src/FilterItem/index.js","../src/List/index.js","../src/City/index.js","../src/SearchButton/index.js","../src/Range/index.js","../src/Text/index.js","../src/Selector/index.js","../src/Check/index.js","../src/MoreExtraButton/index.js","../src/index.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nconst context = createContext({});\n\nexport const { Consumer, Provider } = context;\n\nexport const useConsumer = () => useContext(context);\n\nexport default context;","import React from \"react\";\nimport { Space } from \"antd\";\n\nconst FilterItem = ({ label, children }) => {\n return <Space className=\"react-filter-item\">\n <div className=\"react-filter-item-label\">{label}:</div>\n <div className=\"react-filter-item-children\">{children}</div>\n </Space>;\n};\n\nexport const withFilterItem = (WrappedComponent) => ({ label, ...props }) => <FilterItem\n label={label}><WrappedComponent {...props} /></FilterItem>;\n\nexport default FilterItem;\n","import React, { createContext, useContext } from \"react\";\nimport { Button, message, Tag } from \"antd\";\nimport { useConsumer } from \"../context\";\nimport FilterItem from \"../FilterItem\";\nimport get from \"lodash/get\";\nimport isFunction from \"lodash/isFunction\";\nimport isEqual from \"lodash/isEqual\";\n\nconst { CheckableTag } = Tag;\n\nconst context = createContext({});\n\nconst { Provider } = context;\n\nconst List = ({ label, name, size, children, options, more }) => {\n const { value, onChange } = useConsumer();\n const currentValue = (() => {\n const originValue = get(value, name);\n if (size === 1) {\n return originValue !== void (0) ? [originValue] : [];\n } else {\n return originValue || [];\n }\n })();\n\n const changeHandler = (value) => {\n if (size === 1) {\n return onChange(name, value[0]);\n } else {\n return onChange(name, value);\n }\n };\n const createCheckedChangeHandler = (value) => (checked) => {\n if (checked) {\n let newList = currentValue.slice(0);\n if (currentValue.length < size) {\n newList.push(value);\n }\n if (currentValue.length === size && size === 1) {\n newList = [value];\n }\n if (currentValue.length >= size && size > 1) {\n message.error(`最多选择${size}个`);\n return;\n }\n changeHandler(newList);\n } else {\n const newList = currentValue.slice(0);\n newList.splice(currentValue.indexOf(value), 1);\n changeHandler(newList);\n }\n };\n const computedChildren = (() => {\n if (Array.isArray(options)) {\n return options.map(({ label, value }) => <List.Item key={value} value={value} label={label} />);\n }\n if (isFunction(children)) {\n return children({ value: currentValue, onChange: changeHandler });\n }\n return children;\n })();\n return <FilterItem label={label}>\n <Provider value={{\n currentValue, createCheckedChangeHandler\n }}>\n {computedChildren}\n {more ? (() => {\n if (isFunction(more)) {\n return more({ name, size, label, value: currentValue, onChange: changeHandler });\n }\n const { children, onClick } = more;\n return <List.Item {...more} onClick={(e) => {\n onClick({ name, label, value: currentValue, onChange: changeHandler }, e);\n }} label={children || \"其他\"} />;\n })() : null}\n </Provider>\n </FilterItem>;\n};\n\nList.Item = ({ value, label, ...props }) => {\n const { currentValue, createCheckedChangeHandler } = useContext(context);\n const itemProps = {};\n if (value !== void (0)) {\n itemProps.checked = currentValue.findIndex((item) => isEqual(get(item,'value'), value)) > -1;\n itemProps.onChange = createCheckedChangeHandler({ label, value });\n }\n\n return <CheckableTag {...props} {...itemProps}>{label}</CheckableTag>;\n};\n\nList.defaultProps = {\n size: 2\n};\n\nexport default List;\n","import React from \"react\";\nimport { createCitySelect, apis, RemoteData, DisplayCity } from \"@kne/react-city-select\";\nimport List from \"../List\";\n\nconst { Item } = List;\n\nconst City = ({ label, name, size }) => {\n return <List label={label} name={name} size={size} more={{\n children: \"其他\", onClick: ({ value, onChange }) => {\n createCitySelect({\n size, defaultValue: value.map(({ value }) => value), onChange: (value) => {\n Promise.all(value.map((id) => apis.getCity(id).then(({ city }) => ({\n label: city.name, value: city.code\n })))).then((value) => onChange(value));\n }\n });\n }\n }}>\n {({ value: currentValue }) => <>\n <RemoteData loader={apis.getChinaHotCities}>{(data) => {\n const otherList = currentValue.filter(({ value: code }) => !data.find((item) => item.code === code));\n let extraLength = 0;\n data.forEach((item, index) => {\n if (currentValue.findIndex(({ value }) => value === item.code) > -1 && index >= data.length - otherList.length) {\n extraLength += 1;\n }\n });\n return <>\n {otherList.map(({ value: code }) => {\n return <DisplayCity id={code} key={code}>{({ city: item }) => {\n return <Item value={code} label={item.name} />;\n }}</DisplayCity>;\n })}\n {data.filter((item, index) => currentValue.findIndex(({ value }) => value === item.code) > -1 || index < data.length - otherList.length - extraLength).map((item) =>\n <Item key={item.code} value={item.code} label={item.name} />)}\n </>;\n }}</RemoteData>\n </>}\n </List>;\n};\n\nexport default City;","import React, { useState, useEffect, useRef } from \"react\";\nimport { Button, Space } from \"antd\";\nimport { useConsumer } from \"../context\";\nimport useClickOutSide from \"@kne/use-click-outside\";\nimport classnames from \"classnames\";\nimport isFunction from \"lodash/isFunction\";\nimport get from \"lodash/get\";\n\nconst SearchButton = ({\n name,\n size,\n template,\n children,\n defaultValue,\n defaultActive,\n onBlur,\n onSearch,\n onBeforeSearch,\n onActiveChange,\n buttonText\n }) => {\n const { value: aValue, onChange } = useConsumer();\n const currentValue = aValue[name];\n const [value, setValue] = useState(defaultValue || get(currentValue, \"value\"));\n const [active, setActive] = useState(defaultActive);\n const withTemplate = (value) => ({\n value, label: isFunction(template) ? template(value) : value.toString()\n });\n const ref = useClickOutSide(() => {\n setValue(get(currentValue, \"value\"));\n setActive(false);\n onBlur && onBlur();\n });\n\n const activeChangeRef = useRef(onActiveChange);\n activeChangeRef.current = onActiveChange;\n\n useEffect(() => {\n activeChangeRef.current && activeChangeRef.current(active);\n }, [active]);\n let timer;\n return <div className={classnames(\"react-filter-search-button\", {\n \"is-active\": active\n })} ref={ref} onMouseEnter={() => {\n clearTimeout(timer);\n !active && setActive(true);\n }} onMouseLeave={() => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n active && setActive(false);\n }, 200);\n }}>\n <div className=\"inner\">\n <div>{children({ value, setValue, setActive })}</div>\n {active ? <Button className=\"react-filter-search-confirm\" size=\"small\" type=\"primary\" onClick={(e) => {\n e.stopPropagation();\n if (onBeforeSearch && onBeforeSearch(value) === false) {\n return;\n }\n onChange(name, Number.isInteger(size) && size > 1 ? [withTemplate(value)] : withTemplate(value));\n setActive(false);\n onSearch && onSearch({ value });\n }}>{buttonText}</Button> : null}</div>\n </div>;\n};\n\nSearchButton.defaultProps = {\n defaultActive: false, buttonText: \"确定\"\n};\n\nexport default SearchButton;","import React, { useState } from \"react\";\nimport { InputNumber, Space, Tooltip } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\nimport get from \"lodash/get\";\nimport isNumber from \"lodash/isNumber\";\n\nexport const RangeInner = ({\n name, size, defaultActive, template, onBlur, onSearch, onActiveChange, startProps, endProps\n }) => {\n const [error, setError] = useState(null);\n const check = (value) => {\n setError(null);\n if (!Array.isArray(value)) {\n return false;\n }\n if (isNumber(value[1]) && value[0] > value[1]) {\n setError(\"最大值不能小于最小值\");\n return false;\n }\n return true;\n };\n return <SearchButton size={size} template={template} onBlur={onBlur} defaultActive={defaultActive} name={name} onSearch={onSearch}\n onBeforeSearch={(value) => {\n return check(value);\n }} onActiveChange={(active) => {\n if (!active) {\n setError(null);\n }\n onActiveChange && onActiveChange(active);\n }}>\n {({ value, setValue, setActive }) => <Tooltip visible={!!error} title={error} placement=\"bottomRight\"><Space\n size=\"small\">\n <InputNumber size=\"small\" {...startProps} value={get(value, 0)} onChange={(inputValue) => {\n const target = [inputValue, get(value, 1)];\n check(target);\n setValue(target);\n }} onFocus={() => {\n setActive(true);\n }} />\n ~\n <InputNumber size=\"small\" {...endProps} value={get(value, 1)} onChange={(inputValue) => {\n const target = [get(value, 0), inputValue];\n check(target);\n setValue(target);\n }} onFocus={() => {\n setActive(true);\n }} />\n </Space></Tooltip>}\n </SearchButton>;\n};\n\nconst Range = withFilterItem(RangeInner);\n\nexport default Range;\n\n","import React from \"react\";\nimport { Input } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\n\nexport const TextInner = ({ name, label, template, defaultActive, onBlur, onSearch, onActiveChange, ...props }) => {\n return <SearchButton defaultActive={defaultActive} onBlur={onBlur} template={template} name={name} onSearch={onSearch}\n onActiveChange={(active) => {\n onActiveChange && onActiveChange(active);\n }}>\n {({ value, setValue, setActive }) => <>\n <Input size=\"small\" {...props} value={value} onChange={(e) => {\n setValue(e.target.value);\n }} onFocus={() => {\n setActive(true);\n }} />\n </>}\n </SearchButton>;\n};\n\nconst Text = withFilterItem(TextInner);\n\nexport default Text;\n\n","import React from \"react\";\nimport { Select } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport { useConsumer } from \"../context\";\n\nexport const SelectorInner = ({ name, ...props }) => {\n const { value: aValue, onChange } = useConsumer();\n const currentValue = aValue[name];\n return <Select {...props} style={{ minWidth: \"150px\" }} size=\"small\" value={currentValue} onChange={(value, item) => {\n onChange(name, item);\n }} />;\n};\n\nconst Selector = withFilterItem(SelectorInner);\n\nexport default Selector;","import React from \"react\";\nimport { Checkbox } from \"antd\";\nimport { useConsumer } from \"../context\";\n\nconst Check = ({ name, label, ...props }) => {\n const { value: aValue, onChange } = useConsumer();\n const currentValue = aValue[name];\n return <Checkbox {...props} size=\"small\" checked={currentValue} onChange={(e) => {\n onChange(name, e.target.checked ? { value: true, label } : null);\n }}>{label}</Checkbox>;\n};\n\nexport default Check;","import React, { useState } from \"react\";\nimport List from \"../List\";\nimport { RangeInner } from \"../Range\";\nimport { TextInner } from \"../Text\";\nimport { SelectorInner } from \"../Selector\";\n\nexport const withMoreExtraButton = (WrappedComponent) => ({ name, value, children, ...props }) => {\n const [isEdit, setIsEdit] = useState(false);\n return isEdit ? <WrappedComponent defaultActive={true} {...props} name={name} onBlur={() => {\n setIsEdit(false);\n }} /> : <List.Item onClick={(e) => {\n e.stopPropagation();\n setIsEdit(true);\n }} label={children || \"其他\"} />;\n};\n\nconst RangeButton = withMoreExtraButton(RangeInner);\nconst TextButton = withMoreExtraButton(TextInner);\nconst SelectorButton = withMoreExtraButton(SelectorInner);\n\nexport const createExtraButton = ({ type, ...props }) => (innerProps) => {\n const mapping = {\n range: RangeButton, text: TextButton, selector: SelectorButton\n };\n\n const ExtraButtonComponent = mapping[type];\n if (!ExtraButtonComponent) {\n return null;\n }\n return <ExtraButtonComponent {...props} {...innerProps} />;\n};\n\n","import React, {cloneElement, useState} from \"react\";\nimport {Space, Button, Divider, Tag, Row, Col} from \"antd\";\nimport City from \"./City\";\nimport List from \"./List\";\nimport Range from \"./Range\";\nimport Text from \"./Text\";\nimport Selector from \"./Selector\";\nimport Check from \"./Check\";\nimport {Provider} from \"./context\";\nimport FilterItem from \"./FilterItem\";\nimport \"./index.scss\";\n\nconst Filter = ({displayLine, list, value, onChange}) => {\n const [display, setDisplay] = useState(false);\n const basicList = list.slice(0, displayLine), moreList = list.slice(displayLine);\n const renderList = (list) => list.map((item, index) => {\n return <Space key={index}>{item.map((item, index) => cloneElement(item, {key: index}))}</Space>;\n });\n const changeHandler = (name, item) => {\n const target = Object.assign({}, value, {[name]: item});\n Object.keys(target).forEach((key) => {\n const item = target[key];\n (() => {\n if (Array.isArray(item) && item.length > 0 && item.every((item) => item.value === void (0) || item.value === null || item.value === \"\")) {\n delete target[key];\n return;\n }\n if (Array.isArray(item) && item.length === 0) {\n delete target[key];\n return;\n }\n if (item && Array.isArray(item.value) && (item.value.length === 0 || item.value.every((item) => item === void (0) || item === null || item === \"\"))) {\n delete target[key];\n return;\n }\n if (item === void (0) || item === null || (!Array.isArray(item) && item && (item.value === void (0) || item.value === null || item.value === \"\"))) {\n delete target[key];\n return;\n }\n })();\n });\n onChange(target);\n };\n return <Provider value={{\n value, onChange: changeHandler\n }}>\n <Space className=\"space-full\" direction=\"vertical\">\n <FilterItem label=\"筛选项\">{Object.keys(value).map((key) => {\n const item = value[key];\n if (!item) return null;\n if (Array.isArray(item) && item.length === 0) return null;\n return <Tag key={key} closable onClose={() => {\n changeHandler(key, null);\n }}>{Array.isArray(item) ? item.map(({label}) => label).join(\",\") : item.label}</Tag>;\n })}</FilterItem>\n {renderList(basicList)}\n {display ? <><Divider className=\"react-filter-divider\"/>{renderList(moreList)}</> : null}\n <Row className=\"react-filter-switch-btn\" justify=\"end\">\n <Col><Button type=\"link\" onClick={() => {\n setDisplay((display) => !display);\n }}>{display ? \"收起筛选条件\" : \"展开筛选条件\"}</Button></Col>\n </Row>\n </Space>\n </Provider>;\n};\n\nFilter.type = {\n City, List, Range, Text, Selector, Check\n};\n\nFilter.defaultProps = {\n displayLine: 2, list: [[]], value: {}, onChange: () => {\n }\n};\n\nexport {createExtraButton, withMoreExtraButton} from \"./MoreExtraButton\";\n\nexport {default as SearchButton} from \"./SearchButton\";\n\nexport {default as FilterItem, withFilterItem} from \"./FilterItem\";\n\nexport default Filter;\n"],"names":["context","createContext","Consumer","Provider","useConsumer","useContext","FilterItem","label","children","withFilterItem","WrappedComponent","props","CheckableTag","Tag","List","name","size","options","more","value","onChange","currentValue","originValue","get","changeHandler","createCheckedChangeHandler","checked","newList","slice","length","push","message","error","splice","indexOf","computedChildren","Array","isArray","map","isFunction","onClick","e","Item","itemProps","findIndex","item","isEqual","defaultProps","City","createCitySelect","defaultValue","Promise","all","id","apis","getCity","then","city","code","getChinaHotCities","data","otherList","filter","find","extraLength","forEach","index","SearchButton","template","defaultActive","onBlur","onSearch","onBeforeSearch","onActiveChange","buttonText","aValue","setValue","useState","active","setActive","withTemplate","toString","ref","useClickOutSide","activeChangeRef","useRef","current","useEffect","timer","classnames","clearTimeout","setTimeout","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","setError","check","isNumber","inputValue","target","Range","TextInner","Text","SelectorInner","minWidth","Selector","Check","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","type","innerProps","mapping","range","text","selector","ExtraButtonComponent","Filter","displayLine","list","display","setDisplay","basicList","moreList","renderList","cloneElement","key","Object","assign","keys","every","join"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kne/react-filter",
3
- "version": "0.1.0",
4
- "description": "处理文本省略号",
3
+ "version": "0.1.3",
4
+ "description": "筛选器",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.modern.js",
7
7
  "source": "src/index.js",