@vtx/components 3.1.125 → 3.1.126
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.
|
@@ -47,7 +47,7 @@ var _ahooks = require("ahooks");
|
|
|
47
47
|
|
|
48
48
|
var _getSignature = _interopRequireDefault(require("@vtx/utils/lib/getSignature"));
|
|
49
49
|
|
|
50
|
-
var _excluded = ["prefixCls", "toolbar", "toolbarClassName", "toolbarTilte", "buttonGroup", "refreshIconVisible", "hideColumnSetting", "hideColumnHeight", "visibleColumnKeys", "defaultVisibleColumnKeys", "onVisibleColumnsChange", "onRefresh", "indexColumn", "indexFixed", "bordered", "indexTitle", "startIndex", "autoFit", "headFootHeight", "columnResizable", "components", "className", "style", "emptyText", "onRowSelectionClear", "disabledColumnKeys", "onColumnsSave", "uniqueKey", "prefixUrl", "customEnumText", "hideSelectionClear"];
|
|
50
|
+
var _excluded = ["prefixCls", "toolbar", "toolbarClassName", "toolbarTilte", "buttonGroup", "refreshIconVisible", "hideColumnSetting", "hideColumnHeight", "visibleColumnKeys", "defaultVisibleColumnKeys", "onVisibleColumnsChange", "onRefresh", "indexColumn", "indexFixed", "bordered", "indexTitle", "startIndex", "autoFit", "headFootHeight", "columnResizable", "components", "className", "style", "emptyText", "onRowSelectionClear", "disabledColumnKeys", "onColumnsSave", "uniqueKey", "prefixUrl", "customEnumText", "hideSelectionClear", "indexWidth"];
|
|
51
51
|
|
|
52
52
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
53
53
|
|
|
@@ -169,6 +169,8 @@ function VtxDatagrid(props) {
|
|
|
169
169
|
customEnumText = _props$customEnumText === void 0 ? {} : _props$customEnumText,
|
|
170
170
|
_props$hideSelectionC = props.hideSelectionClear,
|
|
171
171
|
hideSelectionClear = _props$hideSelectionC === void 0 ? false : _props$hideSelectionC,
|
|
172
|
+
_props$indexWidth = props.indexWidth,
|
|
173
|
+
indexWidth = _props$indexWidth === void 0 ? 70 : _props$indexWidth,
|
|
172
174
|
rest = _objectWithoutProperties(props, _excluded);
|
|
173
175
|
|
|
174
176
|
var TextEnum = _objectSpread({
|
|
@@ -482,7 +484,7 @@ function VtxDatagrid(props) {
|
|
|
482
484
|
title: indexTitle,
|
|
483
485
|
dataIndex: '_serialNum',
|
|
484
486
|
key: '_serialNum',
|
|
485
|
-
width:
|
|
487
|
+
width: indexWidth,
|
|
486
488
|
fixed: indexFixed
|
|
487
489
|
}].concat(_toConsumableArray(columns));
|
|
488
490
|
dataSource = (_dataSource = dataSource) === null || _dataSource === void 0 ? void 0 : _dataSource.map(function (item, i) {
|
|
@@ -568,6 +570,7 @@ VtxDatagrid.propTypes = {
|
|
|
568
570
|
components: _propTypes["default"].object,
|
|
569
571
|
customEnumText: _propTypes["default"].object,
|
|
570
572
|
uniqueKey: _propTypes["default"].string,
|
|
571
|
-
prefixUrl: _propTypes["default"].string
|
|
573
|
+
prefixUrl: _propTypes["default"].string,
|
|
574
|
+
indexWidth: _propTypes["default"].number
|
|
572
575
|
};
|
|
573
576
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["isMac","navigator","userAgent","indexOf","VtxDatagrid","props","useSet","visibleColumns","checkedColumnKeys","columnSettingOptions","datagridId","Date","getTime","scrollY","size","projectKey","keysInColumns","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","disabledColumnKeys","onColumnsSave","uniqueKey","prefixUrl","customEnumText","hideSelectionClear","rest","TextEnum","refreshText","densityDefaultText","densityMiddleText","densitySmallText","columnDensityText","columnSettingText","actionMoreText","columnSettingTitleText","columnSettingResetText","columnSettingSaveText","alartEmptyBtnText","alartAlreadyChooseText","alartAlreadyChooseUnitText","messageSuccessText","messageWarningOneText","paginationTotalText","paginationItemText","getUniqueKey","route","location","href","match","axios","method","url","pathname","headers","getSignature","then","res","status","data","key","useThrottleFn","current","bodyHeight","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","filter","call","dom","includes","minHeight","wait","calculateHeight","run","useEffect","resizeObserver","ResizeObserver","observe","box","disconnect","useLayoutEffect","dataSource","length","rowSelection","selectedRowKeys","join","parseColumns","keys","options","columns","map","col","push","dataIndex","updateShowColumns","handleChangeColumns","JSON","stringify","type","showColumns","columnKeys","item","hasAlert","toolbarRender","classnames","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","searchCollapseEvent$","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\nimport { useThrottleFn } from 'ahooks';\r\nimport getSignature from '@vtx/utils/lib/getSignature';\r\n\r\nconst isMac = navigator.userAgent.indexOf('Mac OS') !== -1;\r\n\r\nexport default function VtxDatagrid(props) {\r\n const [state, setState] = useSet({\r\n // 显示列\r\n visibleColumns: [],\r\n // 列设置选中的列\r\n checkedColumnKeys: [],\r\n // 列设置选项\r\n columnSettingOptions: [],\r\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\r\n scrollY: 0,\r\n size: 'middle',\r\n projectKey: '',\r\n // keys in rest.columns\r\n keysInColumns: [],\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 disabledColumnKeys,\r\n onColumnsSave,\r\n uniqueKey,\r\n prefixUrl,\r\n customEnumText = {},\r\n hideSelectionClear = false,\r\n ...rest\r\n } = props;\r\n\r\n const TextEnum = {\r\n refreshText: '刷新',\r\n densityDefaultText: '默认',\r\n densityMiddleText: '中等',\r\n densitySmallText: '紧凑',\r\n columnDensityText: '列密度',\r\n columnSettingText: '列设置',\r\n\r\n actionMoreText: '更多',\r\n\r\n columnSettingTitleText: '列展示',\r\n columnSettingResetText: '重置',\r\n columnSettingSaveText: '保存',\r\n\r\n alartEmptyBtnText: '清空选择',\r\n alartAlreadyChooseText: '已选择',\r\n alartAlreadyChooseUnitText: '项',\r\n\r\n messageSuccessText: '操作成功',\r\n messageWarningOneText: '至少勾选一列保存',\r\n\r\n paginationTotalText: '共',\r\n paginationItemText: '条',\r\n\r\n ...customEnumText,\r\n };\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 headers: {\r\n ...getSignature({})\r\n },\r\n }).then(res => {\r\n if (res?.status == 200 && res.data?.key) {\r\n setState({\r\n projectKey: `${res.data.key}_${route ? route[1] : 'test'}`,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n // 高度计算\r\n const { run: calculateHeight } = useThrottleFn(\r\n () => {\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 - (rest.scrollY || 0)}px`;\r\n setState({\r\n scrollY: bodyHeight,\r\n });\r\n },\r\n {\r\n wait: 350,\r\n },\r\n );\r\n\r\n useEffect(() => {\r\n // 当没有传入唯一值而且没有自定义列保存的时候且根据规则自动生成唯一值\r\n if (!uniqueKey && !onColumnsSave && (toolbar && !hideColumnSetting)) {\r\n getUniqueKey();\r\n }\r\n const resizeObserver = new ResizeObserver(() => {\r\n calculateHeight();\r\n });\r\n // componentDidMount\r\n if (autoFit && datagridRef.current) {\r\n resizeObserver.observe(datagridRef.current, {\r\n box: 'border-box',\r\n });\r\n }\r\n\r\n return () => {\r\n // componentWillUnmount\r\n if (autoFit) {\r\n resizeObserver.disconnect();\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 useEffect(() => {\r\n parseColumns();\r\n let keys = [];\r\n let options = rest.columns?.map(col => {\r\n keys.push(col.dataIndex || col.key);\r\n return {\r\n ...col,\r\n key: col.dataIndex || col.key,\r\n }\r\n })\r\n setState({\r\n columnSettingOptions: options,\r\n keysInColumns: keys\r\n });\r\n }, [rest.columns]);\r\n\r\n useEffect(()=>{\r\n settingRef.current?.updateShowColumns(visibleColumnKeys?.join(\",\"))\r\n },[visibleColumnKeys])\r\n\r\n useEffect(()=>{\r\n handleChangeColumns(state.keysInColumns);\r\n },[JSON.stringify(state.keysInColumns)])\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 ||\r\n visibleColumnKeys ||\r\n 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 const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\r\n alertHeight.current = !hideSelectionClear && hasAlert ? 49 : 0;\r\n toolbarHeight.current = toolbar ? 56 : 0;\r\n\r\n // 列设置回调\r\n const handleChangeColumns = keys => {\r\n const columnKeys = keys || rest.columns?.map(item => item.dataIndex || item.key);\r\n setState({\r\n checkedColumnKeys: columnKeys,\r\n visibleColumns: columnSettingOptions?.filter(item => columnKeys.includes(item.key)),\r\n });\r\n onVisibleColumnsChange && onVisibleColumnsChange(columnKeys);\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 && <div className={`${prefixCls}-toolbar-line`} />}\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-setting`,\r\n )}\r\n >\r\n {refreshIconVisible && (\r\n <div\r\n className={`${prefixCls}-toolbar-setting-item`}\r\n onClick={() => {\r\n onRefresh && onRefresh();\r\n }}\r\n >\r\n <Tooltip title={TextEnum.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 }) =>\r\n setState({\r\n size: key,\r\n })\r\n }\r\n selectedKeys={[size]}\r\n >\r\n <Menu.Item key=\"default\">\r\n {TextEnum.densityDefaultText}\r\n </Menu.Item>\r\n <Menu.Item key=\"middle\">\r\n {TextEnum.densityMiddleText}\r\n </Menu.Item>\r\n <Menu.Item key=\"small\">\r\n {TextEnum.densitySmallText}\r\n </Menu.Item>\r\n </Menu>\r\n }\r\n trigger={['click']}\r\n >\r\n <Tooltip title={TextEnum.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 prefixUrl={prefixUrl}\r\n columns={rest.columns}\r\n settingRef={settingRef}\r\n TextEnum={TextEnum}\r\n >\r\n <Tooltip title={TextEnum.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 `${TextEnum.paginationTotalText} ${total} ${TextEnum.paginationItemText}`;\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 TextEnum,\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 = rest.scroll || {};\r\n if (autoFit) {\r\n scroll = {\r\n ...scroll,\r\n y: scrollY - (rest.scrollY || 0),\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 {!hideSelectionClear && 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 TextEnum={TextEnum}\r\n />\r\n </div>\r\n ):null}\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 hideSelectionClear: 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 prefixUrl: 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","keysInColumns","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","disabledColumnKeys","onColumnsSave","uniqueKey","prefixUrl","customEnumText","hideSelectionClear","indexWidth","rest","TextEnum","refreshText","densityDefaultText","densityMiddleText","densitySmallText","columnDensityText","columnSettingText","actionMoreText","columnSettingTitleText","columnSettingResetText","columnSettingSaveText","alartEmptyBtnText","alartAlreadyChooseText","alartAlreadyChooseUnitText","messageSuccessText","messageWarningOneText","paginationTotalText","paginationItemText","getUniqueKey","route","location","href","match","axios","method","url","pathname","headers","getSignature","then","res","status","data","key","useThrottleFn","current","bodyHeight","clientHeight","divs","getElementsByTagName","bodyDiv","Array","prototype","filter","call","dom","includes","minHeight","wait","calculateHeight","run","useEffect","resizeObserver","ResizeObserver","observe","box","disconnect","useLayoutEffect","dataSource","length","rowSelection","selectedRowKeys","join","parseColumns","keys","options","columns","map","col","push","dataIndex","updateShowColumns","handleChangeColumns","JSON","stringify","type","showColumns","columnKeys","item","hasAlert","toolbarRender","classnames","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","searchCollapseEvent$","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\nimport { useThrottleFn } from 'ahooks';\r\nimport getSignature from '@vtx/utils/lib/getSignature';\r\n\r\nconst isMac = navigator.userAgent.indexOf('Mac OS') !== -1;\r\n\r\nexport default function VtxDatagrid(props) {\r\n const [state, setState] = useSet({\r\n // 显示列\r\n visibleColumns: [],\r\n // 列设置选中的列\r\n checkedColumnKeys: [],\r\n // 列设置选项\r\n columnSettingOptions: [],\r\n datagridId: `vtx-datagrid-${new Date().getTime()}`,\r\n scrollY: 0,\r\n size: 'middle',\r\n projectKey: '',\r\n // keys in rest.columns\r\n keysInColumns: [],\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 disabledColumnKeys,\r\n onColumnsSave,\r\n uniqueKey,\r\n prefixUrl,\r\n customEnumText = {},\r\n hideSelectionClear = false,\r\n indexWidth = 70,\r\n ...rest\r\n } = props;\r\n\r\n const TextEnum = {\r\n refreshText: '刷新',\r\n densityDefaultText: '默认',\r\n densityMiddleText: '中等',\r\n densitySmallText: '紧凑',\r\n columnDensityText: '列密度',\r\n columnSettingText: '列设置',\r\n\r\n actionMoreText: '更多',\r\n\r\n columnSettingTitleText: '列展示',\r\n columnSettingResetText: '重置',\r\n columnSettingSaveText: '保存',\r\n\r\n alartEmptyBtnText: '清空选择',\r\n alartAlreadyChooseText: '已选择',\r\n alartAlreadyChooseUnitText: '项',\r\n\r\n messageSuccessText: '操作成功',\r\n messageWarningOneText: '至少勾选一列保存',\r\n\r\n paginationTotalText: '共',\r\n paginationItemText: '条',\r\n\r\n ...customEnumText,\r\n };\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 headers: {\r\n ...getSignature({})\r\n },\r\n }).then(res => {\r\n if (res?.status == 200 && res.data?.key) {\r\n setState({\r\n projectKey: `${res.data.key}_${route ? route[1] : 'test'}`,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n // 高度计算\r\n const { run: calculateHeight } = useThrottleFn(\r\n () => {\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 - (rest.scrollY || 0)}px`;\r\n setState({\r\n scrollY: bodyHeight,\r\n });\r\n },\r\n {\r\n wait: 350,\r\n },\r\n );\r\n\r\n useEffect(() => {\r\n // 当没有传入唯一值而且没有自定义列保存的时候且根据规则自动生成唯一值\r\n if (!uniqueKey && !onColumnsSave && (toolbar && !hideColumnSetting)) {\r\n getUniqueKey();\r\n }\r\n const resizeObserver = new ResizeObserver(() => {\r\n calculateHeight();\r\n });\r\n // componentDidMount\r\n if (autoFit && datagridRef.current) {\r\n resizeObserver.observe(datagridRef.current, {\r\n box: 'border-box',\r\n });\r\n }\r\n\r\n return () => {\r\n // componentWillUnmount\r\n if (autoFit) {\r\n resizeObserver.disconnect();\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 useEffect(() => {\r\n parseColumns();\r\n let keys = [];\r\n let options = rest.columns?.map(col => {\r\n keys.push(col.dataIndex || col.key);\r\n return {\r\n ...col,\r\n key: col.dataIndex || col.key,\r\n }\r\n })\r\n setState({\r\n columnSettingOptions: options,\r\n keysInColumns: keys\r\n });\r\n }, [rest.columns]);\r\n\r\n useEffect(()=>{\r\n settingRef.current?.updateShowColumns(visibleColumnKeys?.join(\",\"))\r\n },[visibleColumnKeys])\r\n\r\n useEffect(()=>{\r\n handleChangeColumns(state.keysInColumns);\r\n },[JSON.stringify(state.keysInColumns)])\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 ||\r\n visibleColumnKeys ||\r\n 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 const hasAlert = (rest.rowSelection?.selectedRowKeys || []).length > 0;\r\n alertHeight.current = !hideSelectionClear && hasAlert ? 49 : 0;\r\n toolbarHeight.current = toolbar ? 56 : 0;\r\n\r\n // 列设置回调\r\n const handleChangeColumns = keys => {\r\n const columnKeys = keys || rest.columns?.map(item => item.dataIndex || item.key);\r\n setState({\r\n checkedColumnKeys: columnKeys,\r\n visibleColumns: columnSettingOptions?.filter(item => columnKeys.includes(item.key)),\r\n });\r\n onVisibleColumnsChange && onVisibleColumnsChange(columnKeys);\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 && <div className={`${prefixCls}-toolbar-line`} />}\r\n <div\r\n className={classnames(\r\n `${prefixCls}-space-item`,\r\n `${prefixCls}-toolbar-setting`,\r\n )}\r\n >\r\n {refreshIconVisible && (\r\n <div\r\n className={`${prefixCls}-toolbar-setting-item`}\r\n onClick={() => {\r\n onRefresh && onRefresh();\r\n }}\r\n >\r\n <Tooltip title={TextEnum.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 }) =>\r\n setState({\r\n size: key,\r\n })\r\n }\r\n selectedKeys={[size]}\r\n >\r\n <Menu.Item key=\"default\">\r\n {TextEnum.densityDefaultText}\r\n </Menu.Item>\r\n <Menu.Item key=\"middle\">\r\n {TextEnum.densityMiddleText}\r\n </Menu.Item>\r\n <Menu.Item key=\"small\">\r\n {TextEnum.densitySmallText}\r\n </Menu.Item>\r\n </Menu>\r\n }\r\n trigger={['click']}\r\n >\r\n <Tooltip title={TextEnum.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 prefixUrl={prefixUrl}\r\n columns={rest.columns}\r\n settingRef={settingRef}\r\n TextEnum={TextEnum}\r\n >\r\n <Tooltip title={TextEnum.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 `${TextEnum.paginationTotalText} ${total} ${TextEnum.paginationItemText}`;\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 TextEnum,\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: indexWidth,\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 = rest.scroll || {};\r\n if (autoFit) {\r\n scroll = {\r\n ...scroll,\r\n y: scrollY - (rest.scrollY || 0),\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 {!hideSelectionClear && 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 TextEnum={TextEnum}\r\n />\r\n </div>\r\n ):null}\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 hideSelectionClear: 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 prefixUrl: PropTypes.string,\r\n indexWidth: PropTypes.number,\r\n};\r\n"],"mappings":"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"}
|