@vtx/components 3.1.37 → 3.1.38

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.
@@ -104,7 +104,8 @@ Content.propTypes = {
104
104
  fileKey: _propTypes["default"].string,
105
105
  templateURL: _propTypes["default"].string,
106
106
  fileList: _propTypes["default"].any,
107
- setFileList: _propTypes["default"].func
107
+ setFileList: _propTypes["default"].func,
108
+ customText: _propTypes["default"].string
108
109
  };
109
110
  var _default = Content;
110
111
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","names":["Content","accept","fileKey","setFileList","fileList","templateURL","customText","fileInputRef","useRef","onClick","current","click","onFileChange","files","onDeleteFileList","length","map","file","name","color","cursor","display","fileName","propTypes","PropTypes","string","any","func"],"sources":["vtx-import2/Content.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRef } from 'react';\nimport CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';\nimport UploadSvg from './UploadSvg';\nimport DownloadSvg from './DownloadSvg';\nconst Content = ({ accept, fileKey, setFileList, fileList, templateURL, customText }) => {\n const fileInputRef = useRef();\n const onClick = () => {\n fileInputRef.current && fileInputRef.current.click();\n };\n\n const onFileChange = () => {\n setFileList(fileInputRef.current.files);\n };\n\n const onDeleteFileList = () => {\n setFileList([]);\n };\n\n return (\n <div>\n <div className=\"vtx-import2-content-box\">\n <span className=\"vtx-import2-content-mark\">1</span>\n <DownloadSvg />\n <a className=\"vtx-import2-download\" href={templateURL}>\n 没有模板?点击此处下载\n </a>\n </div>\n <div className=\"vtx-import2-content-box\">\n <span className=\"vtx-import2-content-mark\">2</span>\n <UploadSvg />\n <div className=\"vtx-import2-file-list\">\n <a onClick={onClick} className=\"vtx-import2-text\">\n {fileList.length === 0 ? (customText||'点击选择文件(支持excel格式)') : '重新选择文件'}\n </a>\n {[...fileList].map(file => (\n <div key={file.name} className=\"vtx-import2-file-item\">\n <span className=\"vtx-import2-file-name\">{file.name}</span>\n <CloseCircleFilled\n fill=\"#c0c0c0\"\n onClick={onDeleteFileList}\n style={{ color: '#c0c0c0', cursor: 'pointer' }}\n />\n </div>\n ))}\n </div>\n <input\n type=\"file\"\n name={fileKey}\n accept={accept}\n ref={fileInputRef}\n style={{ display: 'none' }}\n onChange={onFileChange}\n value={fileList.length === 0 ? '' : fileList[0].fileName}\n />\n </div>\n </div>\n );\n};\n\nContent.propTypes = {\n accept: PropTypes.string,\n fileKey: PropTypes.string,\n templateURL: PropTypes.string,\n fileList: PropTypes.any,\n setFileList: PropTypes.func,\n};\n\nexport default Content;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;AACA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAyE;EAAA,IAAtEC,MAAsE,QAAtEA,MAAsE;EAAA,IAA9DC,OAA8D,QAA9DA,OAA8D;EAAA,IAArDC,WAAqD,QAArDA,WAAqD;EAAA,IAAxCC,QAAwC,QAAxCA,QAAwC;EAAA,IAA9BC,WAA8B,QAA9BA,WAA8B;EAAA,IAAjBC,UAAiB,QAAjBA,UAAiB;EACrF,IAAMC,YAAY,GAAG,IAAAC,aAAA,GAArB;;EACA,IAAMC,OAAO,GAAG,SAAVA,OAAU,GAAM;IAClBF,YAAY,CAACG,OAAb,IAAwBH,YAAY,CAACG,OAAb,CAAqBC,KAArB,EAAxB;EACH,CAFD;;EAIA,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;IACvBT,WAAW,CAACI,YAAY,CAACG,OAAb,CAAqBG,KAAtB,CAAX;EACH,CAFD;;EAIA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;IAC3BX,WAAW,CAAC,EAAD,CAAX;EACH,CAFD;;EAIA,oBACI,0DACI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAM,SAAS,EAAC;EAAhB,OADJ,eAEI,gCAAC,uBAAD,OAFJ,eAGI;IAAG,SAAS,EAAC,sBAAb;IAAoC,IAAI,EAAEE;EAA1C,wEAHJ,CADJ,eAQI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAM,SAAS,EAAC;EAAhB,OADJ,eAEI,gCAAC,qBAAD,OAFJ,eAGI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAG,OAAO,EAAEI,OAAZ;IAAqB,SAAS,EAAC;EAA/B,GACKL,QAAQ,CAACW,MAAT,KAAoB,CAApB,GAAyBT,UAAU,IAAE,mBAArC,GAA4D,QADjE,CADJ,EAIK,mBAAIF,QAAJ,EAAcY,GAAd,CAAkB,UAAAC,IAAI;IAAA,oBACnB;MAAK,GAAG,EAAEA,IAAI,CAACC,IAAf;MAAqB,SAAS,EAAC;IAA/B,gBACI;MAAM,SAAS,EAAC;IAAhB,GAAyCD,IAAI,CAACC,IAA9C,CADJ,eAEI,gCAAC,6BAAD;MACI,IAAI,EAAC,SADT;MAEI,OAAO,EAAEJ,gBAFb;MAGI,KAAK,EAAE;QAAEK,KAAK,EAAE,SAAT;QAAoBC,MAAM,EAAE;MAA5B;IAHX,EAFJ,CADmB;EAAA,CAAtB,CAJL,CAHJ,eAkBI;IACI,IAAI,EAAC,MADT;IAEI,IAAI,EAAElB,OAFV;IAGI,MAAM,EAAED,MAHZ;IAII,GAAG,EAAEM,YAJT;IAKI,KAAK,EAAE;MAAEc,OAAO,EAAE;IAAX,CALX;IAMI,QAAQ,EAAET,YANd;IAOI,KAAK,EAAER,QAAQ,CAACW,MAAT,KAAoB,CAApB,GAAwB,EAAxB,GAA6BX,QAAQ,CAAC,CAAD,CAAR,CAAYkB;EAPpD,EAlBJ,CARJ,CADJ;AAuCH,CArDD;;AAuDAtB,OAAO,CAACuB,SAAR,GAAoB;EAChBtB,MAAM,EAAEuB,qBAAA,CAAUC,MADF;EAEhBvB,OAAO,EAAEsB,qBAAA,CAAUC,MAFH;EAGhBpB,WAAW,EAAEmB,qBAAA,CAAUC,MAHP;EAIhBrB,QAAQ,EAAEoB,qBAAA,CAAUE,GAJJ;EAKhBvB,WAAW,EAAEqB,qBAAA,CAAUG;AALP,CAApB;eAQe3B,O"}
1
+ {"version":3,"file":"Content.js","names":["Content","accept","fileKey","setFileList","fileList","templateURL","customText","fileInputRef","useRef","onClick","current","click","onFileChange","files","onDeleteFileList","length","map","file","name","color","cursor","display","fileName","propTypes","PropTypes","string","any","func"],"sources":["vtx-import2/Content.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRef } from 'react';\nimport CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';\nimport UploadSvg from './UploadSvg';\nimport DownloadSvg from './DownloadSvg';\nconst Content = ({ accept, fileKey, setFileList, fileList, templateURL, customText }) => {\n const fileInputRef = useRef();\n const onClick = () => {\n fileInputRef.current && fileInputRef.current.click();\n };\n\n const onFileChange = () => {\n setFileList(fileInputRef.current.files);\n };\n\n const onDeleteFileList = () => {\n setFileList([]);\n };\n\n return (\n <div>\n <div className=\"vtx-import2-content-box\">\n <span className=\"vtx-import2-content-mark\">1</span>\n <DownloadSvg />\n <a className=\"vtx-import2-download\" href={templateURL}>\n 没有模板?点击此处下载\n </a>\n </div>\n <div className=\"vtx-import2-content-box\">\n <span className=\"vtx-import2-content-mark\">2</span>\n <UploadSvg />\n <div className=\"vtx-import2-file-list\">\n <a onClick={onClick} className=\"vtx-import2-text\">\n {fileList.length === 0 ? (customText||'点击选择文件(支持excel格式)') : '重新选择文件'}\n </a>\n {[...fileList].map(file => (\n <div key={file.name} className=\"vtx-import2-file-item\">\n <span className=\"vtx-import2-file-name\">{file.name}</span>\n <CloseCircleFilled\n fill=\"#c0c0c0\"\n onClick={onDeleteFileList}\n style={{ color: '#c0c0c0', cursor: 'pointer' }}\n />\n </div>\n ))}\n </div>\n <input\n type=\"file\"\n name={fileKey}\n accept={accept}\n ref={fileInputRef}\n style={{ display: 'none' }}\n onChange={onFileChange}\n value={fileList.length === 0 ? '' : fileList[0].fileName}\n />\n </div>\n </div>\n );\n};\n\nContent.propTypes = {\n accept: PropTypes.string,\n fileKey: PropTypes.string,\n templateURL: PropTypes.string,\n fileList: PropTypes.any,\n setFileList: PropTypes.func,\n customText: PropTypes.string,\n};\n\nexport default Content;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;AACA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAyE;EAAA,IAAtEC,MAAsE,QAAtEA,MAAsE;EAAA,IAA9DC,OAA8D,QAA9DA,OAA8D;EAAA,IAArDC,WAAqD,QAArDA,WAAqD;EAAA,IAAxCC,QAAwC,QAAxCA,QAAwC;EAAA,IAA9BC,WAA8B,QAA9BA,WAA8B;EAAA,IAAjBC,UAAiB,QAAjBA,UAAiB;EACrF,IAAMC,YAAY,GAAG,IAAAC,aAAA,GAArB;;EACA,IAAMC,OAAO,GAAG,SAAVA,OAAU,GAAM;IAClBF,YAAY,CAACG,OAAb,IAAwBH,YAAY,CAACG,OAAb,CAAqBC,KAArB,EAAxB;EACH,CAFD;;EAIA,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;IACvBT,WAAW,CAACI,YAAY,CAACG,OAAb,CAAqBG,KAAtB,CAAX;EACH,CAFD;;EAIA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;IAC3BX,WAAW,CAAC,EAAD,CAAX;EACH,CAFD;;EAIA,oBACI,0DACI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAM,SAAS,EAAC;EAAhB,OADJ,eAEI,gCAAC,uBAAD,OAFJ,eAGI;IAAG,SAAS,EAAC,sBAAb;IAAoC,IAAI,EAAEE;EAA1C,wEAHJ,CADJ,eAQI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAM,SAAS,EAAC;EAAhB,OADJ,eAEI,gCAAC,qBAAD,OAFJ,eAGI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAG,OAAO,EAAEI,OAAZ;IAAqB,SAAS,EAAC;EAA/B,GACKL,QAAQ,CAACW,MAAT,KAAoB,CAApB,GAAyBT,UAAU,IAAE,mBAArC,GAA4D,QADjE,CADJ,EAIK,mBAAIF,QAAJ,EAAcY,GAAd,CAAkB,UAAAC,IAAI;IAAA,oBACnB;MAAK,GAAG,EAAEA,IAAI,CAACC,IAAf;MAAqB,SAAS,EAAC;IAA/B,gBACI;MAAM,SAAS,EAAC;IAAhB,GAAyCD,IAAI,CAACC,IAA9C,CADJ,eAEI,gCAAC,6BAAD;MACI,IAAI,EAAC,SADT;MAEI,OAAO,EAAEJ,gBAFb;MAGI,KAAK,EAAE;QAAEK,KAAK,EAAE,SAAT;QAAoBC,MAAM,EAAE;MAA5B;IAHX,EAFJ,CADmB;EAAA,CAAtB,CAJL,CAHJ,eAkBI;IACI,IAAI,EAAC,MADT;IAEI,IAAI,EAAElB,OAFV;IAGI,MAAM,EAAED,MAHZ;IAII,GAAG,EAAEM,YAJT;IAKI,KAAK,EAAE;MAAEc,OAAO,EAAE;IAAX,CALX;IAMI,QAAQ,EAAET,YANd;IAOI,KAAK,EAAER,QAAQ,CAACW,MAAT,KAAoB,CAApB,GAAwB,EAAxB,GAA6BX,QAAQ,CAAC,CAAD,CAAR,CAAYkB;EAPpD,EAlBJ,CARJ,CADJ;AAuCH,CArDD;;AAuDAtB,OAAO,CAACuB,SAAR,GAAoB;EAChBtB,MAAM,EAAEuB,qBAAA,CAAUC,MADF;EAEhBvB,OAAO,EAAEsB,qBAAA,CAAUC,MAFH;EAGhBpB,WAAW,EAAEmB,qBAAA,CAAUC,MAHP;EAIhBrB,QAAQ,EAAEoB,qBAAA,CAAUE,GAJJ;EAKhBvB,WAAW,EAAEqB,qBAAA,CAAUG,IALP;EAMhBrB,UAAU,EAAEkB,qBAAA,CAAUC;AANN,CAApB;eASezB,O"}
@@ -25,6 +25,12 @@ var _classnames2 = _interopRequireDefault(require("classnames"));
25
25
 
26
26
  var _vtxZtree = _interopRequireDefault(require("../vtx-ztree"));
27
27
 
28
+ var _icons = require("@ant-design/icons");
29
+
30
+ var _button = _interopRequireDefault(require("antd/lib/button"));
31
+
32
+ var _empty = _interopRequireDefault(require("antd/lib/empty"));
33
+
28
34
  var _excluded = ["children"];
29
35
 
30
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -85,7 +91,8 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
85
91
  _this.tree = null;
86
92
  _this.treeRefreshFlag = 1;
87
93
  _this.state = {
88
- popoverVisible: false
94
+ popoverVisible: false,
95
+ popWidth: 0
89
96
  };
90
97
  _this.keyNodesMapping = {};
91
98
 
@@ -304,11 +311,23 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
304
311
  }), _treeProps); // 多选组件
