@vtx/components 3.1.94 → 3.1.95

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.
@@ -17,7 +17,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
18
  var _Combogrid = _interopRequireDefault(require("./Combogrid"));
19
19
 
20
- var _excluded = ["className", "style", "placeholder", "prefixCls", "value", "allowClear", "selectedRowKeys", "popoverProps", "content"];
20
+ var _excluded = ["className", "style", "placeholder", "prefixCls", "value", "allowClear", "selectedRowKeys", "popoverProps", "content", "disabled"];
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
23
 
@@ -72,6 +72,8 @@ function VtxCombogrid(props, ref) {
72
72
  popoverProps = _props$popoverProps === void 0 ? {} : _props$popoverProps,
73
73
  _props$content = props.content,
74
74
  content = _props$content === void 0 ? null : _props$content,
75
+ _props$disabled = props.disabled,
76
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
75
77
  rest = _objectWithoutProperties(props, _excluded);
76
78
 
77
79
  (0, _react.useEffect)(function () {
@@ -98,7 +100,7 @@ function VtxCombogrid(props, ref) {
98
100
  ref: comboRef
99
101
  })),
100
102
  trigger: "click",
101
- visible: visible,
103
+ visible: disabled ? false : visible,
102
104
  onVisibleChange: function onVisibleChange(visible) {
103
105
  return setVisible(visible);
104
106
  },
@@ -119,7 +121,8 @@ function VtxCombogrid(props, ref) {
119
121
  className: className,
120
122
  style: style,
121
123
  placeholder: placeholder,
122
- readOnly: true
124
+ readOnly: true,
125
+ disabled: disabled
123
126
  }));
124
127
  }
125
128
 
