@vtx/components 3.1.94 → 3.1.96
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/lib/vtx-combogrid/index.js +7 -3
- package/lib/vtx-combogrid/index.js.map +1 -1
- package/lib/vtx-export/index.js +14 -5
- package/lib/vtx-export/index.js.map +1 -1
- package/lib/vtx-rps-frame/index.js +1 -1
- package/lib/vtx-rps-frame/index.js.map +1 -1
- package/lib/vtx-select/index.js +1 -1
- package/lib/vtx-select/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -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":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAASA,YAAT,CAAsBC,KAAtB,EAA6BC,GAA7B,EAAkC;EAC9B,gBAA8C,IAAAC,eAAA,EAAS,YAAM;IACzD,OAAO,EAAP;EACH,CAF6C,CAA9C;EAAA;EAAA,IAAOC,eAAP;EAAA,IAAwBC,kBAAxB;;EAGA,iBAA8B,IAAAF,eAAA,EAAS,KAAT,CAA9B;EAAA;EAAA,IAAOG,OAAP;EAAA,IAAgBC,UAAhB;;EACA,IAAMC,QAAQ,GAAG,IAAAC,aAAA,GAAjB;;EACA,IACIC,SADJ,
|
|
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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"}
|
package/lib/vtx-export/index.js
CHANGED
|
@@ -33,6 +33,12 @@ var _ExportOutlined = _interopRequireDefault(require("@ant-design/icons/ExportOu
|
|
|
33
33
|
|
|
34
34
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
35
35
|
|
|
36
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
37
|
+
|
|
38
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
39
|
+
|
|
40
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
41
|
+
|
|
36
42
|
var token = (0, _getToken["default"])(); // 默认60秒超时
|
|
37
43
|
|
|
38
44
|
var SECOND = 60;
|
|
@@ -51,7 +57,9 @@ var VtxExport = function VtxExport(props) {
|
|
|
51
57
|
_props$timeout = props.timeout,
|
|
52
58
|
timeout = _props$timeout === void 0 ? SECOND : _props$timeout,
|
|
53
59
|
_props$customEnumText = props.customEnumText,
|
|
54
|
-
customEnumText = _props$customEnumText === void 0 ? {} : _props$customEnumText
|
|
60
|
+
customEnumText = _props$customEnumText === void 0 ? {} : _props$customEnumText,
|
|
61
|
+
_props$headers = props.headers,
|
|
62
|
+
headers = _props$headers === void 0 ? {} : _props$headers;
|
|
55
63
|
var getExportParams = props.getExportParams,
|
|
56
64
|
afterExport = props.afterExport;
|
|
57
65
|
/* 菜单点击 */
|
|
@@ -83,11 +91,11 @@ var VtxExport = function VtxExport(props) {
|
|
|
83
91
|
method: 'post',
|
|
84
92
|
timeout: timeout * MILL_SECOND,
|
|
85
93
|
responseType: 'blob',
|
|
86
|
-
headers: {
|
|
94
|
+
headers: _objectSpread({
|
|
87
95
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
88
96
|
Authorization: token ? "Bearer ".concat(token) : ''
|
|
89
|
-
},
|
|
90
|
-
data: _querystring["default"].stringify(postData)
|
|
97
|
+
}, headers),
|
|
98
|
+
data: (headers === null || headers === void 0 ? void 0 : headers['Content-Type']) === 'application/json' ? postData : _querystring["default"].stringify(postData)
|
|
91
99
|
};
|
|
92
100
|
return new Promise(function (resolve, reject) {
|
|
93
101
|
(0, _axios["default"])(params).then(function (res) {
|
|
@@ -195,7 +203,8 @@ VtxExport.propTypes = {
|
|
|
195
203
|
getExportParams: _propTypes["default"].func,
|
|
196
204
|
afterExport: _propTypes["default"].func,
|
|
197
205
|
timeout: _propTypes["default"].number,
|
|
198
|
-
customEnumText: _propTypes["default"].object
|
|
206
|
+
customEnumText: _propTypes["default"].object,
|
|
207
|
+
headers: _propTypes["default"].object
|
|
199
208
|
};
|
|
200
209
|
var _default = VtxExport;
|
|
201
210
|
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["token","getToken","SECOND","MILL_SECOND","VtxExport","props","exportText","rowButton","pageButton","allButton","downloadURL","timeout","customEnumText","getExportParams","afterExport","exportButtonClick","param","passVal","key","downLoadFile","requestToResponse","postData","params","url","method","responseType","headers","Authorization","data","qs","stringify","Promise","resolve","reject","axios","then","res","err","div","document","createElement","ReactDOM","render","body","appendChild","status","contentDisposition","filename","indexOf","decodeURI","split","replace","download","message","warn","removeChild","content","blob","Blob","window","navigator","msSaveOrOpenBlob","downloadByATag","URL","createObjectURL","href","a","style","display","click","remove","revokeObjectURL","exportMenu","selectRowText","selectPageText","selectAllText","propTypes","PropTypes","string","bool","func","number","object"],"sources":["vtx-export/index.jsx"],"sourcesContent":["import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport axios from 'axios';\r\nimport qs from 'querystring';\r\nimport Button from 'antd/lib/button';\r\nimport Menu from 'antd/lib/menu';\r\nimport Dropdown from 'antd/lib/dropdown';\r\nimport message from 'antd/lib/message';\r\nimport Spin from 'antd/lib/spin';\r\nimport getToken from '../_util/getToken';\r\nimport DownOutlined from '@ant-design/icons/DownOutlined';\r\nimport ExportOutlined from '@ant-design/icons/ExportOutlined';\r\n\r\nconst token = getToken();\r\n// 默认60秒超时\r\nconst SECOND = 60;\r\nconst MILL_SECOND = 1000;\r\n\r\nconst VtxExport = props => {\r\n const {\r\n exportText = '导出',\r\n rowButton = true,\r\n pageButton = true,\r\n allButton = true,\r\n downloadURL,\r\n timeout = SECOND,\r\n customEnumText = {},\r\n } = props;\r\n\r\n const { getExportParams, afterExport } = props;\r\n\r\n /* 菜单点击 */\r\n function exportButtonClick(param) {\r\n const passVal = typeof getExportParams == 'function' ? getExportParams(param.key) : null;\r\n if (!downloadURL) {\r\n return;\r\n }\r\n if (!passVal) {\r\n return;\r\n }\r\n downLoadFile(passVal);\r\n }\r\n\r\n // eslint-disable-next-line valid-jsdoc\r\n /**\r\n * 发送http请求\r\n * @param {Object} postData api参数\r\n * @return reponse\r\n */\r\n function requestToResponse(postData) {\r\n const params = {\r\n url: downloadURL,\r\n method: 'post',\r\n timeout: timeout * MILL_SECOND,\r\n responseType: 'blob',\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n Authorization: token ? `Bearer ${token}` : '',\r\n },\r\n data: qs.stringify(postData),\r\n };\r\n return new Promise((resolve, reject) => {\r\n axios(params)\r\n .then(res => {\r\n resolve(res);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n\r\n /* 下载文件 */\r\n function downLoadFile(postData) {\r\n const div = document.createElement('div');\r\n ReactDOM.render(<Spin spinning className=\"vtx-spin\" />, div);\r\n document.body.appendChild(div);\r\n\r\n requestToResponse(postData).then(res => {\r\n let status = false;\r\n // 文件存在\r\n if (res.headers['content-disposition']) {\r\n const contentDisposition = res.headers['content-disposition'];\r\n let filename;\r\n if (contentDisposition.indexOf('filename*=') > -1) {\r\n filename = decodeURI(\r\n contentDisposition.split('filename*=')[1].replace(\"utf-8'zh_cn'\", ''),\r\n );\r\n } else {\r\n filename = decodeURI(contentDisposition.split('filename=')[1]);\r\n }\r\n if ('download' in document.createElement('a')) {\r\n download(res.data, filename);\r\n status = true;\r\n } else {\r\n message.warn('浏览器不支持');\r\n }\r\n }\r\n // 关闭loading,执行回调\r\n document.body.removeChild(div);\r\n if (afterExport && typeof afterExport === 'function') {\r\n afterExport(status);\r\n }\r\n });\r\n }\r\n\r\n /* 下载并 兼容IE */\r\n function download(content, filename) {\r\n const blob = new Blob([content]);\r\n // IE\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, filename);\r\n } else {\r\n downloadByATag(window.URL.createObjectURL(blob), filename);\r\n }\r\n }\r\n\r\n /**\r\n * 通过a标签模拟下载\r\n * @param {String} href\r\n * @param {String} filename\r\n */\r\n function downloadByATag(href, filename) {\r\n const a = document.createElement('a');\r\n a.download = filename;\r\n a.style.display = 'none';\r\n a.href = href;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n window.URL.revokeObjectURL(href);\r\n }\r\n\r\n const exportMenu = (\r\n <Menu onClick={exportButtonClick}>\r\n {rowButton === false ? null : (\r\n <Menu.Item key=\"rows\">{customEnumText?.selectRowText || '导出选中行'}</Menu.Item>\r\n )}\r\n {pageButton === false ? null : (\r\n <Menu.Item key=\"page\">{customEnumText?.selectPageText || '导出当前页'}</Menu.Item>\r\n )}\r\n {allButton === false ? null : (\r\n <Menu.Item key=\"all\">{customEnumText?.selectAllText || '导出全部'}</Menu.Item>\r\n )}\r\n </Menu>\r\n );\r\n return (\r\n <Dropdown overlay={exportMenu} trigger={['click']}>\r\n <Button icon={<ExportOutlined />}>\r\n {exportText} <DownOutlined />\r\n </Button>\r\n </Dropdown>\r\n );\r\n};\r\n\r\nVtxExport.propTypes = {\r\n exportText: PropTypes.string,\r\n rowButton: PropTypes.bool,\r\n pageButton: PropTypes.bool,\r\n allButton: PropTypes.bool,\r\n downloadURL: PropTypes.string,\r\n getExportParams: PropTypes.func,\r\n afterExport: PropTypes.func,\r\n timeout: PropTypes.number,\r\n customEnumText: PropTypes.object,\r\n};\r\nexport default VtxExport;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["token","getToken","SECOND","MILL_SECOND","VtxExport","props","exportText","rowButton","pageButton","allButton","downloadURL","timeout","customEnumText","headers","getExportParams","afterExport","exportButtonClick","param","passVal","key","downLoadFile","requestToResponse","postData","params","url","method","responseType","Authorization","data","qs","stringify","Promise","resolve","reject","axios","then","res","err","div","document","createElement","ReactDOM","render","body","appendChild","status","contentDisposition","filename","indexOf","decodeURI","split","replace","download","message","warn","removeChild","content","blob","Blob","window","navigator","msSaveOrOpenBlob","downloadByATag","URL","createObjectURL","href","a","style","display","click","remove","revokeObjectURL","exportMenu","selectRowText","selectPageText","selectAllText","propTypes","PropTypes","string","bool","func","number","object"],"sources":["vtx-export/index.jsx"],"sourcesContent":["import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport axios from 'axios';\r\nimport qs from 'querystring';\r\nimport Button from 'antd/lib/button';\r\nimport Menu from 'antd/lib/menu';\r\nimport Dropdown from 'antd/lib/dropdown';\r\nimport message from 'antd/lib/message';\r\nimport Spin from 'antd/lib/spin';\r\nimport getToken from '../_util/getToken';\r\nimport DownOutlined from '@ant-design/icons/DownOutlined';\r\nimport ExportOutlined from '@ant-design/icons/ExportOutlined';\r\n\r\nconst token = getToken();\r\n// 默认60秒超时\r\nconst SECOND = 60;\r\nconst MILL_SECOND = 1000;\r\n\r\nconst VtxExport = props => {\r\n const {\r\n exportText = '导出',\r\n rowButton = true,\r\n pageButton = true,\r\n allButton = true,\r\n downloadURL,\r\n timeout = SECOND,\r\n customEnumText = {},\r\n headers = {},\r\n } = props;\r\n\r\n const { getExportParams, afterExport } = props;\r\n\r\n /* 菜单点击 */\r\n function exportButtonClick(param) {\r\n const passVal = typeof getExportParams == 'function' ? getExportParams(param.key) : null;\r\n if (!downloadURL) {\r\n return;\r\n }\r\n if (!passVal) {\r\n return;\r\n }\r\n downLoadFile(passVal);\r\n }\r\n\r\n // eslint-disable-next-line valid-jsdoc\r\n /**\r\n * 发送http请求\r\n * @param {Object} postData api参数\r\n * @return reponse\r\n */\r\n function requestToResponse(postData) {\r\n const params = {\r\n url: downloadURL,\r\n method: 'post',\r\n timeout: timeout * MILL_SECOND,\r\n responseType: 'blob',\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n Authorization: token ? `Bearer ${token}` : '',\r\n ...headers,\r\n },\r\n data:\r\n headers?.['Content-Type'] === 'application/json'\r\n ? postData\r\n : qs.stringify(postData),\r\n };\r\n return new Promise((resolve, reject) => {\r\n axios(params)\r\n .then(res => {\r\n resolve(res);\r\n })\r\n .catch(err => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n\r\n /* 下载文件 */\r\n function downLoadFile(postData) {\r\n const div = document.createElement('div');\r\n ReactDOM.render(<Spin spinning className=\"vtx-spin\" />, div);\r\n document.body.appendChild(div);\r\n\r\n requestToResponse(postData).then(res => {\r\n let status = false;\r\n // 文件存在\r\n if (res.headers['content-disposition']) {\r\n const contentDisposition = res.headers['content-disposition'];\r\n let filename;\r\n if (contentDisposition.indexOf('filename*=') > -1) {\r\n filename = decodeURI(\r\n contentDisposition.split('filename*=')[1].replace(\"utf-8'zh_cn'\", ''),\r\n );\r\n } else {\r\n filename = decodeURI(contentDisposition.split('filename=')[1]);\r\n }\r\n if ('download' in document.createElement('a')) {\r\n download(res.data, filename);\r\n status = true;\r\n } else {\r\n message.warn('浏览器不支持');\r\n }\r\n }\r\n // 关闭loading,执行回调\r\n document.body.removeChild(div);\r\n if (afterExport && typeof afterExport === 'function') {\r\n afterExport(status);\r\n }\r\n });\r\n }\r\n\r\n /* 下载并 兼容IE */\r\n function download(content, filename) {\r\n const blob = new Blob([content]);\r\n // IE\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, filename);\r\n } else {\r\n downloadByATag(window.URL.createObjectURL(blob), filename);\r\n }\r\n }\r\n\r\n /**\r\n * 通过a标签模拟下载\r\n * @param {String} href\r\n * @param {String} filename\r\n */\r\n function downloadByATag(href, filename) {\r\n const a = document.createElement('a');\r\n a.download = filename;\r\n a.style.display = 'none';\r\n a.href = href;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n window.URL.revokeObjectURL(href);\r\n }\r\n\r\n const exportMenu = (\r\n <Menu onClick={exportButtonClick}>\r\n {rowButton === false ? null : (\r\n <Menu.Item key=\"rows\">{customEnumText?.selectRowText || '导出选中行'}</Menu.Item>\r\n )}\r\n {pageButton === false ? null : (\r\n <Menu.Item key=\"page\">{customEnumText?.selectPageText || '导出当前页'}</Menu.Item>\r\n )}\r\n {allButton === false ? null : (\r\n <Menu.Item key=\"all\">{customEnumText?.selectAllText || '导出全部'}</Menu.Item>\r\n )}\r\n </Menu>\r\n );\r\n return (\r\n <Dropdown overlay={exportMenu} trigger={['click']}>\r\n <Button icon={<ExportOutlined />}>\r\n {exportText} <DownOutlined />\r\n </Button>\r\n </Dropdown>\r\n );\r\n};\r\n\r\nVtxExport.propTypes = {\r\n exportText: PropTypes.string,\r\n rowButton: PropTypes.bool,\r\n pageButton: PropTypes.bool,\r\n allButton: PropTypes.bool,\r\n downloadURL: PropTypes.string,\r\n getExportParams: PropTypes.func,\r\n afterExport: PropTypes.func,\r\n timeout: PropTypes.number,\r\n customEnumText: PropTypes.object,\r\n headers: PropTypes.object,\r\n};\r\nexport default VtxExport;\r\n"],"mappings":"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"}
|
|
@@ -115,7 +115,7 @@ function VtxRpsFrame(props) {
|
|
|
115
115
|
reqMethod: 0
|
|
116
116
|
});
|
|
117
117
|
|
|
118
|
-
createForm("".concat(window.rpsPrefix || '').concat(reportServerUrl, "?report_code=").concat(report_code, "&reportlet=").concat(reportInfoByCodeData.reportlet, "&fr_locale=zh_CN×tamp=").concat(new Date().valueOf()), _param, "".concat(iframeName.current));
|
|
118
|
+
createForm("".concat(window.rpsPrefix || '').concat(reportServerUrl, "?report_code=").concat(report_code, "&reportlet=").concat(reportInfoByCodeData.reportlet, "&fr_locale=zh_CN×tamp=").concat(new Date().valueOf(), "&token=").concat(access_token, "&access_token=").concat(access_token), _param, "".concat(iframeName.current));
|
|
119
119
|
}
|
|
120
120
|
})) // eslint-disable-next-line no-console
|
|
121
121
|
["catch"](function (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["initReportParamUrl","initReportInfoUrl","initReportServerUrl","VtxRpsFrame","props","iframeName","useRef","Math","random","Date","getTime","useEffect","getReportInfoByCode","flag","report_param","data_param","paramTypeCode","tenantId","isParamEncode","reportParamUrl","reportInfoUrl","reportServerUrl","paramCode","report_code","getUrlParam","access_token","getToken","commonParam","header","axios","method","url","headers","param","timestamp","valueOf","reqMethod","formData","encodeURI","JSON","stringify","all","then","spread","commonParamResult","reportInfoByCodeResult","data","result","commonParamData","obj","forEach","d","parmCode","parmName","reportInfoByCodeData","data_url","createForm","window","rpsPrefix","reportlet","current","err","console","log","propTypes","PropTypes","number","string","object","oneOfType","array","bool","reqURL","formDom","document","createElement","target","action","style","inputArray","k","Object","prototype","hasOwnProperty","call","input1","type","name","value","push","body","appendChild","i","len","length","append","submit","remove"],"sources":["vtx-rps-frame/index.jsx"],"sourcesContent":["/* eslint-disable camelcase */\r\n/*\r\n * @Author: chenxinyu\r\n * @Date: 2021-03-24 21:47:52\r\n * @LastEditors: your name\r\n * @LastEditTime: 2022-01-12 18:49:30\r\n * @Description: 报表容器\r\n * @FilePath: \\react-components\\components\\vtx-rps-frame\\index.jsx\r\n */\r\nimport React, { useEffect, useRef } from 'react';\r\nimport axios from 'axios';\r\nimport PropTypes from 'prop-types';\r\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\r\nimport getToken from '../_util/getToken';\r\n\r\nconst initReportParamUrl = '/cloud/management/rest/np/param/getByParamTypeCode';\r\nconst initReportInfoUrl = '/cloud/rps/api/np/v101/report/getReportInfoByCode.smvc';\r\nconst initReportServerUrl = '/ReportServer';\r\nfunction VtxRpsFrame(props) {\r\n const iframeName = useRef(Math.random() + new Date().getTime());\r\n\r\n // flag改变,重新渲染报表\r\n useEffect(() => {\r\n getReportInfoByCode();\r\n }, [props.flag]);\r\n\r\n const getReportInfoByCode = () => {\r\n const {\r\n // report_code,\r\n report_param,\r\n data_param,\r\n paramTypeCode,\r\n tenantId,\r\n isParamEncode = false,\r\n reportParamUrl = initReportParamUrl,\r\n reportInfoUrl = initReportInfoUrl,\r\n reportServerUrl = initReportServerUrl,\r\n } = props;\r\n\r\n const paramCode = paramTypeCode || 'param_report_constant';\r\n // report_code 可配置,如果地址栏有report_code,则优先,否则根据props的report_code\r\n const report_code = getUrlParam().report_code\r\n ? getUrlParam().report_code\r\n : props.report_code;\r\n\r\n const access_token = getToken();\r\n\r\n // 获取公共参数\r\n function commonParam() {\r\n let header = {\r\n 'content-type': 'application/x-www-form-urlencoded',\r\n };\r\n if (access_token) {\r\n header['Authorization'] = `Bearer ${access_token}`;\r\n }\r\n return axios({\r\n method: 'get',\r\n url: `${reportParamUrl}?parameters={\"paramTypeCode\": \"${paramCode}\",\"tenantId\":\"${tenantId}\"}`,\r\n headers: header,\r\n });\r\n }\r\n\r\n // 获取报表code\r\n const param = {\r\n report_code,\r\n timestamp: new Date().valueOf(),\r\n reqMethod: 0,\r\n };\r\n const formData = isParamEncode ? encodeURI(JSON.stringify(param)) : JSON.stringify(param);\r\n function getReportInfoByCode() {\r\n let header = {\r\n 'content-type': 'application/x-www-form-urlencoded',\r\n };\r\n if (access_token) {\r\n header['Authorization'] = `Bearer ${access_token}`;\r\n }\r\n return axios({\r\n method: 'get',\r\n url: `${reportInfoUrl}?parameters=${formData}`,\r\n headers: header,\r\n });\r\n }\r\n\r\n axios\r\n .all([commonParam(), getReportInfoByCode()])\r\n .then(\r\n axios.spread(function(commonParamResult, reportInfoByCodeResult) {\r\n if (!commonParamResult.data.result && !reportInfoByCodeResult.data.result) {\r\n // 报表公共参数\r\n const commonParamData = commonParamResult.data.data;\r\n const obj = {};\r\n commonParamData.forEach(d => {\r\n obj[d.parmCode] = d.parmName;\r\n });\r\n const reportInfoByCodeData = reportInfoByCodeResult.data.data;\r\n const param = {\r\n data_url: reportInfoByCodeData.data_url,\r\n data_param: JSON.stringify(data_param),\r\n ...report_param,\r\n ...obj,\r\n reqMethod: 0,\r\n };\r\n createForm(\r\n `${window.rpsPrefix ||\r\n ''}${reportServerUrl}?report_code=${report_code}&reportlet=${\r\n reportInfoByCodeData.reportlet\r\n }&fr_locale=zh_CN×tamp=${new Date().valueOf()}`,\r\n param,\r\n `${iframeName.current}`,\r\n );\r\n }\r\n }),\r\n )\r\n // eslint-disable-next-line no-console\r\n .catch(err => console.log(err));\r\n };\r\n\r\n return (\r\n <div className=\"vtx-rps-frame\">\r\n <iframe\r\n className=\"vtx-rps-frame-wrapper\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n name={`${iframeName.current}`}\r\n ></iframe>\r\n </div>\r\n );\r\n}\r\n\r\nVtxRpsFrame.propTypes = {\r\n flag: PropTypes.number,\r\n report_code: PropTypes.string,\r\n report_param: PropTypes.object,\r\n data_param: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n paramTypeCode: PropTypes.string,\r\n tenantId: PropTypes.string,\r\n reportParamUrl: PropTypes.string,\r\n reportInfoUrl: PropTypes.string,\r\n reportServerUrl: PropTypes.string,\r\n isParamEncode: PropTypes.bool,\r\n};\r\nexport default VtxRpsFrame;\r\n\r\nconst createForm = function(reqURL, param, iframeName) {\r\n // 定义一个form表单\r\n const formDom = document.createElement('form');\r\n formDom.method = 'post';\r\n formDom.target = iframeName;\r\n formDom.action = reqURL;\r\n formDom.style = 'display:none';\r\n const inputArray = [];\r\n for (const k in param) {\r\n if (Object.prototype.hasOwnProperty.call(param, k)) {\r\n const input1 = document.createElement('input');\r\n input1.type = 'hidden';\r\n input1.name = k;\r\n input1.value = param[k];\r\n inputArray.push(input1);\r\n }\r\n }\r\n document.body.appendChild(formDom); // 将表单放置在web中\r\n for (let i = 0, len = inputArray.length; i < len; i++) {\r\n formDom.append(inputArray[i]);\r\n }\r\n formDom.submit(); // 表单提交\r\n formDom.remove();\r\n};\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["initReportParamUrl","initReportInfoUrl","initReportServerUrl","VtxRpsFrame","props","iframeName","useRef","Math","random","Date","getTime","useEffect","getReportInfoByCode","flag","report_param","data_param","paramTypeCode","tenantId","isParamEncode","reportParamUrl","reportInfoUrl","reportServerUrl","paramCode","report_code","getUrlParam","access_token","getToken","commonParam","header","axios","method","url","headers","param","timestamp","valueOf","reqMethod","formData","encodeURI","JSON","stringify","all","then","spread","commonParamResult","reportInfoByCodeResult","data","result","commonParamData","obj","forEach","d","parmCode","parmName","reportInfoByCodeData","data_url","createForm","window","rpsPrefix","reportlet","current","err","console","log","propTypes","PropTypes","number","string","object","oneOfType","array","bool","reqURL","formDom","document","createElement","target","action","style","inputArray","k","Object","prototype","hasOwnProperty","call","input1","type","name","value","push","body","appendChild","i","len","length","append","submit","remove"],"sources":["vtx-rps-frame/index.jsx"],"sourcesContent":["/* eslint-disable camelcase */\r\n/*\r\n * @Author: chenxinyu\r\n * @Date: 2021-03-24 21:47:52\r\n * @LastEditors: your name\r\n * @LastEditTime: 2022-01-12 18:49:30\r\n * @Description: 报表容器\r\n * @FilePath: \\react-components\\components\\vtx-rps-frame\\index.jsx\r\n */\r\nimport React, { useEffect, useRef } from 'react';\r\nimport axios from 'axios';\r\nimport PropTypes from 'prop-types';\r\nimport getUrlParam from '@vtx/utils/lib/getUrlParam';\r\nimport getToken from '../_util/getToken';\r\n\r\nconst initReportParamUrl = '/cloud/management/rest/np/param/getByParamTypeCode';\r\nconst initReportInfoUrl = '/cloud/rps/api/np/v101/report/getReportInfoByCode.smvc';\r\nconst initReportServerUrl = '/ReportServer';\r\nfunction VtxRpsFrame(props) {\r\n const iframeName = useRef(Math.random() + new Date().getTime());\r\n\r\n // flag改变,重新渲染报表\r\n useEffect(() => {\r\n getReportInfoByCode();\r\n }, [props.flag]);\r\n\r\n const getReportInfoByCode = () => {\r\n const {\r\n // report_code,\r\n report_param,\r\n data_param,\r\n paramTypeCode,\r\n tenantId,\r\n isParamEncode = false,\r\n reportParamUrl = initReportParamUrl,\r\n reportInfoUrl = initReportInfoUrl,\r\n reportServerUrl = initReportServerUrl,\r\n } = props;\r\n\r\n const paramCode = paramTypeCode || 'param_report_constant';\r\n // report_code 可配置,如果地址栏有report_code,则优先,否则根据props的report_code\r\n const report_code = getUrlParam().report_code\r\n ? getUrlParam().report_code\r\n : props.report_code;\r\n\r\n const access_token = getToken();\r\n\r\n // 获取公共参数\r\n function commonParam() {\r\n let header = {\r\n 'content-type': 'application/x-www-form-urlencoded',\r\n };\r\n if (access_token) {\r\n header['Authorization'] = `Bearer ${access_token}`;\r\n }\r\n return axios({\r\n method: 'get',\r\n url: `${reportParamUrl}?parameters={\"paramTypeCode\": \"${paramCode}\",\"tenantId\":\"${tenantId}\"}`,\r\n headers: header,\r\n });\r\n }\r\n\r\n // 获取报表code\r\n const param = {\r\n report_code,\r\n timestamp: new Date().valueOf(),\r\n reqMethod: 0,\r\n };\r\n const formData = isParamEncode ? encodeURI(JSON.stringify(param)) : JSON.stringify(param);\r\n function getReportInfoByCode() {\r\n let header = {\r\n 'content-type': 'application/x-www-form-urlencoded',\r\n };\r\n if (access_token) {\r\n header['Authorization'] = `Bearer ${access_token}`;\r\n }\r\n return axios({\r\n method: 'get',\r\n url: `${reportInfoUrl}?parameters=${formData}`,\r\n headers: header,\r\n });\r\n }\r\n\r\n axios\r\n .all([commonParam(), getReportInfoByCode()])\r\n .then(\r\n axios.spread(function(commonParamResult, reportInfoByCodeResult) {\r\n if (!commonParamResult.data.result && !reportInfoByCodeResult.data.result) {\r\n // 报表公共参数\r\n const commonParamData = commonParamResult.data.data;\r\n const obj = {};\r\n commonParamData.forEach(d => {\r\n obj[d.parmCode] = d.parmName;\r\n });\r\n const reportInfoByCodeData = reportInfoByCodeResult.data.data;\r\n const param = {\r\n data_url: reportInfoByCodeData.data_url,\r\n data_param: JSON.stringify(data_param),\r\n ...report_param,\r\n ...obj,\r\n reqMethod: 0,\r\n };\r\n createForm(\r\n `${window.rpsPrefix ||\r\n ''}${reportServerUrl}?report_code=${report_code}&reportlet=${\r\n reportInfoByCodeData.reportlet\r\n }&fr_locale=zh_CN×tamp=${new Date().valueOf()}&token=${access_token}&access_token=${access_token}`,\r\n param,\r\n `${iframeName.current}`,\r\n );\r\n }\r\n }),\r\n )\r\n // eslint-disable-next-line no-console\r\n .catch(err => console.log(err));\r\n };\r\n\r\n return (\r\n <div className=\"vtx-rps-frame\">\r\n <iframe\r\n className=\"vtx-rps-frame-wrapper\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n name={`${iframeName.current}`}\r\n ></iframe>\r\n </div>\r\n );\r\n}\r\n\r\nVtxRpsFrame.propTypes = {\r\n flag: PropTypes.number,\r\n report_code: PropTypes.string,\r\n report_param: PropTypes.object,\r\n data_param: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n paramTypeCode: PropTypes.string,\r\n tenantId: PropTypes.string,\r\n reportParamUrl: PropTypes.string,\r\n reportInfoUrl: PropTypes.string,\r\n reportServerUrl: PropTypes.string,\r\n isParamEncode: PropTypes.bool,\r\n};\r\nexport default VtxRpsFrame;\r\n\r\nconst createForm = function(reqURL, param, iframeName) {\r\n // 定义一个form表单\r\n const formDom = document.createElement('form');\r\n formDom.method = 'post';\r\n formDom.target = iframeName;\r\n formDom.action = reqURL;\r\n formDom.style = 'display:none';\r\n const inputArray = [];\r\n for (const k in param) {\r\n if (Object.prototype.hasOwnProperty.call(param, k)) {\r\n const input1 = document.createElement('input');\r\n input1.type = 'hidden';\r\n input1.name = k;\r\n input1.value = param[k];\r\n inputArray.push(input1);\r\n }\r\n }\r\n document.body.appendChild(formDom); // 将表单放置在web中\r\n for (let i = 0, len = inputArray.length; i < len; i++) {\r\n formDom.append(inputArray[i]);\r\n }\r\n formDom.submit(); // 表单提交\r\n formDom.remove();\r\n};\r\n"],"mappings":"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"}
|
package/lib/vtx-select/index.js
CHANGED
|
@@ -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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"}
|