@kne/react-filter 0.1.20 → 0.1.23

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/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/RadioList/index.js","../src/CheckboxList/index.js","../src/Filter.js","../src/MoreExtraButton/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, Popover} from \"antd\";\nimport classnames from 'classnames';\n\nconst FilterItem = ({className, label, labelHidden, isMore, moreTrigger, children}) => {\n if (isMore) {\n return <div className={classnames(\"react-filter-item-label\", \"is-more\", className)}>\n <Popover content={children} trigger={moreTrigger} placement=\"bottom\" overlayClassName=\"react-filter-item-popover\">\n <a>{label}</a>\n </Popover>\n\n </div>;\n }\n return <Space className={classnames('react-filter-item', className)}>\n {labelHidden ? null : <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, labelHidden, isMore, moreTrigger, ...props}) => {\n return <FilterItem label={label} labelHidden={labelHidden} isMore={isMore} moreTrigger={moreTrigger}>\n <WrappedComponent {...props} label={label} isMore={isMore}/>\n </FilterItem>\n};\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, isFunction, isEqual} from \"lodash\";\n\nconst {CheckableTag} = Tag;\n\nconst context = createContext({});\n\nconst {Provider} = context;\n\nconst List = ({label, labelHidden, name, size, children, options, more, isMore}) => {\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} labelHidden={labelHidden}>\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, labelHidden, name, size, isMore, ...props}) => {\n return <List labelHidden={labelHidden} 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;\n","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 {get,isFunction} from \"lodash\";\n\nconst SearchButton = ({\n name,\n size,\n isMore,\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 return <div className={classnames(\"react-filter-search-button\", {\n \"is-active\": active && !isMore\n })} ref={ref} onMouseEnter={() => {\n !active && setActive(true);\n }} onMouseLeave={() => {\n active && setActive(false);\n }}>\n <Space className=\"inner\" size={0}>\n <div>{children({value, setValue, setActive})}</div>\n {active || isMore ?\n <Button className={classnames(\"react-filter-search-confirm\", {\n \"is-more\": isMore\n })} 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}</Space>\n </div>;\n};\n\nSearchButton.defaultProps = {\n defaultActive: false, buttonText: \"确定\"\n};\n\nexport default SearchButton;\n","import React, {useState} from \"react\";\nimport {InputNumber, Space, Tooltip} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\nimport {get,isNumber} from \"lodash\";\n\nexport const RangeInner = ({\n name,\n size,\n isMore,\n defaultActive,\n template,\n onBlur,\n onSearch,\n onActiveChange,\n startProps,\n endProps,\n placeholder\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} isMore={isMore} onBlur={onBlur} defaultActive={defaultActive} name={name}\n 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 }} placeholder={Array.isArray(placeholder) ? placeholder[0] : (placeholder || \"请输入\")}/>\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 }} placeholder={Array.isArray(placeholder) ? placeholder[0] : (placeholder || \"请输入\")}/>\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 = ({\n name,\n label,\n isMore,\n template,\n defaultActive,\n onBlur,\n onSearch,\n onActiveChange,\n placeholder,\n ...props\n }) => {\n return <SearchButton defaultActive={defaultActive} isMore={isMore} onBlur={onBlur} template={template} name={name}\n onSearch={onSearch}\n onActiveChange={(active) => {\n onActiveChange && onActiveChange(active);\n }}>\n {({value, setValue, setActive}) => <>\n <Input size=\"small\" {...props} placeholder={placeholder || label} 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, label, placeholder, isMore, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Select {...props} placeholder={label || placeholder} size=\"small\" value={currentValue}\n onChange={(value, item) => {\n onChange(name, item);\n }}/>;\n};\n\nconst Selector = withFilterItem(SelectorInner);\n\nexport default Selector;\n","import React from \"react\";\nimport {Checkbox} from \"antd\";\nimport {useConsumer} from \"../context\";\nimport classnames from \"classnames\";\n\nconst Check = ({name, label, className, isMore, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Checkbox {...props} className={classnames('react-filter-item', className)} size=\"small\"\n checked={currentValue} onChange={(e) => {\n onChange(name, e.target.checked ? {value: true, label} : null);\n }}>{label}</Checkbox>;\n};\n\nexport default Check;\n","import React from \"react\";\nimport {Radio} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport {useConsumer} from \"../context\";\nimport {get} from 'lodash'\n\nconst RadioList = withFilterItem(({label, name, options, isMore, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Radio.Group {...props} options={options} value={get(currentValue, 'value')} onChange={(e) => {\n const item = options.find((item) => item.value === e.target.value);\n onChange(name, item);\n }}/>\n});\n\nexport default RadioList;\n","import React from \"react\";\nimport {Checkbox} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport {useConsumer} from \"../context\";\n\nconst CheckboxList = withFilterItem(({label, name, options, isMore, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Checkbox.Group {...props} value={(currentValue || []).map(({value}) => value)} onChange={(value) => {\n const item = value.map((value) => {\n return options.find((item) => item.value === value);\n });\n console.log(item);\n onChange(name, item);\n }} options={options}/>\n});\n\nexport default CheckboxList;\n","import React, {cloneElement, useState, useMemo} from \"react\";\nimport {Button, Col, Divider, Row, Space, Tag} from \"antd\";\nimport {Provider} from \"./context\";\nimport FilterItem from \"./FilterItem\";\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 RadioList from \"./RadioList\";\nimport CheckboxList from \"./CheckboxList\";\n\nconst filterNull = (item) => {\n const target = Object.assign({}, 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 return target;\n};\n\nconst Filter = ({\n displayLine,\n defaultDisplay,\n isExtra,\n list,\n label,\n labelHidden,\n itemLabelHidden,\n unfoldText,\n foldText,\n extra,\n more,\n moreTrigger,\n moreLabel,\n value: originValue,\n onChange\n }) => {\n const value = useMemo(() => {\n return filterNull(originValue);\n }, [originValue]);\n const [display, setDisplay] = useState(defaultDisplay);\n const basicList = list.slice(0, displayLine), moreList = list.slice(displayLine);\n const renderList = (list) => list.map((item, index) => {\n return <Space key={index}\n className=\"react-filter-line\">{item.map((item, index) => cloneElement(item, {\n key: index,\n labelHidden: itemLabelHidden\n }))}</Space>;\n });\n const changeHandler = (name, item) => {\n const target = Object.assign({}, value, {[name]: item});\n onChange(filterNull(target));\n };\n\n const moreFilter = more && more.length > 0 ? <Space className=\"react-filter-line is-more\">\n <Space className=\"react-filter-item\">\n <div className=\"react-filter-item-label\">{moreLabel}:</div>\n <Space className=\"react-filter-item-children\" split={<Divider type=\"vertical\"/>}>\n {more.map((item, index) => cloneElement(item, {\n key: index,\n isMore: true,\n moreTrigger\n }))}\n </Space>\n </Space>\n </Space> : null;\n\n return <Provider value={{\n value, onChange: changeHandler\n }}>\n <div className=\"react-filter\">\n <div className=\"react-filter-inner\">\n <div>\n {labelHidden ? null : <Space>\n <FilterItem className=\"react-filter-selected\" label={label}>\n {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 })}\n </FilterItem>\n <div>{extra}</div>\n </Space>}\n </div>\n {renderList(isExtra ? basicList : list)}\n {moreList.length === 0 ? moreFilter : null}\n </div>\n {display ? <><Divider className=\"react-filter-divider\"/>\n <div className=\"react-filter-inner\">{renderList(moreList)}</div>\n {moreList.length > 0 ? moreFilter : null}\n </> :\n <div className=\"react-filter-divider-close\"/>}\n {isExtra && list.length > displayLine ? <Row className=\"react-filter-switch-btn\" justify=\"end\">\n <Col><Button type=\"link\" onClick={() => {\n setDisplay((display) => !display);\n }}>{display ? foldText : unfoldText}</Button></Col>\n </Row> : null}\n </div>\n </Provider>;\n};\n\nFilter.type = {\n City, List, Range, Text, Selector, Check, RadioList, CheckboxList\n};\n\nFilter.defaultProps = {\n label: '筛选项',\n labelHidden: false,\n itemLabelHidden: false,\n unfoldText: '展开',\n foldText: '收起',\n displayLine: 2,\n defaultDisplay: false,\n isExtra: true,\n list: [[]],\n more: [],\n moreTrigger: 'hover',\n moreLabel: '更多',\n value: {},\n extra: null,\n onChange: () => {\n }\n};\n\nexport default Filter;\n","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"],"names":["context","createContext","Provider","useConsumer","useContext","FilterItem","className","label","labelHidden","isMore","moreTrigger","children","React","classnames","Popover","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","Button","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","placeholder","setError","check","isNumber","Tooltip","InputNumber","inputValue","target","Range","TextInner","Input","Text","SelectorInner","Select","Selector","Check","Checkbox","RadioList","Radio","CheckboxList","console","log","filterNull","Object","assign","keys","key","every","Filter","displayLine","defaultDisplay","isExtra","list","itemLabelHidden","unfoldText","foldText","extra","moreLabel","useMemo","display","setDisplay","basicList","moreList","renderList","cloneElement","moreFilter","Divider","join","Row","Col","type","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","innerProps","mapping","range","text","selector","ExtraButtonComponent"],"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/RadioList/index.js","../src/CheckboxList/index.js","../src/DateTime/index.js","../src/Filter.js","../src/MoreExtraButton/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, {useRef, useEffect, useState} from \"react\";\nimport {Space, Popover} from \"antd\";\nimport classnames from 'classnames';\nimport {useConsumer} from '../context';\n\nconst PopContent = (props) => {\n const [visible, setVisible] = useState(false);\n const {emitter} = useConsumer();\n useEffect(() => {\n emitter.addListener('change', () => {\n setVisible(false);\n });\n }, []);\n return <Popover {...props} visible={visible} onVisibleChange={setVisible}/>\n};\n\nconst FilterItem = ({className, label, labelHidden, isMore, moreTrigger, onClick, children}) => {\n if (isMore) {\n return <div className={classnames(\"react-filter-item-label\", \"is-more\", className)}>\n {children ? <PopContent content={children} trigger={moreTrigger} placement=\"bottom\"\n overlayClassName=\"react-filter-item-popover\">\n <a className=\"react-filter-item-more\">{label}</a>\n </PopContent> : <a className=\"react-filter-item-more\" onClick={onClick}>{label}</a>}\n </div>;\n }\n return <Space className={classnames('react-filter-item', className)}>\n {labelHidden ? null : <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, labelHidden, isMore, moreTrigger, ...props}) => {\n return <FilterItem label={label} labelHidden={labelHidden} isMore={isMore} moreTrigger={moreTrigger}>\n <WrappedComponent {...props} label={label} isMore={isMore}/>\n </FilterItem>\n};\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, isFunction, isEqual} from \"lodash\";\n\nconst {CheckableTag} = Tag;\n\nconst context = createContext({});\n\nconst {Provider} = context;\n\nconst List = ({label, labelHidden, name, size, children, options, more, isMore}) => {\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} labelHidden={labelHidden}>\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, labelHidden, name, size, isMore, ...props}) => {\n return <List labelHidden={labelHidden} 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;\n","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 {get, isFunction} from \"lodash\";\n\nconst SearchButton = ({\n name,\n size,\n isMore,\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\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 return <div className={classnames(\"react-filter-search-button\", {\n \"is-active\": active && !isMore\n })} ref={ref} onMouseEnter={() => {\n !active && setActive(true);\n }} onMouseLeave={() => {\n active && setActive(false);\n }}>\n <Space className=\"inner\" size={0}>\n <div>{children({value, setValue, setActive})}</div>\n {active || isMore ?\n <Button className={classnames(\"react-filter-search-confirm\", {\n \"is-more\": isMore\n })} 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}</Space>\n </div>;\n};\n\nSearchButton.defaultProps = {\n defaultActive: false, buttonText: \"确定\"\n};\n\nexport default SearchButton;\n","import React, {useState} from \"react\";\nimport {InputNumber, Space, Tooltip} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\nimport {get, isNumber} from \"lodash\";\n\nexport const RangeInner = ({\n name,\n size,\n isMore,\n defaultActive,\n template,\n onBlur,\n onSearch,\n onActiveChange,\n onBeforeSearch,\n startProps,\n endProps,\n placeholder\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 if (onBeforeSearch) {\n return onBeforeSearch(value);\n }\n return true;\n };\n return <SearchButton size={size} template={template} isMore={isMore} onBlur={onBlur} defaultActive={defaultActive}\n name={name}\n 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\" className=\"react-filter-range\">\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 }} placeholder={Array.isArray(placeholder) ? placeholder[0] : (placeholder || \"请输入\")}/>\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 }} placeholder={Array.isArray(placeholder) ? placeholder[0] : (placeholder || \"请输入\")}/>\n </Space></Tooltip>}\n </SearchButton>;\n};\n\nconst Range = withFilterItem(RangeInner);\n\nexport default Range;\n\n","import React from \"react\";\nimport {Input, InputNumber} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\n\nconst withValue = (WrappedComponent, options = {}) => ({\n name,\n label,\n isMore,\n template,\n defaultActive,\n onBlur,\n onSearch,\n onBeforeSearch,\n onActiveChange,\n placeholder,\n ...props\n }) => {\n return <SearchButton defaultActive={defaultActive} isMore={isMore} onBlur={onBlur} template={template} name={name}\n onSearch={onSearch}\n onBeforeSearch={onBeforeSearch}\n onActiveChange={(active) => {\n onActiveChange && onActiveChange(active);\n }}>\n {({value, setValue, setActive}) => <>\n <WrappedComponent size=\"small\" {...props} placeholder={placeholder || label} value={value}\n onChange={(e) => {\n setValue(options.getValue ? options.getValue(e) : e.target.value);\n }} onFocus={() => {\n setActive(true);\n }}/>\n </>}\n </SearchButton>;\n};\n\nexport const TextInner = withValue(Input);\nconst Text = withFilterItem(withValue(Input));\nText.Number = withFilterItem(withValue(InputNumber, {\n getValue: (value) => {\n return value;\n }\n}));\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, label, placeholder, isMore, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Select {...props} placeholder={label || placeholder} size=\"small\" value={currentValue}\n onChange={(value, item) => {\n onChange(name, item);\n }}/>;\n};\n\nconst Selector = withFilterItem(SelectorInner);\n\nexport default Selector;\n","import React from \"react\";\nimport {Checkbox} from \"antd\";\nimport {useConsumer} from \"../context\";\nimport classnames from \"classnames\";\n\nconst Check = ({name, label, className, isMore, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Checkbox {...props} className={classnames('react-filter-item', className)} size=\"small\"\n checked={currentValue} onChange={(e) => {\n onChange(name, e.target.checked ? {value: true, label} : null);\n }}>{label}</Checkbox>;\n};\n\nexport default Check;\n","import React from \"react\";\nimport {Radio} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport {useConsumer} from \"../context\";\nimport {get} from 'lodash'\n\nconst RadioList = withFilterItem(({label, name, options, isMore, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Radio.Group {...props} options={options} value={get(currentValue, 'value')} onChange={(e) => {\n const item = options.find((item) => item.value === e.target.value);\n onChange(name, item);\n }}/>\n});\n\nexport default RadioList;\n","import React from \"react\";\nimport {Checkbox} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport {useConsumer} from \"../context\";\n\nconst CheckboxList = withFilterItem(({label, name, options, isMore, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Checkbox.Group {...props} value={(currentValue || []).map(({value}) => value)} onChange={(value) => {\n const item = value.map((value) => {\n return options.find((item) => item.value === value);\n });\n console.log(item);\n onChange(name, item);\n }} options={options}/>\n});\n\nexport default CheckboxList;\n","import React from \"react\";\nimport {DatePicker} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport {useConsumer} from \"../context\";\nimport moment from 'moment';\nimport {isFunction} from 'lodash';\n\nconst withValue = (WrappedComponent, options = {}) => ({name, label, placeholder, template, isMore, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <WrappedComponent {...props}\n placeholder={options.range ? placeholder || [label, label] : (placeholder || label)}\n size=\"small\" value={currentValue && moment(currentValue)}\n onChange={(value, item) => {\n onChange(name, {\n label: isFunction(template) ? template(item) : options.range ? item.join('~') : item,\n value: item\n });\n }}/>;\n};\n\nconst DateTime = withFilterItem(withValue(DatePicker));\n\nDateTime.Month = withFilterItem(withValue(DatePicker.MonthPicker));\n\nDateTime.Week = withFilterItem(withValue(DatePicker.WeekPicker));\n\nDateTime.Time = withFilterItem(withValue(DatePicker.TimePicker));\n\nDateTime.YearPicker = withFilterItem(withValue(DatePicker.YearPicker));\n\nDateTime.Range = withFilterItem(withValue(DatePicker.RangePicker, {range: true}));\n\nexport default DateTime;\n","import React, {cloneElement, useState, useMemo} from \"react\";\nimport {Button, Col, Divider, Row, Space, Tag} from \"antd\";\nimport useEvent from '@kne/use-event';\nimport {Provider} from \"./context\";\nimport FilterItem from \"./FilterItem\";\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 RadioList from \"./RadioList\";\nimport CheckboxList from \"./CheckboxList\";\nimport DateTime from './DateTime';\n\nconst filterNull = (item) => {\n const target = Object.assign({}, 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 return target;\n};\n\nconst Filter = ({\n displayLine,\n defaultDisplay,\n isExtra,\n list,\n label,\n labelHidden,\n itemLabelHidden,\n unfoldText,\n foldText,\n extra,\n more,\n moreTrigger,\n moreLabel,\n value: originValue,\n onChange\n }) => {\n const value = useMemo(() => {\n return filterNull(originValue);\n }, [originValue]);\n const emitter = useEvent();\n const [display, setDisplay] = useState(defaultDisplay);\n const basicList = list.slice(0, displayLine), moreList = list.slice(displayLine);\n const renderList = (list) => list.map((item, index) => {\n return <Space key={index}\n className=\"react-filter-line\">{item.map((item, index) => cloneElement(item, {\n key: index,\n labelHidden: itemLabelHidden\n }))}</Space>;\n });\n const changeHandler = (name, item) => {\n const target = Object.assign({}, value, {[name]: item});\n const output = filterNull(target);\n emitter.emit('change', output);\n onChange(output);\n };\n\n const moreFilter = more && more.length > 0 ? <Space className=\"react-filter-line is-more\">\n <Space className=\"react-filter-item\">\n <div className=\"react-filter-item-label\">{moreLabel}:</div>\n <Space className=\"react-filter-item-children\" split={<Divider type=\"vertical\"/>}>\n {more.map((item, index) => cloneElement(item, {\n key: index,\n isMore: true,\n moreTrigger\n }))}\n </Space>\n </Space>\n </Space> : null;\n\n return <Provider value={{\n value, onChange: changeHandler, emitter\n }}>\n <div className=\"react-filter\">\n <div className=\"react-filter-inner\">\n <div>\n {labelHidden ? null : <Space>\n <FilterItem className=\"react-filter-selected\" label={label}>\n {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 })}\n </FilterItem>\n <div>{extra}</div>\n </Space>}\n </div>\n {renderList(isExtra ? basicList : list)}\n {moreList.length === 0 || isExtra === false ? moreFilter : null}\n </div>\n {display && isExtra ? <><Divider className=\"react-filter-divider\"/>\n <div className=\"react-filter-inner\">{renderList(moreList)}</div>\n {moreList.length > 0 ? moreFilter : null}\n </> :\n <div className=\"react-filter-divider-close\"/>}\n {isExtra && list.length > displayLine ? <Row className=\"react-filter-switch-btn\" justify=\"end\">\n <Col><Button type=\"link\" onClick={() => {\n setDisplay((display) => !display);\n }}>{display ? foldText : unfoldText}</Button></Col>\n </Row> : null}\n </div>\n </Provider>;\n};\n\nFilter.type = {\n City, List, Range, Text, Selector, Check, RadioList, CheckboxList, DateTime\n};\n\nFilter.defaultProps = {\n label: '筛选项',\n labelHidden: false,\n itemLabelHidden: false,\n unfoldText: '展开',\n foldText: '收起',\n displayLine: 2,\n defaultDisplay: false,\n isExtra: true,\n list: [[]],\n more: [],\n moreTrigger: 'hover',\n moreLabel: '更多',\n value: {},\n extra: null,\n onChange: () => {\n }\n};\n\nexport default Filter;\n","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"],"names":["context","createContext","Provider","useConsumer","useContext","PopContent","props","useState","visible","setVisible","emitter","useEffect","addListener","React","Popover","FilterItem","className","label","labelHidden","isMore","moreTrigger","onClick","children","classnames","Space","withFilterItem","WrappedComponent","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","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","setValue","active","setActive","withTemplate","toString","ref","useClickOutSide","activeChangeRef","useRef","current","Button","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","placeholder","setError","check","isNumber","Tooltip","InputNumber","inputValue","target","Range","withValue","getValue","TextInner","Input","Text","SelectorInner","Select","Selector","Check","Checkbox","RadioList","Radio","CheckboxList","console","log","range","moment","join","DateTime","DatePicker","Month","MonthPicker","Week","WeekPicker","Time","TimePicker","YearPicker","RangePicker","filterNull","Object","assign","keys","key","every","Filter","displayLine","defaultDisplay","isExtra","list","itemLabelHidden","unfoldText","foldText","extra","moreLabel","useMemo","useEvent","display","setDisplay","basicList","moreList","renderList","cloneElement","output","emit","moreFilter","Divider","Row","Col","type","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","innerProps","mapping","text","selector","ExtraButtonComponent"],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import React, { createContext, useContext, useState, useRef, useEffect, useMemo, cloneElement } from 'react';
2
- import { Popover, Space, Tag, message, Button, Tooltip, InputNumber, Input, Select, Checkbox, Radio, Divider, Row, Col } from 'antd';
1
+ import React, { createContext, useContext, useState, useEffect, useRef, useMemo, cloneElement } from 'react';
2
+ import { Space, Popover, Tag, message, Button, Tooltip, InputNumber, Input, Select, Checkbox, Radio, DatePicker, Divider, Row, Col } from 'antd';
3
+ import useEvent from '@kne/use-event';
3
4
  import classnames from 'classnames';
