@kne/react-filter 0.1.16 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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/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\";\nimport classnames from 'classnames';\n\nconst FilterItem = ({className, label, labelHidden, children}) => {\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, ...props}) => {\n return <FilterItem label={label} labelHidden={labelHidden}><WrappedComponent {...props} label={label}/></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 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, labelHidden, 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} 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, ...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 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 return <div className={classnames(\"react-filter-search-button\", {\n \"is-active\": active\n })} ref={ref} onMouseEnter={() => {\n !active && setActive(true);\n }} onMouseLeave={() => {\n active && setActive(false);\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;\n","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,\n size,\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} 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 template,\n defaultActive,\n onBlur,\n onSearch,\n onActiveChange,\n placeholder,\n ...props\n }) => {\n return <SearchButton defaultActive={defaultActive} 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, ...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, ...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/get'\n\nconst RadioList = withFilterItem(({label, name, options, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n console.log(currentValue);\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, ...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, { 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, useMemo} 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 RadioList from './RadioList';\nimport CheckboxList from './CheckboxList';\nimport {Provider} from \"./context\";\nimport FilterItem from \"./FilterItem\";\nimport \"./index.scss\";\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\nexport const Filter = ({\n displayLine,\n defaultDisplay,\n isExtra,\n list,\n label,\n labelHidden,\n itemLabelHidden,\n unfoldText,\n foldText,\n extra,\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 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 </div>\n {display ? <><Divider className=\"react-filter-divider\"/>\n <div className=\"react-filter-inner\">{renderList(moreList)}</div>\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 value: {},\n extra: null,\n 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 {useConsumer as useFilterContext} from './context';\n\nexport default Filter;\n"],"names":["context","createContext","Provider","useConsumer","useContext","FilterItem","className","label","labelHidden","children","React","Space","classnames","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","console","log","Radio","CheckboxList","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","type","innerProps","mapping","range","text","selector","ExtraButtonComponent","filterNull","Object","assign","keys","key","every","Filter","displayLine","defaultDisplay","isExtra","list","itemLabelHidden","unfoldText","foldText","extra","useMemo","display","setDisplay","basicList","moreList","renderList","cloneElement","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/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 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, 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 isFunction from \"lodash/isFunction\";\nimport get from \"lodash/get\";\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 from \"lodash/get\";\nimport isNumber from \"lodash/isNumber\";\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/get'\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,13 +1,20 @@
1
1
  import React, { createContext, useContext, useState, useRef, useEffect, useMemo, cloneElement } from 'react';
2
- import { Space, Tag, message, Button, Tooltip, InputNumber, Input, Select, Checkbox, Radio, Divider, Row, Col } from 'antd';
3
- import { createCitySelect, apis, RemoteData, DisplayCity } from '@kne/react-city-select';
2
+ import { Popover, Space, Tag, message, Button, Tooltip, InputNumber, Input, Select, Checkbox, Radio, Divider, Row, Col } from 'antd';
4
3
  import classnames from 'classnames';
4
+ import { createCitySelect, apis, RemoteData, DisplayCity } from '@kne/react-city-select';
5
5
  import get from 'lodash/get';
6
6
  import isFunction from 'lodash/isFunction';
7
7
  import isEqual from 'lodash/isEqual';
8
8
  import useClickOutSide from '@kne/use-click-outside';
9
9
  import isNumber from 'lodash/isNumber';
10
10
 
11
+ const context$1 = createContext({});
12
+ const {
13
+ Consumer,
14
+ Provider: Provider$1
15
+ } = context$1;
16
+ const useConsumer = () => useContext(context$1);
17
+
11
18
  function _extends() {
12
19
  _extends = Object.assign ? Object.assign.bind() : function (target) {
13
20
  for (var i = 1; i < arguments.length; i++) {
@@ -40,21 +47,27 @@ function _objectWithoutPropertiesLoose(source, excluded) {
40
47
  return target;
41
48
  }
42
49
 
43
- const context$1 = createContext({});
44
- const {
45
- Consumer,
46
- Provider: Provider$1
47
- } = context$1;
48
- const useConsumer = () => useContext(context$1);
49
-
50
- const _excluded$8 = ["label", "labelHidden"];
50
+ const _excluded$8 = ["label", "labelHidden", "isMore", "moreTrigger"];
51
51
 
52
52
  const FilterItem = ({
53
53
  className,
54
54
  label,
55
55
  labelHidden,
56
+ isMore,
57
+ moreTrigger,
56
58
  children
57
59
  }) => {
60
+ if (isMore) {
61
+ return /*#__PURE__*/React.createElement("div", {
62
+ className: classnames("react-filter-item-label", "is-more", className)
63
+ }, /*#__PURE__*/React.createElement(Popover, {
64
+ content: children,
65
+ trigger: moreTrigger,
66
+ placement: "bottom",
67
+ overlayClassName: "react-filter-item-popover"
68
+ }, /*#__PURE__*/React.createElement("a", null, label)));
69
+ }
70
+
58
71
  return /*#__PURE__*/React.createElement(Space, {
59
72
  className: classnames('react-filter-item', className)
60
73
  }, labelHidden ? null : /*#__PURE__*/React.createElement("div", {
@@ -67,15 +80,20 @@ const FilterItem = ({
67
80
  const withFilterItem = WrappedComponent => _ref => {
68
81
  let {
69
82
  label,
70
- labelHidden
83
+ labelHidden,
84
+ isMore,
85
+ moreTrigger
71
86
  } = _ref,
72
87
  props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
73
88
 
74
89
  return /*#__PURE__*/React.createElement(FilterItem, {
75
90
  label: label,
76
- labelHidden: labelHidden
91
+ labelHidden: labelHidden,
92
+ isMore: isMore,
93
+ moreTrigger: moreTrigger
77
94
  }, /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, {
78
- label: label
95
+ label: label,
96
+ isMore: isMore
79
97
  })));
80
98
  };
81
99
 
@@ -95,7 +113,8 @@ const List = ({
95
113
  size,
96
114
  children,
97
115
  options,
98
- more
116
+ more,
117
+ isMore
99
118
  }) => {
100
119
  const {
101
120
  value,
@@ -232,7 +251,7 @@ List.defaultProps = {
232
251
  size: 2
233
252
  };
234
253
 
235
- const _excluded$6 = ["label", "labelHidden", "name", "size"];
254
+ const _excluded$6 = ["label", "labelHidden", "name", "size", "isMore"];
236
255
  const {
237
256
  Item
238
257
  } = List;
@@ -316,6 +335,7 @@ const City = _ref => {
316
335
  const SearchButton = ({
317
336
  name,
318
337
  size,
338
+ isMore,
319
339
  template,
320
340
  children,
321
341
  defaultValue,
@@ -351,7 +371,7 @@ const SearchButton = ({
351
371
  }, [active]);
352
372
  return /*#__PURE__*/React.createElement("div", {
353
373
  className: classnames("react-filter-search-button", {
354
- "is-active": active
374
+ "is-active": active && !isMore
355
375
  }),
356
376
  ref: ref,
357
377
  onMouseEnter: () => {
@@ -360,14 +380,17 @@ const SearchButton = ({
360
380
  onMouseLeave: () => {
361
381
  active && setActive(false);
362
382
  }
363
- }, /*#__PURE__*/React.createElement("div", {
364
- className: "inner"
383
+ }, /*#__PURE__*/React.createElement(Space, {
384
+ className: "inner",
385
+ size: 0
365
386
  }, /*#__PURE__*/React.createElement("div", null, children({
366
387
  value,
367
388
  setValue,
368
389
  setActive
369
- })), active ? /*#__PURE__*/React.createElement(Button, {
370
- className: "react-filter-search-confirm",
390
+ })), active || isMore ? /*#__PURE__*/React.createElement(Button, {
391
+ className: classnames("react-filter-search-confirm", {
392
+ "is-more": isMore
393
+ }),
371
394
  size: "small",
372
395
  type: "primary",
373
396
  onClick: e => {
@@ -394,6 +417,7 @@ SearchButton.defaultProps = {
394
417
  const RangeInner = ({
395
418
  name,
396
419
  size,
420
+ isMore,
397
421
  defaultActive,
398
422
  template,
399
423
  onBlur,
@@ -423,6 +447,7 @@ const RangeInner = ({
423
447
  return /*#__PURE__*/React.createElement(SearchButton, {
424
448
  size: size,
425
449
  template: template,
450
+ isMore: isMore,
426
451
  onBlur: onBlur,
427
452
  defaultActive: defaultActive,
428
453
  name: name,
@@ -477,11 +502,12 @@ const RangeInner = ({
477
502
  };
478
503
  const Range = withFilterItem(RangeInner);
479
504
 
480
- const _excluded$5 = ["name", "label", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
505
+ const _excluded$5 = ["name", "label", "isMore", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
481
506
  const TextInner = _ref => {
482
507
  let {
483
508
  name,
484
509
  label,
510
+ isMore,
485
511
  template,
486
512
  defaultActive,
487
513
  onBlur,
@@ -493,6 +519,7 @@ const TextInner = _ref => {
493
519
 
494
520
  return /*#__PURE__*/React.createElement(SearchButton, {
495
521
  defaultActive: defaultActive,
522
+ isMore: isMore,
496
523
  onBlur: onBlur,
497
524
  template: template,
498
525
  name: name,
@@ -519,7 +546,7 @@ const TextInner = _ref => {
519
546
  };
520
547
  const Text = withFilterItem(TextInner);
521
548
 
522
- const _excluded$4 = ["name", "label", "placeholder"];
549
+ const _excluded$4 = ["name", "label", "placeholder", "isMore"];
523
550
  const SelectorInner = _ref => {
524
551
  let {
525
552
  name,
@@ -544,7 +571,7 @@ const SelectorInner = _ref => {
544
571
  };
545
572
  const Selector = withFilterItem(SelectorInner);
546
573
 
547
- const _excluded$3 = ["name", "label", "className"];
574
+ const _excluded$3 = ["name", "label", "className", "isMore"];
548
575
 
549
576
  const Check = _ref => {
550
577
  let {
@@ -572,7 +599,7 @@ const Check = _ref => {
572
599
  }), label);
573
600
  };
574
601
 
575
- const _excluded$2 = ["label", "name", "options"];
602
+ const _excluded$2 = ["label", "name", "options", "isMore"];
576
603
  const RadioList = withFilterItem(_ref => {
577
604
  let {
578
605
  name,
@@ -585,7 +612,6 @@ const RadioList = withFilterItem(_ref => {
585
612
  onChange
586
613
  } = useConsumer();
587
614
  const currentValue = aValue[name];
588
- console.log(currentValue);
589
615
  return /*#__PURE__*/React.createElement(Radio.Group, _extends({}, props, {
590
616
  options: options,
591
617
  value: get(currentValue, 'value'),
@@ -596,7 +622,7 @@ const RadioList = withFilterItem(_ref => {
596
622
  }));
597
623
  });
598
624
 
599
- const _excluded$1 = ["label", "name", "options"];
625
+ const _excluded$1 = ["label", "name", "options", "isMore"];
600
626
  const CheckboxList = withFilterItem(_ref => {
601
627
  let {
602
628
  name,
@@ -624,56 +650,6 @@ const CheckboxList = withFilterItem(_ref => {
624
650
  }));
625
651
  });
626
652
 
627
- const _excluded = ["name", "value", "children"],
628
- _excluded2 = ["type"];
629
- const withMoreExtraButton = WrappedComponent => _ref => {
630
- let {
631
- name,
632
- children
633
- } = _ref,
634
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
635
-
636
- const [isEdit, setIsEdit] = useState(false);
637
- return isEdit ? /*#__PURE__*/React.createElement(WrappedComponent, _extends({
638
- defaultActive: true
639
- }, props, {
640
- name: name,
641
- onBlur: () => {
642
- setIsEdit(false);
643
- }
644
- })) : /*#__PURE__*/React.createElement(List.Item, {
645
- onClick: e => {
646
- e.stopPropagation();
647
- setIsEdit(true);
648
- },
649
- label: children || "其他"
650
- });
651
- };
652
- const RangeButton = withMoreExtraButton(RangeInner);
653
- const TextButton = withMoreExtraButton(TextInner);
654
- const SelectorButton = withMoreExtraButton(SelectorInner);
655
- const createExtraButton = _ref2 => {
656
- let {
657
- type
658
- } = _ref2,
659
- props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
660
-
661
- return innerProps => {
662
- const mapping = {
663
- range: RangeButton,
664
- text: TextButton,
665
- selector: SelectorButton
666
- };
667
- const ExtraButtonComponent = mapping[type];
668
-
669
- if (!ExtraButtonComponent) {
670
- return null;
671
- }
672
-
673
- return /*#__PURE__*/React.createElement(ExtraButtonComponent, _extends({}, props, innerProps));
674
- };
675
- };
676
-
677
653
  const filterNull = item => {
678
654
  const target = Object.assign({}, item);
679
655
  Object.keys(target).forEach(key => {
@@ -715,6 +691,9 @@ const Filter = ({
715
691
  unfoldText,
716
692
  foldText,
717
693
  extra,
694
+ more,
695
+ moreTrigger,
696
+ moreLabel,
718
697
  value: originValue,
719
698
  onChange
720
699
  }) => {
@@ -742,6 +721,22 @@ const Filter = ({
742
721
  onChange(filterNull(target));
743
722
  };
744
723
 
724
+ const moreFilter = more && more.length > 0 ? /*#__PURE__*/React.createElement(Space, {
725
+ className: "react-filter-line is-more"
726
+ }, /*#__PURE__*/React.createElement(Space, {
727
+ className: "react-filter-item"
728
+ }, /*#__PURE__*/React.createElement("div", {
729
+ className: "react-filter-item-label"
730
+ }, moreLabel, ":"), /*#__PURE__*/React.createElement(Space, {
731
+ className: "react-filter-item-children",
732
+ split: /*#__PURE__*/React.createElement(Divider, {
733
+ type: "vertical"
734
+ })
735
+ }, more.map((item, index) => cloneElement(item, {
736
+ key: index,
737
+ isMore: true,
738
+ moreTrigger
739
+ }))))) : null;
745
740
  return /*#__PURE__*/React.createElement(Provider$1, {
746
741
  value: {
747
742
  value,
@@ -767,11 +762,11 @@ const Filter = ({
767
762
  }, Array.isArray(item) ? item.map(({
768
763
  label
769
764
  }) => label).join(",") : item.label);
770
- })), /*#__PURE__*/React.createElement("div", null, extra))), renderList(isExtra ? basicList : list)), display ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
765
+ })), /*#__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, {
771
766
  className: "react-filter-divider"
772
767
  }), /*#__PURE__*/React.createElement("div", {
773
768
  className: "react-filter-inner"
774
- }, renderList(moreList))) : /*#__PURE__*/React.createElement("div", {
769
+ }, renderList(moreList)), moreList.length > 0 ? moreFilter : null) : /*#__PURE__*/React.createElement("div", {
775
770
  className: "react-filter-divider-close"
776
771
  }), isExtra && list.length > displayLine ? /*#__PURE__*/React.createElement(Row, {
777
772
  className: "react-filter-switch-btn",
@@ -783,6 +778,7 @@ const Filter = ({
783
778
  }
784
779
  }, display ? foldText : unfoldText))) : null));
785
780
  };
781
+
786
782
  Filter.type = {
787
783
  City,
788
784
  List,
@@ -803,10 +799,63 @@ Filter.defaultProps = {
803
799
  defaultDisplay: false,
804
800
  isExtra: true,
805
801
  list: [[]],
802
+ more: [],
803
+ moreTrigger: 'hover',
804
+ moreLabel: '更多',
806
805
  value: {},
807
806
  extra: null,
808
807
  onChange: () => {}
809
808
  };
810
809
 
811
- export { Filter, FilterItem, SearchButton, createExtraButton, Filter as default, useConsumer as useFilterContext, withFilterItem, withMoreExtraButton };
810
+ const _excluded = ["name", "value", "children"],
811
+ _excluded2 = ["type"];
812
+ const withMoreExtraButton = WrappedComponent => _ref => {
813
+ let {
814
+ name,
815
+ children
816
+ } = _ref,
817
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
818
+
819
+ const [isEdit, setIsEdit] = useState(false);
820
+ return isEdit ? /*#__PURE__*/React.createElement(WrappedComponent, _extends({
821
+ defaultActive: true
822
+ }, props, {
823
+ name: name,
824
+ onBlur: () => {
825
+ setIsEdit(false);
826
+ }
827
+ })) : /*#__PURE__*/React.createElement(List.Item, {
828
+ onClick: e => {
829
+ e.stopPropagation();
830
+ setIsEdit(true);
831
+ },
832
+ label: children || "其他"
833
+ });
834
+ };
835
+ const RangeButton = withMoreExtraButton(RangeInner);
836
+ const TextButton = withMoreExtraButton(TextInner);
837
+ const SelectorButton = withMoreExtraButton(SelectorInner);
838
+ const createExtraButton = _ref2 => {
839
+ let {
840
+ type
841
+ } = _ref2,
842
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
843
+
844
+ return innerProps => {
845
+ const mapping = {
846
+ range: RangeButton,
847
+ text: TextButton,
848
+ selector: SelectorButton
849
+ };
850
+ const ExtraButtonComponent = mapping[type];
851
+
852
+ if (!ExtraButtonComponent) {
853
+ return null;
854
+ }
855
+
856
+ return /*#__PURE__*/React.createElement(ExtraButtonComponent, _extends({}, props, innerProps));
857
+ };
858
+ };
859
+
860
+ export { FilterItem, SearchButton, createExtraButton, Filter as default, useConsumer as useFilterContext, withFilterItem, withMoreExtraButton };
812
861
  //# sourceMappingURL=index.modern.mjs.map