@vtx/components 2.5.6 → 3.0.0-0

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.
Files changed (114) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/lib/_util/filterSpecialCharacters.js +1 -1
  3. package/lib/_util/getComponentProps.js +1 -1
  4. package/lib/_util/useSet.js +3 -3
  5. package/lib/_util/useSet.js.map +1 -1
  6. package/lib/index.js +40 -40
  7. package/lib/vtx-color-picker/index.js +6 -4
  8. package/lib/vtx-color-picker/index.js.map +1 -1
  9. package/lib/vtx-combogrid/Combogrid.js +23 -18
  10. package/lib/vtx-combogrid/Combogrid.js.map +1 -1
  11. package/lib/vtx-combogrid/index.js +8 -6
  12. package/lib/vtx-combogrid/index.js.map +1 -1
  13. package/lib/vtx-combogrid/style/index.css +1 -1
  14. package/lib/vtx-combogrid/style/index.less +1 -1
  15. package/lib/vtx-datagrid/Alert.js +3 -3
  16. package/lib/vtx-datagrid/Alert.js.map +1 -1
  17. package/lib/vtx-datagrid/ColumnSetting.js +35 -9
  18. package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
  19. package/lib/vtx-datagrid/ResizeableTitle.js +3 -1
  20. package/lib/vtx-datagrid/ResizeableTitle.js.map +1 -1
  21. package/lib/vtx-datagrid/index.js +36 -28
  22. package/lib/vtx-datagrid/index.js.map +1 -1
  23. package/lib/vtx-datagrid/renderColumnButtons.js +7 -7
  24. package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
  25. package/lib/vtx-datagrid/style/index.css +18 -6
  26. package/lib/vtx-datagrid/style/index.less +33 -7
  27. package/lib/vtx-date-picker/QdatePicker.js +7 -5
  28. package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
  29. package/lib/vtx-date-picker/generatePicker.js +15 -9
  30. package/lib/vtx-date-picker/generatePicker.js.map +1 -1
  31. package/lib/vtx-date-picker/index.js +16 -11
  32. package/lib/vtx-date-picker/index.js.map +1 -1
  33. package/lib/vtx-editor/index.js +9 -10
  34. package/lib/vtx-editor/index.js.map +1 -1
  35. package/lib/vtx-export/index.js +13 -12
  36. package/lib/vtx-export/index.js.map +1 -1
  37. package/lib/vtx-form-layout/Card.js +6 -7
  38. package/lib/vtx-form-layout/Card.js.map +1 -1
  39. package/lib/vtx-form-layout/FormItem.js +9 -20
  40. package/lib/vtx-form-layout/FormItem.js.map +1 -1
  41. package/lib/vtx-form-layout/Pane.js.map +1 -1
  42. package/lib/vtx-form-layout/index.js.map +1 -1
  43. package/lib/vtx-form-layout/style/index.css +41 -0
  44. package/lib/vtx-form-layout/style/index.less +19 -0
  45. package/lib/vtx-image/Image.js +5 -5
  46. package/lib/vtx-image/Image.js.map +1 -1
  47. package/lib/vtx-image/Preview.js +6 -6
  48. package/lib/vtx-image/Preview.js.map +1 -1
  49. package/lib/vtx-image/PreviewGroup.js +6 -6
  50. package/lib/vtx-image/PreviewGroup.js.map +1 -1
  51. package/lib/vtx-image/index.js +3 -3
  52. package/lib/vtx-import/index.js +12 -6
  53. package/lib/vtx-import/index.js.map +1 -1
  54. package/lib/vtx-import/result.js +1 -1
  55. package/lib/vtx-import/result.js.map +1 -1
  56. package/lib/vtx-input/TextArea.js +6 -4
  57. package/lib/vtx-input/TextArea.js.map +1 -1
  58. package/lib/vtx-input/index.js +8 -6
  59. package/lib/vtx-input/index.js.map +1 -1
  60. package/lib/vtx-input/useLength.js +1 -1
  61. package/lib/vtx-input/useLength.js.map +1 -1
  62. package/lib/vtx-modal/Title.js.map +1 -1
  63. package/lib/vtx-modal/index.js +19 -25
  64. package/lib/vtx-modal/index.js.map +1 -1
  65. package/lib/vtx-page-layout/Basic.js.map +1 -1
  66. package/lib/vtx-page-layout/Content.js +2 -2
  67. package/lib/vtx-page-layout/Content.js.map +1 -1
  68. package/lib/vtx-page-layout/Pane.js.map +1 -1
  69. package/lib/vtx-page-layout/TableLayout.js +12 -9
  70. package/lib/vtx-page-layout/TableLayout.js.map +1 -1
  71. package/lib/vtx-page-layout/TableWrap.js +2 -2
  72. package/lib/vtx-page-layout/TableWrap.js.map +1 -1
  73. package/lib/vtx-page-layout/container.js +6 -6
  74. package/lib/vtx-page-layout/container.js.map +1 -1
  75. package/lib/vtx-rps-frame/index.js +29 -23
  76. package/lib/vtx-rps-frame/index.js.map +1 -1
  77. package/lib/vtx-scrollable-row/index.js +23 -25
  78. package/lib/vtx-scrollable-row/index.js.map +1 -1
  79. package/lib/vtx-search/VtxCol.js +2 -2
  80. package/lib/vtx-search/VtxCol.js.map +1 -1
  81. package/lib/vtx-search/VtxRow.js.map +1 -1
  82. package/lib/vtx-search/index.js +11 -11
  83. package/lib/vtx-search/index.js.map +1 -1
  84. package/lib/vtx-search-map-input/index.js +4 -4
  85. package/lib/vtx-search-map-input/index.js.map +1 -1
  86. package/lib/vtx-select/index.js +10 -8
  87. package/lib/vtx-select/index.js.map +1 -1
  88. package/lib/vtx-signature/index.js +3 -3
  89. package/lib/vtx-signature/index.js.map +1 -1
  90. package/lib/vtx-split-pane/Pane.js +5 -5
  91. package/lib/vtx-split-pane/Pane.js.map +1 -1
  92. package/lib/vtx-split-pane/Resizer.js +7 -7
  93. package/lib/vtx-split-pane/Resizer.js.map +1 -1
  94. package/lib/vtx-split-pane/SplitPane.js +26 -20
  95. package/lib/vtx-split-pane/SplitPane.js.map +1 -1
  96. package/lib/vtx-statistics-column/Back.js.map +1 -1
  97. package/lib/vtx-statistics-column/Item.js +5 -5
  98. package/lib/vtx-statistics-column/Item.js.map +1 -1
  99. package/lib/vtx-statistics-column/Total.js +5 -5
  100. package/lib/vtx-statistics-column/Total.js.map +1 -1
  101. package/lib/vtx-statistics-column/index.js.map +1 -1
  102. package/lib/vtx-time-picker/index.js +3 -1
  103. package/lib/vtx-time-picker/index.js.map +1 -1
  104. package/lib/vtx-upload/FilePreview.js +5 -5
  105. package/lib/vtx-upload/FilePreview.js.map +1 -1
  106. package/lib/vtx-upload/index.js +18 -17
  107. package/lib/vtx-upload/index.js.map +1 -1
  108. package/lib/vtx-ztree/index.js +6 -6
  109. package/lib/vtx-ztree/index.js.map +1 -1
  110. package/lib/vtx-ztree-select/index.js +30 -23
  111. package/lib/vtx-ztree-select/index.js.map +1 -1
  112. package/package.json +3 -2
  113. package/lib/vtx-date-picker/YearPicker.js +0 -84
  114. package/lib/vtx-date-picker/YearPicker.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-combogrid/index.jsx"],"names":["VtxCombogrid","props","ref","selectedRowKeys","setSelectedRowKeys","visible","setVisible","comboRef","className","style","placeholder","prefixCls","value","allowClear","defaultSelectedRowKeys","rest","join","reset","current","clear","e","target","onChange","React","forwardRef","propTypes","PropTypes","string","bool","object","array"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\n\nimport Input from 'antd/es/input';\nimport Popover from 'antd/es/popover';\nimport PropTypes from 'prop-types';\nimport Combogrid from './Combogrid';\n\nfunction VtxCombogrid(props, ref) {\n const [selectedRowKeys, setSelectedRowKeys] = useState(() => {\n return [];\n });\n const [visible, setVisible] = useState(false);\n const comboRef = useRef();\n const {\n className,\n style,\n placeholder,\n prefixCls = 'vtx-combogrid',\n value,\n allowClear = true,\n selectedRowKeys: defaultSelectedRowKeys = [],\n ...rest\n } = props;\n\n useEffect(() => {\n setSelectedRowKeys(defaultSelectedRowKeys);\n }, [defaultSelectedRowKeys.join(',')]);\n\n // 暴露给父组件使用\n useImperativeHandle(ref, () => ({\n // 重置\n reset() {\n comboRef.current && comboRef.current.clear();\n },\n }));\n\n return (\n <Popover\n content={\n <Combogrid\n {...rest}\n selectedRowKeys={selectedRowKeys}\n defaultSelectedRowKeys={defaultSelectedRowKeys}\n setSelectedRowKeys={setSelectedRowKeys}\n setPopoverVisible={setVisible}\n prefixCls={prefixCls}\n wrappedComponentRef={comboRef}\n />\n }\n placement=\"bottomLeft\"\n trigger=\"click\"\n visible={visible}\n onVisibleChange={visible => setVisible(visible)}\n overlayClassName={`${prefixCls}-dropdown`}\n >\n <Input\n value={value}\n allowClear={allowClear}\n onClick={() => setVisible(true)}\n onChange={e => {\n // 只对清空产生值的变化做处理\n if (!e.target.value) {\n rest.onChange && rest.onChange();\n setSelectedRowKeys([]);\n }\n }}\n className={className}\n style={style}\n placeholder={placeholder}\n />\n </Popover>\n );\n}\n\nexport default React.forwardRef(VtxCombogrid);\n\nVtxCombogrid.propTypes = {\n prefixCls: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n allowClear: PropTypes.bool,\n className: PropTypes.string,\n style: PropTypes.object,\n selectedRowKeys: PropTypes.array,\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-combogrid/index.jsx"],"names":["VtxCombogrid","props","ref","selectedRowKeys","setSelectedRowKeys","visible","setVisible","comboRef","className","style","placeholder","prefixCls","value","allowClear","defaultSelectedRowKeys","rest","join","reset","current","clear","e","target","onChange","React","forwardRef","propTypes","PropTypes","string","bool","object","array"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAASA,YAAT,CAAsBC,KAAtB,EAA6BC,GAA7B,EAAkC;AAC9B,kBAA8C,qBAAS,YAAM;AACzD,WAAO,EAAP;AACH,GAF6C,CAA9C;AAAA;AAAA,MAAOC,eAAP;AAAA,MAAwBC,kBAAxB;;AAGA,mBAA8B,qBAAS,KAAT,CAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,MAAMC,QAAQ,GAAG,oBAAjB;;AACA,MACIC,SADJ,GASIP,KATJ,CACIO,SADJ;AAAA,MAEIC,KAFJ,GASIR,KATJ,CAEIQ,KAFJ;AAAA,MAGIC,WAHJ,GASIT,KATJ,CAGIS,WAHJ;AAAA,yBASIT,KATJ,CAIIU,SAJJ;AAAA,MAIIA,SAJJ,iCAIgB,eAJhB;AAAA,MAKIC,KALJ,GASIX,KATJ,CAKIW,KALJ;AAAA,0BASIX,KATJ,CAMIY,UANJ;AAAA,MAMIA,UANJ,kCAMiB,IANjB;AAAA,8BASIZ,KATJ,CAOIE,eAPJ;AAAA,MAOqBW,sBAPrB,sCAO8C,EAP9C;AAAA,MAQOC,IARP,4BASId,KATJ;;AAWA,wBAAU,YAAM;AACZG,IAAAA,kBAAkB,CAACU,sBAAD,CAAlB;AACH,GAFD,EAEG,CAACA,sBAAsB,CAACE,IAAvB,CAA4B,GAA5B,CAAD,CAFH,EAjB8B,CAqB9B;;AACA,kCAAoBd,GAApB,EAAyB;AAAA,WAAO;AAC5B;AACAe,MAAAA,KAF4B,mBAEpB;AACJV,QAAAA,QAAQ,CAACW,OAAT,IAAoBX,QAAQ,CAACW,OAAT,CAAiBC,KAAjB,EAApB;AACH;AAJ2B,KAAP;AAAA,GAAzB;AAOA,sBACI,gCAAC,mBAAD;AACI,IAAA,OAAO,eACH,gCAAC,qBAAD,eACQJ,IADR;AAEI,MAAA,eAAe,EAAEZ,eAFrB;AAGI,MAAA,sBAAsB,EAAEW,sBAH5B;AAII,MAAA,kBAAkB,EAAEV,kBAJxB;AAKI,MAAA,iBAAiB,EAAEE,UALvB;AAMI,MAAA,SAAS,EAAEK,SANf;AAOI,MAAA,GAAG,EAAEJ;AAPT,OAFR;AAYI,IAAA,SAAS,EAAC,YAZd;AAaI,IAAA,OAAO,EAAC,OAbZ;AAcI,IAAA,OAAO,EAAEF,OAdb;AAeI,IAAA,eAAe,EAAE,yBAAAA,OAAO;AAAA,aAAIC,UAAU,CAACD,OAAD,CAAd;AAAA,KAf5B;AAgBI,IAAA,gBAAgB,YAAKM,SAAL;AAhBpB,kBAkBI,gCAAC,iBAAD;AACI,IAAA,KAAK,EAAEC,KADX;AAEI,IAAA,UAAU,EAAEC,UAFhB;AAGI,IAAA,OAAO,EAAE;AAAA,aAAMP,UAAU,CAAC,IAAD,CAAhB;AAAA,KAHb;AAII,IAAA,QAAQ,EAAE,kBAAAc,CAAC,EAAI;AACX;AACA,UAAI,CAACA,CAAC,CAACC,MAAF,CAAST,KAAd,EAAqB;AACjBG,QAAAA,IAAI,CAACO,QAAL,IAAiBP,IAAI,CAACO,QAAL,EAAjB;AACAlB,QAAAA,kBAAkB,CAAC,EAAD,CAAlB;AACH;AACJ,KAVL;AAWI,IAAA,SAAS,EAAEI,SAXf;AAYI,IAAA,KAAK,EAAEC,KAZX;AAaI,IAAA,WAAW,EAAEC;AAbjB,IAlBJ,CADJ;AAoCH;;4BAEca,kBAAMC,UAAN,CAAiBxB,YAAjB,C;;;AAEfA,YAAY,CAACyB,SAAb,GAAyB;AACrBd,EAAAA,SAAS,EAAEe,sBAAUC,MADA;AAErBjB,EAAAA,WAAW,EAAEgB,sBAAUC,MAFF;AAGrBf,EAAAA,KAAK,EAAEc,sBAAUC,MAHI;AAIrBd,EAAAA,UAAU,EAAEa,sBAAUE,IAJD;AAKrBpB,EAAAA,SAAS,EAAEkB,sBAAUC,MALA;AAMrBlB,EAAAA,KAAK,EAAEiB,sBAAUG,MANI;AAOrB1B,EAAAA,eAAe,EAAEuB,sBAAUI;AAPN,CAAzB","sourcesContent":["import React, { useState, useEffect, useRef, useImperativeHandle } from 'react';\n\nimport Input from 'antd/es/input';\nimport Popover from 'antd/es/popover';\nimport PropTypes from 'prop-types';\nimport Combogrid from './Combogrid';\n\nfunction VtxCombogrid(props, ref) {\n const [selectedRowKeys, setSelectedRowKeys] = useState(() => {\n return [];\n });\n const [visible, setVisible] = useState(false);\n const comboRef = useRef();\n const {\n className,\n style,\n placeholder,\n prefixCls = 'vtx-combogrid',\n value,\n allowClear = true,\n selectedRowKeys: defaultSelectedRowKeys = [],\n ...rest\n } = props;\n\n useEffect(() => {\n setSelectedRowKeys(defaultSelectedRowKeys);\n }, [defaultSelectedRowKeys.join(',')]);\n\n // 暴露给父组件使用\n useImperativeHandle(ref, () => ({\n // 重置\n reset() {\n comboRef.current && comboRef.current.clear();\n },\n }));\n\n return (\n <Popover\n content={\n <Combogrid\n {...rest}\n selectedRowKeys={selectedRowKeys}\n defaultSelectedRowKeys={defaultSelectedRowKeys}\n setSelectedRowKeys={setSelectedRowKeys}\n setPopoverVisible={setVisible}\n prefixCls={prefixCls}\n ref={comboRef}\n />\n }\n placement=\"bottomLeft\"\n trigger=\"click\"\n visible={visible}\n onVisibleChange={visible => setVisible(visible)}\n overlayClassName={`${prefixCls}-dropdown`}\n >\n <Input\n value={value}\n allowClear={allowClear}\n onClick={() => setVisible(true)}\n onChange={e => {\n // 只对清空产生值的变化做处理\n if (!e.target.value) {\n rest.onChange && rest.onChange();\n setSelectedRowKeys([]);\n }\n }}\n className={className}\n style={style}\n placeholder={placeholder}\n />\n </Popover>\n );\n}\n\nexport default React.forwardRef(VtxCombogrid);\n\nVtxCombogrid.propTypes = {\n prefixCls: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n allowClear: PropTypes.bool,\n className: PropTypes.string,\n style: PropTypes.object,\n selectedRowKeys: PropTypes.array,\n};\n"],"file":"index.js"}
@@ -5,7 +5,7 @@
5
5
  margin-bottom: 12px;
6
6
  }
7
7
  .vtx-combogrid-btns {
8
- line-height: 40px;
8
+ line-height: 32px;
9
9
  }
10
10
  .vtx-combogrid-btns button + button {
11
11
  margin-left: 4px;
@@ -8,7 +8,7 @@
8
8
  }
9
9
  }
