@vtx/components 3.1.62 → 3.1.64

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.
@@ -65,7 +65,8 @@ function ColumnSetting(props) {
65
65
  var _useSet = (0, _useSet3["default"])({
66
66
  indeterminate: false,
67
67
  checkAll: false,
68
- columnSettingId: ''
68
+ columnSettingId: '',
69
+ showColumns: ''
69
70
  }),
70
71
  _useSet2 = _slicedToArray(_useSet, 2),
71
72
  state = _useSet2[0],
@@ -81,7 +82,13 @@ function ColumnSetting(props) {
81
82
  onColumnsSave = props.onColumnsSave,
82
83
  uniqueKey = props.uniqueKey,
83
84
  _props$columns = props.columns,
84
- columns = _props$columns === void 0 ? [] : _props$columns;
85
+ columns = _props$columns === void 0 ? [] : _props$columns,
86
+ settingRef = props.settingRef;
87
+ (0, _react.useImperativeHandle)(settingRef, function () {
88
+ return {
89
+ showColumns: state.showColumns ? state.showColumns.split(",") : null
90
+ };
91
+ });
85
92
  (0, _react.useEffect)(function () {
86
93
  var chkLen = checkedColumnKeys === null || checkedColumnKeys === void 0 ? void 0 : checkedColumnKeys.length;
87
94
  var optionLen = columnSettingOptions === null || columnSettingOptions === void 0 ? void 0 : columnSettingOptions.length;
@@ -136,12 +143,9 @@ function ColumnSetting(props) {
136
143
  if ((data === null || data === void 0 ? void 0 : data.result) == 0 && (data === null || data === void 0 ? void 0 : data.data.total) > 0) {
137
144
  var record = data.data.rows[0];
138
145
  (record === null || record === void 0 ? void 0 : record.id) && setState({
139
- columnSettingId: record.id
146
+ columnSettingId: record.id,
147
+ showColumns: record.showColumns
140
148
  });
141
- var timer = setTimeout(function () {
142
- (record === null || record === void 0 ? void 0 : record.showColumns) && onChange(record.showColumns.split(","));
143
- clearTimeout(timer);
144
- }, 500);
145
149
  }
146
150
  });
147
151
  }
@@ -181,14 +185,16 @@ function ColumnSetting(props) {
181
185
  });
182
186
  };
183
187
 