305
312
 
306
313
  var MultiSelect = /*#__PURE__*/_react["default"].createElement("div", {
314
+ className: (0, _classnames2["default"])("".concat(prefixCls, "-multiple-box")),
315
+ style: style,
316
+ ref: function ref(_ref3) {
317
+ if (!t.state.popWidth && _ref3 !== null && _ref3 !== void 0 && _ref3.clientWidth) {
318
+ console.log(_ref3 === null || _ref3 === void 0 ? void 0 : _ref3.clientWidth);
319
+ t.setState({
320
+ popWidth: _ref3 === null || _ref3 === void 0 ? void 0 : _ref3.clientWidth
321
+ });
322
+ }
323
+ }
324
+ }, /*#__PURE__*/_react["default"].createElement("div", {
307
325
  className: (0, _classnames2["default"])('ant-input', "".concat(prefixCls, "-multiple"), _defineProperty({}, "".concat(prefixCls, "-multiple-disabled"), disabled)),
308
326
  style: _objectSpread({
309
- height: 'auto',
310
- minHeight: '28px'
327
+ height: '32px'
311
328
  }, style)
329
+ }, /*#__PURE__*/_react["default"].createElement("div", {
330
+ className: (0, _classnames2["default"])("".concat(prefixCls, "-multiple-content"))
312
331
  }, selectedNodes.length > 0 ? [selectedNodes.map(function (item) {
313
332
  return /*#__PURE__*/_react["default"].createElement(_tag["default"], {
314
333
  key: item.id,
@@ -327,7 +346,43 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
327
346
  }
328
347
  })] : /*#__PURE__*/_react["default"].createElement("span", {
329
348
  className: "".concat(prefixCls, "-placeholder")
330
- }, t.props.placeholder)); // 单选组件
349
+ }, t.props.placeholder))), /*#__PURE__*/_react["default"].createElement(_popover["default"], {
350
+ content: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
351
+ className: (0, _classnames2["default"])('vtx-tree-count-head')
352
+ }, /*#__PURE__*/_react["default"].createElement("span", null, "\u5DF2\u9009\u62E9\uFF1A", selectedNodes.length), /*#__PURE__*/_react["default"].createElement("span", {
353
+ className: (0, _classnames2["default"])(selectedNodes.length > 0 && !disabled ? 'clear-count' : 'disabled-count'),
354
+ onClick: function onClick(e) {
355
+ e.stopPropagation();
356
+ t.clear();
357
+ }
358
+ }, "\u6E05\u7A7A\u5DF2\u9009\u9879")), selectedNodes.length > 0 ? selectedNodes.map(function (item) {
359
+ return /*#__PURE__*/_react["default"].createElement(_tag["default"], {
360
+ key: "tab-".concat(item.id),
361
+ closable: !disabled,
362
+ onClose: function onClose(e) {
363
+ e.stopPropagation();
364
+ t.clearKey(item.id);
365
+ },
366
+ style: {
367
+ marginBottom: '5px'
368
+ }
369
+ }, item.name.length > 20 ? "".concat(item.name.slice(0, 20), "...") : item.name);
370
+ }) : /*#__PURE__*/_react["default"].createElement(_empty["default"], {
371
+ image: _empty["default"].PRESENTED_IMAGE_SIMPLE
372
+ })),
373
+ placement: "bottomRight",
374
+ trigger: "click",
375
+ overlayStyle: {
376
+ width: t.state.popWidth
377
+ }
378
+ }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
379
+ className: "vtx-tree-count",
380
+ icon: /*#__PURE__*/_react["default"].createElement(_icons.MoreOutlined, null),
381
+ size: "default",
382
+ onClick: function onClick(e) {
383
+ e.stopPropagation();
384
+ }
385
+ }))); // 单选组件
331
386
 