10
10
  &-btns {
11
- line-height: 40px;
11
+ line-height: 32px;
12
12
  button + button {
13
13
  margin-left: 4px;
14
14
  }
@@ -17,7 +17,7 @@ function TableAlert(_ref) {
17
17
  var prefixCls = _ref.prefixCls,
18
18
  _ref$selectedRowKeys = _ref.selectedRowKeys,
19
19
  selectedRowKeys = _ref$selectedRowKeys === void 0 ? [] : _ref$selectedRowKeys,
20
- claerRowSelection = _ref.claerRowSelection;
20
+ onRowSelectionClear = _ref.onRowSelectionClear;
21
21
 
22
22
  var message = /*#__PURE__*/_react["default"].createElement("div", {
23
23
  className: "".concat(prefixCls, "-alert-message")
@@ -25,7 +25,7 @@ function TableAlert(_ref) {
25
25
  className: "".concat(prefixCls, "-alert-info-content")
26
26
  }, "\u5DF2\u9009\u62E9", /*#__PURE__*/_react["default"].createElement("strong", null, selectedRowKeys.length), "\u9879"), /*#__PURE__*/_react["default"].createElement("a", {
27
27
  className: "".concat(prefixCls, "-alert-info-option"),
28
- onClick: claerRowSelection
28
+ onClick: onRowSelectionClear
29
29
  }, "\u6E05\u7A7A\u9009\u62E9"));
30
30
 
31
31
  return /*#__PURE__*/_react["default"].createElement(_alert["default"], {
@@ -40,6 +40,6 @@ exports["default"] = _default;
40
40
  TableAlert.propTypes = {
41
41
  prefixCls: _propTypes["default"].string,
42
42
  selectedRowKeys: _propTypes["default"].array,
43
- claerRowSelection: _propTypes["default"].func
43
+ onRowSelectionClear: _propTypes["default"].func
44
44
  };
45
45
  //# sourceMappingURL=Alert.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-datagrid/Alert.jsx"],"names":["TableAlert","prefixCls","selectedRowKeys","claerRowSelection","message","length","propTypes","PropTypes","string","array","func"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,SAASA,UAAT,OAA4E;AAAA,MAAtDC,SAAsD,QAAtDA,SAAsD;AAAA,kCAA3CC,eAA2C;AAAA,MAA3CA,eAA2C,qCAAzB,EAAyB;AAAA,MAArBC,iBAAqB,QAArBA,iBAAqB;;AACxE,MAAMC,OAAO,gBACT;AAAK,IAAA,SAAS,YAAKH,SAAL;AAAd,kBACI;AAAM,IAAA,SAAS,YAAKA,SAAL;AAAf,wCACO,gDAASC,eAAe,CAACG,MAAzB,CADP,WADJ,eAII;AAAG,IAAA,SAAS,YAAKJ,SAAL,uBAAZ;AAAgD,IAAA,OAAO,EAAEE;AAAzD,gCAJJ,CADJ;;AAUA,sBAAO,gCAAC,iBAAD;AAAO,IAAA,IAAI,EAAC,MAAZ;AAAmB,IAAA,QAAQ,MAA3B;AAA4B,IAAA,OAAO,EAAEC;AAArC,IAAP;AACH;;eAEcJ,U;;AAEfA,UAAU,CAACM,SAAX,GAAuB;AACnBL,EAAAA,SAAS,EAAEM,sBAAUC,MADF;AAEnBN,EAAAA,eAAe,EAAEK,sBAAUE,KAFR;AAGnBN,EAAAA,iBAAiB,EAAEI,sBAAUG;AAHV,CAAvB","sourcesContent":["import React from 'react';\nimport Alert from 'antd/es/alert';\nimport PropTypes from 'prop-types';\n\nfunction TableAlert({ prefixCls, selectedRowKeys = [], claerRowSelection }) {\n const message = (\n <div className={`${prefixCls}-alert-message`}>\n <span className={`${prefixCls}-alert-info-content`}>\n 已选择<strong>{selectedRowKeys.length}</strong>项\n </span>\n <a className={`${prefixCls}-alert-info-option`} onClick={claerRowSelection}>\n 清空选择\n </a>\n </div>\n );\n return <Alert type=\"info\" showIcon message={message} />;\n}\n\nexport default TableAlert;\n\nTableAlert.propTypes = {\n prefixCls: PropTypes.string,\n selectedRowKeys: PropTypes.array,\n claerRowSelection: PropTypes.func,\n};\n"],"file":"Alert.js"}
1
+ {"version":3,"sources":["vtx-datagrid/Alert.jsx"],"names":["TableAlert","prefixCls","selectedRowKeys","onRowSelectionClear","message","length","propTypes","PropTypes","string","array","func"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,SAASA,UAAT,OAA8E;AAAA,MAAxDC,SAAwD,QAAxDA,SAAwD;AAAA,kCAA7CC,eAA6C;AAAA,MAA7CA,eAA6C,qCAA3B,EAA2B;AAAA,MAAvBC,mBAAuB,QAAvBA,mBAAuB;;AAC1E,MAAMC,OAAO,gBACT;AAAK,IAAA,SAAS,YAAKH,SAAL;AAAd,kBACI;AAAM,IAAA,SAAS,YAAKA,SAAL;AAAf,wCACO,gDAASC,eAAe,CAACG,MAAzB,CADP,WADJ,eAII;AAAG,IAAA,SAAS,YAAKJ,SAAL,uBAAZ;AAAgD,IAAA,OAAO,EAAEE;AAAzD,gCAJJ,CADJ;;AAUA,sBAAO,gCAAC,iBAAD;AAAO,IAAA,IAAI,EAAC,MAAZ;AAAmB,IAAA,QAAQ,MAA3B;AAA4B,IAAA,OAAO,EAAEC;AAArC,IAAP;AACH;;eAEcJ,U;;AAEfA,UAAU,CAACM,SAAX,GAAuB;AACnBL,EAAAA,SAAS,EAAEM,sBAAUC,MADF;AAEnBN,EAAAA,eAAe,EAAEK,sBAAUE,KAFR;AAGnBN,EAAAA,mBAAmB,EAAEI,sBAAUG;AAHZ,CAAvB","sourcesContent":["import React from 'react';\nimport Alert from 'antd/es/alert';\nimport PropTypes from 'prop-types';\n\nfunction TableAlert({ prefixCls, selectedRowKeys = [], onRowSelectionClear }) {\n const message = (\n <div className={`${prefixCls}-alert-message`}>\n <span className={`${prefixCls}-alert-info-content`}>\n 已选择<strong>{selectedRowKeys.length}</strong>项\n </span>\n <a className={`${prefixCls}-alert-info-option`} onClick={onRowSelectionClear}>\n 清空选择\n </a>\n </div>\n );\n return <Alert type=\"info\" showIcon message={message} />;\n}\n\nexport default TableAlert;\n\nTableAlert.propTypes = {\n prefixCls: PropTypes.string,\n selectedRowKeys: PropTypes.array,\n onRowSelectionClear: PropTypes.func,\n};\n"],"file":"Alert.js"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -11,6 +11,10 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _popover = _interopRequireDefault(require("antd/es/popover"));
13
13
 
14
+ var _divider = _interopRequireDefault(require("antd/es/divider"));
15
+
16
+ var _button = _interopRequireDefault(require("antd/es/button"));
17
+
14
18
  var _checkbox = _interopRequireDefault(require("antd/es/checkbox"));
15
19
 
16
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -19,15 +23,15 @@ var _useSet3 = _interopRequireDefault(require("../_util/useSet"));
19
23
 
20
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
25
 
22
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
26
+ 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); }
23
27
 
24
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
29
 
26
30
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
27
31
 
28
32
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
29
33
 
30
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
34
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
31
35
 
32
36
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
33
37
 
@@ -39,7 +43,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
39
43
 
40
44
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
41
45
 
42
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
46
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
43
47
 
44
48
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
49
 
@@ -56,7 +60,10 @@ function ColumnSetting(props) {
56
60
  checkedColumnKeys = props.checkedColumnKeys,
57
61
  columnSettingOptions = props.columnSettingOptions,
58
62
  onChange = props.onChange,
59
- onReset = props.onReset;
63
+ onReset = props.onReset,
64
+ _props$disabledColumn = props.disabledColumnKeys,
65
+ disabledColumnKeys = _props$disabledColumn === void 0 ? [] : _props$disabledColumn,
66
+ onColumnsSave = props.onColumnsSave;
60
67
  (0, _react.useEffect)(function () {
61
68
  var chkLen = checkedColumnKeys === null || checkedColumnKeys === void 0 ? void 0 : checkedColumnKeys.length;
62
69
  var optionLen = columnSettingOptions === null || columnSettingOptions === void 0 ? void 0 : columnSettingOptions.length;
@@ -85,6 +92,13 @@ function ColumnSetting(props) {
85
92
  }) : [];
86
93
  onChange(newCheckedColumnKeys);
87
94
  }
95
+ }; // 保存按钮
96
+
97
+
98
+ var onSaveChange = function onSaveChange() {
99
+ if (onChange) {
100
+ onColumnsSave(checkedColumnKeys);
101
+ }
88
102
  };
89
103
 
90
104
  return /*#__PURE__*/_react["default"].createElement(_popover["default"], {
@@ -112,9 +126,19 @@ function ColumnSetting(props) {
112
126
  checked: checkedColumnKeys === null || checkedColumnKeys === void 0 ? void 0 : checkedColumnKeys.includes(key),
113
127
  onChange: function onChange(e) {
114
128
  return onCheckChange(e, key);
115
- }
129
+ },
130
+ disabled: disabledColumnKeys.includes(key)
116
131
  }, opt.title));
117
- }))
132
+ }), typeof onColumnsSave === 'function' ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_divider["default"], {
133
+ style: {
134
+ margin: '5px 0 10px 0'
135
+ }
136
+ }), /*#__PURE__*/_react["default"].createElement(_button["default"], {
137
+ block: true,
138
+ onClick: function onClick() {
139
+ return onSaveChange();
140
+ }
141
+ }, "\u4FDD\u5B58")) : null)
118
142
  }, props.children);
