@vtx/components 3.1.54 → 3.1.56

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,10 +17,16 @@ var _button = _interopRequireDefault(require("antd/lib/button"));
17
17
 
18
18
  var _checkbox = _interopRequireDefault(require("antd/lib/checkbox"));
19
19
 
20
+ var _message = _interopRequireDefault(require("antd/lib/message"));
21
+
20
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
23
 
22
24
  var _useSet3 = _interopRequireDefault(require("../_util/useSet"));
23
25
 
26
+ var _axios = _interopRequireDefault(require("axios"));
27
+
28
+ var _getUrlParam2 = _interopRequireDefault(require("../_util/getUrlParam"));
29
+
24
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
31
 
26
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -48,9 +54,18 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
48
54
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
49
55
 
50
56
  function ColumnSetting(props) {
57
+ var _getUrlParam = (0, _getUrlParam2["default"])(),
58
+ _getUrlParam$token = _getUrlParam.token,
59
+ token = _getUrlParam$token === void 0 ? '' : _getUrlParam$token,
60
+ _getUrlParam$userId = _getUrlParam.userId,
61
+ userId = _getUrlParam$userId === void 0 ? '' : _getUrlParam$userId,
62
+ _getUrlParam$tenantId = _getUrlParam.tenantId,
63
+ tenantId = _getUrlParam$tenantId === void 0 ? '' : _getUrlParam$tenantId;
64
+
51
65
  var _useSet = (0, _useSet3["default"])({
52
66
  indeterminate: false,
53
- checkAll: false
67
+ checkAll: false,
68
+ columnSettingId: ''
54
69
  }),
55
70
  _useSet2 = _slicedToArray(_useSet, 2),
56
71
  state = _useSet2[0],
@@ -63,7 +78,8 @@ function ColumnSetting(props) {
63
78
  onReset = props.onReset,
64
79
  _props$disabledColumn = props.disabledColumnKeys,
65
80
  disabledColumnKeys = _props$disabledColumn === void 0 ? [] : _props$disabledColumn,
66
- onColumnsSave = props.onColumnsSave;
81
+ onColumnsSave = props.onColumnsSave,
82
+ uniqueKey = props.uniqueKey;
67
83
  (0, _react.useEffect)(function () {
68
84
  var chkLen = checkedColumnKeys === null || checkedColumnKeys === void 0 ? void 0 : checkedColumnKeys.length;
69
85
  var optionLen = columnSettingOptions === null || columnSettingOptions === void 0 ? void 0 : columnSettingOptions.length;
@@ -101,6 +117,74 @@ function ColumnSetting(props) {
101
117
  }
102
118
  };
103
119
 
120
+ function getUmsColumns() {
121
+ if (!onColumnsSave && !!uniqueKey) {
122
+ (0, _axios["default"])({
123
+ method: 'GET',
124
+ url: '/cloud/management/api/v101/user/config/table/page',
125
+ headers: {
126
+ Authorization: token ? "Bearer ".concat(token) : ''
127
+ },
128
+ params: {
129
+ tableCode: uniqueKey
130
+ }
131
+ }).then(function (_ref) {
132
+ var data = _ref.data;
133
+
134
+ if ((data === null || data === void 0 ? void 0 : data.result) == 0 && (data === null || data === void 0 ? void 0 : data.data.total) > 0) {
135
+ var record = data.data.rows[0];
136
+ (record === null || record === void 0 ? void 0 : record.id) && setState({
137
+ columnSettingId: record.id
138
+ });
139
+ var timer = setTimeout(function () {
140
+ (record === null || record === void 0 ? void 0 : record.showColumns) && onChange(record.showColumns.split(","));
141
+ clearTimeout(timer);
142
+ }, 500);
143
+ }
144
+ });
145
+ }
146
+ } //
147
+
148
+
149
+ var saveColumns = function saveColumns() {
150
+ if ((checkedColumnKeys || []).length == 0) {
151
+ _message["default"].warn('至少勾选一列保存');
152
+
153
+ return false;
154
+ }
155
+
156
+ (0, _axios["default"])({
157
+ method: 'POST',
158
+ url: '/cloud/management/api/v101/user/config/table/save',
159
+ headers: {
160
+ Authorization: token ? "Bearer ".concat(token) : '',
161
+ 'Content-Type': 'application/json'
162
+ },
163
+ data: JSON.stringify({
164
+ showColumns: (checkedColumnKeys || []).join(','),
165
+ tableCode: uniqueKey,
166
+ name: uniqueKey,
167
+ userId: userId,
168
+ tenantId: tenantId,
169
+ id: state.columnSettingId
170
+ })
171
+ }).then(function (_ref2) {
172
+ var data = _ref2.data;
173
+
174
+ if ((data === null || data === void 0 ? void 0 : data.result) == 0) {
175
+ _message["default"].success('操作成功');
176
+
177
+ getUmsColumns();
178
+ }
179
+ });
180
+ };
181
+
182
+ var isReady = columnSettingOptions.length > 0;
183
+ (0, _react.useEffect)(function () {
184
+ if (isReady && uniqueKey) {
185
+ getUmsColumns();
186
+ }
187
+ }, [isReady, uniqueKey]);
104
188
  return /*#__PURE__*/_react["default"].createElement(_popover["default"], {
105
189
  trigger: "click",
106
190
  placement: "bottomRight",
@@ -138,6 +222,15 @@ function ColumnSetting(props) {
138
222
  onClick: function onClick() {
139
223
  return onSaveChange();
140
224
  }
225
+ }, "\u4FDD\u5B58")) : null, !onColumnsSave && uniqueKey ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_divider["default"], {
226
+ style: {
227
+ margin: '5px 0 10px 0'
228
+ }
229
+ }), /*#__PURE__*/_react["default"].createElement(_button["default"], {
230
+ block: true,
231
+ onClick: function onClick() {
232
+ return saveColumns();
233
+ }
141
234
  }, "\u4FDD\u5B58")) : null)
142
235
  }, props.children);
143
236
  }
@@ -150,6 +243,7 @@ ColumnSetting.propTypes = {
150
243
  onChange: _propTypes["default"].func,
151
244
  onReset: _propTypes["default"].func,
152
245
  disabledColumnKeys: _propTypes["default"].array,
153
- onColumnsSave: _propTypes["default"].func
246
+ onColumnsSave: _propTypes["default"].func,
247
+ uniqueKey: _propTypes["default"].string
154
248
  };