332
387
 
333
388
  var SingleSelect = /*#__PURE__*/_react["default"].createElement(_input["default"], {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VtxZtreeSelect","props","tree","treeRefreshFlag","state","popoverVisible","keyNodesMapping","getKeyNodesMapping","prevProps","isEqual","data","expandedKeys","nodes","t","genNodes","map","item","children","rest","key","Array","isArray","length","treeCheckable","checkNodes","getCheckedNodes","cancelSelectedNodes","value","onChange","keys","leafKeys","names","keyIndex","indexOf","keyList","splice","filter","isLeaf","name","clearSearch","prefixCls","treeDefaultExpandAll","multiple","showSearch","searchPlaceholder","dropdownStyle","style","disabled","refreshFlag","customCfg","checkStrictly","value_arr","val","selectedNodes","k","id","treeProps","checkable","instance","selectedKeys","selectedNames","setState","checkedNodes","checkedKeys","checkedNames","treeNode","beforeCheck","MultiSelect","classnames","height","minHeight","e","stopPropagation","clearKey","slice","clear","placeholder","SingleSelect","join","bind","v","React","Component","propTypes","PropTypes","array","arrayOf","string","bool","oneOfType","func"],"sources":["vtx-ztree-select/index.jsx"],"sourcesContent":["import React from 'react';\nimport Popover from 'antd/lib/popover';\nimport Input from 'antd/lib/input';\nimport Tag from 'antd/lib/tag';\nimport CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';\nimport isEqual from 'lodash.isequal';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Ztree from '../vtx-ztree';\n\nexport default class VtxZtreeSelect extends React.Component {\n constructor(props) {\n super(props);\n this.tree = null;\n this.treeRefreshFlag = 1;\n this.state = {\n popoverVisible: false,\n };\n this.keyNodesMapping = {};\n this.getKeyNodesMapping();\n }\n\n // UNSAFE_componentWillReceiveProps(nextProps) {\n // if (!isEqual(this.props.data, nextProps.data)) {\n // this.getKeyNodesMapping(nextProps.data);\n // }\n // if (!isEqual(this.props.expandedKeys, nextProps.expandedKeys)) {\n // this.treeRefreshFlag++;\n // }\n // }\n\n // 替换componentWillReceiveProps\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.data, prevProps.data)) {\n this.getKeyNodesMapping(this.props.data);\n }\n if (!isEqual(this.props.expandedKeys, prevProps.expandedKeys)) {\n this.treeRefreshFlag++;\n }\n }\n\n getKeyNodesMapping(nodes) {\n const t = this;\n t.keyNodesMapping = {};\n (function genNodes(nodes) {\n nodes.map(item => {\n const { children, ...rest } = item;\n t.keyNodesMapping[item.key] = rest;\n if (Array.isArray(children) && children.length > 0) {\n genNodes(children);\n }\n });\n })(nodes || this.props.data || []);\n }\n\n clear() {\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes(\n this.tree.getCheckedNodes().map(item => item.key),\n false,\n );\n } else {\n this.tree.cancelSelectedNodes(this.props.value);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes: [],\n keys: [],\n leafKeys: [],\n names: [],\n });\n }\n\n clearKey(key) {\n const keyIndex = this.props.value.indexOf(key);\n if (keyIndex != -1) {\n const keyList = [...this.props.value];\n keyList.splice(keyIndex, 1);\n const nodes = keyList.map(key => this.keyNodesMapping[key]);\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes([key], false);\n } else {\n this.tree.cancelSelectedNodes([key]);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes,\n keys: keyList,\n leafKeys: nodes.filter(item => item.isLeaf).map(item => item.key),\n names: nodes.map(item => item.name),\n });\n }\n }\n\n clearSearch() {\n this.tree && this.tree.clearSearch();\n }\n\n render() {\n const t = this;\n // 必填参数\n const { data, value } = t.props;\n // 可配参数\n const {\n prefixCls = 'vtx-ztree-select',\n treeCheckable = false,\n treeDefaultExpandAll = false,\n multiple = false,\n showSearch = true,\n searchPlaceholder,\n dropdownStyle = {},\n style = {},\n disabled = false,\n refreshFlag = null,\n expandedKeys,\n customCfg,\n checkStrictly,\n } = t.props;\n // eslint-disable-next-line camelcase\n const value_arr = (function(val) {\n if (Array.isArray(val)) {\n return val;\n } else if (val) {\n return [val];\n } else {\n return [];\n }\n })(value);\n const selectedNodes = value_arr\n .filter(k => k in t.keyNodesMapping)\n .map(item => ({\n id: item,\n name: t.keyNodesMapping[item].name,\n }));\n // ztree配置\n const treeProps = {\n data, // 树的数据\n showSearch: showSearch,\n searchPlaceholder: searchPlaceholder,\n multiple,\n checkable: treeCheckable,\n [treeCheckable ? 'checkedKeys' : 'selectedKeys']: value_arr,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys,\n refreshFlag: refreshFlag || t.treeRefreshFlag,\n customCfg,\n checkStrictly,\n ref(instance) {\n if (instance) t.tree = instance;\n },\n onClick({ selectedNodes, selectedKeys, selectedNames }) {\n // console.log(selectedNodes,selectedKeys,selectedNames)\n if (!treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: selectedNodes,\n keys: selectedKeys,\n leafKeys: selectedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: selectedNames,\n });\n if (!multiple) {\n t.setState({\n popoverVisible: false,\n });\n }\n }\n },\n onCheck({ checkedNodes, checkedKeys, checkedNames }) {\n if (treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: checkedNodes,\n keys: checkedKeys,\n leafKeys: checkedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: checkedNames,\n });\n }\n },\n beforeCheck(treeNode) {\n return t.props.beforeCheck ? t.props.beforeCheck(treeNode) : true;\n },\n };\n\n // 多选组件\n const MultiSelect = (\n <div\n className={classnames('ant-input', `${prefixCls}-multiple`, {\n [`${prefixCls}-multiple-disabled`]: disabled,\n })}\n style={{ height: 'auto', minHeight: '28px', ...style }}\n >\n {selectedNodes.length > 0 ? (\n [\n selectedNodes.map(item => (\n <Tag\n key={item.id}\n closable={!disabled}\n onClose={e => {\n e.stopPropagation();\n t.clearKey(item.id);\n }}\n >\n {item.name.length > 20 ? `${item.name.slice(0, 20)}...` : item.name}\n </Tag>\n )),\n disabled ? null : (\n <CloseCircleFilled\n key={'icon'}\n className={`${prefixCls}-multiple-close-icon`}\n onClick={e => {\n e.stopPropagation();\n t.clear();\n }}\n />\n ),\n ]\n ) : (\n <span className={`${prefixCls}-placeholder`}>{t.props.placeholder}</span>\n )}\n </div>\n );\n\n // 单选组件\n const SingleSelect = (\n <Input\n value={selectedNodes.map(item => item.name).join(', ')}\n style={style}\n readOnly\n disabled={disabled}\n placeholder={t.props.placeholder}\n suffix={\n disabled || selectedNodes.length == 0 ? (\n <span />\n ) : (\n <CloseCircleFilled\n className={`${prefixCls}-close-icon`}\n onClick={t.clear.bind(t)}\n />\n )\n }\n />\n );\n\n return (\n <div className={prefixCls}>\n {disabled ? (\n multiple || treeCheckable ? (\n MultiSelect\n ) : (\n SingleSelect\n )\n ) : (\n <Popover\n placement=\"bottomLeft\"\n content={\n <div className={`${prefixCls}-popover`} style={dropdownStyle}>\n <Ztree {...treeProps} />\n </div>\n }\n trigger=\"click\"\n onVisibleChange={v => {\n t.setState({ popoverVisible: v });\n }}\n visible={t.state.popoverVisible}\n >\n {multiple || treeCheckable ? MultiSelect : SingleSelect}\n </Popover>\n )}\n </div>\n );\n }\n}\n\nVtxZtreeSelect.propTypes = {\n data: PropTypes.array,\n expandedKeys: PropTypes.arrayOf(PropTypes.string),\n treeCheckable: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["VtxZtreeSelect","props","tree","treeRefreshFlag","state","popoverVisible","popWidth","keyNodesMapping","getKeyNodesMapping","prevProps","isEqual","data","expandedKeys","nodes","t","genNodes","map","item","children","rest","key","Array","isArray","length","treeCheckable","checkNodes","getCheckedNodes","cancelSelectedNodes","value","onChange","keys","leafKeys","names","keyIndex","indexOf","keyList","splice","filter","isLeaf","name","clearSearch","prefixCls","treeDefaultExpandAll","multiple","showSearch","searchPlaceholder","dropdownStyle","style","disabled","refreshFlag","customCfg","checkStrictly","value_arr","val","selectedNodes","k","id","treeProps","checkable","instance","selectedKeys","selectedNames","setState","checkedNodes","checkedKeys","checkedNames","treeNode","beforeCheck","MultiSelect","classnames","ref","clientWidth","console","log","height","e","stopPropagation","clearKey","slice","clear","placeholder","marginBottom","Empty","PRESENTED_IMAGE_SIMPLE","width","SingleSelect","join","bind","v","React","Component","propTypes","PropTypes","array","arrayOf","string","bool","oneOfType","func"],"sources":["vtx-ztree-select/index.jsx"],"sourcesContent":["import React from 'react';\nimport Popover from 'antd/lib/popover';\nimport Input from 'antd/lib/input';\nimport Tag from 'antd/lib/tag';\nimport CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';\nimport isEqual from 'lodash.isequal';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Ztree from '../vtx-ztree';\nimport { MoreOutlined } from '@ant-design/icons';\nimport Button from 'antd/lib/button';\nimport Empty from 'antd/lib/empty';\n\nexport default class VtxZtreeSelect extends React.Component {\n constructor(props) {\n super(props);\n this.tree = null;\n this.treeRefreshFlag = 1;\n this.state = {\n popoverVisible: false,\n popWidth: 0\n };\n this.keyNodesMapping = {};\n this.getKeyNodesMapping();\n }\n\n // UNSAFE_componentWillReceiveProps(nextProps) {\n // if (!isEqual(this.props.data, nextProps.data)) {\n // this.getKeyNodesMapping(nextProps.data);\n // }\n // if (!isEqual(this.props.expandedKeys, nextProps.expandedKeys)) {\n // this.treeRefreshFlag++;\n // }\n // }\n\n // 替换componentWillReceiveProps\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.data, prevProps.data)) {\n this.getKeyNodesMapping(this.props.data);\n }\n if (!isEqual(this.props.expandedKeys, prevProps.expandedKeys)) {\n this.treeRefreshFlag++;\n }\n }\n\n getKeyNodesMapping(nodes) {\n const t = this;\n t.keyNodesMapping = {};\n (function genNodes(nodes) {\n nodes.map(item => {\n const { children, ...rest } = item;\n t.keyNodesMapping[item.key] = rest;\n if (Array.isArray(children) && children.length > 0) {\n genNodes(children);\n }\n });\n })(nodes || this.props.data || []);\n }\n\n clear() {\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes(\n this.tree.getCheckedNodes().map(item => item.key),\n false,\n );\n } else {\n this.tree.cancelSelectedNodes(this.props.value);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes: [],\n keys: [],\n leafKeys: [],\n names: [],\n });\n }\n\n clearKey(key) {\n const keyIndex = this.props.value.indexOf(key);\n if (keyIndex != -1) {\n const keyList = [...this.props.value];\n keyList.splice(keyIndex, 1);\n const nodes = keyList.map(key => this.keyNodesMapping[key]);\n if (this.tree) {\n if (this.props.treeCheckable) {\n this.tree.checkNodes([key], false);\n } else {\n this.tree.cancelSelectedNodes([key]);\n }\n }\n this.props.onChange &&\n this.props.onChange({\n nodes,\n keys: keyList,\n leafKeys: nodes.filter(item => item.isLeaf).map(item => item.key),\n names: nodes.map(item => item.name),\n });\n }\n }\n\n clearSearch() {\n this.tree && this.tree.clearSearch();\n }\n\n render() {\n const t = this;\n // 必填参数\n const { data, value } = t.props;\n // 可配参数\n const {\n prefixCls = 'vtx-ztree-select',\n treeCheckable = false,\n treeDefaultExpandAll = false,\n multiple = false,\n showSearch = true,\n searchPlaceholder,\n dropdownStyle = {},\n style = {},\n disabled = false,\n refreshFlag = null,\n expandedKeys,\n customCfg,\n checkStrictly,\n } = t.props;\n // eslint-disable-next-line camelcase\n const value_arr = (function(val) {\n if (Array.isArray(val)) {\n return val;\n } else if (val) {\n return [val];\n } else {\n return [];\n }\n })(value);\n const selectedNodes = value_arr\n .filter(k => k in t.keyNodesMapping)\n .map(item => ({\n id: item,\n name: t.keyNodesMapping[item].name,\n }));\n // ztree配置\n const treeProps = {\n data, // 树的数据\n showSearch: showSearch,\n searchPlaceholder: searchPlaceholder,\n multiple,\n checkable: treeCheckable,\n [treeCheckable ? 'checkedKeys' : 'selectedKeys']: value_arr,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys,\n refreshFlag: refreshFlag || t.treeRefreshFlag,\n customCfg,\n checkStrictly,\n ref(instance) {\n if (instance) t.tree = instance;\n },\n onClick({ selectedNodes, selectedKeys, selectedNames }) {\n // console.log(selectedNodes,selectedKeys,selectedNames)\n if (!treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: selectedNodes,\n keys: selectedKeys,\n leafKeys: selectedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: selectedNames,\n });\n if (!multiple) {\n t.setState({\n popoverVisible: false,\n });\n }\n }\n },\n onCheck({ checkedNodes, checkedKeys, checkedNames }) {\n if (treeCheckable) {\n t.props.onChange &&\n t.props.onChange({\n nodes: checkedNodes,\n keys: checkedKeys,\n leafKeys: checkedNodes\n .filter(item => item.isLeaf)\n .map(item => item.key),\n names: checkedNames,\n });\n }\n },\n beforeCheck(treeNode) {\n return t.props.beforeCheck ? t.props.beforeCheck(treeNode) : true;\n },\n };\n\n // 多选组件\n const MultiSelect = (\n <div \n className={classnames(`${prefixCls}-multiple-box`)} \n style={style}\n ref={ref=>{\n if(!t.state.popWidth && ref?.clientWidth){\n console.log(ref?.clientWidth);\n t.setState({popWidth: ref?.clientWidth})\n }\n }}\n >\n <div\n className={classnames('ant-input', `${prefixCls}-multiple`, {\n [`${prefixCls}-multiple-disabled`]: disabled,\n })}\n style={{ height: '32px', ...style }}\n >\n <div className={classnames(`${prefixCls}-multiple-content`)}>\n {selectedNodes.length > 0 ? (\n [\n selectedNodes.map(item => (\n <Tag\n key={item.id}\n closable={!disabled}\n onClose={e => {\n e.stopPropagation();\n t.clearKey(item.id);\n }}\n >\n {item.name.length > 20 ? `${item.name.slice(0, 20)}...` : item.name}\n </Tag>\n )),\n disabled ? null : (\n <CloseCircleFilled\n key={'icon'}\n className={`${prefixCls}-multiple-close-icon`}\n onClick={e => {\n e.stopPropagation();\n t.clear();\n }}\n />\n ),\n ]\n ) : (\n <span className={`${prefixCls}-placeholder`}>{t.props.placeholder}</span>\n )}\n </div>\n </div>\n <Popover\n content={\n <>\n <div className={classnames('vtx-tree-count-head')}>\n <span>已选择:{selectedNodes.length}</span>\n <span className={classnames((selectedNodes.length>0&&!disabled)?'clear-count':'disabled-count')} onClick={e=>{\n e.stopPropagation();\n t.clear();\n }}>清空已选项</span>\n </div>\n {\n selectedNodes.length>0?\n selectedNodes.map(item => (\n <Tag\n key={`tab-${item.id}`}\n closable={!disabled}\n onClose={e => {\n e.stopPropagation();\n t.clearKey(item.id);\n }}\n style={{marginBottom: '5px'}}\n >\n {item.name.length > 20 ? `${item.name.slice(0, 20)}...` : item.name}\n </Tag>\n )):\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n }\n </>\n }\n placement=\"bottomRight\"\n trigger=\"click\"\n overlayStyle={{ width: t.state.popWidth }}\n >\n <Button \n className=\"vtx-tree-count\" \n icon={<MoreOutlined />} \n size='default' \n onClick={e=>{\n e.stopPropagation();\n }}\n />\n </Popover>\n </div>\n );\n\n // 单选组件\n const SingleSelect = (\n <Input\n value={selectedNodes.map(item => item.name).join(', ')}\n style={style}\n readOnly\n disabled={disabled}\n placeholder={t.props.placeholder}\n suffix={\n disabled || selectedNodes.length == 0 ? (\n <span />\n ) : (\n <CloseCircleFilled\n className={`${prefixCls}-close-icon`}\n onClick={t.clear.bind(t)}\n />\n )\n }\n />\n );\n\n return (\n <div className={prefixCls}>\n {disabled ? (\n multiple || treeCheckable ? (\n MultiSelect\n ) : (\n SingleSelect\n )\n ) : (\n <Popover\n placement=\"bottomLeft\"\n content={\n <div className={`${prefixCls}-popover`} style={dropdownStyle}>\n <Ztree {...treeProps} />\n </div>\n }\n trigger=\"click\"\n onVisibleChange={v => {\n t.setState({ popoverVisible: v });\n }}\n visible={t.state.popoverVisible}\n >\n {multiple || treeCheckable ? MultiSelect : SingleSelect}\n </Popover>\n )}\n </div>\n );\n }\n}\n\nVtxZtreeSelect.propTypes = {\n data: PropTypes.array,\n expandedKeys: PropTypes.arrayOf(PropTypes.string),\n treeCheckable: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n};\n"],"mappings":"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"}
@@ -18,9 +18,26 @@
18
18
  overflow: hidden;
19
19
  text-overflow: ellipsis;
20
20
  }
21
+ .vtx-ztree-select-multiple-box {
22
+ display: -webkit-box;
23
+ display: -ms-flexbox;
24
+ display: flex;
25
+ width: -webkit-fit-content;
26
+ width: -moz-fit-content;
27
+ width: fit-content;
28
+ }
29
+ .vtx-ztree-select-multiple-box .vtx-tree-count {
30
+ border-left: none;
31
+ }
21
32
  .vtx-ztree-select-multiple {
33
+ -webkit-box-flex: 1;
34
+ -ms-flex: 1;
35
+ flex: 1;
22
36
  position: relative;
23
37
  padding-right: 18px;
38
+ overflow: hidden;
39
+ text-overflow: ellipsis;
40
+ white-space: nowrap;
24
41
  }
25
42
  .vtx-ztree-select-multiple-close-icon {
26
43
  position: absolute;
@@ -64,3 +81,22 @@
64
81
  .vtx-ztree-select-placeholder {
65
82
  color: #bfbfbf;
66
83
  }
84
+ .vtx-tree-count-head {
85
+ display: -webkit-box;
86
+ display: -ms-flexbox;
87
+ display: flex;
88
+ -webkit-box-pack: justify;
89
+ -ms-flex-pack: justify;
90
+ justify-content: space-between;
91
+ margin-bottom: 5px;
92
+ }
93
+ .vtx-tree-count-head .disabled-count {
94
+ color: #aaaaaa;
95
+ cursor: not-allowed;
96
+ }
97
+ .vtx-tree-count-head .clear-count {
98
+ cursor: pointer;
99
+ }
100
+ .vtx-tree-count-head .clear-count:hover {
101
+ color: #40a9ff;
102
+ }
@@ -22,9 +22,20 @@
22
22
  overflow: hidden;
23
23
  text-overflow: ellipsis;
24
24
  }
25
+ &-multiple-box {
26
+ display: flex;
27
+ width: fit-content;
28
+ .vtx-tree-count {
29
+ border-left: none;
30
+ }
31
+ }
25
32
  &-multiple {
33
+ flex: 1;
26
34
  position: relative;
27
35
  padding-right: 18px;
36
+ overflow: hidden;
37
+ text-overflow: ellipsis;
38
+ white-space: nowrap;
28
39
  &-close-icon {
29
40
  position: absolute;
30
41
  top: 8px;
@@ -72,3 +83,18 @@
72
83
  .vtx-ztree-select-placeholder {
73
84
  color: @input-placeholder-color;
74
85
  }
86
+ .vtx-tree-count-head {
87
+ display: flex;
88
+ justify-content: space-between;
89
+ margin-bottom: 5px;
90
+ .disabled-count {
91
+ color: #aaaaaa;
92
+ cursor: not-allowed;
93
+ }
94
+ .clear-count {
95
+ cursor: pointer;
96
+ &:hover {
97
+ color: #40a9ff;
98
+ }
99
+ }
100
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "3.1.37",
3
+ "version": "3.1.38",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",