@vtx/components 2.5.0 → 2.5.1
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.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## [2.5.1](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.5.0...2.5.1) (2021-12-01)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### ✨ Features
|
|
5
|
+
|
|
6
|
+
* 数据表格VtxDatagrid单元格无数据时默认显示'-' ([3c68da7](https://git.cloudhw.cn:3443/front-end/react-components/commit/3c68da7)) by: **gongjinhua**
|
|
7
|
+
* 文本域VtxInput.TextArea最大输入长度字段显示位置调整 ([4da91a0](https://git.cloudhw.cn:3443/front-end/react-components/commit/4da91a0)) by: **gongjinhua**
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### 🎫 Chores
|
|
11
|
+
|
|
12
|
+
* 安装less-plugin-npm-import编译less [@import](https://git.cloudhw.cn:3443/import)导入npm文件 ([fd9aa70](https://git.cloudhw.cn:3443/front-end/react-components/commit/fd9aa70)) by: **gongjinhua**
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### 📝 Documentation
|
|
16
|
+
|
|
17
|
+
* 左右布局示例外部容器设置默认宽度1200px ([e46da59](https://git.cloudhw.cn:3443/front-end/react-components/commit/e46da59)) by: **gongjinhua**
|
|
18
|
+
* 表单布局示例修改 ([8032749](https://git.cloudhw.cn:3443/front-end/react-components/commit/8032749)) by: **gongjinhua**
|
|
19
|
+
* 页面布局左右布局示例设置容器样式 ([addc410](https://git.cloudhw.cn:3443/front-end/react-components/commit/addc410)) by: **gongjinhua**
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
1
23
|
# [2.5.0](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.4.2...2.5.0) (2021-11-23)
|
|
2
24
|
|
|
3
25
|
|
|
@@ -31,6 +53,7 @@
|
|
|
31
53
|
|
|
32
54
|
### 🎫 Chores
|
|
33
55
|
|
|
56
|
+
* release v2.5.0 ([d7de29b](https://git.cloudhw.cn:3443/front-end/react-components/commit/d7de29b)) by: **gongjinhua**
|
|
34
57
|
* 设置antd主题样式border-radius-base为2px ([bb88a79](https://git.cloudhw.cn:3443/front-end/react-components/commit/bb88a79)) by: **gongjinhua**
|
|
35
58
|
* 调整demo内样式 ([47e2145](https://git.cloudhw.cn:3443/front-end/react-components/commit/47e2145)) by: **gongjinhua**
|
|
36
59
|
|
|
@@ -338,7 +338,9 @@ function VtxDatagrid(props) {
|
|
|
338
338
|
return _objectSpread(_objectSpread({}, newColumn), {}, {
|
|
339
339
|
render: (0, _isFunction["default"])(column.renderButtons) ? function (text, record, index) {
|
|
340
340
|
return (0, _renderColumnButtons["default"])(column.renderButtons, column.renderButtonsVisibleNum, text, record, index);
|
|
341
|
-
} : column.render
|
|
341
|
+
} : 'render' in column ? column.render : function (text) {
|
|
342
|
+
return ['', null, undefined].includes(text) ? '-' : text;
|
|
343
|
+
}
|
|
342
344
|
});
|
|
343
345
|
}); // 配置了列可伸缩
|
|
344
346
|
|
|
@@ -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","onHeaderCell","width","onResize","handleResize","e","nextColumns","dataSource","title","fixed","i","_serialNum","scroll","y","height","locale","header","cell","ResizeableTitle","undefined","propTypes","PropTypes","string","bool","array","func","oneOfType","node","number","object"],"mappings":"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","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 : column.render,\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":["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":"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","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,6 +1,12 @@
|
|
|
1
|
+
.vtx-input-textarea {
|
|
2
|
+
position: relative;
|
|
3
|
+
}
|
|
1
4
|
.vtx-input-textarea::after {
|
|
2
|
-
|
|
5
|
+
position: absolute;
|
|
6
|
+
right: 12px;
|
|
7
|
+
bottom: 8px;
|
|
3
8
|
color: rgba(0, 0, 0, 0.45);
|
|
9
|
+
line-height: 1.5;
|
|
4
10
|
white-space: nowrap;
|
|
5
11
|
content: attr(data-count);
|
|
6
12
|
pointer-events: none;
|
|
@@ -55,14 +55,14 @@
|
|
|
55
55
|
right: 0;
|
|
56
56
|
bottom: 0;
|
|
57
57
|
left: 0;
|
|
58
|
-
padding: 0
|
|
58
|
+
padding: 0 10px / 2;
|
|
59
59
|
}
|
|
60
60
|
.vtx-table-wrapper-relative {
|
|
61
61
|
position: relative;
|
|
62
62
|
width: 100%;
|
|
63
63
|
height: 100%;
|
|
64
64
|
max-height: 500px;
|
|
65
|
-
padding: 0
|
|
65
|
+
padding: 0 10px / 2;
|
|
66
66
|
}
|
|
67
67
|
.vtx-page--table {
|
|
68
68
|
position: relative;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vtx/components",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.1",
|
|
4
4
|
"description": "React components for Vortex",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -98,12 +98,13 @@
|
|
|
98
98
|
"gulp-babel": "^8.0.0",
|
|
99
99
|
"gulp-bump": "^3.1.3",
|
|
100
100
|
"gulp-clean": "^0.4.0",
|
|
101
|
-
"gulp-less": "
|
|
101
|
+
"gulp-less": "5.0.0",
|
|
102
102
|
"gulp-sourcemaps": "^2.6.5",
|
|
103
103
|
"husky": "^4.0.7",
|
|
104
104
|
"jquery": "^3.6.0",
|
|
105
105
|
"less": "^3.10.3",
|
|
106
106
|
"less-plugin-autoprefix": "^2.0.0",
|
|
107
|
+
"less-plugin-npm-import": "^2.1.0",
|
|
107
108
|
"merge2": "^1.3.0",
|
|
108
109
|
"prettier": "^1.18.2",
|
|
109
110
|
"pretty-quick": "^2.0.0",
|