155
249
  //# sourceMappingURL=ColumnSetting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnSetting.js","names":["ColumnSetting","props","useSet","indeterminate","checkAll","state","setState","prefixCls","checkedColumnKeys","columnSettingOptions","onChange","onReset","disabledColumnKeys","onColumnsSave","useEffect","chkLen","length","optionLen","onCheckChange","e","key","newCheckedColumnKeys","target","checked","filter","item","onCheckAllChange","map","onSaveChange","opt","dataIndex","includes","title","margin","children","propTypes","PropTypes","string","array","node","func"],"sources":["vtx-datagrid/ColumnSetting.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport Popover from 'antd/lib/popover';\nimport Divider from 'antd/lib/divider';\nimport Button from 'antd/lib/button';\nimport Checkbox from 'antd/lib/checkbox';\nimport PropTypes from 'prop-types';\n\nimport useSet from '../_util/useSet';\n\nexport default function ColumnSetting(props) {\n const [state, setState] = useSet({\n indeterminate: false,\n checkAll: false,\n });\n const {\n prefixCls,\n checkedColumnKeys,\n columnSettingOptions,\n onChange,\n onReset,\n disabledColumnKeys = [],\n onColumnsSave,\n } = props;\n\n useEffect(() => {\n const chkLen = checkedColumnKeys?.length;\n const optionLen = columnSettingOptions?.length;\n setState({\n checkAll: chkLen == optionLen,\n indeterminate: chkLen && chkLen < optionLen,\n });\n }, [checkedColumnKeys]);\n\n const { indeterminate, checkAll } = state;\n\n // 单选\n const onCheckChange = (e, key) => {\n if (onChange) {\n const newCheckedColumnKeys = e.target.checked\n ? [...checkedColumnKeys, key]\n : checkedColumnKeys?.filter(item => item != key);\n onChange(newCheckedColumnKeys);\n }\n };\n\n // 全选\n const onCheckAllChange = e => {\n if (onChange) {\n const newCheckedColumnKeys = e.target.checked\n ? columnSettingOptions?.map(item => item.key)\n : [];\n onChange(newCheckedColumnKeys);\n }\n };\n // 保存按钮\n const onSaveChange = () => {\n if (onChange) {\n onColumnsSave(checkedColumnKeys);\n }\n };\n return (\n <Popover\n trigger=\"click\"\n placement=\"bottomRight\"\n arrowPointAtCenter\n title={\n <div className={`${prefixCls}-column-setting-title`} slot=\"title\">\n <Checkbox\n className={`${prefixCls}-column-setting-checkbox-wrapper`}\n indeterminate={indeterminate}\n checked={checkAll}\n onChange={onCheckAllChange}\n >\n 列展示\n </Checkbox>\n <a onClick={onReset}>重置</a>\n </div>\n }\n content={\n <div className={`${prefixCls}-column-setting-list`}>\n {columnSettingOptions?.map(opt => {\n const key = opt.key || opt.dataIndex;\n return (\n <div key={key}>\n <Checkbox\n checked={checkedColumnKeys?.includes(key)}\n onChange={e => onCheckChange(e, key)}\n disabled={disabledColumnKeys.includes(key)}\n >\n {opt.title}\n </Checkbox>\n </div>\n );\n })}\n {typeof onColumnsSave === 'function' ? (\n <>\n <Divider style={{ margin: '5px 0 10px 0' }} />\n <Button block={true} onClick={() => onSaveChange()}>\n 保存\n </Button>\n </>\n ) : null}\n </div>\n }\n >\n {props.children}\n </Popover>\n );\n}\n\nColumnSetting.propTypes = {\n prefixCls: PropTypes.string,\n checkedColumnKeys: PropTypes.array,\n columnSettingOptions: PropTypes.array,\n children: PropTypes.node,\n onChange: PropTypes.func,\n onReset: PropTypes.func,\n disabledColumnKeys: PropTypes.array,\n onColumnsSave: PropTypes.func,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ColumnSetting.js","names":["ColumnSetting","props","getUrlParam","token","userId","tenantId","useSet","indeterminate","checkAll","columnSettingId","state","setState","prefixCls","checkedColumnKeys","columnSettingOptions","onChange","onReset","disabledColumnKeys","onColumnsSave","uniqueKey","useEffect","chkLen","length","optionLen","onCheckChange","e","key","newCheckedColumnKeys","target","checked","filter","item","onCheckAllChange","map","onSaveChange","getUmsColumns","axios","method","url","headers","Authorization","params","tableCode","then","data","result","total","record","rows","id","timer","setTimeout","showColumns","split","clearTimeout","saveColumns","message","warn","JSON","stringify","join","name","success","isReady","opt","dataIndex","includes","title","margin","children","propTypes","PropTypes","string","array","node","func"],"sources":["vtx-datagrid/ColumnSetting.jsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport Popover from 'antd/lib/popover';\nimport Divider from 'antd/lib/divider';\nimport Button from 'antd/lib/button';\nimport Checkbox from 'antd/lib/checkbox';\nimport message from 'antd/lib/message';\nimport PropTypes from 'prop-types';\nimport useSet from '../_util/useSet';\nimport axios from 'axios';\nimport getUrlParam from '../_util/getUrlParam';\n\nexport default function ColumnSetting(props) {\n const { token='', userId='', tenantId='' } = getUrlParam();\n const [state, setState] = useSet({\n indeterminate: false,\n checkAll: false,\n columnSettingId: '',\n });\n const {\n prefixCls,\n checkedColumnKeys,\n columnSettingOptions,\n onChange,\n onReset,\n disabledColumnKeys = [],\n onColumnsSave,\n uniqueKey\n } = props;\n\n useEffect(() => {\n const chkLen = checkedColumnKeys?.length;\n const optionLen = columnSettingOptions?.length;\n setState({\n checkAll: chkLen == optionLen,\n indeterminate: chkLen && chkLen < optionLen,\n });\n }, [checkedColumnKeys]);\n\n const { indeterminate, checkAll } = state;\n\n // 单选\n const onCheckChange = (e, key) => {\n if (onChange) {\n const newCheckedColumnKeys = e.target.checked\n ? [...checkedColumnKeys, key]\n : checkedColumnKeys?.filter(item => item != key);\n onChange(newCheckedColumnKeys);\n }\n };\n\n // 全选\n const onCheckAllChange = e => {\n if (onChange) {\n const newCheckedColumnKeys = e.target.checked\n ? columnSettingOptions?.map(item => item.key)\n : [];\n onChange(newCheckedColumnKeys);\n }\n };\n // 保存按钮\n const onSaveChange = () => {\n if (onChange) {\n onColumnsSave(checkedColumnKeys);\n }\n };\n function getUmsColumns (){\n if(!onColumnsSave && !!uniqueKey){\n axios({\n method: 'GET',\n url: '/cloud/management/api/v101/user/config/table/page',\n headers: {\n Authorization: token ? `Bearer ${token}` : '',\n },\n params: {\n tableCode: uniqueKey,\n }\n }).then(({data})=>{\n if(data?.result == 0 && data?.data.total>0){\n let record = data.data.rows[0];\n record?.id && setState({columnSettingId: record.id});\n let timer = setTimeout(()=>{\n record?.showColumns && onChange(record.showColumns.split(\",\"));\n clearTimeout(timer)\n },500)\n }\n })\n }\n }\n // \n const saveColumns = ()=>{\n if((checkedColumnKeys||[]).length == 0){\n message.warn('至少勾选一列保存');\n return false;\n }\n axios({\n method: 'POST',\n url: '/cloud/management/api/v101/user/config/table/save',\n headers: {\n Authorization: token ? `Bearer ${token}` : '',\n 'Content-Type': 'application/json',\n },\n data: JSON.stringify({\n showColumns: (checkedColumnKeys||[]).join(','),\n tableCode: uniqueKey,\n name: uniqueKey,\n userId,\n tenantId,\n id: state.columnSettingId\n })\n }).then(({data})=>{\n if(data?.result == 0){\n message.success('操作成功');\n getUmsColumns();\n }\n })\n }\n const isReady = columnSettingOptions.length>0;\n\n useEffect(()=>{\n if(isReady && uniqueKey){\n getUmsColumns();\n }\n },[isReady, uniqueKey])\n return (\n <Popover\n trigger=\"click\"\n placement=\"bottomRight\"\n arrowPointAtCenter\n title={\n <div className={`${prefixCls}-column-setting-title`} slot=\"title\">\n <Checkbox\n className={`${prefixCls}-column-setting-checkbox-wrapper`}\n indeterminate={indeterminate}\n checked={checkAll}\n onChange={onCheckAllChange}\n >\n 列展示\n </Checkbox>\n <a onClick={onReset}>重置</a>\n </div>\n }\n content={\n <div className={`${prefixCls}-column-setting-list`}>\n {columnSettingOptions?.map(opt => {\n const key = opt.key || opt.dataIndex;\n return (\n <div key={key}>\n <Checkbox\n checked={checkedColumnKeys?.includes(key)}\n onChange={e => onCheckChange(e, key)}\n disabled={disabledColumnKeys.includes(key)}\n >\n {opt.title}\n </Checkbox>\n </div>\n );\n })}\n {typeof onColumnsSave === 'function' ? (\n <>\n <Divider style={{ margin: '5px 0 10px 0' }} />\n <Button block={true} onClick={() => onSaveChange()}>\n 保存\n </Button>\n </>\n ) : null}\n {!onColumnsSave && uniqueKey ? (\n <>\n <Divider style={{ margin: '5px 0 10px 0' }} />\n <Button block={true} onClick={() => saveColumns()}>\n 保存\n </Button>\n </>\n ) : null}\n </div>\n }\n >\n {props.children}\n </Popover>\n );\n}\n\nColumnSetting.propTypes = {\n prefixCls: PropTypes.string,\n checkedColumnKeys: PropTypes.array,\n columnSettingOptions: PropTypes.array,\n children: PropTypes.node,\n onChange: PropTypes.func,\n onReset: PropTypes.func,\n disabledColumnKeys: PropTypes.array,\n onColumnsSave: PropTypes.func,\n uniqueKey: PropTypes.string,\n};\n"],"mappings":"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"}