@@ -131,6 +134,7 @@ VtxCombogrid.propTypes = {
131
134
  placeholder: _propTypes["default"].string,
132
135
  value: _propTypes["default"].string,
133
136
  allowClear: _propTypes["default"].bool,
137
+ disabled: _propTypes["default"].bool,
134
138
  className: _propTypes["default"].string,
135
139
  style: _propTypes["default"].object,
136
140
  selectedRowKeys: _propTypes["default"].array,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VtxCombogrid","props","ref","useState","selectedRowKeys","setSelectedRowKeys","visible","setVisible","comboRef","useRef","className","style","placeholder","prefixCls","value","allowClear","defaultSelectedRowKeys","popoverProps","content","rest","useEffect","join","useImperativeHandle","reset","current","clear","e","target","onChange","React","forwardRef","propTypes","PropTypes","string","bool","object","array","node"],"sources":["vtx-combogrid/index.jsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\r\n\r\nimport Input from 'antd/lib/input';\r\nimport Popover from 'antd/lib/popover';\r\nimport PropTypes from 'prop-types';\r\nimport Combogrid from './Combogrid';\r\n\r\nfunction VtxCombogrid(props, ref) {\r\n const [selectedRowKeys, setSelectedRowKeys] = useState(() => {\r\n return [];\r\n });\r\n const [visible, setVisible] = useState(false);\r\n const comboRef = useRef();\r\n const {\r\n className,\r\n style,\r\n placeholder,\r\n prefixCls = 'vtx-combogrid',\r\n value,\r\n allowClear = true,\r\n selectedRowKeys: defaultSelectedRowKeys = [],\r\n popoverProps = {},\r\n content = null,\r\n ...rest\r\n } = props;\r\n\r\n useEffect(() => {\r\n setSelectedRowKeys(defaultSelectedRowKeys);\r\n }, [defaultSelectedRowKeys.join(',')]);\r\n\r\n // 暴露给父组件使用\r\n useImperativeHandle(ref, () => ({\r\n // 重置\r\n reset() {\r\n comboRef.current && comboRef.current.clear();\r\n },\r\n }));\r\n\r\n return (\r\n <Popover\r\n placement=\"bottomLeft\"\r\n {...popoverProps}\r\n content={\r\n <Combogrid\r\n {...rest}\r\n selectedRowKeys={selectedRowKeys}\r\n defaultSelectedRowKeys={defaultSelectedRowKeys}\r\n setSelectedRowKeys={setSelectedRowKeys}\r\n setPopoverVisible={setVisible}\r\n prefixCls={prefixCls}\r\n ref={comboRef}\r\n />\r\n }\r\n trigger=\"click\"\r\n visible={visible}\r\n onVisibleChange={visible => setVisible(visible)}\r\n overlayClassName={`${prefixCls}-dropdown`}\r\n >\r\n {content ? (\r\n content\r\n ) : (\r\n <Input\r\n value={value}\r\n allowClear={allowClear}\r\n onClick={() => setVisible(true)}\r\n onChange={e => {\r\n // 只对清空产生值的变化做处理\r\n if (!e.target.value) {\r\n rest.onChange && rest.onChange();\r\n setSelectedRowKeys([]);\r\n }\r\n }}\r\n className={className}\r\n style={style}\r\n placeholder={placeholder}\r\n readOnly\r\n />\r\n )}\r\n </Popover>\r\n );\r\n}\r\n\r\nexport default React.forwardRef(VtxCombogrid);\r\n\r\nVtxCombogrid.propTypes = {\r\n prefixCls: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.string,\r\n allowClear: PropTypes.bool,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n selectedRowKeys: PropTypes.array,\r\n content: PropTypes.node,\r\n popoverProps: PropTypes.object,\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["VtxCombogrid","props","ref","useState","selectedRowKeys","setSelectedRowKeys","visible","setVisible","comboRef","useRef","className","style","placeholder","prefixCls","value","allowClear","defaultSelectedRowKeys","popoverProps","content","disabled","rest","useEffect","join","useImperativeHandle","reset","current","clear","e","target","onChange","React","forwardRef","propTypes","PropTypes","string","bool","object","array","node"],"sources":["vtx-combogrid/index.jsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\r\n\r\nimport Input from 'antd/lib/input';\r\nimport Popover from 'antd/lib/popover';\r\nimport PropTypes from 'prop-types';\r\nimport Combogrid from './Combogrid';\r\n\r\nfunction VtxCombogrid(props, ref) {\r\n const [selectedRowKeys, setSelectedRowKeys] = useState(() => {\r\n return [];\r\n });\r\n const [visible, setVisible] = useState(false);\r\n const comboRef = useRef();\r\n const {\r\n className,\r\n style,\r\n placeholder,\r\n prefixCls = 'vtx-combogrid',\r\n value,\r\n allowClear = true,\r\n selectedRowKeys: defaultSelectedRowKeys = [],\r\n popoverProps = {},\r\n content = null,\r\n disabled = false,\r\n ...rest\r\n } = props;\r\n\r\n useEffect(() => {\r\n setSelectedRowKeys(defaultSelectedRowKeys);\r\n }, [defaultSelectedRowKeys.join(',')]);\r\n\r\n // 暴露给父组件使用\r\n useImperativeHandle(ref, () => ({\r\n // 重置\r\n reset() {\r\n comboRef.current && comboRef.current.clear();\r\n },\r\n }));\r\n\r\n return (\r\n <Popover\r\n placement=\"bottomLeft\"\r\n {...popoverProps}\r\n content={\r\n <Combogrid\r\n {...rest}\r\n selectedRowKeys={selectedRowKeys}\r\n defaultSelectedRowKeys={defaultSelectedRowKeys}\r\n setSelectedRowKeys={setSelectedRowKeys}\r\n setPopoverVisible={setVisible}\r\n prefixCls={prefixCls}\r\n ref={comboRef}\r\n />\r\n }\r\n trigger=\"click\"\r\n visible={disabled?false:visible}\r\n onVisibleChange={visible => setVisible(visible)}\r\n overlayClassName={`${prefixCls}-dropdown`}\r\n >\r\n {content ? (\r\n content\r\n ) : (\r\n <Input\r\n value={value}\r\n allowClear={allowClear}\r\n onClick={() => setVisible(true)}\r\n onChange={e => {\r\n // 只对清空产生值的变化做处理\r\n if (!e.target.value) {\r\n rest.onChange && rest.onChange();\r\n setSelectedRowKeys([]);\r\n }\r\n }}\r\n className={className}\r\n style={style}\r\n placeholder={placeholder}\r\n readOnly\r\n disabled={disabled}\r\n />\r\n )}\r\n </Popover>\r\n );\r\n}\r\n\r\nexport default React.forwardRef(VtxCombogrid);\r\n\r\nVtxCombogrid.propTypes = {\r\n prefixCls: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.string,\r\n allowClear: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n selectedRowKeys: PropTypes.array,\r\n content: PropTypes.node,\r\n popoverProps: PropTypes.object,\r\n};\r\n"],"mappings":"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"}
@@ -145,7 +145,7 @@ var VtxSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
145
145
  margin: '4px'
146
146
  },
147
147
  key: index,
148
- closable: true,
148
+ closable: !props.disabled,
149
149
  onClose: function onClose(e) {
150
150
  e.preventDefault();
151
151
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VtxSelect","forwardRef","props","ref","useState","popWidth","setPopWidth","elRef","useRef","elId","Date","now","searchValue","setSearchValue","value","mode","size","onChange","maxTagCount","maxTagTextLength","maxTagPlaceholder","showAll","selectStyle","selectAll","selectSearchAll","defaultBindBodyToPopupContainer","customEnumText","TextEnum","selectAllText","defaultPlaceholderText","emptyDescriptionText","useEffect","timer","setInterval","_width","current","clientWidth","clearInterval","newChildren","children","Array","isArray","getContent","child","forEach","item","key","length","map","index","name","getChildren","margin","e","preventDefault","valueClone","splice","options","filter","ite","includes","substring","Empty","PRESENTED_IMAGE_SIMPLE","newProps","showSearch","optionFilterProp","placeholder","allowClear","onSearch","String","toLowerCase","onBlur","dropdownRender","menu","valueLength","target","checked","tempChildren","indexOf","keys","labelInValue","label","classnames","style","paddingRight","triggerNode","document","body","width","isObject","Option","Select","OptGroup","propTypes","PropTypes","oneOfType","string","array","number","object","func","bool","node"],"sources":["vtx-select/index.jsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport Select from 'antd/lib/select';\r\nimport Tag from 'antd/lib/tag';\r\nimport Button from 'antd/lib/button';\r\nimport Empty from 'antd/lib/empty';\r\nimport Popover from 'antd/lib/popover';\r\nimport Tooltip from 'antd/lib/tooltip';\r\nimport Checkbox from 'antd/lib/checkbox';\r\nimport Divider from 'antd/lib/divider';\r\nimport MoreOutlined from '@ant-design/icons/MoreOutlined';\r\nimport isObject from '../_util/isObject';\r\n\r\nconst VtxSelect = forwardRef((props, ref) => {\r\n const [popWidth, setPopWidth] = useState(0);\r\n const elRef = useRef();\r\n const elId = useRef(`vtx-select-${Date.now()}`);\r\n const [searchValue,setSearchValue] = useState('');\r\n\r\n const {\r\n value,\r\n mode,\r\n size = 'default', //同步button大小\r\n onChange,\r\n maxTagCount = 2,\r\n maxTagTextLength = 5,\r\n maxTagPlaceholder = '...',\r\n showAll = true, //是否显示全部选项\r\n selectStyle,\r\n selectAll = true,\r\n selectSearchAll = true,\r\n defaultBindBodyToPopupContainer = true,\r\n customEnumText={}\r\n } = props;\r\n\r\n const TextEnum = {\r\n selectAllText: '全选',\r\n defaultPlaceholderText: '请选择',\r\n emptyDescriptionText: '暂无数据',\r\n \r\n ...customEnumText\r\n }\r\n\r\n useEffect(() => {\r\n if(mode === 'multiple') {\r\n const timer = setInterval(() => {\r\n const _width = elRef.current?.clientWidth;\r\n if(_width > 0) {\r\n setPopWidth(_width);\r\n clearInterval(timer);\r\n }\r\n }, 1000)\r\n return () => clearInterval(timer);\r\n }\r\n }, []);\r\n\r\n const newChildren = props.children\r\n ? Array.isArray(props.children)\r\n ? props.children\r\n : [props.children]\r\n : [];\r\n\r\n const getContent = () => {\r\n const child = {};\r\n newChildren.forEach(item => {\r\n child[item.key] = item?.props?.children;\r\n });\r\n return (\r\n <div className=\"vtx-all-list\">\r\n {Array.isArray(value) && value.length ? (\r\n value.map((item, index) => {\r\n const name = getChildren(child, item);\r\n return (\r\n <Tag\r\n style={{ margin: '4px' }}\r\n key={index}\r\n closable\r\n onClose={e => {\r\n e.preventDefault();\r\n const valueClone = [...value];\r\n valueClone.splice(index, 1);\r\n const options = newChildren.filter(ite =>\r\n valueClone.includes(ite.props.value),\r\n );\r\n onChange(valueClone, options);\r\n }}\r\n >\r\n <Tooltip title={name}>\r\n {name.length > maxTagTextLength\r\n ? `${name.substring(0, maxTagTextLength)}...`\r\n : name}\r\n </Tooltip>\r\n </Tag>\r\n );\r\n })\r\n ) : (\r\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description={TextEnum.emptyDescriptionText}/>\r\n )}\r\n </div>\r\n );\r\n };\r\n\r\n let newProps = {\r\n showSearch: true,\r\n optionFilterProp: 'children',\r\n placeholder: TextEnum.defaultPlaceholderText,\r\n allowClear: true,\r\n ...props,\r\n onSearch: value=>{\r\n setSearchValue(value?String(value).toLowerCase():'');\r\n props.onSearch && props.onSearch(value);\r\n },\r\n onBlur: e=>{\r\n setSearchValue('');\r\n props.onBlur && props.onBlur(e);\r\n }\r\n };\r\n\r\n if (mode === 'multiple') {\r\n newProps = {\r\n ...newProps,\r\n maxTagCount: maxTagCount,\r\n maxTagTextLength: maxTagTextLength,\r\n maxTagPlaceholder: maxTagPlaceholder,\r\n };\r\n if (selectAll) {\r\n newProps = {\r\n ...newProps,\r\n dropdownRender: menu => {\r\n const valueLength = Array.isArray(value) && value.length ? value.length : 0;\r\n return (\r\n <div>\r\n <div\r\n className=\"vtx-multi-select-all\"\r\n onMouseDown={e => e.preventDefault()}\r\n >\r\n <Checkbox\r\n indeterminate={valueLength && valueLength < newChildren.length}\r\n checked={valueLength && valueLength === newChildren.length}\r\n onChange={e => {\r\n if (e.target.checked) {\r\n let tempChildren = newChildren.filter(item=>{\r\n if(selectSearchAll && searchValue){\r\n return String(item.props.children).toLowerCase().indexOf(searchValue)>-1;\r\n }\r\n return true;\r\n })\r\n let keys = [];\r\n if(props.labelInValue){\r\n keys = tempChildren.map(item => ({\r\n label: item.props.children,\r\n value: item.key\r\n }));\r\n }else {\r\n keys = tempChildren.map(item => item.key);\r\n }\r\n onChange && onChange(keys, tempChildren);\r\n } else {\r\n onChange && onChange([], []);\r\n }\r\n }}\r\n >\r\n {TextEnum.selectAllText}\r\n </Checkbox>\r\n </div>\r\n <Divider style={{ margin: '4px 0' }} />\r\n {menu}\r\n </div>\r\n );\r\n },\r\n };\r\n }\r\n }\r\n\r\n return (\r\n <div\r\n className={classnames({\r\n 'vtx-select': mode !== 'multiple',\r\n 'vtx-multi-select': mode == 'multiple' || mode == 'tags',\r\n })}\r\n id={elId.current}\r\n ref={elRef}\r\n style={{\r\n ...props.style,\r\n paddingRight: (mode == 'multiple' || mode == 'tags') && showAll ? 32 : 0,\r\n }}\r\n >\r\n <Select\r\n ref={ref}\r\n getPopupContainer={triggerNode => {\r\n return defaultBindBodyToPopupContainer ? document.body : triggerNode;\r\n }}\r\n {...newProps}\r\n style={{ width: '100%', ...selectStyle }}\r\n >\r\n {props.children}\r\n </Select>\r\n {(mode == 'multiple' || mode == 'tags') && showAll ? (\r\n <Popover\r\n content={getContent()}\r\n placement=\"bottomRight\"\r\n trigger=\"click\"\r\n overlayStyle={{ width: popWidth }}\r\n >\r\n <Button className=\"vtx-select-count\" icon={<MoreOutlined />} size={size} />\r\n </Popover>\r\n ) : null}\r\n </div>\r\n );\r\n});\r\n\r\nfunction getChildren(child = {}, value) {\r\n const key = isObject(value) ? value.key : value;\r\n return child[key] || '';\r\n}\r\n\r\nVtxSelect.Option = Select.Option;\r\nVtxSelect.OptGroup = Select.OptGroup;\r\n\r\nVtxSelect.propTypes = {\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.array,\r\n PropTypes.number,\r\n PropTypes.object,\r\n ]),\r\n mode: PropTypes.string,\r\n size: PropTypes.string,\r\n style: PropTypes.object,\r\n selectStyle: PropTypes.object,\r\n onChange: PropTypes.func,\r\n defaultBindBodyToPopupContainer: PropTypes.bool,\r\n maxTagCount: PropTypes.number,\r\n maxTagTextLength: PropTypes.number,\r\n maxTagPlaceholder: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\r\n showAll: PropTypes.bool,\r\n children: PropTypes.node,\r\n selectAll: PropTypes.bool,\r\n selectSearchAll: PropTypes.bool,\r\n customEnumText: PropTypes.object,\r\n};\r\n\r\nexport default VtxSelect;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["VtxSelect","forwardRef","props","ref","useState","popWidth","setPopWidth","elRef","useRef","elId","Date","now","searchValue","setSearchValue","value","mode","size","onChange","maxTagCount","maxTagTextLength","maxTagPlaceholder","showAll","selectStyle","selectAll","selectSearchAll","defaultBindBodyToPopupContainer","customEnumText","TextEnum","selectAllText","defaultPlaceholderText","emptyDescriptionText","useEffect","timer","setInterval","_width","current","clientWidth","clearInterval","newChildren","children","Array","isArray","getContent","child","forEach","item","key","length","map","index","name","getChildren","margin","disabled","e","preventDefault","valueClone","splice","options","filter","ite","includes","substring","Empty","PRESENTED_IMAGE_SIMPLE","newProps","showSearch","optionFilterProp","placeholder","allowClear","onSearch","String","toLowerCase","onBlur","dropdownRender","menu","valueLength","target","checked","tempChildren","indexOf","keys","labelInValue","label","classnames","style","paddingRight","triggerNode","document","body","width","isObject","Option","Select","OptGroup","propTypes","PropTypes","oneOfType","string","array","number","object","func","bool","node"],"sources":["vtx-select/index.jsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport Select from 'antd/lib/select';\r\nimport Tag from 'antd/lib/tag';\r\nimport Button from 'antd/lib/button';\r\nimport Empty from 'antd/lib/empty';\r\nimport Popover from 'antd/lib/popover';\r\nimport Tooltip from 'antd/lib/tooltip';\r\nimport Checkbox from 'antd/lib/checkbox';\r\nimport Divider from 'antd/lib/divider';\r\nimport MoreOutlined from '@ant-design/icons/MoreOutlined';\r\nimport isObject from '../_util/isObject';\r\n\r\nconst VtxSelect = forwardRef((props, ref) => {\r\n const [popWidth, setPopWidth] = useState(0);\r\n const elRef = useRef();\r\n const elId = useRef(`vtx-select-${Date.now()}`);\r\n const [searchValue,setSearchValue] = useState('');\r\n\r\n const {\r\n value,\r\n mode,\r\n size = 'default', //同步button大小\r\n onChange,\r\n maxTagCount = 2,\r\n maxTagTextLength = 5,\r\n maxTagPlaceholder = '...',\r\n showAll = true, //是否显示全部选项\r\n selectStyle,\r\n selectAll = true,\r\n selectSearchAll = true,\r\n defaultBindBodyToPopupContainer = true,\r\n customEnumText={}\r\n } = props;\r\n\r\n const TextEnum = {\r\n selectAllText: '全选',\r\n defaultPlaceholderText: '请选择',\r\n emptyDescriptionText: '暂无数据',\r\n\r\n ...customEnumText\r\n }\r\n\r\n useEffect(() => {\r\n if(mode === 'multiple') {\r\n const timer = setInterval(() => {\r\n const _width = elRef.current?.clientWidth;\r\n if(_width > 0) {\r\n setPopWidth(_width);\r\n clearInterval(timer);\r\n }\r\n }, 1000)\r\n return () => clearInterval(timer);\r\n }\r\n }, []);\r\n\r\n const newChildren = props.children\r\n ? Array.isArray(props.children)\r\n ? props.children\r\n : [props.children]\r\n : [];\r\n\r\n const getContent = () => {\r\n const child = {};\r\n newChildren.forEach(item => {\r\n child[item.key] = item?.props?.children;\r\n });\r\n return (\r\n <div className=\"vtx-all-list\">\r\n {Array.isArray(value) && value.length ? (\r\n value.map((item, index) => {\r\n const name = getChildren(child, item);\r\n return (\r\n <Tag\r\n style={{ margin: '4px' }}\r\n key={index}\r\n closable={!props.disabled}\r\n onClose={e => {\r\n e.preventDefault();\r\n const valueClone = [...value];\r\n valueClone.splice(index, 1);\r\n const options = newChildren.filter(ite =>\r\n valueClone.includes(ite.props.value),\r\n );\r\n onChange(valueClone, options);\r\n }}\r\n >\r\n <Tooltip title={name}>\r\n {name.length > maxTagTextLength\r\n ? `${name.substring(0, maxTagTextLength)}...`\r\n : name}\r\n </Tooltip>\r\n </Tag>\r\n );\r\n })\r\n ) : (\r\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description={TextEnum.emptyDescriptionText}/>\r\n )}\r\n </div>\r\n );\r\n };\r\n\r\n let newProps = {\r\n showSearch: true,\r\n optionFilterProp: 'children',\r\n placeholder: TextEnum.defaultPlaceholderText,\r\n allowClear: true,\r\n ...props,\r\n onSearch: value=>{\r\n setSearchValue(value?String(value).toLowerCase():'');\r\n props.onSearch && props.onSearch(value);\r\n },\r\n onBlur: e=>{\r\n setSearchValue('');\r\n props.onBlur && props.onBlur(e);\r\n }\r\n };\r\n\r\n if (mode === 'multiple') {\r\n newProps = {\r\n ...newProps,\r\n maxTagCount: maxTagCount,\r\n maxTagTextLength: maxTagTextLength,\r\n maxTagPlaceholder: maxTagPlaceholder,\r\n };\r\n if (selectAll) {\r\n newProps = {\r\n ...newProps,\r\n dropdownRender: menu => {\r\n const valueLength = Array.isArray(value) && value.length ? value.length : 0;\r\n return (\r\n <div>\r\n <div\r\n className=\"vtx-multi-select-all\"\r\n onMouseDown={e => e.preventDefault()}\r\n >\r\n <Checkbox\r\n indeterminate={valueLength && valueLength < newChildren.length}\r\n checked={valueLength && valueLength === newChildren.length}\r\n onChange={e => {\r\n if (e.target.checked) {\r\n let tempChildren = newChildren.filter(item=>{\r\n if(selectSearchAll && searchValue){\r\n return String(item.props.children).toLowerCase().indexOf(searchValue)>-1;\r\n }\r\n return true;\r\n })\r\n let keys = [];\r\n if(props.labelInValue){\r\n keys = tempChildren.map(item => ({\r\n label: item.props.children,\r\n value: item.key\r\n }));\r\n }else {\r\n keys = tempChildren.map(item => item.key);\r\n }\r\n onChange && onChange(keys, tempChildren);\r\n } else {\r\n onChange && onChange([], []);\r\n }\r\n }}\r\n >\r\n {TextEnum.selectAllText}\r\n </Checkbox>\r\n </div>\r\n <Divider style={{ margin: '4px 0' }} />\r\n {menu}\r\n </div>\r\n );\r\n },\r\n };\r\n }\r\n }\r\n\r\n return (\r\n <div\r\n className={classnames({\r\n 'vtx-select': mode !== 'multiple',\r\n 'vtx-multi-select': mode == 'multiple' || mode == 'tags',\r\n })}\r\n id={elId.current}\r\n ref={elRef}\r\n style={{\r\n ...props.style,\r\n paddingRight: (mode == 'multiple' || mode == 'tags') && showAll ? 32 : 0,\r\n }}\r\n >\r\n <Select\r\n ref={ref}\r\n getPopupContainer={triggerNode => {\r\n return defaultBindBodyToPopupContainer ? document.body : triggerNode;\r\n }}\r\n {...newProps}\r\n style={{ width: '100%', ...selectStyle }}\r\n >\r\n {props.children}\r\n </Select>\r\n {(mode == 'multiple' || mode == 'tags') && showAll ? (\r\n <Popover\r\n content={getContent()}\r\n placement=\"bottomRight\"\r\n trigger=\"click\"\r\n overlayStyle={{ width: popWidth }}\r\n >\r\n <Button className=\"vtx-select-count\" icon={<MoreOutlined />} size={size} />\r\n </Popover>\r\n ) : null}\r\n </div>\r\n );\r\n});\r\n\r\nfunction getChildren(child = {}, value) {\r\n const key = isObject(value) ? value.key : value;\r\n return child[key] || '';\r\n}\r\n\r\nVtxSelect.Option = Select.Option;\r\nVtxSelect.OptGroup = Select.OptGroup;\r\n\r\nVtxSelect.propTypes = {\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.array,\r\n PropTypes.number,\r\n PropTypes.object,\r\n ]),\r\n mode: PropTypes.string,\r\n size: PropTypes.string,\r\n style: PropTypes.object,\r\n selectStyle: PropTypes.object,\r\n onChange: PropTypes.func,\r\n defaultBindBodyToPopupContainer: PropTypes.bool,\r\n maxTagCount: PropTypes.number,\r\n maxTagTextLength: PropTypes.number,\r\n maxTagPlaceholder: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\r\n showAll: PropTypes.bool,\r\n children: PropTypes.node,\r\n selectAll: PropTypes.bool,\r\n selectSearchAll: PropTypes.bool,\r\n customEnumText: PropTypes.object,\r\n};\r\n\r\nexport default VtxSelect;\r\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "3.1.94",
3
+ "version": "3.1.95",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",