184
- var isReady = columnSettingOptions.length > 0 && columns.filter(function (item) {
185
- return item.key !== 'action';
186
- }).length > 0;
187
188
  (0, _react.useEffect)(function () {
188
- if (isReady && uniqueKey) {
189
+ if (uniqueKey) {
189
190
  getUmsColumns();
190
191
  }
191
- }, [isReady, uniqueKey]);
192
+ }, [uniqueKey]);
193
+ (0, _react.useEffect)(function () {
194
+ if (state.showColumns) {
195
+ onChange && onChange(state.showColumns.split(","));
196
+ }
197
+ }, [state.showColumns, JSON.stringify(columnSettingOptions)]);
192
198
  return /*#__PURE__*/_react["default"].createElement(_popover["default"], {
193
199
  trigger: "click",
194
200
  placement: "bottomRight",
@@ -1 +1 @@
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","columns","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 columns=[]\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 \n const isReady = columnSettingOptions.length>0 && columns.filter(item=>item.key!=='action').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":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEe,SAASA,aAAT,CAAuBC,KAAvB,EAA8B;EACzC,mBAA6C,IAAAC,wBAAA,GAA7C;EAAA,sCAAQC,KAAR;EAAA,IAAQA,KAAR,mCAAc,EAAd;EAAA,uCAAkBC,MAAlB;EAAA,IAAkBA,MAAlB,oCAAyB,EAAzB;EAAA,yCAA6BC,QAA7B;EAAA,IAA6BA,QAA7B,sCAAsC,EAAtC;;EACA,cAA0B,IAAAC,mBAAA,EAAO;IAC7BC,aAAa,EAAE,KADc;IAE7BC,QAAQ,EAAE,KAFmB;IAG7BC,eAAe,EAAE;EAHY,CAAP,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EAKA,IACIC,SADJ,GAUIX,KAVJ,CACIW,SADJ;EAAA,IAEIC,iBAFJ,GAUIZ,KAVJ,CAEIY,iBAFJ;EAAA,IAGIC,oBAHJ,GAUIb,KAVJ,CAGIa,oBAHJ;EAAA,IAIIC,QAJJ,GAUId,KAVJ,CAIIc,QAJJ;EAAA,IAKIC,OALJ,GAUIf,KAVJ,CAKIe,OALJ;EAAA,4BAUIf,KAVJ,CAMIgB,kBANJ;EAAA,IAMIA,kBANJ,sCAMyB,EANzB;EAAA,IAOIC,aAPJ,GAUIjB,KAVJ,CAOIiB,aAPJ;EAAA,IAQIC,SARJ,GAUIlB,KAVJ,CAQIkB,SARJ;EAAA,qBAUIlB,KAVJ,CASImB,OATJ;EAAA,IASIA,OATJ,+BASY,EATZ;EAYA,IAAAC,gBAAA,EAAU,YAAM;IACZ,IAAMC,MAAM,GAAGT,iBAAH,aAAGA,iBAAH,uBAAGA,iBAAiB,CAAEU,MAAlC;IACA,IAAMC,SAAS,GAAGV,oBAAH,aAAGA,oBAAH,uBAAGA,oBAAoB,CAAES,MAAxC;IACAZ,QAAQ,CAAC;MACLH,QAAQ,EAAEc,MAAM,IAAIE,SADf;MAELjB,aAAa,EAAEe,MAAM,IAAIA,MAAM,GAAGE;IAF7B,CAAD,CAAR;EAIH,CAPD,EAOG,CAACX,iBAAD,CAPH;EASA,IAAQN,aAAR,GAAoCG,KAApC,CAAQH,aAAR;EAAA,IAAuBC,QAAvB,GAAoCE,KAApC,CAAuBF,QAAvB,CA5ByC,CA8BzC;;EACA,IAAMiB,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAAIC,GAAJ,EAAY;IAC9B,IAAIZ,QAAJ,EAAc;MACV,IAAMa,oBAAoB,GAAGF,CAAC,CAACG,MAAF,CAASC,OAAT,gCACnBjB,iBADmB,IACAc,GADA,KAEvBd,iBAFuB,aAEvBA,iBAFuB,uBAEvBA,iBAAiB,CAAEkB,MAAnB,CAA0B,UAAAC,IAAI;QAAA,OAAIA,IAAI,IAAIL,GAAZ;MAAA,CAA9B,CAFN;MAGAZ,QAAQ,CAACa,oBAAD,CAAR;IACH;EACJ,CAPD,CA/ByC,CAwCzC;;;EACA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAP,CAAC,EAAI;IAC1B,IAAIX,QAAJ,EAAc;MACV,IAAMa,oBAAoB,GAAGF,CAAC,CAACG,MAAF,CAASC,OAAT,GACvBhB,oBADuB,aACvBA,oBADuB,uBACvBA,oBAAoB,CAAEoB,GAAtB,CAA0B,UAAAF,IAAI;QAAA,OAAIA,IAAI,CAACL,GAAT;MAAA,CAA9B,CADuB,GAEvB,EAFN;MAGAZ,QAAQ,CAACa,oBAAD,CAAR;IACH;EACJ,CAPD,CAzCyC,CAiDzC;;;EACA,IAAMO,YAAY,GAAG,SAAfA,YAAe,GAAM;IACvB,IAAIpB,QAAJ,EAAc;MACVG,aAAa,CAACL,iBAAD,CAAb;IACH;EACJ,CAJD;;EAKA,SAASuB,aAAT,GAAyB;IACrB,IAAG,CAAClB,aAAD,IAAkB,CAAC,CAACC,SAAvB,EAAiC;MAC7B,IAAAkB,iBAAA,EAAM;QACFC,MAAM,EAAE,KADN;QAEFC,GAAG,EAAE,mDAFH;QAGFC,OAAO,EAAE;UACLC,aAAa,EAAEtC,KAAK,oBAAaA,KAAb,IAAuB;QADtC,CAHP;QAMFuC,MAAM,EAAE;UACJC,SAAS,EAAExB;QADP;MANN,CAAN,EASGyB,IATH,CASQ,gBAAU;QAAA,IAARC,IAAQ,QAARA,IAAQ;;QACd,IAAG,CAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEC,MAAN,KAAgB,CAAhB,IAAqB,CAAAD,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEA,IAAN,CAAWE,KAAX,IAAiB,CAAzC,EAA2C;UACvC,IAAIC,MAAM,GAAGH,IAAI,CAACA,IAAL,CAAUI,IAAV,CAAe,CAAf,CAAb;UACA,CAAAD,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEE,EAAR,KAAcvC,QAAQ,CAAC;YAACF,eAAe,EAAEuC,MAAM,CAACE;UAAzB,CAAD,CAAtB;UACA,IAAIC,KAAK,GAAGC,UAAU,CAAC,YAAI;YACvB,CAAAJ,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEK,WAAR,KAAuBtC,QAAQ,CAACiC,MAAM,CAACK,WAAP,CAAmBC,KAAnB,CAAyB,GAAzB,CAAD,CAA/B;YACAC,YAAY,CAACJ,KAAD,CAAZ;UACH,CAHqB,EAGpB,GAHoB,CAAtB;QAIH;MACJ,CAlBD;IAmBH;EACJ,CA7EwC,CA8EzC;;;EACA,IAAMK,WAAW,GAAG,SAAdA,WAAc,GAAI;IACpB,IAAG,CAAC3C,iBAAiB,IAAE,EAApB,EAAwBU,MAAxB,IAAkC,CAArC,EAAuC;MACnCkC,mBAAA,CAAQC,IAAR,CAAa,UAAb;;MACA,OAAO,KAAP;IACH;;IACD,IAAArB,iBAAA,EAAM;MACFC,MAAM,EAAE,MADN;MAEFC,GAAG,EAAE,mDAFH;MAGFC,OAAO,EAAE;QACLC,aAAa,EAAEtC,KAAK,oBAAaA,KAAb,IAAuB,EADtC;QAEL,gBAAgB;MAFX,CAHP;MAOF0C,IAAI,EAAEc,IAAI,CAACC,SAAL,CAAe;QACjBP,WAAW,EAAE,CAACxC,iBAAiB,IAAE,EAApB,EAAwBgD,IAAxB,CAA6B,GAA7B,CADI;QAEjBlB,SAAS,EAAExB,SAFM;QAGjB2C,IAAI,EAAE3C,SAHW;QAIjBf,MAAM,EAANA,MAJiB;QAKjBC,QAAQ,EAARA,QALiB;QAMjB6C,EAAE,EAAExC,KAAK,CAACD;MANO,CAAf;IAPJ,CAAN,EAeGmC,IAfH,CAeQ,iBAAU;MAAA,IAARC,IAAQ,SAARA,IAAQ;;MACd,IAAG,CAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEC,MAAN,KAAgB,CAAnB,EAAqB;QACjBW,mBAAA,CAAQM,OAAR,CAAgB,MAAhB;;QACA3B,aAAa;MAChB;IACJ,CApBD;EAqBH,CA1BD;;EA4BA,IAAM4B,OAAO,GAAGlD,oBAAoB,CAACS,MAArB,GAA4B,CAA5B,IAAiCH,OAAO,CAACW,MAAR,CAAe,UAAAC,IAAI;IAAA,OAAEA,IAAI,CAACL,GAAL,KAAW,QAAb;EAAA,CAAnB,EAA0CJ,MAA1C,GAAiD,CAAlG;EAEA,IAAAF,gBAAA,EAAU,YAAI;IACV,IAAG2C,OAAO,IAAI7C,SAAd,EAAwB;MACpBiB,aAAa;IAChB;EACJ,CAJD,EAIE,CAAC4B,OAAD,EAAU7C,SAAV,CAJF;EAKA,oBACI,gCAAC,mBAAD;IACI,OAAO,EAAC,OADZ;IAEI,SAAS,EAAC,aAFd;IAGI,kBAAkB,MAHtB;IAII,KAAK,eACD;MAAK,SAAS,YAAKP,SAAL,0BAAd;MAAqD,IAAI,EAAC;IAA1D,gBACI,gCAAC,oBAAD;MACI,SAAS,YAAKA,SAAL,qCADb;MAEI,aAAa,EAAEL,aAFnB;MAGI,OAAO,EAAEC,QAHb;MAII,QAAQ,EAAEyB;IAJd,wBADJ,eASI;MAAG,OAAO,EAAEjB;IAAZ,kBATJ,CALR;IAiBI,OAAO,eACH;MAAK,SAAS,YAAKJ,SAAL;IAAd,GACKE,oBADL,aACKA,oBADL,uBACKA,oBAAoB,CAAEoB,GAAtB,CAA0B,UAAA+B,GAAG,EAAI;MAC9B,IAAMtC,GAAG,GAAGsC,GAAG,CAACtC,GAAJ,IAAWsC,GAAG,CAACC,SAA3B;MACA,oBACI;QAAK,GAAG,EAAEvC;MAAV,gBACI,gCAAC,oBAAD;QACI,OAAO,EAAEd,iBAAF,aAAEA,iBAAF,uBAAEA,iBAAiB,CAAEsD,QAAnB,CAA4BxC,GAA5B,CADb;QAEI,QAAQ,EAAE,kBAAAD,CAAC;UAAA,OAAID,aAAa,CAACC,CAAD,EAAIC,GAAJ,CAAjB;QAAA,CAFf;QAGI,QAAQ,EAAEV,kBAAkB,CAACkD,QAAnB,CAA4BxC,GAA5B;MAHd,GAKKsC,GAAG,CAACG,KALT,CADJ,CADJ;IAWH,CAbA,CADL,EAeK,OAAOlD,aAAP,KAAyB,UAAzB,gBACG,+EACI,gCAAC,mBAAD;MAAS,KAAK,EAAE;QAAEmD,MAAM,EAAE;MAAV;IAAhB,EADJ,eAEI,gCAAC,kBAAD;MAAQ,KAAK,EAAE,IAAf;MAAqB,OAAO,EAAE;QAAA,OAAMlC,YAAY,EAAlB;MAAA;IAA9B,kBAFJ,CADH,GAOG,IAtBR,EAuBK,CAACjB,aAAD,IAAkBC,SAAlB,gBACG,+EACI,gCAAC,mBAAD;MAAS,KAAK,EAAE;QAAEkD,MAAM,EAAE;MAAV;IAAhB,EADJ,eAEI,gCAAC,kBAAD;MAAQ,KAAK,EAAE,IAAf;MAAqB,OAAO,EAAE;QAAA,OAAMb,WAAW,EAAjB;MAAA;IAA9B,kBAFJ,CADH,GAOG,IA9BR;EAlBR,GAoDKvD,KAAK,CAACqE,QApDX,CADJ;AAwDH;;AAEDtE,aAAa,CAACuE,SAAd,GAA0B;EACtB3D,SAAS,EAAE4D,qBAAA,CAAUC,MADC;EAEtB5D,iBAAiB,EAAE2D,qBAAA,CAAUE,KAFP;EAGtB5D,oBAAoB,EAAE0D,qBAAA,CAAUE,KAHV;EAItBJ,QAAQ,EAAEE,qBAAA,CAAUG,IAJE;EAKtB5D,QAAQ,EAAEyD,qBAAA,CAAUI,IALE;EAMtB5D,OAAO,EAAEwD,qBAAA,CAAUI,IANG;EAOtB3D,kBAAkB,EAAEuD,qBAAA,CAAUE,KAPR;EAQtBxD,aAAa,EAAEsD,qBAAA,CAAUI,IARH;EAStBzD,SAAS,EAAEqD,qBAAA,CAAUC;AATC,CAA1B"}
1
+ {"version":3,"file":"ColumnSetting.js","names":["ColumnSetting","props","getUrlParam","token","userId","tenantId","useSet","indeterminate","checkAll","columnSettingId","showColumns","state","setState","prefixCls","checkedColumnKeys","columnSettingOptions","onChange","onReset","disabledColumnKeys","onColumnsSave","uniqueKey","columns","settingRef","useImperativeHandle","split","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","saveColumns","message","warn","JSON","stringify","join","name","success","opt","dataIndex","includes","title","margin","children","propTypes","PropTypes","string","array","node","func"],"sources":["vtx-datagrid/ColumnSetting.jsx"],"sourcesContent":["import React, { useEffect, useImperativeHandle } 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 showColumns: '',\n });\n const {\n prefixCls,\n checkedColumnKeys,\n columnSettingOptions,\n onChange,\n onReset,\n disabledColumnKeys = [],\n onColumnsSave,\n uniqueKey,\n columns=[],\n settingRef\n } = props;\n\n useImperativeHandle(settingRef, ()=>{\n return {\n showColumns: state.showColumns ? state.showColumns.split(\",\") : null\n }\n })\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({\n columnSettingId: record.id,\n showColumns: record.showColumns\n });\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 \n useEffect(()=>{\n if(uniqueKey){\n getUmsColumns();\n }\n },[uniqueKey])\n\n useEffect(()=>{\n if(state.showColumns){\n onChange && onChange(state.showColumns.split(\",\"));\n }\n },[state.showColumns, JSON.stringify(columnSettingOptions)])\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 {!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":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEe,SAASA,aAAT,CAAuBC,KAAvB,EAA8B;EACzC,mBAA6C,IAAAC,wBAAA,GAA7C;EAAA,sCAAQC,KAAR;EAAA,IAAQA,KAAR,mCAAc,EAAd;EAAA,uCAAkBC,MAAlB;EAAA,IAAkBA,MAAlB,oCAAyB,EAAzB;EAAA,yCAA6BC,QAA7B;EAAA,IAA6BA,QAA7B,sCAAsC,EAAtC;;EACA,cAA0B,IAAAC,mBAAA,EAAO;IAC7BC,aAAa,EAAE,KADc;IAE7BC,QAAQ,EAAE,KAFmB;IAG7BC,eAAe,EAAE,EAHY;IAI7BC,WAAW,EAAE;EAJgB,CAAP,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EAMA,IACIC,SADJ,GAWIZ,KAXJ,CACIY,SADJ;EAAA,IAEIC,iBAFJ,GAWIb,KAXJ,CAEIa,iBAFJ;EAAA,IAGIC,oBAHJ,GAWId,KAXJ,CAGIc,oBAHJ;EAAA,IAIIC,QAJJ,GAWIf,KAXJ,CAIIe,QAJJ;EAAA,IAKIC,OALJ,GAWIhB,KAXJ,CAKIgB,OALJ;EAAA,4BAWIhB,KAXJ,CAMIiB,kBANJ;EAAA,IAMIA,kBANJ,sCAMyB,EANzB;EAAA,IAOIC,aAPJ,GAWIlB,KAXJ,CAOIkB,aAPJ;EAAA,IAQIC,SARJ,GAWInB,KAXJ,CAQImB,SARJ;EAAA,qBAWInB,KAXJ,CASIoB,OATJ;EAAA,IASIA,OATJ,+BASY,EATZ;EAAA,IAUIC,UAVJ,GAWIrB,KAXJ,CAUIqB,UAVJ;EAaA,IAAAC,0BAAA,EAAoBD,UAApB,EAAgC,YAAI;IAChC,OAAO;MACHZ,WAAW,EAAEC,KAAK,CAACD,WAAN,GAAoBC,KAAK,CAACD,WAAN,CAAkBc,KAAlB,CAAwB,GAAxB,CAApB,GAAmD;IAD7D,CAAP;EAGH,CAJD;EAMA,IAAAC,gBAAA,EAAU,YAAM;IACZ,IAAMC,MAAM,GAAGZ,iBAAH,aAAGA,iBAAH,uBAAGA,iBAAiB,CAAEa,MAAlC;IACA,IAAMC,SAAS,GAAGb,oBAAH,aAAGA,oBAAH,uBAAGA,oBAAoB,CAAEY,MAAxC;IACAf,QAAQ,CAAC;MACLJ,QAAQ,EAAEkB,MAAM,IAAIE,SADf;MAELrB,aAAa,EAAEmB,MAAM,IAAIA,MAAM,GAAGE;IAF7B,CAAD,CAAR;EAIH,CAPD,EAOG,CAACd,iBAAD,CAPH;EASA,IAAQP,aAAR,GAAoCI,KAApC,CAAQJ,aAAR;EAAA,IAAuBC,QAAvB,GAAoCG,KAApC,CAAuBH,QAAvB,CApCyC,CAsCzC;;EACA,IAAMqB,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAAIC,GAAJ,EAAY;IAC9B,IAAIf,QAAJ,EAAc;MACV,IAAMgB,oBAAoB,GAAGF,CAAC,CAACG,MAAF,CAASC,OAAT,gCACnBpB,iBADmB,IACAiB,GADA,KAEvBjB,iBAFuB,aAEvBA,iBAFuB,uBAEvBA,iBAAiB,CAAEqB,MAAnB,CAA0B,UAAAC,IAAI;QAAA,OAAIA,IAAI,IAAIL,GAAZ;MAAA,CAA9B,CAFN;MAGAf,QAAQ,CAACgB,oBAAD,CAAR;IACH;EACJ,CAPD,CAvCyC,CAgDzC;;;EACA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAP,CAAC,EAAI;IAC1B,IAAId,QAAJ,EAAc;MACV,IAAMgB,oBAAoB,GAAGF,CAAC,CAACG,MAAF,CAASC,OAAT,GACvBnB,oBADuB,aACvBA,oBADuB,uBACvBA,oBAAoB,CAAEuB,GAAtB,CAA0B,UAAAF,IAAI;QAAA,OAAIA,IAAI,CAACL,GAAT;MAAA,CAA9B,CADuB,GAEvB,EAFN;MAGAf,QAAQ,CAACgB,oBAAD,CAAR;IACH;EACJ,CAPD,CAjDyC,CAyDzC;;;EACA,IAAMO,YAAY,GAAG,SAAfA,YAAe,GAAM;IACvB,IAAIvB,QAAJ,EAAc;MACVG,aAAa,CAACL,iBAAD,CAAb;IACH;EACJ,CAJD;;EAKA,SAAS0B,aAAT,GAAyB;IACrB,IAAG,CAACrB,aAAD,IAAkB,CAAC,CAACC,SAAvB,EAAiC;MAC7B,IAAAqB,iBAAA,EAAM;QACFC,MAAM,EAAE,KADN;QAEFC,GAAG,EAAE,mDAFH;QAGFC,OAAO,EAAE;UACLC,aAAa,EAAE1C,KAAK,oBAAaA,KAAb,IAAuB;QADtC,CAHP;QAMF2C,MAAM,EAAE;UACJC,SAAS,EAAE3B;QADP;MANN,CAAN,EASG4B,IATH,CASQ,gBAAU;QAAA,IAARC,IAAQ,QAARA,IAAQ;;QACd,IAAG,CAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEC,MAAN,KAAgB,CAAhB,IAAqB,CAAAD,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEA,IAAN,CAAWE,KAAX,IAAiB,CAAzC,EAA2C;UACvC,IAAIC,MAAM,GAAGH,IAAI,CAACA,IAAL,CAAUI,IAAV,CAAe,CAAf,CAAb;UACA,CAAAD,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEE,EAAR,KAAc1C,QAAQ,CAAC;YACnBH,eAAe,EAAE2C,MAAM,CAACE,EADL;YAEnB5C,WAAW,EAAE0C,MAAM,CAAC1C;UAFD,CAAD,CAAtB;QAIH;MACJ,CAjBD;IAkBH;EACJ,CApFwC,CAqFzC;;;EACA,IAAM6C,WAAW,GAAG,SAAdA,WAAc,GAAI;IACpB,IAAG,CAACzC,iBAAiB,IAAE,EAApB,EAAwBa,MAAxB,IAAkC,CAArC,EAAuC;MACnC6B,mBAAA,CAAQC,IAAR,CAAa,UAAb;;MACA,OAAO,KAAP;IACH;;IACD,IAAAhB,iBAAA,EAAM;MACFC,MAAM,EAAE,MADN;MAEFC,GAAG,EAAE,mDAFH;MAGFC,OAAO,EAAE;QACLC,aAAa,EAAE1C,KAAK,oBAAaA,KAAb,IAAuB,EADtC;QAEL,gBAAgB;MAFX,CAHP;MAOF8C,IAAI,EAAES,IAAI,CAACC,SAAL,CAAe;QACjBjD,WAAW,EAAE,CAACI,iBAAiB,IAAE,EAApB,EAAwB8C,IAAxB,CAA6B,GAA7B,CADI;QAEjBb,SAAS,EAAE3B,SAFM;QAGjByC,IAAI,EAAEzC,SAHW;QAIjBhB,MAAM,EAANA,MAJiB;QAKjBC,QAAQ,EAARA,QALiB;QAMjBiD,EAAE,EAAE3C,KAAK,CAACF;MANO,CAAf;IAPJ,CAAN,EAeGuC,IAfH,CAeQ,iBAAU;MAAA,IAARC,IAAQ,SAARA,IAAQ;;MACd,IAAG,CAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEC,MAAN,KAAgB,CAAnB,EAAqB;QACjBM,mBAAA,CAAQM,OAAR,CAAgB,MAAhB;;QACAtB,aAAa;MAChB;IACJ,CApBD;EAqBH,CA1BD;;EA4BA,IAAAf,gBAAA,EAAU,YAAI;IACV,IAAGL,SAAH,EAAa;MACToB,aAAa;IAChB;EACJ,CAJD,EAIE,CAACpB,SAAD,CAJF;EAMA,IAAAK,gBAAA,EAAU,YAAI;IACV,IAAGd,KAAK,CAACD,WAAT,EAAqB;MACjBM,QAAQ,IAAIA,QAAQ,CAACL,KAAK,CAACD,WAAN,CAAkBc,KAAlB,CAAwB,GAAxB,CAAD,CAApB;IACH;EACJ,CAJD,EAIE,CAACb,KAAK,CAACD,WAAP,EAAoBgD,IAAI,CAACC,SAAL,CAAe5C,oBAAf,CAApB,CAJF;EAMA,oBACI,gCAAC,mBAAD;IACI,OAAO,EAAC,OADZ;IAEI,SAAS,EAAC,aAFd;IAGI,kBAAkB,MAHtB;IAII,KAAK,eACD;MAAK,SAAS,YAAKF,SAAL,0BAAd;MAAqD,IAAI,EAAC;IAA1D,gBACI,gCAAC,oBAAD;MACI,SAAS,YAAKA,SAAL,qCADb;MAEI,aAAa,EAAEN,aAFnB;MAGI,OAAO,EAAEC,QAHb;MAII,QAAQ,EAAE6B;IAJd,wBADJ,eASI;MAAG,OAAO,EAAEpB;IAAZ,kBATJ,CALR;IAiBI,OAAO,eACH;MAAK,SAAS,YAAKJ,SAAL;IAAd,GACKE,oBADL,aACKA,oBADL,uBACKA,oBAAoB,CAAEuB,GAAtB,CAA0B,UAAAyB,GAAG,EAAI;MAC9B,IAAMhC,GAAG,GAAGgC,GAAG,CAAChC,GAAJ,IAAWgC,GAAG,CAACC,SAA3B;MACA,oBACI;QAAK,GAAG,EAAEjC;MAAV,gBACI,gCAAC,oBAAD;QACI,OAAO,EAAEjB,iBAAF,aAAEA,iBAAF,uBAAEA,iBAAiB,CAAEmD,QAAnB,CAA4BlC,GAA5B,CADb;QAEI,QAAQ,EAAE,kBAAAD,CAAC;UAAA,OAAID,aAAa,CAACC,CAAD,EAAIC,GAAJ,CAAjB;QAAA,CAFf;QAGI,QAAQ,EAAEb,kBAAkB,CAAC+C,QAAnB,CAA4BlC,GAA5B;MAHd,GAKKgC,GAAG,CAACG,KALT,CADJ,CADJ;IAWH,CAbA,CADL,EAeK,OAAO/C,aAAP,KAAyB,UAAzB,gBACG,+EACI,gCAAC,mBAAD;MAAS,KAAK,EAAE;QAAEgD,MAAM,EAAE;MAAV;IAAhB,EADJ,eAEI,gCAAC,kBAAD;MAAQ,KAAK,EAAE,IAAf;MAAqB,OAAO,EAAE;QAAA,OAAM5B,YAAY,EAAlB;MAAA;IAA9B,kBAFJ,CADH,GAOG,IAtBR,EAuBK,CAACpB,aAAD,IAAkBC,SAAlB,gBACG,+EACI,gCAAC,mBAAD;MAAS,KAAK,EAAE;QAAE+C,MAAM,EAAE;MAAV;IAAhB,EADJ,eAEI,gCAAC,kBAAD;MAAQ,KAAK,EAAE,IAAf;MAAqB,OAAO,EAAE;QAAA,OAAMZ,WAAW,EAAjB;MAAA;IAA9B,kBAFJ,CADH,GAOG,IA9BR;EAlBR,GAoDKtD,KAAK,CAACmE,QApDX,CADJ;AAwDH;;AAEDpE,aAAa,CAACqE,SAAd,GAA0B;EACtBxD,SAAS,EAAEyD,qBAAA,CAAUC,MADC;EAEtBzD,iBAAiB,EAAEwD,qBAAA,CAAUE,KAFP;EAGtBzD,oBAAoB,EAAEuD,qBAAA,CAAUE,KAHV;EAItBJ,QAAQ,EAAEE,qBAAA,CAAUG,IAJE;EAKtBzD,QAAQ,EAAEsD,qBAAA,CAAUI,IALE;EAMtBzD,OAAO,EAAEqD,qBAAA,CAAUI,IANG;EAOtBxD,kBAAkB,EAAEoD,qBAAA,CAAUE,KAPR;EAQtBrD,aAAa,EAAEmD,qBAAA,CAAUI,IARH;EAStBtD,SAAS,EAAEkD,qBAAA,CAAUC;AATC,CAA1B"}
@@ -114,7 +114,9 @@ function VtxDatagrid(props) {
114
114
 
115
115
  var alertHeight = (0, _react.useRef)(0); // 工具栏高度
116
116
 
117
- var toolbarHeight = (0, _react.useRef)(0);
117
+ var toolbarHeight = (0, _react.useRef)(0); // 列接口显示字段
118
+
119
+ var settingRef = (0, _react.useRef)();
118
120
 
119
121
  var _props$prefixCls = props.prefixCls,
120
122
  prefixCls = _props$prefixCls === void 0 ? 'vtx-datagrid' : _props$prefixCls,
@@ -233,10 +235,12 @@ function VtxDatagrid(props) {
233
235
  var parseColumns = function parseColumns(type) {
234
236
  // 显示工具栏的同时并显示列设置
235
237
  if (toolbar && !hideColumnSetting) {
236
- if (defaultVisibleColumnKeys || visibleColumnKeys) {
237
- var _rest$columns2;
238
+ var _settingRef$current;
239
+
240
+ if (defaultVisibleColumnKeys || visibleColumnKeys || (_settingRef$current = settingRef.current) !== null && _settingRef$current !== void 0 && _settingRef$current.showColumns) {
241
+ var _settingRef$current2, _rest$columns2;
238
242
 
239
- var columnKeys = type === 'reset' ? defaultVisibleColumnKeys : visibleColumnKeys || defaultVisibleColumnKeys;
243
+ var columnKeys = type === 'reset' ? defaultVisibleColumnKeys : ((_settingRef$current2 = settingRef.current) === null || _settingRef$current2 === void 0 ? void 0 : _settingRef$current2.showColumns) || visibleColumnKeys || defaultVisibleColumnKeys;
240
244
  setState({
241
245
  checkedColumnKeys: columnKeys,
242
246
  visibleColumns: (_rest$columns2 = rest.columns) === null || _rest$columns2 === void 0 ? void 0 : _rest$columns2.filter(function (item) {
@@ -284,9 +288,6 @@ function VtxDatagrid(props) {
284
288
 
285
289
 
286
290
  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
- }));
290
291
  setState({
291
292
  checkedColumnKeys: keys,
292
293
  visibleColumns: columnSettingOptions === null || columnSettingOptions === void 0 ? void 0 : columnSettingOptions.filter(function (item) {
@@ -353,7 +354,8 @@ function VtxDatagrid(props) {
353
354
  disabledColumnKeys: disabledColumnKeys,
354
355
  onColumnsSave: onColumnsSave,
355
356
  uniqueKey: uniqueKey || state.projectKey,
356
- columns: rest.columns
357
+ columns: rest.columns,
358
+ settingRef: settingRef
357
359
  }, /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
358
360
  title: (customEnumText === null || customEnumText === void 0 ? void 0 : customEnumText.columnSettingText) || "列设置"
359
361
  }, /*#__PURE__*/_react["default"].createElement(_SettingOutlined["default"], null)))))));
@@ -1 +1 @@
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 {buttonGroup &&\r\n <div className={`${prefixCls}-toolbar-line`} />\r\n }\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-setting`,\r\n\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 columns={rest.columns}\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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"}
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","settingRef","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","current","showColumns","columnKeys","filter","item","includes","hasAlert","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\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 settingRef = useRef();\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 || settingRef.current?.showColumns) {\r\n const columnKeys =\r\n type === 'reset'\r\n ? defaultVisibleColumnKeys\r\n : (settingRef.current?.showColumns || 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 {buttonGroup &&\r\n <div className={`${prefixCls}-toolbar-line`} />\r\n }\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-setting`,\r\n\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 columns={rest.columns}\r\n settingRef={settingRef}\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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"}
@@ -60,6 +60,17 @@
60
60
  .vtx-datagrid-noFit .ant-table-tbody > tr:nth-child(even) > td {
61
61
  background: #f6f6f6 !important;
62
62
  }
63
+ .vtx-datagrid .ant-table-container {
64
+ position: relative;
65
+ }
66
+ .vtx-datagrid .ant-table-middle .ant-table-thead > tr > th {
67
+ padding-left: 12px !important;
68
+ padding-right: 12px !important;
69
+ }
70
+ .vtx-datagrid .ant-table-middle .ant-table-tbody > tr > td {
71
+ padding-left: 12px !important;
72
+ padding-right: 12px !important;
73
+ }
63
74
  .vtx-datagrid .ant-table-tbody > tr.ant-table-row-selected > td {
64
75
  border-color: #f0f0f0 !important;
65
76
  }
@@ -75,6 +75,9 @@
75
75
  }
76
76
  }
77
77
  }
78
+ .ant-table-container {
79
+ position: relative;
80
+ }
78
81
  // 固定列目前没有办法用细的滚动条
79
82
  // .ant-table-has-fix-right {
80
83
  // .ant-table-body {
@@ -95,6 +98,16 @@
95
98
  // }
96
99
  // }
97
100
  // }
101
+ .ant-table-middle {
102
+ .ant-table-thead > tr > th {
103
+ padding-left: 12px !important;
104
+ padding-right: 12px !important;
105
+ }
106
+ .ant-table-tbody > tr > td {
107
+ padding-left: 12px !important;
108
+ padding-right: 12px !important;
109
+ }
110
+ }
98
111
  .ant-table-tbody > tr.ant-table-row-selected > td {
99
112
  // background: transparent !important;
100
113
  border-color: @table-border-color !important;
@@ -113,6 +126,7 @@
113
126
  & > .ant-table-cell {
114
127
  color: @text-color;
115
128
  }
129
+
116
130
  &.ant-table-placeholder {
117
131
  position: absolute;
118
132
  top: 25%;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "3.1.62",
3
+ "version": "3.1.64",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",