@@ -41,7 +41,9 @@ var _useSet3 = _interopRequireDefault(require("../_util/useSet"));
41
41
 
42
42
  var _isFunction = _interopRequireDefault(require("../_util/isFunction"));
43
43
 
44
- var _excluded = ["prefixCls", "toolbar", "toolbarClassName", "toolbarTilte", "buttonGroup", "refreshIconVisible", "hideColumnSetting", "hideColumnHeight", "visibleColumnKeys", "defaultVisibleColumnKeys", "onVisibleColumnsChange", "onRefresh", "indexColumn", "indexFixed", "bordered", "indexTitle", "startIndex", "autoFit", "headFootHeight", "columnResizable", "components", "className", "style", "emptyText", "onRowSelectionClear", "searchCollapseEvent$", "disabledColumnKeys", "onColumnsSave", "customEnumText"];
44
+ var _axios = _interopRequireDefault(require("axios"));
45
+
46
+ var _excluded = ["prefixCls", "toolbar", "toolbarClassName", "toolbarTilte", "buttonGroup", "refreshIconVisible", "hideColumnSetting", "hideColumnHeight", "visibleColumnKeys", "defaultVisibleColumnKeys", "onVisibleColumnsChange", "onRefresh", "indexColumn", "indexFixed", "bordered", "indexTitle", "startIndex", "autoFit", "headFootHeight", "columnResizable", "components", "className", "style", "emptyText", "onRowSelectionClear", "searchCollapseEvent$", "disabledColumnKeys", "onColumnsSave", "uniqueKey", "customEnumText"];
45
47
 
46
48
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
47
49
 
@@ -95,7 +97,8 @@ function VtxDatagrid(props) {
95
97
  columnSettingOptions: [],
96
98
  datagridId: "vtx-datagrid-".concat(new Date().getTime()),
97
99
  scrollY: 0,
98
- size: 'middle'
100
+ size: 'middle',
101
+ projectKey: ''
99
102
  }),
100
103
  _useSet2 = _slicedToArray(_useSet, 2),
101
104
  state = _useSet2[0],
