@kne/react-filter 0.1.16 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -9
- package/dist/index.css +10 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +140 -97
- package/dist/index.js.map +1 -1
- package/dist/{index.modern.mjs → index.modern.js} +130 -84
- package/dist/index.modern.js.map +1 -0
- package/package.json +4 -1
- package/dist/index.modern.mjs.map +0 -1
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, 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,12 +1,16 @@
|
|
|
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';
|
|
5
|
-
import
|
|
6
|
-
import isFunction from 'lodash
|
|
7
|
-
import isEqual from 'lodash/isEqual';
|
|
4
|
+
import { createCitySelect, apis, RemoteData, DisplayCity } from '@kne/react-city-select';
|
|
5
|
+
import { get, isFunction, isEqual, isNumber } from 'lodash';
|
|
8
6
|
import useClickOutSide from '@kne/use-click-outside';
|
|
9
|
-
|
|
7
|
+
|
|
8
|
+
const context$1 = createContext({});
|
|
9
|
+
const {
|
|
10
|
+
Consumer,
|
|
11
|
+
Provider: Provider$1
|
|
12
|
+
} = context$1;
|
|
13
|
+
const useConsumer = () => useContext(context$1);
|
|
10
14
|
|
|
11
15
|
function _extends() {
|
|
12
16
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
@@ -40,21 +44,27 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
40
44
|
return target;
|
|
41
45
|
}
|
|
42
46
|
|
|
43
|
-
const
|
|
44
|
-
const {
|
|
45
|
-
Consumer,
|
|
46
|
-
Provider: Provider$1
|
|
47
|
-
} = context$1;
|
|
48
|
-
const useConsumer = () => useContext(context$1);
|
|
49
|
-
|
|
50
|
-
const _excluded$8 = ["label", "labelHidden"];
|
|
47
|
+
const _excluded$8 = ["label", "labelHidden", "isMore", "moreTrigger"];
|
|
51
48
|
|
|
52
49
|
const FilterItem = ({
|
|
53
50
|
className,
|
|
54
51
|
label,
|
|
55
52
|
labelHidden,
|
|
53
|
+
isMore,
|
|
54
|
+
moreTrigger,
|
|
56
55
|
children
|
|
57
56
|
}) => {
|
|
57
|
+
if (isMore) {
|
|
58
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
className: classnames("react-filter-item-label", "is-more", className)
|
|
60
|
+
}, /*#__PURE__*/React.createElement(Popover, {
|
|
61
|
+
content: children,
|
|
62
|
+
trigger: moreTrigger,
|
|
63
|
+
placement: "bottom",
|
|
64
|
+
overlayClassName: "react-filter-item-popover"
|
|
65
|
+
}, /*#__PURE__*/React.createElement("a", null, label)));
|
|
66
|
+
}
|
|
67
|
+
|
|
58
68
|
return /*#__PURE__*/React.createElement(Space, {
|
|
59
69
|
className: classnames('react-filter-item', className)
|
|
60
70
|
}, labelHidden ? null : /*#__PURE__*/React.createElement("div", {
|
|
@@ -67,15 +77,20 @@ const FilterItem = ({
|
|
|
67
77
|
const withFilterItem = WrappedComponent => _ref => {
|
|
68
78
|
let {
|
|
69
79
|
label,
|
|
70
|
-
labelHidden
|
|
80
|
+
labelHidden,
|
|
81
|
+
isMore,
|
|
82
|
+
moreTrigger
|
|
71
83
|
} = _ref,
|
|
72
84
|
props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
|
|
73
85
|
|
|
74
86
|
return /*#__PURE__*/React.createElement(FilterItem, {
|
|
75
87
|
label: label,
|
|
76
|
-
labelHidden: labelHidden
|
|
88
|
+
labelHidden: labelHidden,
|
|
89
|
+
isMore: isMore,
|
|
90
|
+
moreTrigger: moreTrigger
|
|
77
91
|
}, /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, {
|
|
78
|
-
label: label
|
|
92
|
+
label: label,
|
|
93
|
+
isMore: isMore
|
|
79
94
|
})));
|
|
80
95
|
};
|
|
81
96
|
|
|
@@ -95,7 +110,8 @@ const List = ({
|
|
|
95
110
|
size,
|
|
96
111
|
children,
|
|
97
112
|
options,
|
|
98
|
-
more
|
|
113
|
+
more,
|
|
114
|
+
isMore
|
|
99
115
|
}) => {
|
|
100
116
|
const {
|
|
101
117
|
value,
|
|
@@ -232,7 +248,7 @@ List.defaultProps = {
|
|
|
232
248
|
size: 2
|
|
233
249
|
};
|
|
234
250
|
|
|
235
|
-
const _excluded$6 = ["label", "labelHidden", "name", "size"];
|
|
251
|
+
const _excluded$6 = ["label", "labelHidden", "name", "size", "isMore"];
|
|
236
252
|
const {
|
|
237
253
|
Item
|
|
238
254
|
} = List;
|
|
@@ -316,6 +332,7 @@ const City = _ref => {
|
|
|
316
332
|
const SearchButton = ({
|
|
317
333
|
name,
|
|
318
334
|
size,
|
|
335
|
+
isMore,
|
|
319
336
|
template,
|
|
320
337
|
children,
|
|
321
338
|
defaultValue,
|
|
@@ -351,7 +368,7 @@ const SearchButton = ({
|
|
|
351
368
|
}, [active]);
|
|
352
369
|
return /*#__PURE__*/React.createElement("div", {
|
|
353
370
|
className: classnames("react-filter-search-button", {
|
|
354
|
-
"is-active": active
|
|
371
|
+
"is-active": active && !isMore
|
|
355
372
|
}),
|
|
356
373
|
ref: ref,
|
|
357
374
|
onMouseEnter: () => {
|
|
@@ -360,14 +377,17 @@ const SearchButton = ({
|
|
|
360
377
|
onMouseLeave: () => {
|
|
361
378
|
active && setActive(false);
|
|
362
379
|
}
|
|
363
|
-
}, /*#__PURE__*/React.createElement(
|
|
364
|
-
className: "inner"
|
|
380
|
+
}, /*#__PURE__*/React.createElement(Space, {
|
|
381
|
+
className: "inner",
|
|
382
|
+
size: 0
|
|
365
383
|
}, /*#__PURE__*/React.createElement("div", null, children({
|
|
366
384
|
value,
|
|
367
385
|
setValue,
|
|
368
386
|
setActive
|
|
369
|
-
})), active ? /*#__PURE__*/React.createElement(Button, {
|
|
370
|
-
className: "react-filter-search-confirm",
|
|
387
|
+
})), active || isMore ? /*#__PURE__*/React.createElement(Button, {
|
|
388
|
+
className: classnames("react-filter-search-confirm", {
|
|
389
|
+
"is-more": isMore
|
|
390
|
+
}),
|
|
371
391
|
size: "small",
|
|
372
392
|
type: "primary",
|
|
373
393
|
onClick: e => {
|
|
@@ -394,6 +414,7 @@ SearchButton.defaultProps = {
|
|
|
394
414
|
const RangeInner = ({
|
|
395
415
|
name,
|
|
396
416
|
size,
|
|
417
|
+
isMore,
|
|
397
418
|
defaultActive,
|
|
398
419
|
template,
|
|
399
420
|
onBlur,
|
|
@@ -423,6 +444,7 @@ const RangeInner = ({
|
|
|
423
444
|
return /*#__PURE__*/React.createElement(SearchButton, {
|
|
424
445
|
size: size,
|
|
425
446
|
template: template,
|
|
447
|
+
isMore: isMore,
|
|
426
448
|
onBlur: onBlur,
|
|
427
449
|
defaultActive: defaultActive,
|
|
428
450
|
name: name,
|
|
@@ -477,11 +499,12 @@ const RangeInner = ({
|
|
|
477
499
|
};
|
|
478
500
|
const Range = withFilterItem(RangeInner);
|
|
479
501
|
|
|
480
|
-
const _excluded$5 = ["name", "label", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
|
|
502
|
+
const _excluded$5 = ["name", "label", "isMore", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
|
|
481
503
|
const TextInner = _ref => {
|
|
482
504
|
let {
|
|
483
505
|
name,
|
|
484
506
|
label,
|
|
507
|
+
isMore,
|
|
485
508
|
template,
|
|
486
509
|
defaultActive,
|
|
487
510
|
onBlur,
|
|
@@ -493,6 +516,7 @@ const TextInner = _ref => {
|
|
|
493
516
|
|
|
494
517
|
return /*#__PURE__*/React.createElement(SearchButton, {
|
|
495
518
|
defaultActive: defaultActive,
|
|
519
|
+
isMore: isMore,
|
|
496
520
|
onBlur: onBlur,
|
|
497
521
|
template: template,
|
|
498
522
|
name: name,
|
|
@@ -519,7 +543,7 @@ const TextInner = _ref => {
|
|
|
519
543
|
};
|
|
520
544
|
const Text = withFilterItem(TextInner);
|
|
521
545
|
|
|
522
|
-
const _excluded$4 = ["name", "label", "placeholder"];
|
|
546
|
+
const _excluded$4 = ["name", "label", "placeholder", "isMore"];
|
|
523
547
|
const SelectorInner = _ref => {
|
|
524
548
|
let {
|
|
525
549
|
name,
|
|
@@ -544,7 +568,7 @@ const SelectorInner = _ref => {
|
|
|
544
568
|
};
|
|
545
569
|
const Selector = withFilterItem(SelectorInner);
|
|
546
570
|
|
|
547
|
-
const _excluded$3 = ["name", "label", "className"];
|
|
571
|
+
const _excluded$3 = ["name", "label", "className", "isMore"];
|
|
548
572
|
|
|
549
573
|
const Check = _ref => {
|
|
550
574
|
let {
|
|
@@ -572,7 +596,7 @@ const Check = _ref => {
|
|
|
572
596
|
}), label);
|
|
573
597
|
};
|
|
574
598
|
|
|
575
|
-
const _excluded$2 = ["label", "name", "options"];
|
|
599
|
+
const _excluded$2 = ["label", "name", "options", "isMore"];
|
|
576
600
|
const RadioList = withFilterItem(_ref => {
|
|
577
601
|
let {
|
|
578
602
|
name,
|
|
@@ -585,7 +609,6 @@ const RadioList = withFilterItem(_ref => {
|
|
|
585
609
|
onChange
|
|
586
610
|
} = useConsumer();
|
|
587
611
|
const currentValue = aValue[name];
|
|
588
|
-
console.log(currentValue);
|
|
589
612
|
return /*#__PURE__*/React.createElement(Radio.Group, _extends({}, props, {
|
|
590
613
|
options: options,
|
|
591
614
|
value: get(currentValue, 'value'),
|
|
@@ -596,7 +619,7 @@ const RadioList = withFilterItem(_ref => {
|
|
|
596
619
|
}));
|
|
597
620
|
});
|
|
598
621
|
|
|
599
|
-
const _excluded$1 = ["label", "name", "options"];
|
|
622
|
+
const _excluded$1 = ["label", "name", "options", "isMore"];
|
|
600
623
|
const CheckboxList = withFilterItem(_ref => {
|
|
601
624
|
let {
|
|
602
625
|
name,
|
|
@@ -624,56 +647,6 @@ const CheckboxList = withFilterItem(_ref => {
|
|
|
624
647
|
}));
|
|
625
648
|
});
|
|
626
649
|
|
|
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
650
|
const filterNull = item => {
|
|
678
651
|
const target = Object.assign({}, item);
|
|
679
652
|
Object.keys(target).forEach(key => {
|
|
@@ -715,6 +688,9 @@ const Filter = ({
|
|
|
715
688
|
unfoldText,
|
|
716
689
|
foldText,
|
|
717
690
|
extra,
|
|
691
|
+
more,
|
|
692
|
+
moreTrigger,
|
|
693
|
+
moreLabel,
|
|
718
694
|
value: originValue,
|
|
719
695
|
onChange
|
|
720
696
|
}) => {
|
|
@@ -742,6 +718,22 @@ const Filter = ({
|
|
|
742
718
|
onChange(filterNull(target));
|
|
743
719
|
};
|
|
744
720
|
|
|
721
|
+
const moreFilter = more && more.length > 0 ? /*#__PURE__*/React.createElement(Space, {
|
|
722
|
+
className: "react-filter-line is-more"
|
|
723
|
+
}, /*#__PURE__*/React.createElement(Space, {
|
|
724
|
+
className: "react-filter-item"
|
|
725
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
726
|
+
className: "react-filter-item-label"
|
|
727
|
+
}, moreLabel, ":"), /*#__PURE__*/React.createElement(Space, {
|
|
728
|
+
className: "react-filter-item-children",
|
|
729
|
+
split: /*#__PURE__*/React.createElement(Divider, {
|
|
730
|
+
type: "vertical"
|
|
731
|
+
})
|
|
732
|
+
}, more.map((item, index) => cloneElement(item, {
|
|
733
|
+
key: index,
|
|
734
|
+
isMore: true,
|
|
735
|
+
moreTrigger
|
|
736
|
+
}))))) : null;
|
|
745
737
|
return /*#__PURE__*/React.createElement(Provider$1, {
|
|
746
738
|
value: {
|
|
747
739
|
value,
|
|
@@ -767,11 +759,11 @@ const Filter = ({
|
|
|
767
759
|
}, Array.isArray(item) ? item.map(({
|
|
768
760
|
label
|
|
769
761
|
}) => 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, {
|
|
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, {
|
|
771
763
|
className: "react-filter-divider"
|
|
772
764
|
}), /*#__PURE__*/React.createElement("div", {
|
|
773
765
|
className: "react-filter-inner"
|
|
774
|
-
}, renderList(moreList))) : /*#__PURE__*/React.createElement("div", {
|
|
766
|
+
}, renderList(moreList)), moreList.length > 0 ? moreFilter : null) : /*#__PURE__*/React.createElement("div", {
|
|
775
767
|
className: "react-filter-divider-close"
|
|
776
768
|
}), isExtra && list.length > displayLine ? /*#__PURE__*/React.createElement(Row, {
|
|
777
769
|
className: "react-filter-switch-btn",
|
|
@@ -783,6 +775,7 @@ const Filter = ({
|
|
|
783
775
|
}
|
|
784
776
|
}, display ? foldText : unfoldText))) : null));
|
|
785
777
|
};
|
|
778
|
+
|
|
786
779
|
Filter.type = {
|
|
787
780
|
City,
|
|
788
781
|
List,
|
|
@@ -803,10 +796,63 @@ Filter.defaultProps = {
|
|
|
803
796
|
defaultDisplay: false,
|
|
804
797
|
isExtra: true,
|
|
805
798
|
list: [[]],
|
|
799
|
+
more: [],
|
|
800
|
+
moreTrigger: 'hover',
|
|
801
|
+
moreLabel: '更多',
|
|
806
802
|
value: {},
|
|
807
803
|
extra: null,
|
|
808
804
|
onChange: () => {}
|
|
809
805
|
};
|
|
810
806
|
|
|
811
|
-
|
|
812
|
-
|
|
807
|
+
const _excluded = ["name", "value", "children"],
|
|
808
|
+
_excluded2 = ["type"];
|
|
809
|
+
const withMoreExtraButton = WrappedComponent => _ref => {
|
|
810
|
+
let {
|
|
811
|
+
name,
|
|
812
|
+
children
|
|
813
|
+
} = _ref,
|
|
814
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
815
|
+
|
|
816
|
+
const [isEdit, setIsEdit] = useState(false);
|
|
817
|
+
return isEdit ? /*#__PURE__*/React.createElement(WrappedComponent, _extends({
|
|
818
|
+
defaultActive: true
|
|
819
|
+
}, props, {
|
|
820
|
+
name: name,
|
|
821
|
+
onBlur: () => {
|
|
822
|
+
setIsEdit(false);
|
|
823
|
+
}
|
|
824
|
+
})) : /*#__PURE__*/React.createElement(List.Item, {
|
|
825
|
+
onClick: e => {
|
|
826
|
+
e.stopPropagation();
|
|
827
|
+
setIsEdit(true);
|
|
828
|
+
},
|
|
829
|
+
label: children || "其他"
|
|
830
|
+
});
|
|
831
|
+
};
|
|
832
|
+
const RangeButton = withMoreExtraButton(RangeInner);
|
|
833
|
+
const TextButton = withMoreExtraButton(TextInner);
|
|
834
|
+
const SelectorButton = withMoreExtraButton(SelectorInner);
|
|
835
|
+
const createExtraButton = _ref2 => {
|
|
836
|
+
let {
|
|
837
|
+
type
|
|
838
|
+
} = _ref2,
|
|
839
|
+
props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
|
|
840
|
+
|
|
841
|
+
return innerProps => {
|
|
842
|
+
const mapping = {
|
|
843
|
+
range: RangeButton,
|
|
844
|
+
text: TextButton,
|
|
845
|
+
selector: SelectorButton
|
|
846
|
+
};
|
|
847
|
+
const ExtraButtonComponent = mapping[type];
|
|
848
|
+
|
|
849
|
+
if (!ExtraButtonComponent) {
|
|
850
|
+
return null;
|
|
851
|
+
}
|
|
852
|
+
|
|
853
|
+
return /*#__PURE__*/React.createElement(ExtraButtonComponent, _extends({}, props, innerProps));
|
|
854
|
+
};
|
|
855
|
+
};
|
|
856
|
+
|
|
857
|
+
export { FilterItem, SearchButton, createExtraButton, Filter as default, useConsumer as useFilterContext, withFilterItem, withMoreExtraButton };
|
|
858
|
+
//# sourceMappingURL=index.modern.js.map
|