4
5
  import { createCitySelect, apis, RemoteData, DisplayCity } from '@kne/react-city-select';
5
6
  import { get, isFunction, isEqual, isNumber } from 'lodash';
6
7
  import useClickOutSide from '@kne/use-click-outside';
8
+ import moment from 'moment';
7
9
 
8
10
  const context$1 = createContext({});
9
11
  const {
@@ -44,7 +46,23 @@ function _objectWithoutPropertiesLoose(source, excluded) {
44
46
  return target;
45
47
  }
46
48
 
47
- const _excluded$8 = ["label", "labelHidden", "isMore", "moreTrigger"];
49
+ const _excluded$9 = ["label", "labelHidden", "isMore", "moreTrigger"];
50
+
51
+ const PopContent = props => {
52
+ const [visible, setVisible] = useState(false);
53
+ const {
54
+ emitter
55
+ } = useConsumer();
56
+ useEffect(() => {
57
+ emitter.addListener('change', () => {
58
+ setVisible(false);
59
+ });
60
+ }, []);
61
+ return /*#__PURE__*/React.createElement(Popover, _extends({}, props, {
62
+ visible: visible,
63
+ onVisibleChange: setVisible
64
+ }));
65
+ };
48
66
 
49
67
  const FilterItem = ({
50
68
  className,
@@ -52,17 +70,23 @@ const FilterItem = ({
52
70
  labelHidden,
53
71
  isMore,
54
72
  moreTrigger,
73
+ onClick,
55
74
  children
56
75
  }) => {
57
76
  if (isMore) {
58
77
  return /*#__PURE__*/React.createElement("div", {
59
78
  className: classnames("react-filter-item-label", "is-more", className)
60
- }, /*#__PURE__*/React.createElement(Popover, {
79
+ }, children ? /*#__PURE__*/React.createElement(PopContent, {
61
80
  content: children,
62
81
  trigger: moreTrigger,
63
82
  placement: "bottom",
64
83
  overlayClassName: "react-filter-item-popover"
65
- }, /*#__PURE__*/React.createElement("a", null, label)));
84
+ }, /*#__PURE__*/React.createElement("a", {
85
+ className: "react-filter-item-more"
86
+ }, label)) : /*#__PURE__*/React.createElement("a", {
87
+ className: "react-filter-item-more",
88
+ onClick: onClick
89
+ }, label));
66
90
  }
67
91
 
68
92
  return /*#__PURE__*/React.createElement(Space, {
@@ -81,7 +105,7 @@ const withFilterItem = WrappedComponent => _ref => {
81
105
  isMore,
82
106
  moreTrigger
83
107
  } = _ref,
84
- props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
108
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
85
109
 
86
110
  return /*#__PURE__*/React.createElement(FilterItem, {
87
111
  label: label,
@@ -94,7 +118,7 @@ const withFilterItem = WrappedComponent => _ref => {
94
118
  })));
95
119
  };
96
120
 
97
- const _excluded$7 = ["value", "label"];
121
+ const _excluded$8 = ["value", "label"];
98
122
  const {
99
123
  CheckableTag
100
124
  } = Tag;
@@ -225,7 +249,7 @@ List.Item = _ref => {
225
249
  value,
226
250
  label
227
251
  } = _ref,
228
- props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
252
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
229
253
 
230
254
  const {
231
255
  currentValue,
@@ -248,7 +272,7 @@ List.defaultProps = {
248
272
  size: 2
249
273
  };
250
274
 
251
- const _excluded$6 = ["label", "labelHidden", "name", "size", "isMore"];
275
+ const _excluded$7 = ["label", "labelHidden", "name", "size", "isMore"];
252
276
  const {
253
277
  Item
254
278
  } = List;
@@ -260,7 +284,7 @@ const City = _ref => {
260
284
  name,
261
285
  size
262
286
  } = _ref;
263
- _objectWithoutPropertiesLoose(_ref, _excluded$6);
287
+ _objectWithoutPropertiesLoose(_ref, _excluded$7);
264
288
 
265
289
  return /*#__PURE__*/React.createElement(List, {
266
290
  labelHidden: labelHidden,
@@ -420,6 +444,7 @@ const RangeInner = ({
420
444
  onBlur,
421
445
  onSearch,
422
446
  onActiveChange,
447
+ onBeforeSearch,
423
448
  startProps,
424
449
  endProps,
425
450
  placeholder
@@ -438,6 +463,10 @@ const RangeInner = ({
438
463
  return false;
439
464
  }
440
465
 
466
+ if (onBeforeSearch) {
467
+ return onBeforeSearch(value);
468
+ }
469
+
441
470
  return true;
442
471
  };
443
472
 
@@ -468,7 +497,8 @@ const RangeInner = ({
468
497
  title: error,
469
498
  placement: "bottomRight"
470
499
  }, /*#__PURE__*/React.createElement(Space, {
471
- size: "small"
500
+ size: "small",
501
+ className: "react-filter-range"
472
502
  }, /*#__PURE__*/React.createElement(InputNumber, _extends({
473
503
  size: "small"
474
504
  }, startProps, {
@@ -499,8 +529,9 @@ const RangeInner = ({
499
529
  };
500
530
  const Range = withFilterItem(RangeInner);
501
531
 
502
- const _excluded$5 = ["name", "label", "isMore", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
503
- const TextInner = _ref => {
532
+ const _excluded$6 = ["name", "label", "isMore", "template", "defaultActive", "onBlur", "onSearch", "onBeforeSearch", "onActiveChange", "placeholder"];
533
+
534
+ const withValue$1 = (WrappedComponent, options = {}) => _ref => {
504
535
  let {
505
536
  name,
506
537
  label,
@@ -509,10 +540,11 @@ const TextInner = _ref => {
509
540
  defaultActive,
510
541
  onBlur,
511
542
  onSearch,
543
+ onBeforeSearch,
512
544
  onActiveChange,
513
545
  placeholder
514
546
  } = _ref,
515
- props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
547
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$6);
516
548
 
517
549
  return /*#__PURE__*/React.createElement(SearchButton, {
518
550
  defaultActive: defaultActive,
@@ -521,6 +553,7 @@ const TextInner = _ref => {
521
553
  template: template,
522
554
  name: name,
523
555
  onSearch: onSearch,
556
+ onBeforeSearch: onBeforeSearch,
524
557
  onActiveChange: active => {
525
558
  onActiveChange && onActiveChange(active);
526
559
  }
@@ -528,29 +561,36 @@ const TextInner = _ref => {
528
561
  value,
529
562
  setValue,
530
563
  setActive
531
- }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Input, _extends({
564
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WrappedComponent, _extends({
532
565
  size: "small"
533
566
  }, props, {
534
567
  placeholder: placeholder || label,
535
568
  value: value,
536
569
  onChange: e => {
537
- setValue(e.target.value);
570
+ setValue(options.getValue ? options.getValue(e) : e.target.value);
538
571
  },
539
572
  onFocus: () => {
540
573
  setActive(true);
541
574
  }
542
575
  }))));
543
576
  };
544
- const Text = withFilterItem(TextInner);
545
577
 
546
- const _excluded$4 = ["name", "label", "placeholder", "isMore"];
578
+ const TextInner = withValue$1(Input);
579
+ const Text = withFilterItem(withValue$1(Input));
580
+ Text.Number = withFilterItem(withValue$1(InputNumber, {
581
+ getValue: value => {
582
+ return value;
583
+ }
584
+ }));
585
+
586
+ const _excluded$5 = ["name", "label", "placeholder", "isMore"];
547
587
  const SelectorInner = _ref => {
548
588
  let {
549
589
  name,
550
590
  label,
551
591
  placeholder
552
592
  } = _ref,
553
- props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
593
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
554
594
 
555
595
  const {
556
596
  value: aValue,
@@ -568,7 +608,7 @@ const SelectorInner = _ref => {
568
608
  };
569
609
  const Selector = withFilterItem(SelectorInner);
570
610
 
571
- const _excluded$3 = ["name", "label", "className", "isMore"];
611
+ const _excluded$4 = ["name", "label", "className", "isMore"];
572
612
 
573
613
  const Check = _ref => {
574
614
  let {
@@ -576,7 +616,7 @@ const Check = _ref => {
576
616
  label,
577
617
  className
578
618
  } = _ref,
579
- props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
619
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
580
620
 
581
621
  const {
582
622
  value: aValue,
@@ -596,13 +636,13 @@ const Check = _ref => {
596
636
  }), label);
597
637
  };
598
638
 
599
- const _excluded$2 = ["label", "name", "options", "isMore"];
639
+ const _excluded$3 = ["label", "name", "options", "isMore"];
600
640
  const RadioList = withFilterItem(_ref => {
601
641
  let {
602
642
  name,
603
643
  options
604
644
  } = _ref,
605
- props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
645
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
606
646
 
607
647
  const {
608
648
  value: aValue,
@@ -619,13 +659,13 @@ const RadioList = withFilterItem(_ref => {
619
659
  }));
620
660
  });
621
661
 
622
- const _excluded$1 = ["label", "name", "options", "isMore"];
662
+ const _excluded$2 = ["label", "name", "options", "isMore"];
623
663
  const CheckboxList = withFilterItem(_ref => {
624
664
  let {
625
665
  name,
626
666
  options
627
667
  } = _ref,
628
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
668
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
629
669
 
630
670
  const {
631
671
  value: aValue,
@@ -647,6 +687,44 @@ const CheckboxList = withFilterItem(_ref => {
647
687
  }));
648
688
  });
649
689
 
690
+ const _excluded$1 = ["name", "label", "placeholder", "template", "isMore"];
691
+
692
+ const withValue = (WrappedComponent, options = {}) => _ref => {
693
+ let {
694
+ name,
695
+ label,
696
+ placeholder,
697
+ template
698
+ } = _ref,
699
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
700
+
701
+ const {
702
+ value: aValue,
703
+ onChange
704
+ } = useConsumer();
705
+ const currentValue = aValue[name];
706
+ return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, {
707
+ placeholder: options.range ? placeholder || [label, label] : placeholder || label,
708
+ size: "small",
709
+ value: currentValue && moment(currentValue),
710
+ onChange: (value, item) => {
711
+ onChange(name, {
712
+ label: isFunction(template) ? template(item) : options.range ? item.join('~') : item,
713
+ value: item
714
+ });
715
+ }
716
+ }));
717
+ };
718
+
719
+ const DateTime = withFilterItem(withValue(DatePicker));
720
+ DateTime.Month = withFilterItem(withValue(DatePicker.MonthPicker));
721
+ DateTime.Week = withFilterItem(withValue(DatePicker.WeekPicker));
722
+ DateTime.Time = withFilterItem(withValue(DatePicker.TimePicker));
723
+ DateTime.YearPicker = withFilterItem(withValue(DatePicker.YearPicker));
724
+ DateTime.Range = withFilterItem(withValue(DatePicker.RangePicker, {
725
+ range: true
726
+ }));
727
+
650
728
  const filterNull = item => {
651
729
  const target = Object.assign({}, item);
652
730
  Object.keys(target).forEach(key => {
@@ -697,6 +775,7 @@ const Filter = ({
697
775
  const value = useMemo(() => {
698
776
  return filterNull(originValue);
699
777
  }, [originValue]);
778
+ const emitter = useEvent();
700
779
  const [display, setDisplay] = useState(defaultDisplay);
701
780
  const basicList = list.slice(0, displayLine),
702
781
  moreList = list.slice(displayLine);
@@ -715,7 +794,9 @@ const Filter = ({
715
794
  const target = Object.assign({}, value, {
716
795
  [name]: item
717
796
  });
718
- onChange(filterNull(target));
797
+ const output = filterNull(target);
798
+ emitter.emit('change', output);
799
+ onChange(output);
719
800
  };
720
801
 
721
802
  const moreFilter = more && more.length > 0 ? /*#__PURE__*/React.createElement(Space, {
@@ -737,7 +818,8 @@ const Filter = ({
737
818
  return /*#__PURE__*/React.createElement(Provider$1, {
738
819
  value: {
739
820
  value,
740
- onChange: changeHandler
821
+ onChange: changeHandler,
822
+ emitter
741
823
  }
742
824
  }, /*#__PURE__*/React.createElement("div", {
743
825
  className: "react-filter"
@@ -759,7 +841,7 @@ const Filter = ({
759
841
  }, Array.isArray(item) ? item.map(({
760
842
  label
761
843
  }) => label).join(",") : item.label);
762
- })), /*#__PURE__*/React.createElement("div", null, extra))), renderList(isExtra ? basicList : list), moreList.length === 0 ? moreFilter : null), display ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
844
+ })), /*#__PURE__*/React.createElement("div", null, extra))), renderList(isExtra ? basicList : list), moreList.length === 0 || isExtra === false ? moreFilter : null), display && isExtra ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
763
845
  className: "react-filter-divider"
764
846
  }), /*#__PURE__*/React.createElement("div", {
765
847
  className: "react-filter-inner"
@@ -784,7 +866,8 @@ Filter.type = {
784
866
  Selector,
785
867
  Check,
786
868
  RadioList,
787
- CheckboxList
869
+ CheckboxList,
870
+ DateTime
788
871
  };
789
872
  Filter.defaultProps = {
790
873
  label: '筛选项',