@kne/react-filter 0.1.19 → 0.1.22
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 +80 -16
- package/dist/index.css +7 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +131 -58
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +88 -26
- package/dist/index.modern.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -29,13 +29,15 @@ npm i --save @kne/react-filter
|
|
|
29
29
|
|
|
30
30
|
- 基础示例
|
|
31
31
|
- 展示一个筛选器的普通模式
|
|
32
|
-
- reactFilter(@kne/react-filter),_(lodash)
|
|
32
|
+
- reactFilter(@kne/react-filter),(@kne/react-filter/dist/index.css),message(antd/lib/message),_(lodash)
|
|
33
33
|
|
|
34
34
|
```jsx
|
|
35
35
|
const {useState} = React;
|
|
36
36
|
const {default: Filter, createExtraButton} = reactFilter;
|
|
37
|
+
const {default: antdMessage} = message;
|
|
38
|
+
|
|
39
|
+
const {City, List, Range, Text, Selector, Check, DateTime} = Filter.type;
|
|
37
40
|
|
|
38
|
-
const {City, List, Range, Text, Selector, Check} = Filter.type;
|
|
39
41
|
const {isNumber} = _;
|
|
40
42
|
|
|
41
43
|
const BaseExample = () => {
|
|
@@ -45,7 +47,11 @@ const BaseExample = () => {
|
|
|
45
47
|
setValue(value);
|
|
46
48
|
}} more={[
|
|
47
49
|
<Text label="测试字段" name="test1"/>,
|
|
48
|
-
<Text label="测试字段2" name="test2"
|
|
50
|
+
<Text label="测试字段2" name="test2" onBeforeSearch={(value) => {
|
|
51
|
+
antdMessage.error(`提交被拦截,输入值${value}`);
|
|
52
|
+
return false;
|
|
53
|
+
}}/>,
|
|
54
|
+
<Text.Number label="测试字段7" name="test7"/>,
|
|
49
55
|
<Range label="测试字段3" name="test3"/>,
|
|
50
56
|
<Selector label="测试字段4" name="test4"
|
|
51
57
|
options={[{
|
|
@@ -54,7 +60,9 @@ const BaseExample = () => {
|
|
|
54
60
|
label: "日语", value: "jap"
|
|
55
61
|
}, {
|
|
56
62
|
label: "法语", value: "fac"
|
|
57
|
-
}]}
|
|
63
|
+
}]}/>,
|
|
64
|
+
<DateTime label="测试字段5" name="test5" showTime/>,
|
|
65
|
+
<DateTime.Range label="测试字段6" name="test6"/>
|
|
58
66
|
]} list={[[<City label="目前城市" name="currentCity" size={5}/>], [<List label="学历" name="degree" size={1}>
|
|
59
67
|
<List.Item value="0" label="初中"/>
|
|
60
68
|
<List.Item value="1" label="高中"/>
|
|
@@ -113,11 +121,11 @@ render(<BaseExample/>);
|
|
|
113
121
|
|
|
114
122
|
- 简单示例
|
|
115
123
|
- 展示一个简单的筛选项,一般放在列表页title extra位置
|
|
116
|
-
- reactFilter(@kne/react-filter),
|
|
124
|
+
- reactFilter(@kne/react-filter),(@kne/react-filter/dist/index.css),space(antd/lib/space)
|
|
117
125
|
|
|
118
126
|
```jsx
|
|
119
127
|
const {useState} = React;
|
|
120
|
-
const {default: Filter} = reactFilter
|
|
128
|
+
const {default: Filter} = reactFilter;
|
|
121
129
|
const {default: Space} = space;
|
|
122
130
|
|
|
123
131
|
const {RadioList, Selector, Text, CheckboxList} = Filter.type;
|
|
@@ -187,23 +195,73 @@ render(<Example/>);
|
|
|
187
195
|
|
|
188
196
|
```
|
|
189
197
|
|
|
198
|
+
- 扩展示例
|
|
199
|
+
- 展示扩展筛选项,自定义筛选项
|
|
200
|
+
- reactFilter(@kne/react-filter),modal(antd/lib/modal),input(antd/lib/input),_(lodash),(@kne/react-filter/dist/index.css)
|
|
201
|
+
|
|
202
|
+
```jsx
|
|
203
|
+
const {default: ReactFilter, useFilterContext, FilterItem} = reactFilter;
|
|
204
|
+
const {default: Modal} = modal;
|
|
205
|
+
const {default: Input} = input;
|
|
206
|
+
const {useRef, useState} = React;
|
|
207
|
+
const {get} = _;
|
|
208
|
+
|
|
209
|
+
const MyFilter = (props) => {
|
|
210
|
+
const ref = useRef();
|
|
211
|
+
const {value, onChange} = useFilterContext();
|
|
212
|
+
return <FilterItem {...props} onClick={() => {
|
|
213
|
+
Modal.confirm({
|
|
214
|
+
icon: null,
|
|
215
|
+
content: <Input ref={ref} defaultValue={get(value[props.name], 'value')}/>,
|
|
216
|
+
onOk: () => {
|
|
217
|
+
const value = ref.current.input.value;
|
|
218
|
+
onChange(props.name, {
|
|
219
|
+
label: value,
|
|
220
|
+
value
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
console.log(value);
|
|
225
|
+
}}/>;
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
const Example = () => {
|
|
229
|
+
const [value, setValue] = useState({});
|
|
230
|
+
return <ReactFilter value={value} onChange={setValue} more={[<MyFilter name="test1" label="测试"/>]}/>
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
render(<Example/>);
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
|
|
190
237
|
|
|
191
238
|
### API
|
|
192
239
|
|
|
193
|
-
| 属性名
|
|
194
|
-
|
|
195
|
-
| value
|
|
196
|
-
| onChange
|
|
197
|
-
| list
|
|
198
|
-
| more
|
|
199
|
-
| moreLabel
|
|
200
|
-
|moreTrigger
|
|
240
|
+
| 属性名 | 说明 | 类型 | 默认值 |
|
|
241
|
+
|-----------------|------------------------------------------------------------------------------|----------|-------|
|
|
242
|
+
| value | 筛选器的值,该组件为一个受控组件 | object | - |
|
|
243
|
+
| onChange | 筛选器的值发生改变的时候调用的函数 | function | - |
|
|
244
|
+
| list | 筛选器的选项,为一个二维数组,二维数组中的每一个数组为一行,内部数组的每一项为一个筛选选项,筛选选项为Filter.type中的一项或者是自行扩展的选项 | array | [] |
|
|
245
|
+
| more | 筛选项更多选项,为一个一维数组,数组中的每一项为一个筛选项,和list不同的是该筛选项默认为收起状态 | array | [] |
|
|
246
|
+
| moreLabel | 更多选项的label | string | 更多 |
|
|
247
|
+
| moreTrigger | 更多选项的触发方式,默认为hover触发,页可以设置为click | string | hover |
|
|
248
|
+
| label | 筛选器的label | string |筛选项|
|
|
249
|
+
| labelHidden | 筛选器的label及筛选内容行是否隐藏 | boolean | false |
|
|
250
|
+
| itemLabelHidden | 筛选项的label是否隐藏 | boolean |false|
|
|
251
|
+
| unfoldText | 展开提示文字 |string| 展开 |
|
|
252
|
+
| foldText | 收起提示文字 |string|收起|
|
|
253
|
+
|displayLine| 默认展开行数 |number|2|
|
|
254
|
+
|defaultDisplay| 默认是否展开 |boolean|false|
|
|
255
|
+
|isExtra| 是否将list切分成收起项和默认展开项 |boolean|true|
|
|
256
|
+
|extra| 额外内容 |boolean|null|
|
|
201
257
|
|
|
202
258
|
#### Filter.type
|
|
203
259
|
|
|
204
|
-
City(城市选择), List(列表选择,可以多选或者单选), Range(数据范围), Text(文字输入), Selector(下拉选项), Check(单项选择), RadioList(单选列表),
|
|
260
|
+
City(城市选择), List(列表选择,可以多选或者单选), Range(数据范围), Text(文字输入) Text.Number, Selector(下拉选项), Check(单项选择), RadioList(单选列表),
|
|
205
261
|
CheckboxList(多选列表)
|
|
206
262
|
|
|
263
|
+
DateTime(时间选择),DateTime.Time DateTime.Range DateTime.Week DateTime.Month DateTime.Year
|
|
264
|
+
|
|
207
265
|
公共参数
|
|
208
266
|
|
|
209
267
|
| 属性名 | 说明 | 类型 | 默认值 |
|
|
@@ -212,7 +270,13 @@ CheckboxList(多选列表)
|
|
|
212
270
|
| name | 筛选项的key | string | - |
|
|
213
271
|
| placeholder| 筛选项的placeholder(如果可以显示的话),如果不传值通常会去label的值 | string |-|
|
|
214
272
|
|
|
215
|
-
|
|
273
|
+
#### Text|Text.Number|Range
|
|
274
|
+
|
|
275
|
+
| 属性名 | 说明 | 类型 | 默认值 |
|
|
276
|
+
|-------|-------------------------------------------------------|--------|-----|
|
|
277
|
+
|onBeforeSearch| 带有确定按钮的筛选项,在点击确定后会调用该方法,如果该方法返回为false,则该选项的值不会被提交给筛选项 | function | - |
|
|
278
|
+
|
|
279
|
+
##### Range|DateTime.Range
|
|
216
280
|
|
|
217
281
|
| 属性名 | 说明 | 类型 | 默认值 |
|
|
218
282
|
|-------|--------------------------------------------------------------|----------|-----|
|
package/dist/index.css
CHANGED
|
@@ -10,12 +10,17 @@
|
|
|
10
10
|
.react-filter-item {
|
|
11
11
|
white-space: nowrap;
|
|
12
12
|
line-height: 32px; }
|
|
13
|
-
.react-filter-item .ant-input, .react-filter-item .ant-select {
|
|
13
|
+
.react-filter-item .ant-input, .react-filter-item .ant-select, .react-filter-item .ant-input-number {
|
|
14
14
|
min-width: 150px; }
|
|
15
|
+
.react-filter-item .react-filter-range .ant-input-number {
|
|
16
|
+
min-width: auto; }
|
|
15
17
|
|
|
16
|
-
.react-filter-item-popover .ant-input, .react-filter-item-popover .ant-select {
|
|
18
|
+
.react-filter-item-popover .ant-input, .react-filter-item-popover .ant-select, .react-filter-item-popover .ant-input-number {
|
|
17
19
|
min-width: 150px; }
|
|
18
20
|
|
|
21
|
+
.react-filter-item-popover .react-filter-range .ant-input-number {
|
|
22
|
+
min-width: auto; }
|
|
23
|
+
|
|
19
24
|
.react-filter-item-label {
|
|
20
25
|
font-size: 14px; }
|
|
21
26
|
.react-filter-item-label.is-more {
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.scss"],"names":[],"mappings":"AAAA;EACE,oBAAoB,EAAE;;AAExB;EACE,gBAAgB,EAAE;;AAEpB;EACE,eAAe,EAAE;;AAEnB;EACE,mBAAmB;EACnB,iBAAiB,EAAE;EACnB;IACE,gBAAgB,EAAE;;
|
|
1
|
+
{"version":3,"sources":["index.scss"],"names":[],"mappings":"AAAA;EACE,oBAAoB,EAAE;;AAExB;EACE,gBAAgB,EAAE;;AAEpB;EACE,eAAe,EAAE;;AAEnB;EACE,mBAAmB;EACnB,iBAAiB,EAAE;EACnB;IACE,gBAAgB,EAAE;EACpB;IACE,eAAe,EAAE;;AAErB;EACE,gBAAgB,EAAE;;AAEpB;EACE,eAAe,EAAE;;AAEnB;EACE,eAAe,EAAE;EACjB;IACE,eAAe,EAAE;;AAErB;EACE,aAAa;EACb,mBAAmB,EAAE;;AAEvB;EACE,kBAAkB,EAAE;EACpB;IACE,kBAAkB,EAAE;EACtB;IACE,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,oBAAoB;IACpB,kBAAkB;IAClB,yBAAyB;IACzB,uBAAuB;IACvB,gCAAgC;IAChC,8CAA8C,EAAE;EAClD;IACE,UAAU,EAAE;IACZ;MACE,UAAU,EAAE;IACd;MACE,oBAAoB;MACpB,+CAA+C;MAC/C,mBAAmB,EAAE;;AAE3B;EACE,gBAAgB,EAAE;;AAEpB;EACE,kBAAkB;EAClB,QAAQ;EACR,YAAY;EACZ,gCAAgC,EAAE;;AAEpC;EACE,iBAAiB,EAAE;;AAErB;EACE,WAAW,EAAE","file":"index.css","sourcesContent":[".react-filter-inner {\n padding-right: 116px; }\n\n.react-filter-divider {\n margin: 5px auto; }\n\n.react-filter-line {\n min-width: 100%; }\n\n.react-filter-item {\n white-space: nowrap;\n line-height: 32px; }\n .react-filter-item .ant-input, .react-filter-item .ant-select, .react-filter-item .ant-input-number {\n min-width: 150px; }\n .react-filter-item .react-filter-range .ant-input-number {\n min-width: auto; }\n\n.react-filter-item-popover .ant-input, .react-filter-item-popover .ant-select, .react-filter-item-popover .ant-input-number {\n min-width: 150px; }\n\n.react-filter-item-popover .react-filter-range .ant-input-number {\n min-width: auto; }\n\n.react-filter-item-label {\n font-size: 14px; }\n .react-filter-item-label.is-more {\n cursor: pointer; }\n\n.react-filter-item-children {\n display: flex;\n align-items: center; }\n\n.react-filter-search-button {\n position: relative; }\n .react-filter-search-button .inner {\n position: relative; }\n .react-filter-search-button:before {\n content: '';\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n border-radius: 3px;\n padding: 4px 4px 4px 60px;\n box-sizing: content-box;\n transform: translate(-3px, -3px);\n transition: box-shadow 300ms, background 300ms; }\n .react-filter-search-button.is-active {\n z-index: 1; }\n .react-filter-search-button.is-active .inner {\n z-index: 1; }\n .react-filter-search-button.is-active:before {\n pointer-events: auto;\n box-shadow: 2px 3px 10px 4px rgba(0, 0, 0, 0.2);\n background: #FFFFFF; }\n\n.react-filter-search-confirm.is-more {\n margin-left: 8px; }\n\n.react-filter-search-confirm:not(.is-more) {\n position: absolute;\n top: 50%;\n right: -10px;\n transform: translate(100%, -50%); }\n\n.react-filter-switch-btn {\n margin-top: -32px; }\n\n.react-filter-selected {\n width: 100%; }\n"]}
|
package/dist/index.js
CHANGED
|
@@ -4,12 +4,14 @@ var classnames = require('classnames');
|
|
|
4
4
|
var reactCitySelect = require('@kne/react-city-select');
|
|
5
5
|
var lodash = require('lodash');
|
|
6
6
|
var useClickOutSide = require('@kne/use-click-outside');
|
|
7
|
+
var moment = require('moment');
|
|
7
8
|
|
|
8
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
10
|
|
|
10
11
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
12
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
12
13
|
var useClickOutSide__default = /*#__PURE__*/_interopDefaultLegacy(useClickOutSide);
|
|
14
|
+
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
13
15
|
|
|
14
16
|
var context$1 = React.createContext({});
|
|
15
17
|
var Provider$1 = context$1.Provider;
|
|
@@ -49,7 +51,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
49
51
|
return target;
|
|
50
52
|
}
|
|
51
53
|
|
|
52
|
-
var _excluded$
|
|
54
|
+
var _excluded$9 = ["label", "labelHidden", "isMore", "moreTrigger"];
|
|
53
55
|
|
|
54
56
|
var FilterItem = function FilterItem(_ref) {
|
|
55
57
|
var className = _ref.className,
|
|
@@ -57,17 +59,23 @@ var FilterItem = function FilterItem(_ref) {
|
|
|
57
59
|
labelHidden = _ref.labelHidden,
|
|
58
60
|
isMore = _ref.isMore,
|
|
59
61
|
moreTrigger = _ref.moreTrigger,
|
|
62
|
+
onClick = _ref.onClick,
|
|
60
63
|
children = _ref.children;
|
|
61
64
|
|
|
62
65
|
if (isMore) {
|
|
63
66
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
64
67
|
className: classnames__default["default"]("react-filter-item-label", "is-more", className)
|
|
65
|
-
}, /*#__PURE__*/React__default["default"].createElement(antd.Popover, {
|
|
68
|
+
}, children ? /*#__PURE__*/React__default["default"].createElement(antd.Popover, {
|
|
66
69
|
content: children,
|
|
67
70
|
trigger: moreTrigger,
|
|
68
71
|
placement: "bottom",
|
|
69
72
|
overlayClassName: "react-filter-item-popover"
|
|
70
|
-
}, /*#__PURE__*/React__default["default"].createElement("a",
|
|
73
|
+
}, /*#__PURE__*/React__default["default"].createElement("a", {
|
|
74
|
+
className: "react-filter-item-more"
|
|
75
|
+
}, label)) : /*#__PURE__*/React__default["default"].createElement("a", {
|
|
76
|
+
className: "react-filter-item-more",
|
|
77
|
+
onClick: onClick
|
|
78
|
+
}, label));
|
|
71
79
|
}
|
|
72
80
|
|
|
73
81
|
return /*#__PURE__*/React__default["default"].createElement(antd.Space, {
|
|
@@ -85,7 +93,7 @@ var withFilterItem = function withFilterItem(WrappedComponent) {
|
|
|
85
93
|
labelHidden = _ref2.labelHidden,
|
|
86
94
|
isMore = _ref2.isMore,
|
|
87
95
|
moreTrigger = _ref2.moreTrigger,
|
|
88
|
-
props = _objectWithoutPropertiesLoose(_ref2, _excluded$
|
|
96
|
+
props = _objectWithoutPropertiesLoose(_ref2, _excluded$9);
|
|
89
97
|
|
|
90
98
|
return /*#__PURE__*/React__default["default"].createElement(FilterItem, {
|
|
91
99
|
label: label,
|
|
@@ -99,7 +107,7 @@ var withFilterItem = function withFilterItem(WrappedComponent) {
|
|
|
99
107
|
};
|
|
100
108
|
};
|
|
101
109
|
|
|
102
|
-
var _excluded$
|
|
110
|
+
var _excluded$8 = ["value", "label"];
|
|
103
111
|
var CheckableTag = antd.Tag.CheckableTag;
|
|
104
112
|
var context = React.createContext({});
|
|
105
113
|
var Provider = context.Provider;
|
|
@@ -225,7 +233,7 @@ var List = function List(_ref) {
|
|
|
225
233
|
List.Item = function (_ref3) {
|
|
226
234
|
var value = _ref3.value,
|
|
227
235
|
label = _ref3.label,
|
|
228
|
-
props = _objectWithoutPropertiesLoose(_ref3, _excluded$
|
|
236
|
+
props = _objectWithoutPropertiesLoose(_ref3, _excluded$8);
|
|
229
237
|
|
|
230
238
|
var _useContext = React.useContext(context),
|
|
231
239
|
currentValue = _useContext.currentValue,
|
|
@@ -250,7 +258,7 @@ List.defaultProps = {
|
|
|
250
258
|
size: 2
|
|
251
259
|
};
|
|
252
260
|
|
|
253
|
-
var _excluded$
|
|
261
|
+
var _excluded$7 = ["label", "labelHidden", "name", "size", "isMore"];
|
|
254
262
|
var Item = List.Item;
|
|
255
263
|
|
|
256
264
|
var City = function City(_ref) {
|
|
@@ -258,7 +266,7 @@ var City = function City(_ref) {
|
|
|
258
266
|
labelHidden = _ref.labelHidden,
|
|
259
267
|
name = _ref.name,
|
|
260
268
|
size = _ref.size;
|
|
261
|
-
_objectWithoutPropertiesLoose(_ref, _excluded$
|
|
269
|
+
_objectWithoutPropertiesLoose(_ref, _excluded$7);
|
|
262
270
|
|
|
263
271
|
return /*#__PURE__*/React__default["default"].createElement(List, {
|
|
264
272
|
labelHidden: labelHidden,
|
|
@@ -443,6 +451,7 @@ var RangeInner = function RangeInner(_ref) {
|
|
|
443
451
|
onBlur = _ref.onBlur,
|
|
444
452
|
onSearch = _ref.onSearch,
|
|
445
453
|
_onActiveChange = _ref.onActiveChange,
|
|
454
|
+
onBeforeSearch = _ref.onBeforeSearch,
|
|
446
455
|
startProps = _ref.startProps,
|
|
447
456
|
endProps = _ref.endProps,
|
|
448
457
|
placeholder = _ref.placeholder;
|
|
@@ -463,6 +472,10 @@ var RangeInner = function RangeInner(_ref) {
|
|
|
463
472
|
return false;
|
|
464
473
|
}
|
|
465
474
|
|
|
475
|
+
if (onBeforeSearch) {
|
|
476
|
+
return onBeforeSearch(value);
|
|
477
|
+
}
|
|
478
|
+
|
|
466
479
|
return true;
|
|
467
480
|
};
|
|
468
481
|
|
|
@@ -493,7 +506,8 @@ var RangeInner = function RangeInner(_ref) {
|
|
|
493
506
|
title: error,
|
|
494
507
|
placement: "bottomRight"
|
|
495
508
|
}, /*#__PURE__*/React__default["default"].createElement(antd.Space, {
|
|
496
|
-
size: "small"
|
|
509
|
+
size: "small",
|
|
510
|
+
className: "react-filter-range"
|
|
497
511
|
}, /*#__PURE__*/React__default["default"].createElement(antd.InputNumber, _extends({
|
|
498
512
|
size: "small"
|
|
499
513
|
}, startProps, {
|
|
@@ -525,55 +539,71 @@ var RangeInner = function RangeInner(_ref) {
|
|
|
525
539
|
};
|
|
526
540
|
var Range = withFilterItem(RangeInner);
|
|
527
541
|
|
|
528
|
-
var _excluded$
|
|
529
|
-
var TextInner = function TextInner(_ref) {
|
|
530
|
-
var name = _ref.name,
|
|
531
|
-
label = _ref.label,
|
|
532
|
-
isMore = _ref.isMore,
|
|
533
|
-
template = _ref.template,
|
|
534
|
-
defaultActive = _ref.defaultActive,
|
|
535
|
-
onBlur = _ref.onBlur,
|
|
536
|
-
onSearch = _ref.onSearch,
|
|
537
|
-
_onActiveChange = _ref.onActiveChange,
|
|
538
|
-
placeholder = _ref.placeholder,
|
|
539
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
542
|
+
var _excluded$6 = ["name", "label", "isMore", "template", "defaultActive", "onBlur", "onSearch", "onBeforeSearch", "onActiveChange", "placeholder"];
|
|
540
543
|
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
544
|
+
var withValue$1 = function withValue(WrappedComponent, options) {
|
|
545
|
+
if (options === void 0) {
|
|
546
|
+
options = {};
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
return function (_ref) {
|
|
550
|
+
var name = _ref.name,
|
|
551
|
+
label = _ref.label,
|
|
552
|
+
isMore = _ref.isMore,
|
|
553
|
+
template = _ref.template,
|
|
554
|
+
defaultActive = _ref.defaultActive,
|
|
555
|
+
onBlur = _ref.onBlur,
|
|
556
|
+
onSearch = _ref.onSearch,
|
|
557
|
+
onBeforeSearch = _ref.onBeforeSearch,
|
|
558
|
+
_onActiveChange = _ref.onActiveChange,
|
|
559
|
+
placeholder = _ref.placeholder,
|
|
560
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$6);
|
|
561
|
+
|
|
562
|
+
return /*#__PURE__*/React__default["default"].createElement(SearchButton, {
|
|
563
|
+
defaultActive: defaultActive,
|
|
564
|
+
isMore: isMore,
|
|
565
|
+
onBlur: onBlur,
|
|
566
|
+
template: template,
|
|
567
|
+
name: name,
|
|
568
|
+
onSearch: onSearch,
|
|
569
|
+
onBeforeSearch: onBeforeSearch,
|
|
570
|
+
onActiveChange: function onActiveChange(active) {
|
|
571
|
+
_onActiveChange && _onActiveChange(active);
|
|
565
572
|
}
|
|
566
|
-
})
|
|
567
|
-
|
|
573
|
+
}, function (_ref2) {
|
|
574
|
+
var value = _ref2.value,
|
|
575
|
+
setValue = _ref2.setValue,
|
|
576
|
+
setActive = _ref2.setActive;
|
|
577
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(WrappedComponent, _extends({
|
|
578
|
+
size: "small"
|
|
579
|
+
}, props, {
|
|
580
|
+
placeholder: placeholder || label,
|
|
581
|
+
value: value,
|
|
582
|
+
onChange: function onChange(e) {
|
|
583
|
+
setValue(options.getValue ? options.getValue(e) : e.target.value);
|
|
584
|
+
},
|
|
585
|
+
onFocus: function onFocus() {
|
|
586
|
+
setActive(true);
|
|
587
|
+
}
|
|
588
|
+
})));
|
|
589
|
+
});
|
|
590
|
+
};
|
|
568
591
|
};
|
|
569
|
-
var Text = withFilterItem(TextInner);
|
|
570
592
|
|
|
571
|
-
var
|
|
593
|
+
var TextInner = withValue$1(antd.Input);
|
|
594
|
+
var Text = withFilterItem(withValue$1(antd.Input));
|
|
595
|
+
Text.Number = withFilterItem(withValue$1(antd.InputNumber, {
|
|
596
|
+
getValue: function getValue(value) {
|
|
597
|
+
return value;
|
|
598
|
+
}
|
|
599
|
+
}));
|
|
600
|
+
|
|
601
|
+
var _excluded$5 = ["name", "label", "placeholder", "isMore"];
|
|
572
602
|
var SelectorInner = function SelectorInner(_ref) {
|
|
573
603
|
var name = _ref.name,
|
|
574
604
|
label = _ref.label,
|
|
575
605
|
placeholder = _ref.placeholder,
|
|
576
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
606
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
577
607
|
|
|
578
608
|
var _useConsumer = useConsumer(),
|
|
579
609
|
aValue = _useConsumer.value,
|
|
@@ -591,13 +621,13 @@ var SelectorInner = function SelectorInner(_ref) {
|
|
|
591
621
|
};
|
|
592
622
|
var Selector = withFilterItem(SelectorInner);
|
|
593
623
|
|
|
594
|
-
var _excluded$
|
|
624
|
+
var _excluded$4 = ["name", "label", "className", "isMore"];
|
|
595
625
|
|
|
596
626
|
var Check = function Check(_ref) {
|
|
597
627
|
var name = _ref.name,
|
|
598
628
|
label = _ref.label,
|
|
599
629
|
className = _ref.className,
|
|
600
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
630
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
601
631
|
|
|
602
632
|
var _useConsumer = useConsumer(),
|
|
603
633
|
aValue = _useConsumer.value,
|
|
@@ -617,11 +647,11 @@ var Check = function Check(_ref) {
|
|
|
617
647
|
}), label);
|
|
618
648
|
};
|
|
619
649
|
|
|
620
|
-
var _excluded$
|
|
650
|
+
var _excluded$3 = ["label", "name", "options", "isMore"];
|
|
621
651
|
var RadioList = withFilterItem(function (_ref) {
|
|
622
652
|
var name = _ref.name,
|
|
623
653
|
options = _ref.options,
|
|
624
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
654
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
625
655
|
|
|
626
656
|
var _useConsumer = useConsumer(),
|
|
627
657
|
aValue = _useConsumer.value,
|
|
@@ -641,11 +671,11 @@ var RadioList = withFilterItem(function (_ref) {
|
|
|
641
671
|
}));
|
|
642
672
|
});
|
|
643
673
|
|
|
644
|
-
var _excluded$
|
|
674
|
+
var _excluded$2 = ["label", "name", "options", "isMore"];
|
|
645
675
|
var CheckboxList = withFilterItem(function (_ref) {
|
|
646
676
|
var name = _ref.name,
|
|
647
677
|
options = _ref.options,
|
|
648
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
678
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
649
679
|
|
|
650
680
|
var _useConsumer = useConsumer(),
|
|
651
681
|
aValue = _useConsumer.value,
|
|
@@ -671,6 +701,48 @@ var CheckboxList = withFilterItem(function (_ref) {
|
|
|
671
701
|
}));
|
|
672
702
|
});
|
|
673
703
|
|
|
704
|
+
var _excluded$1 = ["name", "label", "placeholder", "template", "isMore"];
|
|
705
|
+
|
|
706
|
+
var withValue = function withValue(WrappedComponent, options) {
|
|
707
|
+
if (options === void 0) {
|
|
708
|
+
options = {};
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
return function (_ref) {
|
|
712
|
+
var name = _ref.name,
|
|
713
|
+
label = _ref.label,
|
|
714
|
+
placeholder = _ref.placeholder,
|
|
715
|
+
template = _ref.template,
|
|
716
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
717
|
+
|
|
718
|
+
var _useConsumer = useConsumer(),
|
|
719
|
+
aValue = _useConsumer.value,
|
|
720
|
+
_onChange = _useConsumer.onChange;
|
|
721
|
+
|
|
722
|
+
var currentValue = aValue[name];
|
|
723
|
+
return /*#__PURE__*/React__default["default"].createElement(WrappedComponent, _extends({}, props, {
|
|
724
|
+
placeholder: options.range ? placeholder || [label, label] : placeholder || label,
|
|
725
|
+
size: "small",
|
|
726
|
+
value: currentValue && moment__default["default"](currentValue),
|
|
727
|
+
onChange: function onChange(value, item) {
|
|
728
|
+
_onChange(name, {
|
|
729
|
+
label: lodash.isFunction(template) ? template(item) : options.range ? item.join('~') : item,
|
|
730
|
+
value: item
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
}));
|
|
734
|
+
};
|
|
735
|
+
};
|
|
736
|
+
|
|
737
|
+
var DateTime = withFilterItem(withValue(antd.DatePicker));
|
|
738
|
+
DateTime.Month = withFilterItem(withValue(antd.DatePicker.MonthPicker));
|
|
739
|
+
DateTime.Week = withFilterItem(withValue(antd.DatePicker.WeekPicker));
|
|
740
|
+
DateTime.Time = withFilterItem(withValue(antd.DatePicker.TimePicker));
|
|
741
|
+
DateTime.YearPicker = withFilterItem(withValue(antd.DatePicker.YearPicker));
|
|
742
|
+
DateTime.Range = withFilterItem(withValue(antd.DatePicker.RangePicker, {
|
|
743
|
+
range: true
|
|
744
|
+
}));
|
|
745
|
+
|
|
674
746
|
var filterNull = function filterNull(item) {
|
|
675
747
|
var target = Object.assign({}, item);
|
|
676
748
|
Object.keys(target).forEach(function (key) {
|
|
@@ -797,7 +869,7 @@ var Filter = function Filter(_ref) {
|
|
|
797
869
|
var label = _ref2.label;
|
|
798
870
|
return label;
|
|
799
871
|
}).join(",") : item.label);
|
|
800
|
-
})), /*#__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, {
|
|
872
|
+
})), /*#__PURE__*/React__default["default"].createElement("div", null, extra))), renderList(isExtra ? basicList : list), moreList.length === 0 || isExtra === false ? moreFilter : null), display && isExtra ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(antd.Divider, {
|
|
801
873
|
className: "react-filter-divider"
|
|
802
874
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
803
875
|
className: "react-filter-inner"
|
|
@@ -824,7 +896,8 @@ Filter.type = {
|
|
|
824
896
|
Selector: Selector,
|
|
825
897
|
Check: Check,
|
|
826
898
|
RadioList: RadioList,
|
|
827
|
-
CheckboxList: CheckboxList
|
|
899
|
+
CheckboxList: CheckboxList,
|
|
900
|
+
DateTime: DateTime
|
|
828
901
|
};
|
|
829
902
|
Filter.defaultProps = {
|
|
830
903
|
label: '筛选项',
|