119
143
  }
120
144
 
@@ -124,6 +148,8 @@ ColumnSetting.propTypes = {
124
148
  columnSettingOptions: _propTypes["default"].array,
125
149
  children: _propTypes["default"].node,
126
150
  onChange: _propTypes["default"].func,
127
- onReset: _propTypes["default"].func
151
+ onReset: _propTypes["default"].func,
152
+ disabledColumnKeys: _propTypes["default"].array,
153
+ onColumnsSave: _propTypes["default"].func
128
154
  };
129
155
  //# sourceMappingURL=ColumnSetting.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-datagrid/ColumnSetting.jsx"],"names":["ColumnSetting","props","indeterminate","checkAll","state","setState","prefixCls","checkedColumnKeys","columnSettingOptions","onChange","onReset","chkLen","length","optionLen","onCheckChange","e","key","newCheckedColumnKeys","target","checked","filter","item","onCheckAllChange","map","opt","dataIndex","includes","title","children","propTypes","PropTypes","string","array","node","func"],"mappings":"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","sourcesContent":["import React, { useEffect } from 'react';\nimport Popover from 'antd/es/popover';\nimport Checkbox from 'antd/es/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 { prefixCls, checkedColumnKeys, columnSettingOptions, onChange, onReset } = 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 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 >\n {opt.title}\n </Checkbox>\n </div>\n );\n })}\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};\n"],"file":"ColumnSetting.js"}
1
+ {"version":3,"sources":["vtx-datagrid/ColumnSetting.jsx"],"names":["ColumnSetting","props","indeterminate","checkAll","state","setState","prefixCls","checkedColumnKeys","columnSettingOptions","onChange","onReset","disabledColumnKeys","onColumnsSave","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"],"mappings":"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","sourcesContent":["import React, { useEffect } from 'react';\nimport Popover from 'antd/es/popover';\nimport Divider from 'antd/es/divider';\nimport Button from 'antd/es/button';\nimport Checkbox from 'antd/es/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"],"file":"ColumnSetting.js"}
@@ -11,6 +11,8 @@ var _reactResizable = require("react-resizable");
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
+ var _excluded = ["onResize", "width"];
15
+
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
17
 