@@ -153,12 +156,38 @@ function VtxDatagrid(props) {
153
156
  searchCollapseEvent$ = props.searchCollapseEvent$,
154
157
  disabledColumnKeys = props.disabledColumnKeys,
155
158
  onColumnsSave = props.onColumnsSave,
159
+ uniqueKey = props.uniqueKey,
156
160
  _props$customEnumText = props.customEnumText,
157
161
  customEnumText = _props$customEnumText === void 0 ? {} : _props$customEnumText,
158
- rest = _objectWithoutProperties(props, _excluded);
162
+ rest = _objectWithoutProperties(props, _excluded); // 规则,菜单根目录_页面路由
163
+
164
+
165
+ function getUniqueKey() {
166
+ var route = location.href.match(/#\/(\S*)\?/);
167
+
168
+ if (route) {
169
+ (0, _axios["default"])({
170
+ method: 'GET',
171
+ url: "".concat(location.pathname, "resources/json/menu.json")
172
+ }).then(function (res) {
173
+ var _res$data;
174
+
175
+ if ((res === null || res === void 0 ? void 0 : res.status) == 200 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.key) {
176
+ setState({
177
+ projectKey: "".concat(res.data.key, "_").concat(route ? route[1] : 'test')
178
+ });
179
+ }
180
+ });
181
+ }
182
+ }
159
183
 
160
184
  (0, _react.useEffect)(function () {
161
- // componentDidMount
185
+ // 当没有传入唯一值而且没有自定义列保存的时候根据规则自动生成唯一值
186
+ if (!uniqueKey && !onColumnsSave) {
187
+ getUniqueKey();
188
+ } // componentDidMount
189
+
190
+
162
191
  if (autoFit) {
163
192
  window.addEventListener('resize', calculateHeight, false);
164
193
  }
@@ -255,6 +284,9 @@ function VtxDatagrid(props) {
255
284
 
256
285
 
257
286
  var handleChangeColumns = function handleChangeColumns(keys) {
287
+ console.log(keys, columnSettingOptions === null || columnSettingOptions === void 0 ? void 0 : columnSettingOptions.filter(function (item) {
288
+ return keys.includes(item.key);
289
+ }));
258
290
  setState({
259
291
  checkedColumnKeys: keys,
260
292
  visibleColumns: columnSettingOptions === null || columnSettingOptions === void 0 ? void 0 : columnSettingOptions.filter(function (item) {
@@ -317,7 +349,8 @@ function VtxDatagrid(props) {
317
349
  return parseColumns('reset');
318
350
  },
319
351
  disabledColumnKeys: disabledColumnKeys,
320
- onColumnsSave: onColumnsSave
352
+ onColumnsSave: onColumnsSave,
353
+ uniqueKey: uniqueKey || state.projectKey
321
354
  }, /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
322
355
  title: (customEnumText === null || customEnumText === void 0 ? void 0 : customEnumText.columnSettingText) || "列设置"
323
356
  }, /*#__PURE__*/_react["default"].createElement(_SettingOutlined["default"], null)))))));
@@ -483,6 +516,7 @@ VtxDatagrid.propTypes = {
483
516
  disabledColumnKeys: _propTypes["default"].array,
484
517
  onColumnsSave: _propTypes["default"].func,
485
518
  components: _propTypes["default"].object,
486
- customEnumText: _propTypes["default"].object
519
+ customEnumText: _propTypes["default"].object,
520
+ uniqueKey: _propTypes["default"].string
487
521
  };
488
522
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isMac","navigator","userAgent","indexOf","VtxDatagrid","props","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","state","setState","datagridRef","useRef","alertHeight","toolbarHeight","prefixCls","toolbar","toolbarClassName","toolbarTilte","buttonGroup","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","indexColumn","indexFixed","bordered","indexTitle","startIndex","autoFit","headFootHeight","columnResizable","components","className","style","emptyText","onRowSelectionClear","searchCollapseEvent$","disabledColumnKeys","onColumnsSave","customEnumText","rest","useEffect","window","addEventListener","calculateHeight","removeEventListener","useLayoutEffect","dataSource","length","rowSelection","selectedRowKeys","join","useSubscription","timer","setTimeout","clearTimeout","parseColumns","columns","map","col","key","dataIndex","type","columnKeys","filter","item","includes","hasAlert","current","bodyHeight","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","call","dom","minHeight","handleChangeColumns","keys","toolbarRender","classnames","refreshText","densityDefaultText","densityMiddleText","densitySmallText","columnDensityText","columnSettingText","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","isFunction","text","record","index","renderColumnButtons","undefined","onHeaderCell","width","onResize","handleResize","e","nextColumns","title","fixed","i","_serialNum","scroll","y","height","locale","header","cell","ResizeableTitle","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","object"],"sources":["vtx-datagrid/index.jsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport Table from 'antd/lib/table';\r\nimport Tooltip from 'antd/lib/tooltip';\r\nimport Dropdown from 'antd/lib/dropdown';\r\nimport Menu from 'antd/lib/menu';\r\nimport Empty from 'antd/lib/empty';\r\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\r\nimport ColumnHeightOutlined from '@ant-design/icons/ColumnHeightOutlined';\r\nimport SettingOutlined from '@ant-design/icons/SettingOutlined';\r\nimport Alert from './Alert';\r\nimport ColumnSetting from './ColumnSetting';\r\nimport ResizeableTitle from './ResizeableTitle';\r\nimport renderColumnButtons from './renderColumnButtons';\r\nimport useSet from '../_util/useSet';\r\nimport isFunction from '../_util/isFunction';\r\n\r\nconst isMac = navigator.userAgent.indexOf('Mac OS') !== -1;\r\n\r\nexport default function VtxDatagrid(props) {\r\n const [state, setState] = useSet({\r\n // 显示列\r\n visibleColumns: [],\r\n // 列设置选中的列\r\n checkedColumnKeys: [],\r\n // 列设置选项\r\n columnSettingOptions: [],\r\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\r\n scrollY: 0,\r\n size: 'middle',\r\n });\r\n const {\r\n visibleColumns,\r\n checkedColumnKeys,\r\n columnSettingOptions,\r\n datagridId,\r\n scrollY,\r\n size,\r\n } = state;\r\n const datagridRef = useRef(null);\r\n // 列设置提示高度\r\n const alertHeight = useRef(0);\r\n // 工具栏高度\r\n const toolbarHeight = useRef(0);\r\n\r\n const {\r\n prefixCls = 'vtx-datagrid',\r\n toolbar = true,\r\n toolbarClassName,\r\n toolbarTilte = '查询结果',\r\n buttonGroup,\r\n refreshIconVisible = true,\r\n hideColumnSetting,\r\n hideColumnHeight,\r\n visibleColumnKeys,\r\n defaultVisibleColumnKeys,\r\n onVisibleColumnsChange,\r\n onRefresh,\r\n indexColumn = true,\r\n indexFixed = false,\r\n bordered = true,\r\n indexTitle = '序号',\r\n startIndex = 1,\r\n autoFit = true,\r\n headFootHeight = 115,\r\n columnResizable,\r\n components,\r\n className,\r\n style,\r\n emptyText = '暂无数据',\r\n onRowSelectionClear,\r\n searchCollapseEvent$,\r\n disabledColumnKeys,\r\n onColumnsSave,\r\n customEnumText = {},\r\n ...rest\r\n } = props;\r\n\r\n useEffect(() => {\r\n // componentDidMount\r\n if (autoFit) {\r\n window.addEventListener('resize', calculateHeight, false);\r\n }\r\n return () => {\r\n // componentWillUnmount\r\n if (autoFit) {\r\n window.removeEventListener('resize', calculateHeight, false);\r\n }\r\n };\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n if (autoFit) {\r\n calculateHeight();\r\n }\r\n }, [rest.dataSource?.length, (rest.rowSelection?.selectedRowKeys || []).join(',')]);\r\n\r\n // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数\r\n if (searchCollapseEvent$) {\r\n // eslint-disable-next-line react/prop-types\r\n searchCollapseEvent$.useSubscription(() => {\r\n // 350ms 是为了等待css动画时间\r\n let timer = setTimeout(() => {\r\n calculateHeight();\r\n timer = '';\r\n clearTimeout(timer);\r\n }, 350);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n parseColumns();\r\n setState({\r\n columnSettingOptions: rest.columns?.map(col => ({\r\n ...col,\r\n key: col.dataIndex || col.key,\r\n })),\r\n });\r\n }, [rest.columns]);\r\n\r\n const parseColumns = type => {\r\n // 显示工具栏的同时并显示列设置\r\n if (toolbar && !hideColumnSetting) {\r\n if (defaultVisibleColumnKeys || visibleColumnKeys) {\r\n const columnKeys =\r\n type === 'reset'\r\n ? defaultVisibleColumnKeys\r\n : visibleColumnKeys || defaultVisibleColumnKeys;\r\n setState({\r\n checkedColumnKeys: columnKeys,\r\n visibleColumns: rest.columns?.filter(item =>\r\n columnKeys.includes(item.dataIndex || item.key),\r\n ),\r\n });\r\n } else {\r\n setState({\r\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n } else {\r\n setState({\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n };\r\n\r\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\r\n alertHeight.current = hasAlert ? 49 : 0;\r\n toolbarHeight.current = toolbar ? 56 : 0;\r\n // 高度计算\r\n const calculateHeight = () => {\r\n if (!datagridRef.current) {\r\n return null;\r\n }\r\n const bodyHeight =\r\n datagridRef.current?.clientHeight -\r\n headFootHeight -\r\n toolbarHeight.current -\r\n alertHeight.current;\r\n const divs = datagridRef.current.getElementsByTagName('div');\r\n const bodyDiv = Array.prototype.filter.call(\r\n divs,\r\n dom =>\r\n dom.className.includes('ant-table-body') ||\r\n dom.className.includes('ant-table-content'),\r\n )[0];\r\n bodyDiv.style.minHeight = `${bodyHeight}px`;\r\n setState({\r\n scrollY: bodyHeight,\r\n });\r\n };\r\n\r\n // 列设置回调\r\n const handleChangeColumns = keys => {\r\n setState({\r\n checkedColumnKeys: keys,\r\n visibleColumns: columnSettingOptions?.filter(item => keys.includes(item.key)),\r\n });\r\n onVisibleColumnsChange && onVisibleColumnsChange(keys);\r\n };\r\n\r\n // 工具栏\r\n let toolbarRender;\r\n if (toolbar) {\r\n toolbarRender = (\r\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\r\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\r\n <div className={`${prefixCls}-toolbar-right`}>\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-actions`,\r\n )}\r\n >\r\n {buttonGroup}\r\n </div>\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-setting`,\r\n )}\r\n >\r\n {refreshIconVisible && (\r\n <div\r\n className={`${prefixCls}-toolbar-setting-item`}\r\n onClick={() => {\r\n onRefresh && onRefresh();\r\n }}\r\n >\r\n <Tooltip title={customEnumText?.refreshText || \"刷新\"}>\r\n <RedoOutlined />\r\n </Tooltip>\r\n </div>\r\n )}\r\n {!hideColumnHeight && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <Dropdown\r\n overlay={\r\n <Menu\r\n onClick={({ key }) => setState({ size: key })}\r\n selectedKeys={[size]}\r\n >\r\n <Menu.Item key=\"default\">{customEnumText?.densityDefaultText ||\"默认\"}</Menu.Item>\r\n <Menu.Item key=\"middle\">{customEnumText?.densityMiddleText || \"中等\"}</Menu.Item>\r\n <Menu.Item key=\"small\">{customEnumText?.densitySmallText ||\"紧凑\"}</Menu.Item>\r\n </Menu>\r\n }\r\n trigger={['click']}\r\n >\r\n <Tooltip title={customEnumText?.columnDensityText || \"列密度\"}>\r\n <ColumnHeightOutlined />\r\n </Tooltip>\r\n </Dropdown>\r\n </div>\r\n )}\r\n {!hideColumnSetting && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <ColumnSetting\r\n prefixCls={prefixCls}\r\n checkedColumnKeys={checkedColumnKeys}\r\n columnSettingOptions={columnSettingOptions}\r\n onChange={handleChangeColumns}\r\n onReset={() => parseColumns('reset')}\r\n disabledColumnKeys={disabledColumnKeys}\r\n onColumnsSave={onColumnsSave}\r\n >\r\n <Tooltip title={customEnumText?.columnSettingText || \"列设置\"}>\r\n <SettingOutlined />\r\n </Tooltip>\r\n </ColumnSetting>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // 分页\r\n const getPagination = pagination => {\r\n if (typeof pagination === 'boolean' && !pagination) {\r\n return pagination;\r\n }\r\n return {\r\n pageSizeOptions: ['10', '20', '30', '40', '50'],\r\n showSizeChanger: true,\r\n showQuickJumper: true,\r\n showTotal(total) {\r\n return `共 ${total} 条`;\r\n },\r\n ...pagination,\r\n };\r\n };\r\n\r\n // 处理操作按钮\r\n let columns = (visibleColumns || []).map(column => {\r\n const newColumn = { ...column };\r\n if (newColumn.renderButtons) {\r\n delete newColumn.renderButtons;\r\n }\r\n if (newColumn.renderButtonsVisibleNum) {\r\n delete newColumn.renderButtonsVisibleNum;\r\n }\r\n return {\r\n ...newColumn,\r\n render: isFunction(column.renderButtons)\r\n ? function(text, record, index) {\r\n return renderColumnButtons(\r\n column.renderButtons,\r\n column.renderButtonsVisibleNum,\r\n text,\r\n record,\r\n index,\r\n customEnumText\r\n );\r\n }\r\n : 'render' in column\r\n ? column.render\r\n : function(text) {\r\n return ['', null, undefined].includes(text) ? '-' : text;\r\n },\r\n };\r\n });\r\n // 配置了列可伸缩\r\n if (columnResizable) {\r\n columns = columns.map((col, index) => ({\r\n ...col,\r\n onHeaderCell: column => ({\r\n width: column.width,\r\n onResize: handleResize(index),\r\n }),\r\n }));\r\n const handleResize = index => (e, { size }) => {\r\n setState(({ visibleColumns }) => {\r\n const nextColumns = [...visibleColumns];\r\n nextColumns[index] = {\r\n ...nextColumns[index],\r\n width: size.width,\r\n };\r\n return { visibleColumns: nextColumns };\r\n });\r\n };\r\n }\r\n\r\n // 序号添加\r\n let dataSource = rest.dataSource;\r\n if (indexColumn) {\r\n columns = [\r\n {\r\n title: indexTitle,\r\n dataIndex: '_serialNum',\r\n key: '_serialNum',\r\n width: 70,\r\n fixed: indexFixed,\r\n },\r\n ...columns,\r\n ];\r\n dataSource = dataSource?.map((item, i) => {\r\n return {\r\n ...item,\r\n _serialNum: i + startIndex,\r\n };\r\n });\r\n }\r\n\r\n let scroll;\r\n if (autoFit) {\r\n scroll = {\r\n ...(rest.scroll || {}),\r\n y: scrollY,\r\n };\r\n }\r\n\r\n return (\r\n <div\r\n id={datagridId}\r\n className={classnames(prefixCls, className, {\r\n [`${prefixCls}-fit`]: autoFit,\r\n [`${prefixCls}-noFit`]: !autoFit,\r\n [`${prefixCls}-nodata`]: !dataSource?.length,\r\n [`${prefixCls}-userAgent-mac`]: isMac,\r\n })}\r\n style={style}\r\n ref={datagridRef}\r\n >\r\n {toolbarRender}\r\n {hasAlert && (\r\n <div className={`${prefixCls}-alert`}>\r\n <Alert\r\n prefixCls={prefixCls}\r\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\r\n onRowSelectionClear={onRowSelectionClear}\r\n />\r\n </div>\r\n )}\r\n <Table\r\n size={size}\r\n bordered={dataSource?.length > 0 ? bordered : false}\r\n {...rest}\r\n columns={columns}\r\n dataSource={dataSource}\r\n scroll={scroll}\r\n pagination={getPagination(rest.pagination)}\r\n style={{\r\n height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)`,\r\n }}\r\n locale={{\r\n emptyText: <Empty description={emptyText} />,\r\n ...rest.locale,\r\n }}\r\n components={\r\n columnResizable\r\n ? {\r\n ...(components || {}),\r\n header: {\r\n cell: ResizeableTitle,\r\n },\r\n }\r\n : components\r\n }\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nVtxDatagrid.propTypes = {\r\n prefixCls: PropTypes.string,\r\n refreshIconVisible: PropTypes.bool,\r\n hideColumnSetting: PropTypes.bool,\r\n hideColumnHeight: PropTypes.bool,\r\n bordered: PropTypes.bool,\r\n visibleColumnKeys: PropTypes.array,\r\n defaultVisibleColumnKeys: PropTypes.array,\r\n onVisibleColumnsChange: PropTypes.func,\r\n toolbarClassName: PropTypes.string,\r\n toolbar: PropTypes.bool,\r\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRefresh: PropTypes.func,\r\n indexColumn: PropTypes.bool,\r\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\r\n indexTitle: PropTypes.string,\r\n startIndex: PropTypes.number,\r\n buttonGroup: PropTypes.node,\r\n autoFit: PropTypes.bool,\r\n headFootHeight: PropTypes.number,\r\n columnResizable: PropTypes.bool,\r\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRowSelectionClear: PropTypes.func,\r\n searchCollapseEvent$: PropTypes.object,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n disabledColumnKeys: PropTypes.array,\r\n onColumnsSave: PropTypes.func,\r\n components: PropTypes.object,\r\n customEnumText: PropTypes.object\r\n};\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["isMac","navigator","userAgent","indexOf","VtxDatagrid","props","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","projectKey","state","setState","datagridRef","useRef","alertHeight","toolbarHeight","prefixCls","toolbar","toolbarClassName","toolbarTilte","buttonGroup","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","indexColumn","indexFixed","bordered","indexTitle","startIndex","autoFit","headFootHeight","columnResizable","components","className","style","emptyText","onRowSelectionClear","searchCollapseEvent$","disabledColumnKeys","onColumnsSave","uniqueKey","customEnumText","rest","getUniqueKey","route","location","href","match","axios","method","url","pathname","then","res","status","data","key","useEffect","window","addEventListener","calculateHeight","removeEventListener","useLayoutEffect","dataSource","length","rowSelection","selectedRowKeys","join","useSubscription","timer","setTimeout","clearTimeout","parseColumns","columns","map","col","dataIndex","type","columnKeys","filter","item","includes","hasAlert","current","bodyHeight","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","call","dom","minHeight","handleChangeColumns","keys","console","log","toolbarRender","classnames","refreshText","densityDefaultText","densityMiddleText","densitySmallText","columnDensityText","columnSettingText","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","isFunction","text","record","index","renderColumnButtons","undefined","onHeaderCell","width","onResize","handleResize","e","nextColumns","title","fixed","i","_serialNum","scroll","y","height","locale","header","cell","ResizeableTitle","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","object"],"sources":["vtx-datagrid/index.jsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport Table from 'antd/lib/table';\r\nimport Tooltip from 'antd/lib/tooltip';\r\nimport Dropdown from 'antd/lib/dropdown';\r\nimport Menu from 'antd/lib/menu';\r\nimport Empty from 'antd/lib/empty';\r\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\r\nimport ColumnHeightOutlined from '@ant-design/icons/ColumnHeightOutlined';\r\nimport SettingOutlined from '@ant-design/icons/SettingOutlined';\r\nimport Alert from './Alert';\r\nimport ColumnSetting from './ColumnSetting';\r\nimport ResizeableTitle from './ResizeableTitle';\r\nimport renderColumnButtons from './renderColumnButtons';\r\nimport useSet from '../_util/useSet';\r\nimport isFunction from '../_util/isFunction';\r\nimport axios from 'axios';\r\n\r\nconst isMac = navigator.userAgent.indexOf('Mac OS') !== -1;\r\n\r\n\r\nexport default function VtxDatagrid(props) {\r\n const [state, setState] = useSet({\r\n // 显示列\r\n visibleColumns: [],\r\n // 列设置选中的列\r\n checkedColumnKeys: [],\r\n // 列设置选项\r\n columnSettingOptions: [],\r\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\r\n scrollY: 0,\r\n size: 'middle',\r\n projectKey: ''\r\n });\r\n const {\r\n visibleColumns,\r\n checkedColumnKeys,\r\n columnSettingOptions,\r\n datagridId,\r\n scrollY,\r\n size,\r\n } = state;\r\n const datagridRef = useRef(null);\r\n // 列设置提示高度\r\n const alertHeight = useRef(0);\r\n // 工具栏高度\r\n const toolbarHeight = useRef(0);\r\n\r\n const {\r\n prefixCls = 'vtx-datagrid',\r\n toolbar = true,\r\n toolbarClassName,\r\n toolbarTilte = '查询结果',\r\n buttonGroup,\r\n refreshIconVisible = true,\r\n hideColumnSetting,\r\n hideColumnHeight,\r\n visibleColumnKeys,\r\n defaultVisibleColumnKeys,\r\n onVisibleColumnsChange,\r\n onRefresh,\r\n indexColumn = true,\r\n indexFixed = false,\r\n bordered = true,\r\n indexTitle = '序号',\r\n startIndex = 1,\r\n autoFit = true,\r\n headFootHeight = 115,\r\n columnResizable,\r\n components,\r\n className,\r\n style,\r\n emptyText = '暂无数据',\r\n onRowSelectionClear,\r\n searchCollapseEvent$,\r\n disabledColumnKeys,\r\n onColumnsSave,\r\n uniqueKey,\r\n customEnumText = {},\r\n ...rest\r\n } = props;\r\n \r\n // 规则,菜单根目录_页面路由\r\n function getUniqueKey(){\r\n let route = location.href.match(/#\\/(\\S*)\\?/);\r\n if(route){\r\n axios({\r\n method: 'GET',\r\n url: `${location.pathname}resources/json/menu.json`\r\n }).then(res=>{\r\n if(res?.status == 200 && res.data?.key){\r\n setState({projectKey: `${res.data.key}_${route?route[1]:'test'}`})\r\n }\r\n })\r\n }\r\n }\r\n useEffect(() => {\r\n // 当没有传入唯一值而且没有自定义列保存的时候根据规则自动生成唯一值\r\n if(!uniqueKey && !onColumnsSave){\r\n getUniqueKey();\r\n }\r\n // componentDidMount\r\n if (autoFit) {\r\n window.addEventListener('resize', calculateHeight, false);\r\n }\r\n return () => {\r\n // componentWillUnmount\r\n if (autoFit) {\r\n window.removeEventListener('resize', calculateHeight, false);\r\n }\r\n };\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n if (autoFit) {\r\n calculateHeight();\r\n }\r\n }, [rest.dataSource?.length, (rest.rowSelection?.selectedRowKeys || []).join(',')]);\r\n\r\n // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数\r\n if (searchCollapseEvent$) {\r\n // eslint-disable-next-line react/prop-types\r\n searchCollapseEvent$.useSubscription(() => {\r\n // 350ms 是为了等待css动画时间\r\n let timer = setTimeout(() => {\r\n calculateHeight();\r\n timer = '';\r\n clearTimeout(timer);\r\n }, 350);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n parseColumns();\r\n setState({\r\n columnSettingOptions: rest.columns?.map(col => ({\r\n ...col,\r\n key: col.dataIndex || col.key,\r\n })),\r\n });\r\n }, [rest.columns]);\r\n\r\n const parseColumns = type => {\r\n // 显示工具栏的同时并显示列设置\r\n if (toolbar && !hideColumnSetting) {\r\n if (defaultVisibleColumnKeys || visibleColumnKeys) {\r\n const columnKeys =\r\n type === 'reset'\r\n ? defaultVisibleColumnKeys\r\n : visibleColumnKeys || defaultVisibleColumnKeys;\r\n setState({\r\n checkedColumnKeys: columnKeys,\r\n visibleColumns: rest.columns?.filter(item =>\r\n columnKeys.includes(item.dataIndex || item.key),\r\n ),\r\n });\r\n } else {\r\n setState({\r\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n } else {\r\n setState({\r\n visibleColumns: rest.columns,\r\n });\r\n }\r\n };\r\n\r\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\r\n alertHeight.current = hasAlert ? 49 : 0;\r\n toolbarHeight.current = toolbar ? 56 : 0;\r\n // 高度计算\r\n const calculateHeight = () => {\r\n if (!datagridRef.current) {\r\n return null;\r\n }\r\n const bodyHeight =\r\n datagridRef.current?.clientHeight -\r\n headFootHeight -\r\n toolbarHeight.current -\r\n alertHeight.current;\r\n const divs = datagridRef.current.getElementsByTagName('div');\r\n const bodyDiv = Array.prototype.filter.call(\r\n divs,\r\n dom =>\r\n dom.className.includes('ant-table-body') ||\r\n dom.className.includes('ant-table-content'),\r\n )[0];\r\n bodyDiv.style.minHeight = `${bodyHeight}px`;\r\n setState({\r\n scrollY: bodyHeight,\r\n });\r\n };\r\n\r\n // 列设置回调\r\n const handleChangeColumns = keys => {\r\n console.log(keys, columnSettingOptions?.filter(item => keys.includes(item.key)));\r\n setState({\r\n checkedColumnKeys: keys,\r\n visibleColumns: columnSettingOptions?.filter(item => keys.includes(item.key)),\r\n });\r\n onVisibleColumnsChange && onVisibleColumnsChange(keys);\r\n };\r\n\r\n // 工具栏\r\n let toolbarRender;\r\n if (toolbar) {\r\n toolbarRender = (\r\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\r\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\r\n <div className={`${prefixCls}-toolbar-right`}>\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-actions`,\r\n )}\r\n >\r\n {buttonGroup}\r\n </div>\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-setting`,\r\n )}\r\n >\r\n {refreshIconVisible && (\r\n <div\r\n className={`${prefixCls}-toolbar-setting-item`}\r\n onClick={() => {\r\n onRefresh && onRefresh();\r\n }}\r\n >\r\n <Tooltip title={customEnumText?.refreshText || \"刷新\"}>\r\n <RedoOutlined />\r\n </Tooltip>\r\n </div>\r\n )}\r\n {!hideColumnHeight && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <Dropdown\r\n overlay={\r\n <Menu\r\n onClick={({ key }) => setState({ size: key })}\r\n selectedKeys={[size]}\r\n >\r\n <Menu.Item key=\"default\">{customEnumText?.densityDefaultText ||\"默认\"}</Menu.Item>\r\n <Menu.Item key=\"middle\">{customEnumText?.densityMiddleText || \"中等\"}</Menu.Item>\r\n <Menu.Item key=\"small\">{customEnumText?.densitySmallText ||\"紧凑\"}</Menu.Item>\r\n </Menu>\r\n }\r\n trigger={['click']}\r\n >\r\n <Tooltip title={customEnumText?.columnDensityText || \"列密度\"}>\r\n <ColumnHeightOutlined />\r\n </Tooltip>\r\n </Dropdown>\r\n </div>\r\n )}\r\n {!hideColumnSetting && (\r\n <div className={`${prefixCls}-toolbar-setting-item`}>\r\n <ColumnSetting\r\n prefixCls={prefixCls}\r\n checkedColumnKeys={checkedColumnKeys}\r\n columnSettingOptions={columnSettingOptions}\r\n onChange={handleChangeColumns}\r\n onReset={() => parseColumns('reset')}\r\n disabledColumnKeys={disabledColumnKeys}\r\n onColumnsSave={onColumnsSave}\r\n uniqueKey={uniqueKey || state.projectKey}\r\n >\r\n <Tooltip title={customEnumText?.columnSettingText || \"列设置\"}>\r\n <SettingOutlined />\r\n </Tooltip>\r\n </ColumnSetting>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // 分页\r\n const getPagination = pagination => {\r\n if (typeof pagination === 'boolean' && !pagination) {\r\n return pagination;\r\n }\r\n return {\r\n pageSizeOptions: ['10', '20', '30', '40', '50'],\r\n showSizeChanger: true,\r\n showQuickJumper: true,\r\n showTotal(total) {\r\n return `共 ${total} 条`;\r\n },\r\n ...pagination,\r\n };\r\n };\r\n\r\n // 处理操作按钮\r\n let columns = (visibleColumns || []).map(column => {\r\n const newColumn = { ...column };\r\n if (newColumn.renderButtons) {\r\n delete newColumn.renderButtons;\r\n }\r\n if (newColumn.renderButtonsVisibleNum) {\r\n delete newColumn.renderButtonsVisibleNum;\r\n }\r\n return {\r\n ...newColumn,\r\n render: isFunction(column.renderButtons)\r\n ? function(text, record, index) {\r\n return renderColumnButtons(\r\n column.renderButtons,\r\n column.renderButtonsVisibleNum,\r\n text,\r\n record,\r\n index,\r\n customEnumText\r\n );\r\n }\r\n : 'render' in column\r\n ? column.render\r\n : function(text) {\r\n return ['', null, undefined].includes(text) ? '-' : text;\r\n },\r\n };\r\n });\r\n // 配置了列可伸缩\r\n if (columnResizable) {\r\n columns = columns.map((col, index) => ({\r\n ...col,\r\n onHeaderCell: column => ({\r\n width: column.width,\r\n onResize: handleResize(index),\r\n }),\r\n }));\r\n const handleResize = index => (e, { size }) => {\r\n setState(({ visibleColumns }) => {\r\n const nextColumns = [...visibleColumns];\r\n nextColumns[index] = {\r\n ...nextColumns[index],\r\n width: size.width,\r\n };\r\n return { visibleColumns: nextColumns };\r\n });\r\n };\r\n }\r\n\r\n // 序号添加\r\n let dataSource = rest.dataSource;\r\n if (indexColumn) {\r\n columns = [\r\n {\r\n title: indexTitle,\r\n dataIndex: '_serialNum',\r\n key: '_serialNum',\r\n width: 70,\r\n fixed: indexFixed,\r\n },\r\n ...columns,\r\n ];\r\n dataSource = dataSource?.map((item, i) => {\r\n return {\r\n ...item,\r\n _serialNum: i + startIndex,\r\n };\r\n });\r\n }\r\n\r\n let scroll;\r\n if (autoFit) {\r\n scroll = {\r\n ...(rest.scroll || {}),\r\n y: scrollY,\r\n };\r\n }\r\n\r\n return (\r\n <div\r\n id={datagridId}\r\n className={classnames(prefixCls, className, {\r\n [`${prefixCls}-fit`]: autoFit,\r\n [`${prefixCls}-noFit`]: !autoFit,\r\n [`${prefixCls}-nodata`]: !dataSource?.length,\r\n [`${prefixCls}-userAgent-mac`]: isMac,\r\n })}\r\n style={style}\r\n ref={datagridRef}\r\n >\r\n {toolbarRender}\r\n {hasAlert && (\r\n <div className={`${prefixCls}-alert`}>\r\n <Alert\r\n prefixCls={prefixCls}\r\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\r\n onRowSelectionClear={onRowSelectionClear}\r\n />\r\n </div>\r\n )}\r\n <Table\r\n size={size}\r\n bordered={dataSource?.length > 0 ? bordered : false}\r\n {...rest}\r\n columns={columns}\r\n dataSource={dataSource}\r\n scroll={scroll}\r\n pagination={getPagination(rest.pagination)}\r\n style={{\r\n height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)`,\r\n }}\r\n locale={{\r\n emptyText: <Empty description={emptyText} />,\r\n ...rest.locale,\r\n }}\r\n components={\r\n columnResizable\r\n ? {\r\n ...(components || {}),\r\n header: {\r\n cell: ResizeableTitle,\r\n },\r\n }\r\n : components\r\n }\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nVtxDatagrid.propTypes = {\r\n prefixCls: PropTypes.string,\r\n refreshIconVisible: PropTypes.bool,\r\n hideColumnSetting: PropTypes.bool,\r\n hideColumnHeight: PropTypes.bool,\r\n bordered: PropTypes.bool,\r\n visibleColumnKeys: PropTypes.array,\r\n defaultVisibleColumnKeys: PropTypes.array,\r\n onVisibleColumnsChange: PropTypes.func,\r\n toolbarClassName: PropTypes.string,\r\n toolbar: PropTypes.bool,\r\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRefresh: PropTypes.func,\r\n indexColumn: PropTypes.bool,\r\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\r\n indexTitle: PropTypes.string,\r\n startIndex: PropTypes.number,\r\n buttonGroup: PropTypes.node,\r\n autoFit: PropTypes.bool,\r\n headFootHeight: PropTypes.number,\r\n columnResizable: PropTypes.bool,\r\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n onRowSelectionClear: PropTypes.func,\r\n searchCollapseEvent$: PropTypes.object,\r\n className: PropTypes.string,\r\n style: PropTypes.object,\r\n disabledColumnKeys: PropTypes.array,\r\n onColumnsSave: PropTypes.func,\r\n components: PropTypes.object,\r\n customEnumText: PropTypes.object,\r\n uniqueKey: PropTypes.string,\r\n};\r\n"],"mappings":"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"}
@@ -201,9 +201,21 @@ var VtxSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
201
201
 
202
202
  return true;
203
203
  });
204
- var keys = tempChildren.map(function (item) {
205
- return item.key;
206
- });
204
+ var keys = [];
205
+
206
+ if (props.labelInValue) {
207
+ keys = tempChildren.map(function (item) {
208
+ return {
209
+ label: item.props.children,
210
+ value: item.key
211
+ };
212
+ });
213
+ } else {
214
+ keys = tempChildren.map(function (item) {
215
+ return item.key;
216
+ });
217
+ }
218
+
207
219
  _onChange && _onChange(keys, tempChildren);
208
220
  } else {
209
221
  _onChange && _onChange([], []);
@@ -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","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","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 } = props;\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} />\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: '请选择',\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 const keys = tempChildren.map(item => item.key);\r\n onChange && onChange(keys, tempChildren);\r\n } else {\r\n onChange && onChange([], []);\r\n }\r\n }}\r\n >\r\n 全选\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};\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","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 } = props;\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} />\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: '请选择',\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 全选\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};\r\n\r\nexport default VtxSelect;\r\n"],"mappings":"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"}
@@ -250,7 +250,9 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
250
250
  customCfg = _t$props2.customCfg,