16
18
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -20,7 +22,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
20
22
  var ResizeableTitle = function ResizeableTitle(props) {
21
23
  var onResize = props.onResize,
22
24
  width = props.width,
23
- restProps = _objectWithoutProperties(props, ["onResize", "width"]);
25
+ restProps = _objectWithoutProperties(props, _excluded);
24
26
 
25
27
  if (!width) {
26
28
  return /*#__PURE__*/_react["default"].createElement("th", restProps);
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-datagrid/ResizeableTitle.jsx"],"names":["ResizeableTitle","props","onResize","width","restProps","enableUserSelectHack","propTypes","PropTypes","func","number"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AAAA,MACrBC,QADqB,GACaD,KADb,CACrBC,QADqB;AAAA,MACXC,KADW,GACaF,KADb,CACXE,KADW;AAAA,MACDC,SADC,4BACaH,KADb;;AAG7B,MAAI,CAACE,KAAL,EAAY;AACR,wBAAO,sCAAQC,SAAR,CAAP;AACH;;AAED,sBACI,gCAAC,yBAAD;AACI,IAAA,KAAK,EAAED,KADX;AAEI,IAAA,MAAM,EAAE,CAFZ;AAGI,IAAA,QAAQ,EAAED,QAHd;AAII,IAAA,aAAa,EAAE;AAAEG,MAAAA,oBAAoB,EAAE;AAAxB;AAJnB,kBAMI,sCAAQD,SAAR,CANJ,CADJ;AAUH,CAjBD;;AAmBAJ,eAAe,CAACM,SAAhB,GAA4B;AACxBJ,EAAAA,QAAQ,EAAEK,sBAAUC,IADI;AAExBL,EAAAA,KAAK,EAAEI,sBAAUE;AAFO,CAA5B;eAKeT,e","sourcesContent":["import React from 'react';\nimport { Resizable } from 'react-resizable';\nimport PropTypes from 'prop-types';\n\nconst ResizeableTitle = props => {\n const { onResize, width, ...restProps } = props;\n\n if (!width) {\n return <th {...restProps} />;\n }\n\n return (\n <Resizable\n width={width}\n height={0}\n onResize={onResize}\n draggableOpts={{ enableUserSelectHack: false }}\n >\n <th {...restProps} />\n </Resizable>\n );\n};\n\nResizeableTitle.propTypes = {\n onResize: PropTypes.func,\n width: PropTypes.number,\n};\n\nexport default ResizeableTitle;\n"],"file":"ResizeableTitle.js"}
1
+ {"version":3,"sources":["vtx-datagrid/ResizeableTitle.jsx"],"names":["ResizeableTitle","props","onResize","width","restProps","enableUserSelectHack","propTypes","PropTypes","func","number"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AAC7B,MAAQC,QAAR,GAA0CD,KAA1C,CAAQC,QAAR;AAAA,MAAkBC,KAAlB,GAA0CF,KAA1C,CAAkBE,KAAlB;AAAA,MAA4BC,SAA5B,4BAA0CH,KAA1C;;AAEA,MAAI,CAACE,KAAL,EAAY;AACR,wBAAO,sCAAQC,SAAR,CAAP;AACH;;AAED,sBACI,gCAAC,yBAAD;AACI,IAAA,KAAK,EAAED,KADX;AAEI,IAAA,MAAM,EAAE,CAFZ;AAGI,IAAA,QAAQ,EAAED,QAHd;AAII,IAAA,aAAa,EAAE;AAAEG,MAAAA,oBAAoB,EAAE;AAAxB;AAJnB,kBAMI,sCAAQD,SAAR,CANJ,CADJ;AAUH,CAjBD;;AAmBAJ,eAAe,CAACM,SAAhB,GAA4B;AACxBJ,EAAAA,QAAQ,EAAEK,sBAAUC,IADI;AAExBL,EAAAA,KAAK,EAAEI,sBAAUE;AAFO,CAA5B;eAKeT,e","sourcesContent":["import React from 'react';\nimport { Resizable } from 'react-resizable';\nimport PropTypes from 'prop-types';\n\nconst ResizeableTitle = props => {\n const { onResize, width, ...restProps } = props;\n\n if (!width) {\n return <th {...restProps} />;\n }\n\n return (\n <Resizable\n width={width}\n height={0}\n onResize={onResize}\n draggableOpts={{ enableUserSelectHack: false }}\n >\n <th {...restProps} />\n </Resizable>\n );\n};\n\nResizeableTitle.propTypes = {\n onResize: PropTypes.func,\n width: PropTypes.number,\n};\n\nexport default ResizeableTitle;\n"],"file":"ResizeableTitle.js"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -9,9 +9,11 @@ exports["default"] = VtxDatagrid;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _table = _interopRequireDefault(require("antd/es/table"));
12
+ var _classnames2 = _interopRequireDefault(require("classnames"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
15
 
14
- var _icon = _interopRequireDefault(require("antd/es/icon"));
16
+ var _table = _interopRequireDefault(require("antd/es/table"));
15
17
 
16
18
  var _tooltip = _interopRequireDefault(require("antd/es/tooltip"));
17
19
 
@@ -21,9 +23,11 @@ var _menu = _interopRequireDefault(require("antd/es/menu"));
21
23
 
22
24
  var _empty = _interopRequireDefault(require("antd/es/empty"));
23
25
 
24
- var _classnames2 = _interopRequireDefault(require("classnames"));
26
+ var _RedoOutlined = _interopRequireDefault(require("@ant-design/icons/RedoOutlined"));
25
27
 
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
28
+ var _ColumnHeightOutlined = _interopRequireDefault(require("@ant-design/icons/ColumnHeightOutlined"));
29
+
30
+ var _SettingOutlined = _interopRequireDefault(require("@ant-design/icons/SettingOutlined"));
27
31
 
28
32
  var _Alert = _interopRequireDefault(require("./Alert"));
29
33
 
@@ -37,11 +41,13 @@ var _useSet3 = _interopRequireDefault(require("../_util/useSet"));
37
41
 
38
42
  var _isFunction = _interopRequireDefault(require("../_util/isFunction"));
39
43
 
44
+ var _excluded = ["prefixCls", "toolbar", "toolbarClassName", "toolbarTilte", "buttonGroup", "refreshIconVisible", "hideColumnSetting", "hideColumnHeight", "visibleColumnKeys", "defaultVisibleColumnKeys", "onVisibleColumnsChange", "onRefresh", "indexColumn", "indexFixed", "bordered", "indexTitle", "startIndex", "autoFit", "headFootHeight", "columnResizable", "className", "style", "emptyText", "onRowSelectionClear", "searchCollapseEvent$", "disabledColumnKeys", "onColumnsSave"];
45
+
40
46
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
41
47
 
42
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
48
+ 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); }
43
49
 
44
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
50
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
51
 
46
52
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
47
53
 
@@ -49,13 +55,13 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
49
55
 
50
56
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
51
57
 
52
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
58
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
53
59
 
54
60
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
55
61
 
56
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
62
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
57
63
 
58
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
64
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
59
65
 
60
66
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
61
67
 
@@ -71,10 +77,12 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
71
77
 
72
78
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
73
79
 
74
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
80
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
75
81
 
76
82
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
77
83
 
84
+ var isMac = navigator.userAgent.indexOf('Mac OS') !== -1;
85
+
78
86
  function VtxDatagrid(props) {
79
87
  var _rest$rowSelection, _rest$rowSelection2, _dataSource2, _classnames, _rest$rowSelection3;
80
88
 
@@ -139,9 +147,11 @@ function VtxDatagrid(props) {
139
147
  style = props.style,
140
148
  _props$emptyText = props.emptyText,
141
149
  emptyText = _props$emptyText === void 0 ? '暂无数据' : _props$emptyText,
142
- claerRowSelection = props.claerRowSelection,
150
+ onRowSelectionClear = props.onRowSelectionClear,
143
151
  searchCollapseEvent$ = props.searchCollapseEvent$,
144
- rest = _objectWithoutProperties(props, ["prefixCls", "toolbar", "toolbarClassName", "toolbarTilte", "buttonGroup", "refreshIconVisible", "hideColumnSetting", "hideColumnHeight", "visibleColumnKeys", "defaultVisibleColumnKeys", "onVisibleColumnsChange", "onRefresh", "indexColumn", "indexFixed", "bordered", "indexTitle", "startIndex", "autoFit", "headFootHeight", "columnResizable", "className", "style", "emptyText", "claerRowSelection", "searchCollapseEvent$"]);
152
+ disabledColumnKeys = props.disabledColumnKeys,
153
+ onColumnsSave = props.onColumnsSave,
154
+ rest = _objectWithoutProperties(props, _excluded);
145
155
 
146
156
  (0, _react.useEffect)(function () {
147
157
  // componentDidMount
@@ -225,7 +235,7 @@ function VtxDatagrid(props) {
225
235
  var bodyHeight = document.getElementById(datagridId).clientHeight - headFootHeight - toolbarHeight.current - alertHeight.current;
226
236
  var divs = document.getElementById(datagridId).getElementsByTagName('div');
227
237
  var bodyDiv = Array.prototype.filter.call(divs, function (dom) {
228
- return dom.className == 'ant-table-body';
238
+ return dom.className.includes('ant-table-body') || dom.className.includes('ant-table-content');
229
239
  })[0];
230
240
  bodyDiv.style.minHeight = "".concat(bodyHeight, "px");
231
241
  setState({
@@ -265,9 +275,7 @@ function VtxDatagrid(props) {
265
275
  }
266
276
  }, /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
267
277
  title: "\u5237\u65B0"
268
- }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
269
- type: "redo"
270
- }))), !hideColumnHeight && /*#__PURE__*/_react["default"].createElement("div", {
278
+ }, /*#__PURE__*/_react["default"].createElement(_RedoOutlined["default"], null))), !hideColumnHeight && /*#__PURE__*/_react["default"].createElement("div", {
271
279
  className: "".concat(prefixCls, "-toolbar-setting-item")
272
280
  }, /*#__PURE__*/_react["default"].createElement(_dropdown["default"], {
273
281
  overlay: /*#__PURE__*/_react["default"].createElement(_menu["default"], {
@@ -288,9 +296,7 @@ function VtxDatagrid(props) {
288
296
  trigger: ['click']
289
297
  }, /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
290
298
  title: "\u5217\u5BC6\u5EA6"
291
- }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
292
- type: "column-height"
293
- })))), !hideColumnSetting && /*#__PURE__*/_react["default"].createElement("div", {
299
+ }, /*#__PURE__*/_react["default"].createElement(_ColumnHeightOutlined["default"], null)))), !hideColumnSetting && /*#__PURE__*/_react["default"].createElement("div", {
294
300
  className: "".concat(prefixCls, "-toolbar-setting-item")
295
301
  }, /*#__PURE__*/_react["default"].createElement(_ColumnSetting["default"], {
296
302
  prefixCls: prefixCls,
@@ -299,12 +305,12 @@ function VtxDatagrid(props) {
299
305
  onChange: handleChangeColumns,
300
306
  onReset: function onReset() {
301
307
  return parseColumns('reset');
302
- }
308
+ },
309
+ disabledColumnKeys: disabledColumnKeys,
310
+ onColumnsSave: onColumnsSave
303
311
  }, /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
304
312
  title: "\u5217\u8BBE\u7F6E"
305
- }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
306
- type: "setting"
307
- })))))));
313
+ }, /*#__PURE__*/_react["default"].createElement(_SettingOutlined["default"], null)))))));
308
314
  } // 分页
309
315
 
310
316
 