251
251
  checkStrictly = _t$props2.checkStrictly,
252
252
  _t$props2$popoverProp = _t$props2.popoverProps,
253
- popoverProps = _t$props2$popoverProp === void 0 ? {} : _t$props2$popoverProp; // eslint-disable-next-line camelcase
253
+ popoverProps = _t$props2$popoverProp === void 0 ? {} : _t$props2$popoverProp,
254
+ _t$props2$allowClear = _t$props2.allowClear,
255
+ allowClear = _t$props2$allowClear === void 0 ? true : _t$props2$allowClear; // eslint-disable-next-line camelcase
254
256
 
255
257
  var value_arr = function (val) {
256
258
  if (Array.isArray(val)) {
@@ -300,10 +302,13 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
300
302
  });
301
303
 
302
304
  if (!multiple) {
305
+ var _t$tree;
306
+
303
307
  t.setState({
304
308
  popoverVisible: false,
305
309
  searchValue: ''
306
310
  });
311
+ (_t$tree = t.tree) === null || _t$tree === void 0 ? void 0 : _t$tree.fuzzySearch('');
307
312
  }
308
313
  }
309
314
  }), _defineProperty(_treeProps, "onCheck", function onCheck(_ref2) {
@@ -353,7 +358,7 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
353
358
  t.clearKey(item.id);
354
359
  }
355
360
  }, item.name.length > 20 ? "".concat(item.name.slice(0, 20), "...") : item.name);
356
- }), disabled ? null : /*#__PURE__*/_react["default"].createElement(_CloseCircleFilled["default"], {
361
+ }), disabled || !allowClear ? null : /*#__PURE__*/_react["default"].createElement(_CloseCircleFilled["default"], {
357
362
  key: 'icon',
358
363
  className: "".concat(prefixCls, "-multiple-close-icon"),
359
364
  onClick: function onClick(e) {
@@ -373,12 +378,12 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
373
378
  value: t.state.searchValue,
374
379
  onChange: function onChange(e) {
375
380
  if (t.tree) {
376
- var _t$tree;
381
+ var _t$tree2;
377
382
 
378
383
  t.setState({
379
384
  searchValue: e.target.value
380
385
  });
381
- (_t$tree = t.tree) === null || _t$tree === void 0 ? void 0 : _t$tree.fuzzySearch(e.target.value.trim());
386
+ (_t$tree2 = t.tree) === null || _t$tree2 === void 0 ? void 0 : _t$tree2.fuzzySearch(e.target.value.trim());
382
387
  }
383
388
  },
384
389
  onBlur: function onBlur() {
@@ -442,7 +447,7 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
442
447
  ,
443
448
  disabled: disabled,
444
449
  placeholder: t.props.placeholder,
445
- suffix: disabled || selectedNodes.length == 0 ? /*#__PURE__*/_react["default"].createElement("span", null) : /*#__PURE__*/_react["default"].createElement(_CloseCircleFilled["default"], {
450
+ suffix: disabled || selectedNodes.length == 0 || !allowClear ? /*#__PURE__*/_react["default"].createElement("span", null) : /*#__PURE__*/_react["default"].createElement(_CloseCircleFilled["default"], {
446
451
  className: "".concat(prefixCls, "-close-icon"),
447
452
  onClick: t.clear.bind(t)
448
453
  }),
@@ -458,12 +463,12 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
458
463
  },
459
464
  onChange: function onChange(e) {
460
465
  if (t.tree) {
461
- var _t$tree2;
466
+ var _t$tree3;
462
467
 
463
468
  t.setState({
464
469
  searchValue: e.target.value
465
470
  });
466
- (_t$tree2 = t.tree) === null || _t$tree2 === void 0 ? void 0 : _t$tree2.fuzzySearch(e.target.value.trim());
471
+ (_t$tree3 = t.tree) === null || _t$tree3 === void 0 ? void 0 : _t$tree3.fuzzySearch(e.target.value.trim());
467
472
  }
468
473
  }
469
474
  });
@@ -489,6 +494,15 @@ var VtxZtreeSelect = /*#__PURE__*/function (_React$Component) {
489
494
  popoverVisible: v,
490
495
  focusMultiple: v
491
496
  });
497
+
498
+ if (!v) {
499
+ var _t$tree4;
500
+
501
+ t.setState({
502
+ searchValue: ''
503
+ });
504
+ (_t$tree4 = t.tree) === null || _t$tree4 === void 0 ? void 0 : _t$tree4.fuzzySearch('');
505
+ }
492
506
  },
493
507
  visible: t.state.popoverVisible
494
508
  }), multiple || treeCheckable ? MultiSelect : SingleSelect));