@@ -405,14 +411,14 @@ function VtxDatagrid(props) {
405
411
 
406
412
  return /*#__PURE__*/_react["default"].createElement("div", {
407
413
  id: datagridId,
408
- className: (0, _classnames2["default"])(prefixCls, className, (_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-fit"), autoFit), _defineProperty(_classnames, "".concat(prefixCls, "-nodata"), !((_dataSource2 = dataSource) !== null && _dataSource2 !== void 0 && _dataSource2.length)), _classnames)),
414
+ className: (0, _classnames2["default"])(prefixCls, className, (_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-fit"), autoFit), _defineProperty(_classnames, "".concat(prefixCls, "-nodata"), !((_dataSource2 = dataSource) !== null && _dataSource2 !== void 0 && _dataSource2.length)), _defineProperty(_classnames, "".concat(prefixCls, "-userAgent-mac"), isMac), _classnames)),
409
415
  style: style
410
416
  }, toolbarRender, hasAlert && /*#__PURE__*/_react["default"].createElement("div", {
411
417
  className: "".concat(prefixCls, "-alert")
412
418
  }, /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
413
419
  prefixCls: prefixCls,
414
420
  selectedRowKeys: (_rest$rowSelection3 = rest.rowSelection) === null || _rest$rowSelection3 === void 0 ? void 0 : _rest$rowSelection3.selectedRowKeys,
415
- claerRowSelection: claerRowSelection
421
+ onRowSelectionClear: onRowSelectionClear
416
422
  })), /*#__PURE__*/_react["default"].createElement(_table["default"], _extends({
417
423
  size: size,
418
424
  bordered: bordered
@@ -459,9 +465,11 @@ VtxDatagrid.propTypes = {
459
465
  headFootHeight: _propTypes["default"].number,
460
466
  columnResizable: _propTypes["default"].bool,
461
467
  emptyText: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
462
- claerRowSelection: _propTypes["default"].func,
468
+ onRowSelectionClear: _propTypes["default"].func,
463
469
  searchCollapseEvent$: _propTypes["default"].object,
464
470
  className: _propTypes["default"].string,
465
- style: _propTypes["default"].object
471
+ style: _propTypes["default"].object,
472
+ disabledColumnKeys: _propTypes["default"].array,
473
+ onColumnsSave: _propTypes["default"].func
466
474
  };
467
475
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-datagrid/index.jsx"],"names":["VtxDatagrid","props","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","state","setState","alertHeight","toolbarHeight","prefixCls","toolbar","toolbarClassName","toolbarTilte","buttonGroup","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","indexColumn","indexFixed","bordered","indexTitle","startIndex","autoFit","headFootHeight","columnResizable","className","style","emptyText","claerRowSelection","searchCollapseEvent$","rest","window","addEventListener","calculateHeight","removeEventListener","rowSelection","selectedRowKeys","join","useSubscription","timer","setTimeout","clearTimeout","parseColumns","columns","map","col","key","dataIndex","type","columnKeys","filter","item","includes","hasAlert","length","current","bodyHeight","document","getElementById","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","call","dom","minHeight","handleChangeColumns","keys","toolbarRender","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","text","record","index","undefined","onHeaderCell","width","onResize","handleResize","e","nextColumns","dataSource","title","fixed","i","_serialNum","scroll","y","height","locale","header","cell","ResizeableTitle","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","object"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEe,SAASA,WAAT,CAAqBC,KAArB,EAA4B;AAAA;;AAAA,gBACb,yBAAO;AAC7B;AACAC,IAAAA,cAAc,EAAE,EAFa;AAG7B;AACAC,IAAAA,iBAAiB,EAAE,EAJU;AAK7B;AACAC,IAAAA,oBAAoB,EAAE,EANO;AAO7BC,IAAAA,UAAU,yBAAkB,IAAIC,IAAJ,GAAWC,OAAX,EAAlB,CAPmB;AAQ7BC,IAAAA,OAAO,EAAE,IARoB;AAS7BC,IAAAA,IAAI,EAAE;AATuB,GAAP,CADa;AAAA;AAAA,MAChCC,KADgC;AAAA,MACzBC,QADyB;;AAAA,MAanCT,cAbmC,GAmBnCQ,KAnBmC,CAanCR,cAbmC;AAAA,MAcnCC,iBAdmC,GAmBnCO,KAnBmC,CAcnCP,iBAdmC;AAAA,MAenCC,oBAfmC,GAmBnCM,KAnBmC,CAenCN,oBAfmC;AAAA,MAgBnCC,UAhBmC,GAmBnCK,KAnBmC,CAgBnCL,UAhBmC;AAAA,MAiBnCG,OAjBmC,GAmBnCE,KAnBmC,CAiBnCF,OAjBmC;AAAA,MAkBnCC,IAlBmC,GAmBnCC,KAnBmC,CAkBnCD,IAlBmC,EAqBvC;;AACA,MAAMG,WAAW,GAAG,mBAAO,CAAP,CAApB,CAtBuC,CAuBvC;;AACA,MAAMC,aAAa,GAAG,mBAAO,CAAP,CAAtB;;AAxBuC,yBAqDnCZ,KArDmC,CA2BnCa,SA3BmC;AAAA,MA2BnCA,SA3BmC,iCA2BvB,cA3BuB;AAAA,uBAqDnCb,KArDmC,CA4BnCc,OA5BmC;AAAA,MA4BnCA,OA5BmC,+BA4BzB,IA5ByB;AAAA,MA6BnCC,gBA7BmC,GAqDnCf,KArDmC,CA6BnCe,gBA7BmC;AAAA,4BAqDnCf,KArDmC,CA8BnCgB,YA9BmC;AAAA,MA8BnCA,YA9BmC,oCA8BpB,MA9BoB;AAAA,MA+BnCC,WA/BmC,GAqDnCjB,KArDmC,CA+BnCiB,WA/BmC;AAAA,8BAqDnCjB,KArDmC,CAgCnCkB,kBAhCmC;AAAA,MAgCnCA,kBAhCmC,sCAgCd,IAhCc;AAAA,MAiCnCC,iBAjCmC,GAqDnCnB,KArDmC,CAiCnCmB,iBAjCmC;AAAA,MAkCnCC,gBAlCmC,GAqDnCpB,KArDmC,CAkCnCoB,gBAlCmC;AAAA,MAmCnCC,iBAnCmC,GAqDnCrB,KArDmC,CAmCnCqB,iBAnCmC;AAAA,MAoCnCC,wBApCmC,GAqDnCtB,KArDmC,CAoCnCsB,wBApCmC;AAAA,MAqCnCC,sBArCmC,GAqDnCvB,KArDmC,CAqCnCuB,sBArCmC;AAAA,MAsCnCC,SAtCmC,GAqDnCxB,KArDmC,CAsCnCwB,SAtCmC;AAAA,2BAqDnCxB,KArDmC,CAuCnCyB,WAvCmC;AAAA,MAuCnCA,WAvCmC,mCAuCrB,IAvCqB;AAAA,0BAqDnCzB,KArDmC,CAwCnC0B,UAxCmC;AAAA,MAwCnCA,UAxCmC,kCAwCtB,KAxCsB;AAAA,wBAqDnC1B,KArDmC,CAyCnC2B,QAzCmC;AAAA,MAyCnCA,QAzCmC,gCAyCxB,IAzCwB;AAAA,0BAqDnC3B,KArDmC,CA0CnC4B,UA1CmC;AAAA,MA0CnCA,UA1CmC,kCA0CtB,IA1CsB;AAAA,0BAqDnC5B,KArDmC,CA2CnC6B,UA3CmC;AAAA,MA2CnCA,UA3CmC,kCA2CtB,CA3CsB;AAAA,uBAqDnC7B,KArDmC,CA4CnC8B,OA5CmC;AAAA,MA4CnCA,OA5CmC,+BA4CzB,IA5CyB;AAAA,8BAqDnC9B,KArDmC,CA6CnC+B,cA7CmC;AAAA,MA6CnCA,cA7CmC,sCA6ClB,GA7CkB;AAAA,MA8CnCC,eA9CmC,GAqDnChC,KArDmC,CA8CnCgC,eA9CmC;AAAA,MA+CnCC,SA/CmC,GAqDnCjC,KArDmC,CA+CnCiC,SA/CmC;AAAA,MAgDnCC,KAhDmC,GAqDnClC,KArDmC,CAgDnCkC,KAhDmC;AAAA,yBAqDnClC,KArDmC,CAiDnCmC,SAjDmC;AAAA,MAiDnCA,SAjDmC,iCAiDvB,MAjDuB;AAAA,MAkDnCC,iBAlDmC,GAqDnCpC,KArDmC,CAkDnCoC,iBAlDmC;AAAA,MAmDnCC,oBAnDmC,GAqDnCrC,KArDmC,CAmDnCqC,oBAnDmC;AAAA,MAoDhCC,IApDgC,4BAqDnCtC,KArDmC;;AAuDvC,wBAAU,YAAM;AACZ;AACA,QAAI8B,OAAJ,EAAa;AACTS,MAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCC,eAAlC,EAAmD,KAAnD;AACH;;AACD,WAAO,YAAM;AACT;AACA,UAAIX,OAAJ,EAAa;AACTS,QAAAA,MAAM,CAACG,mBAAP,CAA2B,QAA3B,EAAqCD,eAArC,EAAsD,KAAtD;AACH;AACJ,KALD;AAMH,GAXD,EAWG,EAXH;AAaA,8BAAgB,YAAM;AAClB,QAAIX,OAAJ,EAAa;AACTW,MAAAA,eAAe;AAClB;AACJ,GAJD,EAIG,CAAC,CAAC,uBAAAH,IAAI,CAACK,YAAL,0EAAmBC,eAAnB,KAAsC,EAAvC,EAA2CC,IAA3C,CAAgD,GAAhD,CAAD,CAJH,EApEuC,CA0EvC;;AACA,MAAIR,oBAAJ,EAA0B;AACtB;AACAA,IAAAA,oBAAoB,CAACS,eAArB,CAAqC,YAAM;AACvC;AACA,UAAIC,KAAK,GAAGC,UAAU,CAAC,YAAM;AACzBP,QAAAA,eAAe;AACfM,QAAAA,KAAK,GAAG,EAAR;AACAE,QAAAA,YAAY,CAACF,KAAD,CAAZ;AACH,OAJqB,EAInB,GAJmB,CAAtB;AAKH,KAPD;AAQH;;AAED,wBAAU,YAAM;AAAA;;AACZG,IAAAA,YAAY;AACZxC,IAAAA,QAAQ,CAAC;AACLP,MAAAA,oBAAoB,mBAAEmC,IAAI,CAACa,OAAP,kDAAE,cAAcC,GAAd,CAAkB,UAAAC,GAAG;AAAA,+CACpCA,GADoC;AAEvCC,UAAAA,GAAG,EAAED,GAAG,CAACE,SAAJ,IAAiBF,GAAG,CAACC;AAFa;AAAA,OAArB;AADjB,KAAD,CAAR;AAMH,GARD,EAQG,CAAChB,IAAI,CAACa,OAAN,CARH;;AAUA,MAAMD,YAAY,GAAG,SAAfA,YAAe,CAAAM,IAAI,EAAI;AACzB;AACA,QAAI1C,OAAO,IAAI,CAACK,iBAAhB,EAAmC;AAC/B,UAAIG,wBAAwB,IAAID,iBAAhC,EAAmD;AAAA;;AAC/C,YAAMoC,UAAU,GACZD,IAAI,KAAK,OAAT,GACMlC,wBADN,GAEMD,iBAAiB,IAAIC,wBAH/B;AAIAZ,QAAAA,QAAQ,CAAC;AACLR,UAAAA,iBAAiB,EAAEuD,UADd;AAELxD,UAAAA,cAAc,oBAAEqC,IAAI,CAACa,OAAP,mDAAE,eAAcO,MAAd,CAAqB,UAAAC,IAAI;AAAA,mBACrCF,UAAU,CAACG,QAAX,CAAoBD,IAAI,CAACJ,SAAL,IAAkBI,IAAI,CAACL,GAA3C,CADqC;AAAA,WAAzB;AAFX,SAAD,CAAR;AAMH,OAXD,MAWO;AAAA;;AACH5C,QAAAA,QAAQ,CAAC;AACLR,UAAAA,iBAAiB,oBAAEoC,IAAI,CAACa,OAAP,mDAAE,eAAcC,GAAd,CAAkB,UAAAO,IAAI;AAAA,mBAAIA,IAAI,CAACJ,SAAL,IAAkBI,IAAI,CAACL,GAA3B;AAAA,WAAtB,CADd;AAELrD,UAAAA,cAAc,EAAEqC,IAAI,CAACa;AAFhB,SAAD,CAAR;AAIH;AACJ,KAlBD,MAkBO;AACHzC,MAAAA,QAAQ,CAAC;AACLT,QAAAA,cAAc,EAAEqC,IAAI,CAACa;AADhB,OAAD,CAAR;AAGH;AACJ,GAzBD;;AA2BA,MAAMU,QAAQ,GAAG,CAAC,wBAAAvB,IAAI,CAACK,YAAL,4EAAmBC,eAAnB,KAAsC,EAAvC,EAA2CkB,MAA3C,GAAoD,CAArE;AACAnD,EAAAA,WAAW,CAACoD,OAAZ,GAAsBF,QAAQ,GAAG,EAAH,GAAQ,CAAtC;AACAjD,EAAAA,aAAa,CAACmD,OAAd,GAAwBjD,OAAO,GAAG,EAAH,GAAQ,CAAvC,CA9HuC,CA+HvC;;AACA,MAAM2B,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC1B,QAAMuB,UAAU,GACZC,QAAQ,CAACC,cAAT,CAAwB9D,UAAxB,EAAoC+D,YAApC,GACApC,cADA,GAEAnB,aAAa,CAACmD,OAFd,GAGApD,WAAW,CAACoD,OAJhB;AAKA,QAAMK,IAAI,GAAGH,QAAQ,CAACC,cAAT,CAAwB9D,UAAxB,EAAoCiE,oBAApC,CAAyD,KAAzD,CAAb;AACA,QAAMC,OAAO,GAAGC,KAAK,CAACC,SAAN,CAAgBd,MAAhB,CAAuBe,IAAvB,CACZL,IADY,EAEZ,UAAAM,GAAG;AAAA,aAAIA,GAAG,CAACzC,SAAJ,IAAiB,gBAArB;AAAA,KAFS,EAGd,CAHc,CAAhB;AAIAqC,IAAAA,OAAO,CAACpC,KAAR,CAAcyC,SAAd,aAA6BX,UAA7B;AACAtD,IAAAA,QAAQ,CAAC;AACLH,MAAAA,OAAO,EAAEyD;AADJ,KAAD,CAAR;AAGH,GAfD,CAhIuC,CAiJvC;;;AACA,MAAMY,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,IAAI,EAAI;AAChCnE,IAAAA,QAAQ,CAAC;AACLR,MAAAA,iBAAiB,EAAE2E,IADd;AAEL5E,MAAAA,cAAc,EAAEE,oBAAF,aAAEA,oBAAF,uBAAEA,oBAAoB,CAAEuD,MAAtB,CAA6B,UAAAC,IAAI;AAAA,eAAIkB,IAAI,CAACjB,QAAL,CAAcD,IAAI,CAACL,GAAnB,CAAJ;AAAA,OAAjC;AAFX,KAAD,CAAR;AAIA/B,IAAAA,sBAAsB,IAAIA,sBAAsB,CAACsD,IAAD,CAAhD;AACH,GAND,CAlJuC,CA0JvC;;;AACA,MAAIC,aAAJ;;AACA,MAAIhE,OAAJ,EAAa;AACTgE,IAAAA,aAAa,gBACT;AAAK,MAAA,SAAS,EAAE,uCAAcjE,SAAd,eAAmCE,gBAAnC;AAAhB,oBACI;AAAK,MAAA,SAAS,YAAKF,SAAL;AAAd,OAA8CG,YAA9C,CADJ,eAEI;AAAK,MAAA,SAAS,YAAKH,SAAL;AAAd,oBACI;AACI,MAAA,SAAS,EAAE,uCACJA,SADI,4BAEJA,SAFI;AADf,OAMKI,WANL,CADJ,eASI;AACI,MAAA,SAAS,EAAE,uCACJJ,SADI,4BAEJA,SAFI;AADf,OAMKK,kBAAkB,iBACf;AACI,MAAA,SAAS,YAAKL,SAAL,0BADb;AAEI,MAAA,OAAO,EAAE,mBAAM;AACXW,QAAAA,SAAS,IAAIA,SAAS,EAAtB;AACH;AAJL,oBAMI,gCAAC,mBAAD;AAAS,MAAA,KAAK,EAAC;AAAf,oBACI,gCAAC,gBAAD;AAAM,MAAA,IAAI,EAAC;AAAX,MADJ,CANJ,CAPR,EAkBK,CAACJ,gBAAD,iBACG;AAAK,MAAA,SAAS,YAAKP,SAAL;AAAd,oBACI,gCAAC,oBAAD;AACI,MAAA,OAAO,eACH,gCAAC,gBAAD;AACI,QAAA,OAAO,EAAE;AAAA,cAAGyC,GAAH,QAAGA,GAAH;AAAA,iBAAa5C,QAAQ,CAAC;AAAEF,YAAAA,IAAI,EAAE8C;AAAR,WAAD,CAArB;AAAA,SADb;AAEI,QAAA,YAAY,EAAE,CAAC9C,IAAD;AAFlB,sBAII,gCAAC,gBAAD,CAAM,IAAN;AAAW,QAAA,GAAG,EAAC;AAAf,wBAJJ,eAKI,gCAAC,gBAAD,CAAM,IAAN;AAAW,QAAA,GAAG,EAAC;AAAf,wBALJ,eAMI,gCAAC,gBAAD,CAAM,IAAN;AAAW,QAAA,GAAG,EAAC;AAAf,wBANJ,CAFR;AAWI,MAAA,OAAO,EAAE,CAAC,OAAD;AAXb,oBAaI,gCAAC,mBAAD;AAAS,MAAA,KAAK,EAAC;AAAf,oBACI,gCAAC,gBAAD;AAAM,MAAA,IAAI,EAAC;AAAX,MADJ,CAbJ,CADJ,CAnBR,EAuCK,CAACW,iBAAD,iBACG;AAAK,MAAA,SAAS,YAAKN,SAAL;AAAd,oBACI,gCAAC,yBAAD;AACI,MAAA,SAAS,EAAEA,SADf;AAEI,MAAA,iBAAiB,EAAEX,iBAFvB;AAGI,MAAA,oBAAoB,EAAEC,oBAH1B;AAII,MAAA,QAAQ,EAAEyE,mBAJd;AAKI,MAAA,OAAO,EAAE;AAAA,eAAM1B,YAAY,CAAC,OAAD,CAAlB;AAAA;AALb,oBAOI,gCAAC,mBAAD;AAAS,MAAA,KAAK,EAAC;AAAf,oBACI,gCAAC,gBAAD;AAAM,MAAA,IAAI,EAAC;AAAX,MADJ,CAPJ,CADJ,CAxCR,CATJ,CAFJ,CADJ;AAsEH,GAnOsC,CAqOvC;;;AACA,MAAM6B,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,UAAU,EAAI;AAChC,QAAI,OAAOA,UAAP,KAAsB,SAAtB,IAAmC,CAACA,UAAxC,EAAoD;AAChD,aAAOA,UAAP;AACH;;AACD;AACIC,MAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,CADrB;AAEIC,MAAAA,eAAe,EAAE,IAFrB;AAGIC,MAAAA,eAAe,EAAE,IAHrB;AAIIC,MAAAA,SAJJ,qBAIcC,KAJd,EAIqB;AACb,gCAAYA,KAAZ;AACH;AANL,OAOOL,UAPP;AASH,GAbD,CAtOuC,CAqPvC;;;AACA,MAAI7B,OAAO,GAAG,CAAClD,cAAc,IAAI,EAAnB,EAAuBmD,GAAvB,CAA2B,UAAAkC,MAAM,EAAI;AAC/C,QAAMC,SAAS,qBAAQD,MAAR,CAAf;;AACA,QAAIC,SAAS,CAACC,aAAd,EAA6B;AACzB,aAAOD,SAAS,CAACC,aAAjB;AACH;;AACD,QAAID,SAAS,CAACE,uBAAd,EAAuC;AACnC,aAAOF,SAAS,CAACE,uBAAjB;AACH;;AACD,2CACOF,SADP;AAEIG,MAAAA,MAAM,EAAE,4BAAWJ,MAAM,CAACE,aAAlB,IACF,UAASG,IAAT,EAAeC,MAAf,EAAuBC,KAAvB,EAA8B;AAC1B,eAAO,qCACHP,MAAM,CAACE,aADJ,EAEHF,MAAM,CAACG,uBAFJ,EAGHE,IAHG,EAIHC,MAJG,EAKHC,KALG,CAAP;AAOH,OATC,GAUF,YAAYP,MAAZ,GACAA,MAAM,CAACI,MADP,GAEA,UAASC,IAAT,EAAe;AACX,eAAO,CAAC,EAAD,EAAK,IAAL,EAAWG,SAAX,EAAsBlC,QAAtB,CAA+B+B,IAA/B,IAAuC,GAAvC,GAA6CA,IAApD;AACH;AAhBX;AAkBH,GA1Ba,CAAd,CAtPuC,CAiRvC;;AACA,MAAI3D,eAAJ,EAAqB;AACjBmB,IAAAA,OAAO,GAAGA,OAAO,CAACC,GAAR,CAAY,UAACC,GAAD,EAAMwC,KAAN;AAAA,6CACfxC,GADe;AAElB0C,QAAAA,YAAY,EAAE,sBAAAT,MAAM;AAAA,iBAAK;AACrBU,YAAAA,KAAK,EAAEV,MAAM,CAACU,KADO;AAErBC,YAAAA,QAAQ,EAAEC,YAAY,CAACL,KAAD;AAFD,WAAL;AAAA;AAFF;AAAA,KAAZ,CAAV;;AAOA,QAAMK,YAAY,GAAG,SAAfA,YAAe,CAAAL,KAAK;AAAA,aAAI,UAACM,CAAD,SAAiB;AAAA,YAAX3F,IAAW,SAAXA,IAAW;AAC3CE,QAAAA,QAAQ,CAAC,iBAAwB;AAAA,cAArBT,cAAqB,SAArBA,cAAqB;;AAC7B,cAAMmG,WAAW,sBAAOnG,cAAP,CAAjB;;AACAmG,UAAAA,WAAW,CAACP,KAAD,CAAX,mCACOO,WAAW,CAACP,KAAD,CADlB;AAEIG,YAAAA,KAAK,EAAExF,IAAI,CAACwF;AAFhB;AAIA,iBAAO;AAAE/F,YAAAA,cAAc,EAAEmG;AAAlB,WAAP;AACH,SAPO,CAAR;AAQH,OATyB;AAAA,KAA1B;AAUH,GApSsC,CAsSvC;;;AACA,MAAIC,UAAU,GAAG/D,IAAI,CAAC+D,UAAtB;;AACA,MAAI5E,WAAJ,EAAiB;AAAA;;AACb0B,IAAAA,OAAO,IACH;AACImD,MAAAA,KAAK,EAAE1E,UADX;AAEI2B,MAAAA,SAAS,EAAE,YAFf;AAGID,MAAAA,GAAG,EAAE,YAHT;AAII0C,MAAAA,KAAK,EAAE,EAJX;AAKIO,MAAAA,KAAK,EAAE7E;AALX,KADG,4BAQAyB,OARA,EAAP;AAUAkD,IAAAA,UAAU,kBAAGA,UAAH,gDAAG,YAAYjD,GAAZ,CAAgB,UAACO,IAAD,EAAO6C,CAAP,EAAa;AACtC,6CACO7C,IADP;AAEI8C,QAAAA,UAAU,EAAED,CAAC,GAAG3E;AAFpB;AAIH,KALY,CAAb;AAMH;;AAED,MAAI6E,MAAJ;;AACA,MAAI5E,OAAJ,EAAa;AACT4E,IAAAA,MAAM,mCACEpE,IAAI,CAACoE,MAAL,IAAe,EADjB;AAEFC,MAAAA,CAAC,EAAEpG;AAFD,MAAN;AAIH;;AAED,sBACI;AACI,IAAA,EAAE,EAAEH,UADR;AAEI,IAAA,SAAS,EAAE,6BAAWS,SAAX,EAAsBoB,SAAtB,4DACHpB,SADG,WACeiB,OADf,0CAEHjB,SAFG,cAEkB,kBAACwF,UAAD,yCAAC,aAAYvC,MAAb,CAFlB,gBAFf;AAMI,IAAA,KAAK,EAAE5B;AANX,KAQK4C,aARL,EASKjB,QAAQ,iBACL;AAAK,IAAA,SAAS,YAAKhD,SAAL;AAAd,kBACI,gCAAC,iBAAD;AACI,IAAA,SAAS,EAAEA,SADf;AAEI,IAAA,eAAe,yBAAEyB,IAAI,CAACK,YAAP,wDAAE,oBAAmBC,eAFxC;AAGI,IAAA,iBAAiB,EAAER;AAHvB,IADJ,CAVR,eAkBI,gCAAC,iBAAD;AACI,IAAA,IAAI,EAAE5B,IADV;AAEI,IAAA,QAAQ,EAAEmB;AAFd,KAGQW,IAHR;AAII,IAAA,OAAO,EAAEa,OAJb;AAKI,IAAA,UAAU,EAAEkD,UALhB;AAMI,IAAA,MAAM,EAAEK,MANZ;AAOI,IAAA,UAAU,EAAE3B,aAAa,CAACzC,IAAI,CAAC0C,UAAN,CAP7B;AAQI,IAAA,KAAK,EAAE;AAAE4B,MAAAA,MAAM,wBAAiBhG,aAAa,CAACmD,OAAd,GAAwBpD,WAAW,CAACoD,OAArD;AAAR,KARX;AASI,IAAA,MAAM;AACF5B,MAAAA,SAAS,eAAE,gCAAC,iBAAD;AAAO,QAAA,WAAW,EAAEA;AAApB;AADT,OAECG,IAAI,CAACuE,MAFN,CATV;AAaI,IAAA,UAAU,EACN7E,eAAe,GACT;AACI8E,MAAAA,MAAM,EAAE;AACJC,QAAAA,IAAI,EAAEC;AADF;AADZ,KADS,GAMTlB;AApBd,KAlBJ,CADJ;AA4CH;;AAED/F,WAAW,CAACkH,SAAZ,GAAwB;AACpBpG,EAAAA,SAAS,EAAEqG,sBAAUC,MADD;AAEpBjG,EAAAA,kBAAkB,EAAEgG,sBAAUE,IAFV;AAGpBjG,EAAAA,iBAAiB,EAAE+F,sBAAUE,IAHT;AAIpBhG,EAAAA,gBAAgB,EAAE8F,sBAAUE,IAJR;AAKpBzF,EAAAA,QAAQ,EAAEuF,sBAAUE,IALA;AAMpB/F,EAAAA,iBAAiB,EAAE6F,sBAAUG,KANT;AAOpB/F,EAAAA,wBAAwB,EAAE4F,sBAAUG,KAPhB;AAQpB9F,EAAAA,sBAAsB,EAAE2F,sBAAUI,IARd;AASpBvG,EAAAA,gBAAgB,EAAEmG,sBAAUC,MATR;AAUpBrG,EAAAA,OAAO,EAAEoG,sBAAUE,IAVC;AAWpBpG,EAAAA,YAAY,EAAEkG,sBAAUK,SAAV,CAAoB,CAACL,sBAAUC,MAAX,EAAmBD,sBAAUM,IAA7B,CAApB,CAXM;AAYpBhG,EAAAA,SAAS,EAAE0F,sBAAUI,IAZD;AAapB7F,EAAAA,WAAW,EAAEyF,sBAAUE,IAbH;AAcpB1F,EAAAA,UAAU,EAAEwF,sBAAUK,SAAV,CAAoB,CAACL,sBAAUC,MAAX,EAAmBD,sBAAUE,IAA7B,CAApB,CAdQ;AAepBxF,EAAAA,UAAU,EAAEsF,sBAAUC,MAfF;AAgBpBtF,EAAAA,UAAU,EAAEqF,sBAAUO,MAhBF;AAiBpBxG,EAAAA,WAAW,EAAEiG,sBAAUM,IAjBH;AAkBpB1F,EAAAA,OAAO,EAAEoF,sBAAUE,IAlBC;AAmBpBrF,EAAAA,cAAc,EAAEmF,sBAAUO,MAnBN;AAoBpBzF,EAAAA,eAAe,EAAEkF,sBAAUE,IApBP;AAqBpBjF,EAAAA,SAAS,EAAE+E,sBAAUK,SAAV,CAAoB,CAACL,sBAAUC,MAAX,EAAmBD,sBAAUM,IAA7B,CAApB,CArBS;AAsBpBpF,EAAAA,iBAAiB,EAAE8E,sBAAUI,IAtBT;AAuBpBjF,EAAAA,oBAAoB,EAAE6E,sBAAUQ,MAvBZ;AAwBpBzF,EAAAA,SAAS,EAAEiF,sBAAUC,MAxBD;AAyBpBjF,EAAAA,KAAK,EAAEgF,sBAAUQ;AAzBG,CAAxB","sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react';\nimport Table from 'antd/es/table';\nimport Icon from 'antd/es/icon';\nimport Tooltip from 'antd/es/tooltip';\nimport Dropdown from 'antd/es/dropdown';\nimport Menu from 'antd/es/menu';\nimport Empty from 'antd/es/empty';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Alert from './Alert';\nimport ColumnSetting from './ColumnSetting';\nimport ResizeableTitle from './ResizeableTitle';\nimport renderColumnButtons from './renderColumnButtons';\nimport useSet from '../_util/useSet';\nimport isFunction from '../_util/isFunction';\n\nexport default function VtxDatagrid(props) {\n const [state, setState] = useSet({\n // 显示列\n visibleColumns: [],\n // 列设置选中的列\n checkedColumnKeys: [],\n // 列设置选项\n columnSettingOptions: [],\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\n scrollY: null,\n size: 'middle',\n });\n const {\n visibleColumns,\n checkedColumnKeys,\n columnSettingOptions,\n datagridId,\n scrollY,\n size,\n } = state;\n\n // 列设置提示高度\n const alertHeight = useRef(0);\n // 工具栏高度\n const toolbarHeight = useRef(0);\n\n const {\n prefixCls = 'vtx-datagrid',\n toolbar = true,\n toolbarClassName,\n toolbarTilte = '查询结果',\n buttonGroup,\n refreshIconVisible = true,\n hideColumnSetting,\n hideColumnHeight,\n visibleColumnKeys,\n defaultVisibleColumnKeys,\n onVisibleColumnsChange,\n onRefresh,\n indexColumn = true,\n indexFixed = false,\n bordered = true,\n indexTitle = '序号',\n startIndex = 1,\n autoFit = true,\n headFootHeight = 115,\n columnResizable,\n className,\n style,\n emptyText = '暂无数据',\n claerRowSelection,\n searchCollapseEvent$,\n ...rest\n } = props;\n\n useEffect(() => {\n // componentDidMount\n if (autoFit) {\n window.addEventListener('resize', calculateHeight, false);\n }\n return () => {\n // componentWillUnmount\n if (autoFit) {\n window.removeEventListener('resize', calculateHeight, false);\n }\n };\n }, []);\n\n useLayoutEffect(() => {\n if (autoFit) {\n calculateHeight();\n }\n }, [(rest.rowSelection?.selectedRowKeys || []).join(',')]);\n\n // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数\n if (searchCollapseEvent$) {\n // eslint-disable-next-line react/prop-types\n searchCollapseEvent$.useSubscription(() => {\n // 350ms 是为了等待css动画时间\n let timer = setTimeout(() => {\n calculateHeight();\n timer = '';\n clearTimeout(timer);\n }, 350);\n });\n }\n\n useEffect(() => {\n parseColumns();\n setState({\n columnSettingOptions: rest.columns?.map(col => ({\n ...col,\n key: col.dataIndex || col.key,\n })),\n });\n }, [rest.columns]);\n\n const parseColumns = type => {\n // 显示工具栏的同时并显示列设置\n if (toolbar && !hideColumnSetting) {\n if (defaultVisibleColumnKeys || visibleColumnKeys) {\n const columnKeys =\n type === 'reset'\n ? defaultVisibleColumnKeys\n : visibleColumnKeys || defaultVisibleColumnKeys;\n setState({\n checkedColumnKeys: columnKeys,\n visibleColumns: rest.columns?.filter(item =>\n columnKeys.includes(item.dataIndex || item.key),\n ),\n });\n } else {\n setState({\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\n visibleColumns: rest.columns,\n });\n }\n } else {\n setState({\n visibleColumns: rest.columns,\n });\n }\n };\n\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\n alertHeight.current = hasAlert ? 49 : 0;\n toolbarHeight.current = toolbar ? 56 : 0;\n // 高度计算\n const calculateHeight = () => {\n const bodyHeight =\n document.getElementById(datagridId).clientHeight -\n headFootHeight -\n toolbarHeight.current -\n alertHeight.current;\n const divs = document.getElementById(datagridId).getElementsByTagName('div');\n const bodyDiv = Array.prototype.filter.call(\n divs,\n dom => dom.className == 'ant-table-body',\n )[0];\n bodyDiv.style.minHeight = `${bodyHeight}px`;\n setState({\n scrollY: bodyHeight,\n });\n };\n\n // 列设置回调\n const handleChangeColumns = keys => {\n setState({\n checkedColumnKeys: keys,\n visibleColumns: columnSettingOptions?.filter(item => keys.includes(item.key)),\n });\n onVisibleColumnsChange && onVisibleColumnsChange(keys);\n };\n\n // 工具栏\n let toolbarRender;\n if (toolbar) {\n toolbarRender = (\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\n <div className={`${prefixCls}-toolbar-right`}>\n <div\n className={classnames(\n `${prefixCls}-space-item`,\n `${prefixCls}-toolbar-actions`,\n )}\n >\n {buttonGroup}\n </div>\n <div\n className={classnames(\n `${prefixCls}-space-item`,\n `${prefixCls}-toolbar-setting`,\n )}\n >\n {refreshIconVisible && (\n <div\n className={`${prefixCls}-toolbar-setting-item`}\n onClick={() => {\n onRefresh && onRefresh();\n }}\n >\n <Tooltip title=\"刷新\">\n <Icon type=\"redo\" />\n </Tooltip>\n </div>\n )}\n {!hideColumnHeight && (\n <div className={`${prefixCls}-toolbar-setting-item`}>\n <Dropdown\n overlay={\n <Menu\n onClick={({ key }) => setState({ size: key })}\n selectedKeys={[size]}\n >\n <Menu.Item key=\"default\">默认</Menu.Item>\n <Menu.Item key=\"middle\">中等</Menu.Item>\n <Menu.Item key=\"small\">紧凑</Menu.Item>\n </Menu>\n }\n trigger={['click']}\n >\n <Tooltip title=\"列密度\">\n <Icon type=\"column-height\" />\n </Tooltip>\n </Dropdown>\n </div>\n )}\n {!hideColumnSetting && (\n <div className={`${prefixCls}-toolbar-setting-item`}>\n <ColumnSetting\n prefixCls={prefixCls}\n checkedColumnKeys={checkedColumnKeys}\n columnSettingOptions={columnSettingOptions}\n onChange={handleChangeColumns}\n onReset={() => parseColumns('reset')}\n >\n <Tooltip title=\"列设置\">\n <Icon type=\"setting\" />\n </Tooltip>\n </ColumnSetting>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n }\n\n // 分页\n const getPagination = pagination => {\n if (typeof pagination === 'boolean' && !pagination) {\n return pagination;\n }\n return {\n pageSizeOptions: ['10', '20', '30', '40', '50'],\n showSizeChanger: true,\n showQuickJumper: true,\n showTotal(total) {\n return `共 ${total} 条`;\n },\n ...pagination,\n };\n };\n\n // 处理操作按钮\n let columns = (visibleColumns || []).map(column => {\n const newColumn = { ...column };\n if (newColumn.renderButtons) {\n delete newColumn.renderButtons;\n }\n if (newColumn.renderButtonsVisibleNum) {\n delete newColumn.renderButtonsVisibleNum;\n }\n return {\n ...newColumn,\n render: isFunction(column.renderButtons)\n ? function(text, record, index) {\n return renderColumnButtons(\n column.renderButtons,\n column.renderButtonsVisibleNum,\n text,\n record,\n index,\n );\n }\n : 'render' in column\n ? column.render\n : function(text) {\n return ['', null, undefined].includes(text) ? '-' : text;\n },\n };\n });\n // 配置了列可伸缩\n if (columnResizable) {\n columns = columns.map((col, index) => ({\n ...col,\n onHeaderCell: column => ({\n width: column.width,\n onResize: handleResize(index),\n }),\n }));\n const handleResize = index => (e, { size }) => {\n setState(({ visibleColumns }) => {\n const nextColumns = [...visibleColumns];\n nextColumns[index] = {\n ...nextColumns[index],\n width: size.width,\n };\n return { visibleColumns: nextColumns };\n });\n };\n }\n\n // 序号添加\n let dataSource = rest.dataSource;\n if (indexColumn) {\n columns = [\n {\n title: indexTitle,\n dataIndex: '_serialNum',\n key: '_serialNum',\n width: 70,\n fixed: indexFixed,\n },\n ...columns,\n ];\n dataSource = dataSource?.map((item, i) => {\n return {\n ...item,\n _serialNum: i + startIndex,\n };\n });\n }\n\n let scroll;\n if (autoFit) {\n scroll = {\n ...(rest.scroll || {}),\n y: scrollY,\n };\n }\n\n return (\n <div\n id={datagridId}\n className={classnames(prefixCls, className, {\n [`${prefixCls}-fit`]: autoFit,\n [`${prefixCls}-nodata`]: !dataSource?.length,\n })}\n style={style}\n >\n {toolbarRender}\n {hasAlert && (\n <div className={`${prefixCls}-alert`}>\n <Alert\n prefixCls={prefixCls}\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\n claerRowSelection={claerRowSelection}\n />\n </div>\n )}\n <Table\n size={size}\n bordered={bordered}\n {...rest}\n columns={columns}\n dataSource={dataSource}\n scroll={scroll}\n pagination={getPagination(rest.pagination)}\n style={{ height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)` }}\n locale={{\n emptyText: <Empty description={emptyText} />,\n ...rest.locale,\n }}\n components={\n columnResizable\n ? {\n header: {\n cell: ResizeableTitle,\n },\n }\n : undefined\n }\n />\n </div>\n );\n}\n\nVtxDatagrid.propTypes = {\n prefixCls: PropTypes.string,\n refreshIconVisible: PropTypes.bool,\n hideColumnSetting: PropTypes.bool,\n hideColumnHeight: PropTypes.bool,\n bordered: PropTypes.bool,\n visibleColumnKeys: PropTypes.array,\n defaultVisibleColumnKeys: PropTypes.array,\n onVisibleColumnsChange: PropTypes.func,\n toolbarClassName: PropTypes.string,\n toolbar: PropTypes.bool,\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n onRefresh: PropTypes.func,\n indexColumn: PropTypes.bool,\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n indexTitle: PropTypes.string,\n startIndex: PropTypes.number,\n buttonGroup: PropTypes.node,\n autoFit: PropTypes.bool,\n headFootHeight: PropTypes.number,\n columnResizable: PropTypes.bool,\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n claerRowSelection: PropTypes.func,\n searchCollapseEvent$: PropTypes.object,\n className: PropTypes.string,\n style: PropTypes.object,\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-datagrid/index.jsx"],"names":["isMac","navigator","userAgent","indexOf","VtxDatagrid","props","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","state","setState","alertHeight","toolbarHeight","prefixCls","toolbar","toolbarClassName","toolbarTilte","buttonGroup","refreshIconVisible","hideColumnSetting","hideColumnHeight","visibleColumnKeys","defaultVisibleColumnKeys","onVisibleColumnsChange","onRefresh","indexColumn","indexFixed","bordered","indexTitle","startIndex","autoFit","headFootHeight","columnResizable","className","style","emptyText","onRowSelectionClear","searchCollapseEvent$","disabledColumnKeys","onColumnsSave","rest","window","addEventListener","calculateHeight","removeEventListener","rowSelection","selectedRowKeys","join","useSubscription","timer","setTimeout","clearTimeout","parseColumns","columns","map","col","key","dataIndex","type","columnKeys","filter","item","includes","hasAlert","length","current","bodyHeight","document","getElementById","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","call","dom","minHeight","handleChangeColumns","keys","toolbarRender","getPagination","pagination","pageSizeOptions","showSizeChanger","showQuickJumper","showTotal","total","column","newColumn","renderButtons","renderButtonsVisibleNum","render","text","record","index","undefined","onHeaderCell","width","onResize","handleResize","e","nextColumns","dataSource","title","fixed","i","_serialNum","scroll","y","height","locale","header","cell","ResizeableTitle","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","object"],"mappings":"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","sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport Table from 'antd/es/table';\nimport Tooltip from 'antd/es/tooltip';\nimport Dropdown from 'antd/es/dropdown';\nimport Menu from 'antd/es/menu';\nimport Empty from 'antd/es/empty';\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\nimport ColumnHeightOutlined from '@ant-design/icons/ColumnHeightOutlined';\nimport SettingOutlined from '@ant-design/icons/SettingOutlined';\nimport Alert from './Alert';\nimport ColumnSetting from './ColumnSetting';\nimport ResizeableTitle from './ResizeableTitle';\nimport renderColumnButtons from './renderColumnButtons';\nimport useSet from '../_util/useSet';\nimport isFunction from '../_util/isFunction';\n\nconst isMac = navigator.userAgent.indexOf('Mac OS') !== -1;\n\nexport default function VtxDatagrid(props) {\n const [state, setState] = useSet({\n // 显示列\n visibleColumns: [],\n // 列设置选中的列\n checkedColumnKeys: [],\n // 列设置选项\n columnSettingOptions: [],\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\n scrollY: null,\n size: 'middle',\n });\n const {\n visibleColumns,\n checkedColumnKeys,\n columnSettingOptions,\n datagridId,\n scrollY,\n size,\n } = state;\n\n // 列设置提示高度\n const alertHeight = useRef(0);\n // 工具栏高度\n const toolbarHeight = useRef(0);\n\n const {\n prefixCls = 'vtx-datagrid',\n toolbar = true,\n toolbarClassName,\n toolbarTilte = '查询结果',\n buttonGroup,\n refreshIconVisible = true,\n hideColumnSetting,\n hideColumnHeight,\n visibleColumnKeys,\n defaultVisibleColumnKeys,\n onVisibleColumnsChange,\n onRefresh,\n indexColumn = true,\n indexFixed = false,\n bordered = true,\n indexTitle = '序号',\n startIndex = 1,\n autoFit = true,\n headFootHeight = 115,\n columnResizable,\n className,\n style,\n emptyText = '暂无数据',\n onRowSelectionClear,\n searchCollapseEvent$,\n disabledColumnKeys,\n onColumnsSave,\n ...rest\n } = props;\n\n useEffect(() => {\n // componentDidMount\n if (autoFit) {\n window.addEventListener('resize', calculateHeight, false);\n }\n return () => {\n // componentWillUnmount\n if (autoFit) {\n window.removeEventListener('resize', calculateHeight, false);\n }\n };\n }, []);\n\n useLayoutEffect(() => {\n if (autoFit) {\n calculateHeight();\n }\n }, [(rest.rowSelection?.selectedRowKeys || []).join(',')]);\n\n // 只有被TableLayout.Page包裹时才会存在searchCollapseEvent$这个参数\n if (searchCollapseEvent$) {\n // eslint-disable-next-line react/prop-types\n searchCollapseEvent$.useSubscription(() => {\n // 350ms 是为了等待css动画时间\n let timer = setTimeout(() => {\n calculateHeight();\n timer = '';\n clearTimeout(timer);\n }, 350);\n });\n }\n\n useEffect(() => {\n parseColumns();\n setState({\n columnSettingOptions: rest.columns?.map(col => ({\n ...col,\n key: col.dataIndex || col.key,\n })),\n });\n }, [rest.columns]);\n\n const parseColumns = type => {\n // 显示工具栏的同时并显示列设置\n if (toolbar && !hideColumnSetting) {\n if (defaultVisibleColumnKeys || visibleColumnKeys) {\n const columnKeys =\n type === 'reset'\n ? defaultVisibleColumnKeys\n : visibleColumnKeys || defaultVisibleColumnKeys;\n setState({\n checkedColumnKeys: columnKeys,\n visibleColumns: rest.columns?.filter(item =>\n columnKeys.includes(item.dataIndex || item.key),\n ),\n });\n } else {\n setState({\n checkedColumnKeys: rest.columns?.map(item => item.dataIndex || item.key),\n visibleColumns: rest.columns,\n });\n }\n } else {\n setState({\n visibleColumns: rest.columns,\n });\n }\n };\n\n const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\n alertHeight.current = hasAlert ? 49 : 0;\n toolbarHeight.current = toolbar ? 56 : 0;\n // 高度计算\n const calculateHeight = () => {\n const bodyHeight =\n document.getElementById(datagridId).clientHeight -\n headFootHeight -\n toolbarHeight.current -\n alertHeight.current;\n const divs = document.getElementById(datagridId).getElementsByTagName('div');\n const bodyDiv = Array.prototype.filter.call(\n divs,\n dom =>\n dom.className.includes('ant-table-body') ||\n dom.className.includes('ant-table-content'),\n )[0];\n bodyDiv.style.minHeight = `${bodyHeight}px`;\n setState({\n scrollY: bodyHeight,\n });\n };\n\n // 列设置回调\n const handleChangeColumns = keys => {\n setState({\n checkedColumnKeys: keys,\n visibleColumns: columnSettingOptions?.filter(item => keys.includes(item.key)),\n });\n onVisibleColumnsChange && onVisibleColumnsChange(keys);\n };\n\n // 工具栏\n let toolbarRender;\n if (toolbar) {\n toolbarRender = (\n <div className={classnames(`${prefixCls}-toolbar`, toolbarClassName)}>\n <div className={`${prefixCls}-toolbar-left`}>{toolbarTilte}</div>\n <div className={`${prefixCls}-toolbar-right`}>\n <div\n className={classnames(\n `${prefixCls}-space-item`,\n `${prefixCls}-toolbar-actions`,\n )}\n >\n {buttonGroup}\n </div>\n <div\n className={classnames(\n `${prefixCls}-space-item`,\n `${prefixCls}-toolbar-setting`,\n )}\n >\n {refreshIconVisible && (\n <div\n className={`${prefixCls}-toolbar-setting-item`}\n onClick={() => {\n onRefresh && onRefresh();\n }}\n >\n <Tooltip title=\"刷新\">\n <RedoOutlined />\n </Tooltip>\n </div>\n )}\n {!hideColumnHeight && (\n <div className={`${prefixCls}-toolbar-setting-item`}>\n <Dropdown\n overlay={\n <Menu\n onClick={({ key }) => setState({ size: key })}\n selectedKeys={[size]}\n >\n <Menu.Item key=\"default\">默认</Menu.Item>\n <Menu.Item key=\"middle\">中等</Menu.Item>\n <Menu.Item key=\"small\">紧凑</Menu.Item>\n </Menu>\n }\n trigger={['click']}\n >\n <Tooltip title=\"列密度\">\n <ColumnHeightOutlined />\n </Tooltip>\n </Dropdown>\n </div>\n )}\n {!hideColumnSetting && (\n <div className={`${prefixCls}-toolbar-setting-item`}>\n <ColumnSetting\n prefixCls={prefixCls}\n checkedColumnKeys={checkedColumnKeys}\n columnSettingOptions={columnSettingOptions}\n onChange={handleChangeColumns}\n onReset={() => parseColumns('reset')}\n disabledColumnKeys={disabledColumnKeys}\n onColumnsSave={onColumnsSave}\n >\n <Tooltip title=\"列设置\">\n <SettingOutlined />\n </Tooltip>\n </ColumnSetting>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n }\n\n // 分页\n const getPagination = pagination => {\n if (typeof pagination === 'boolean' && !pagination) {\n return pagination;\n }\n return {\n pageSizeOptions: ['10', '20', '30', '40', '50'],\n showSizeChanger: true,\n showQuickJumper: true,\n showTotal(total) {\n return `共 ${total} 条`;\n },\n ...pagination,\n };\n };\n\n // 处理操作按钮\n let columns = (visibleColumns || []).map(column => {\n const newColumn = { ...column };\n if (newColumn.renderButtons) {\n delete newColumn.renderButtons;\n }\n if (newColumn.renderButtonsVisibleNum) {\n delete newColumn.renderButtonsVisibleNum;\n }\n return {\n ...newColumn,\n render: isFunction(column.renderButtons)\n ? function(text, record, index) {\n return renderColumnButtons(\n column.renderButtons,\n column.renderButtonsVisibleNum,\n text,\n record,\n index,\n );\n }\n : 'render' in column\n ? column.render\n : function(text) {\n return ['', null, undefined].includes(text) ? '-' : text;\n },\n };\n });\n // 配置了列可伸缩\n if (columnResizable) {\n columns = columns.map((col, index) => ({\n ...col,\n onHeaderCell: column => ({\n width: column.width,\n onResize: handleResize(index),\n }),\n }));\n const handleResize = index => (e, { size }) => {\n setState(({ visibleColumns }) => {\n const nextColumns = [...visibleColumns];\n nextColumns[index] = {\n ...nextColumns[index],\n width: size.width,\n };\n return { visibleColumns: nextColumns };\n });\n };\n }\n\n // 序号添加\n let dataSource = rest.dataSource;\n if (indexColumn) {\n columns = [\n {\n title: indexTitle,\n dataIndex: '_serialNum',\n key: '_serialNum',\n width: 70,\n fixed: indexFixed,\n },\n ...columns,\n ];\n dataSource = dataSource?.map((item, i) => {\n return {\n ...item,\n _serialNum: i + startIndex,\n };\n });\n }\n\n let scroll;\n if (autoFit) {\n scroll = {\n ...(rest.scroll || {}),\n y: scrollY,\n };\n }\n\n return (\n <div\n id={datagridId}\n className={classnames(prefixCls, className, {\n [`${prefixCls}-fit`]: autoFit,\n [`${prefixCls}-nodata`]: !dataSource?.length,\n [`${prefixCls}-userAgent-mac`]: isMac,\n })}\n style={style}\n >\n {toolbarRender}\n {hasAlert && (\n <div className={`${prefixCls}-alert`}>\n <Alert\n prefixCls={prefixCls}\n selectedRowKeys={rest.rowSelection?.selectedRowKeys}\n onRowSelectionClear={onRowSelectionClear}\n />\n </div>\n )}\n <Table\n size={size}\n bordered={bordered}\n {...rest}\n columns={columns}\n dataSource={dataSource}\n scroll={scroll}\n pagination={getPagination(rest.pagination)}\n style={{\n height: `calc(100% - ${toolbarHeight.current + alertHeight.current}px)`,\n }}\n locale={{\n emptyText: <Empty description={emptyText} />,\n ...rest.locale,\n }}\n components={\n columnResizable\n ? {\n header: {\n cell: ResizeableTitle,\n },\n }\n : undefined\n }\n />\n </div>\n );\n}\n\nVtxDatagrid.propTypes = {\n prefixCls: PropTypes.string,\n refreshIconVisible: PropTypes.bool,\n hideColumnSetting: PropTypes.bool,\n hideColumnHeight: PropTypes.bool,\n bordered: PropTypes.bool,\n visibleColumnKeys: PropTypes.array,\n defaultVisibleColumnKeys: PropTypes.array,\n onVisibleColumnsChange: PropTypes.func,\n toolbarClassName: PropTypes.string,\n toolbar: PropTypes.bool,\n toolbarTilte: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n onRefresh: PropTypes.func,\n indexColumn: PropTypes.bool,\n indexFixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n indexTitle: PropTypes.string,\n startIndex: PropTypes.number,\n buttonGroup: PropTypes.node,\n autoFit: PropTypes.bool,\n headFootHeight: PropTypes.number,\n columnResizable: PropTypes.bool,\n emptyText: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n onRowSelectionClear: PropTypes.func,\n searchCollapseEvent$: PropTypes.object,\n className: PropTypes.string,\n style: PropTypes.object,\n disabledColumnKeys: PropTypes.array,\n onColumnsSave: PropTypes.func,\n};\n"],"file":"index.js"}