@@ -505,6 +519,7 @@ VtxZtreeSelect.propTypes = {
505
519
  treeCheckable: _propTypes["default"].bool,
506
520
  value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].arrayOf(_propTypes["default"].string)]),
507
521
  onChange: _propTypes["default"].func,
508
- popoverProps: _propTypes["default"].object
522
+ popoverProps: _propTypes["default"].object,
523
+ allowClear: _propTypes["default"].bool
509
524
  };
510
525
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VtxZtreeSelect","props","tree","treeRefreshFlag","state","popoverVisible","popWidth","searchValue","inputRef","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","setState","fuzzySearch","keyIndex","indexOf","keyList","splice","filter","isLeaf","name","clearSearch","prefixCls","treeDefaultExpandAll","multiple","showSearch","searchPlaceholder","dropdownStyle","style","disabled","refreshFlag","customCfg","checkStrictly","popoverProps","value_arr","val","selectedNodes","k","id","treeProps","checkable","instance","selectedKeys","selectedNames","checkedNodes","checkedKeys","checkedNames","treeNode","beforeCheck","MultiSelect","classnames","ref","clientWidth","height","e","stopPropagation","clearKey","slice","clear","focusMultiple","placeholder","target","trim","width","border","padding","outline","boxShadow","marginBottom","Empty","PRESENTED_IMAGE_SIMPLE","SingleSelect","focusSingle","join","bind","v","focus","cursor","React","Component","propTypes","PropTypes","array","arrayOf","string","bool","oneOfType","func","object"],"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 searchValue: '',\n inputRef: null,\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 if(this.tree){\n this.setState({searchValue: ''});\n this.tree?.fuzzySearch('');\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 popoverProps={},\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 showSearch: false,\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 searchValue: ''\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 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\n {\n selectedNodes.length == 0 && !t.state.focusMultiple && !t.state.searchValue &&\n <span className={`${prefixCls}-placeholder`}>{t.props.placeholder}</span>\n }\n \n <Input\n ref={ref=>{\n if(ref && !t.state.inputRef) {\n t.setState({inputRef: ref})\n }\n }}\n value={t.state.searchValue}\n onChange={e=>{\n if(t.tree){\n t.setState({searchValue: e.target.value});\n t.tree?.fuzzySearch(e.target.value.trim());\n }\n }}\n onBlur={()=>{\n t.setState({focusMultiple: false});\n }}\n style={{width: 'fit-content',border: 'none',padding: 0, outline: 'none', boxShadow: 'none'}}\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 \n className={classnames((selectedNodes.length>0&&!disabled)?'clear-count':'disabled-count')} \n onClick={e=>{\n if(!disabled){\n e.stopPropagation();\n t.clear();\n }\n }}\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={\n t.state.focusSingle?t.state.searchValue:\n (t.state.searchValue||selectedNodes.map(item => item.name).join(', '))\n }\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 onFocus={()=>{\n t.setState({focusSingle: true});\n }}\n onBlur={()=>{\n t.setState({focusSingle: false});\n }}\n onChange={e=>{\n if(t.tree){\n t.setState({searchValue: e.target.value});\n t.tree?.fuzzySearch(e.target.value.trim());\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 {...popoverProps}\n content={\n <div className={`${prefixCls}-popover`} style={dropdownStyle}>\n <Ztree {...treeProps} />\n </div>\n }\n trigger=\"click\"\n onVisibleChange={v => {\n if(v && (multiple || treeCheckable) && t.state.inputRef){\n t.state.inputRef.focus({\n cursor: 'end',\n });\n }\n t.setState({ popoverVisible: v, focusMultiple: 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 popoverProps: PropTypes.object\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["VtxZtreeSelect","props","tree","treeRefreshFlag","state","popoverVisible","popWidth","searchValue","inputRef","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","setState","fuzzySearch","keyIndex","indexOf","keyList","splice","filter","isLeaf","name","clearSearch","prefixCls","treeDefaultExpandAll","multiple","showSearch","searchPlaceholder","dropdownStyle","style","disabled","refreshFlag","customCfg","checkStrictly","popoverProps","allowClear","value_arr","val","selectedNodes","k","id","treeProps","checkable","instance","selectedKeys","selectedNames","checkedNodes","checkedKeys","checkedNames","treeNode","beforeCheck","MultiSelect","classnames","ref","clientWidth","height","e","stopPropagation","clearKey","slice","clear","focusMultiple","placeholder","target","trim","width","border","padding","outline","boxShadow","marginBottom","Empty","PRESENTED_IMAGE_SIMPLE","SingleSelect","focusSingle","join","bind","v","focus","cursor","React","Component","propTypes","PropTypes","array","arrayOf","string","bool","oneOfType","func","object"],"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 searchValue: '',\n inputRef: null,\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 if(this.tree){\n this.setState({searchValue: ''});\n this.tree?.fuzzySearch('');\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 popoverProps={},\n allowClear = true\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 showSearch: false,\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 searchValue: ''\n });\n t.tree?.fuzzySearch('');\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 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||!allowClear) ? 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\n {\n selectedNodes.length == 0 && !t.state.focusMultiple && !t.state.searchValue &&\n <span className={`${prefixCls}-placeholder`}>{t.props.placeholder}</span>\n }\n \n <Input\n ref={ref=>{\n if(ref && !t.state.inputRef) {\n t.setState({inputRef: ref})\n }\n }}\n value={t.state.searchValue}\n onChange={e=>{\n if(t.tree){\n t.setState({searchValue: e.target.value});\n t.tree?.fuzzySearch(e.target.value.trim());\n }\n }}\n onBlur={()=>{\n t.setState({focusMultiple: false});\n }}\n style={{width: 'fit-content',border: 'none',padding: 0, outline: 'none', boxShadow: 'none'}}\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 \n className={classnames((selectedNodes.length>0&&!disabled)?'clear-count':'disabled-count')} \n onClick={e=>{\n if(!disabled){\n e.stopPropagation();\n t.clear();\n }\n }}\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={\n t.state.focusSingle?t.state.searchValue:\n (t.state.searchValue||selectedNodes.map(item => item.name).join(', '))\n }\n style={style}\n // readOnly\n disabled={disabled}\n placeholder={t.props.placeholder}\n suffix={\n (disabled || selectedNodes.length == 0||!allowClear) ? (\n <span />\n ) : (\n <CloseCircleFilled\n className={`${prefixCls}-close-icon`}\n onClick={t.clear.bind(t)}\n />\n )\n }\n onFocus={()=>{\n t.setState({focusSingle: true});\n }}\n onBlur={()=>{\n t.setState({focusSingle: false});\n }}\n onChange={e=>{\n if(t.tree){\n t.setState({searchValue: e.target.value});\n t.tree?.fuzzySearch(e.target.value.trim());\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 {...popoverProps}\n content={\n <div className={`${prefixCls}-popover`} style={dropdownStyle}>\n <Ztree {...treeProps} />\n </div>\n }\n trigger=\"click\"\n onVisibleChange={v => {\n if(v && (multiple || treeCheckable) && t.state.inputRef){\n t.state.inputRef.focus({\n cursor: 'end',\n });\n }\n t.setState({ popoverVisible: v, focusMultiple: v });\n if(!v){\n t.setState({\n searchValue: ''\n });\n t.tree?.fuzzySearch('');\n }\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 popoverProps: PropTypes.object,\n allowClear: PropTypes.bool,\n};\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.54",
3
+ "version": "3.1.56",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",