@vtx/components 3.1.5 → 3.1.8

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.
@@ -94,7 +94,7 @@ function VtxDatagrid(props) {
94
94
  // 列设置选项
95
95
  columnSettingOptions: [],
96
96
  datagridId: "vtx-datagrid-".concat(new Date().getTime()),
97
- scrollY: null,
97
+ scrollY: 0,
98
98
  size: 'middle'
99
99
  }),
100
100
  _useSet2 = _slicedToArray(_useSet, 2),
@@ -411,7 +411,7 @@ function VtxDatagrid(props) {
411
411
 
412
412
  return /*#__PURE__*/_react["default"].createElement("div", {
413
413
  id: datagridId,
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)),
414
+ className: (0, _classnames2["default"])(prefixCls, className, (_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-fit"), autoFit), _defineProperty(_classnames, "".concat(prefixCls, "-noFit"), !autoFit), _defineProperty(_classnames, "".concat(prefixCls, "-nodata"), !((_dataSource2 = dataSource) !== null && _dataSource2 !== void 0 && _dataSource2.length)), _defineProperty(_classnames, "".concat(prefixCls, "-userAgent-mac"), isMac), _classnames)),
415
415
  style: style
416
416
  }, toolbarRender, hasAlert && /*#__PURE__*/_react["default"].createElement("div", {
417
417
  className: "".concat(prefixCls, "-alert")
@@ -1 +1 @@
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/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport Dropdown from 'antd/lib/dropdown';\nimport Menu from 'antd/lib/menu';\nimport Empty from 'antd/lib/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"}
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/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport Dropdown from 'antd/lib/dropdown';\nimport Menu from 'antd/lib/menu';\nimport Empty from 'antd/lib/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: 0,\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}-noFit`]: !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"}
@@ -8,6 +8,7 @@
8
8
  .vtx-datagrid-fit .ant-table-header::-webkit-scrollbar,
9
9
  .vtx-datagrid-fit .ant-table-body::-webkit-scrollbar {
10
10
  width: 5px;
11
+ height: 5px;
11
12
  background-color: hsla(0, 0%, 80%, 0.08);
12
13
  }
13
14
  .vtx-datagrid-fit .ant-table-header::-webkit-scrollbar-thumb,
@@ -15,6 +16,16 @@
15
16
  background-color: rgba(0, 0, 0, 0.05);
16
17
  border-radius: 3px;
17
18
  }
19
+ .vtx-datagrid-fit .ant-table-header > table,
20
+ .vtx-datagrid-fit .ant-table-body > table {
21
+ min-height: 1px;
22
+ }
23
+ .vtx-datagrid-fit .ant-table-tbody > tr:nth-child(odd) {
24
+ background: #f6f6f6;
25
+ }
26
+ .vtx-datagrid-fit .ant-table-tbody > tr:nth-child(odd) > td {
27
+ background: #f6f6f6 !important;
28
+ }
18
29
  .vtx-datagrid-fit .ant-table-fixed-header .ant-table-scroll .ant-table-header {
19
30
  min-width: 5px !important;
20
31
  }
@@ -33,18 +44,15 @@
33
44
  .vtx-datagrid-fit .ant-spin-nested-loading .ant-spin-container .ant-table {
34
45
  height: 100%;
35
46
  }
36
- .vtx-datagrid .ant-table-has-fix-right .ant-table-body::-webkit-scrollbar {
37
- width: 17px;
47
+ .vtx-datagrid-noFit .ant-table-tbody > tr:nth-child(even) {
48
+ background: #f6f6f6;
38
49
  }
39
- .vtx-datagrid-userAgent-mac .ant-table-has-fix-right .ant-table-body::-webkit-scrollbar {
40
- width: 15px;
50
+ .vtx-datagrid-noFit .ant-table-tbody > tr:nth-child(even) > td {
51
+ background: #f6f6f6 !important;
41
52
  }
42
53
  .vtx-datagrid .ant-table-thead > tr > th {
43
54
  background-color: #edf6ff;
44
55
  }
45
- .vtx-datagrid .ant-table-tbody > tr:nth-child(even) {
46
- background: #f6f6f6;
47
- }
48
56
  .vtx-datagrid .ant-table-tbody > tr.ant-table-placeholder {
49
57
  position: absolute;
50
58
  right: 0;
@@ -8,16 +8,36 @@
8
8
  height: 100%;
9
9
  .ant-table-header,
10
10
  .ant-table-body {
11
- &::-webkit-scrollbar {
11
+ &::-webkit-scrollbar when(@theme=dark) {
12
12
  width: 5px;
13
+ height: 5px;
14
+ background-color: @body-background;
15
+ }
16
+ &::-webkit-scrollbar when(@theme=default) {
17
+ width: 5px;
18
+ height: 5px;
13
19
  background-color: hsla(0, 0%, 80%, 0.08);
14
20
  }
15
- &::-webkit-scrollbar-thumb {
21
+ &::-webkit-scrollbar-thumb when(@theme=dark) {
22
+ background-color: #434343;
23
+ border-radius: 3px;
24
+ }
25
+ &::-webkit-scrollbar-thumb when(@theme=default) {
16
26
  background-color: rgba(0, 0, 0, 0.05);
17
27
  border-radius: 3px;
18
28
  }
29
+ > table {
30
+ min-height: 1px;
31
+ }
32
+ }
33
+ .ant-table-tbody > tr {
34
+ &:nth-child(odd) when(@theme=default) {
35
+ background: #f6f6f6;
36
+ > td {
37
+ background: #f6f6f6 !important;
38
+ }
39
+ }
19
40
  }
20
-
21
41
  .ant-table-fixed-header .ant-table-scroll .ant-table-header {
22
42
  min-width: 5px !important;
23
43
  }
@@ -37,33 +57,45 @@
37
57
  }
38
58
  }
39
59
  }
40
- // 固定列目前没有办法用细的滚动条
41
- .ant-table-has-fix-right {
42
- .ant-table-body {
43
- &::-webkit-scrollbar {
44
- width: 17px;
45
- }
46
- }
47
- }
48
- // mac 和 windows下有差异,window chrome下滚动条宽度17px,mac chrome下15px
49
- &-userAgent-mac {
50
- .ant-table-has-fix-right {
51
- .ant-table-body {
52
- &::-webkit-scrollbar {
53
- width: 15px;
60
+ &-noFit {
61
+ .ant-table-tbody > tr {
62
+ &:nth-child(even) when(@theme=default) {
63
+ background: #f6f6f6;
64
+ > td {
65
+ background: #f6f6f6 !important;
54
66
  }
55
67
  }
56
68
  }
57
69
  }
70
+ // 固定列目前没有办法用细的滚动条
71
+ // .ant-table-has-fix-right {
72
+ // .ant-table-body {
73
+ // &::-webkit-scrollbar {
74
+ // width: 5px;
75
+ // height: 5px;
76
+ // }
77
+ // }
78
+ // }
79
+ // mac 和 windows下有差异,window chrome下滚动条宽度17px,mac chrome下15px
80
+ // &-userAgent-mac {
81
+ // .ant-table-has-fix-right {
82
+ // .ant-table-body {
83
+ // &::-webkit-scrollbar {
84
+ // width: 5px;
85
+ // height: 5px;
86
+ // }
87
+ // }
88
+ // }
89
+ // }
58
90
  .ant-table-thead > tr > th when(@theme=default) {
59
91
  // antd4.0 半透明会重叠
60
92
  // background-color: fade(#1890ff, 8);
61
93
  background-color: rgba(237, 246, 255, 1);
62
94
  }
63
95
  .ant-table-tbody > tr {
64
- &:nth-child(even) when(@theme=default) {
65
- background: #f6f6f6;
66
- }
96
+ // &:nth-child(even) when(@theme=default) {
97
+ // background: #f6f6f6;
98
+ // }
67
99
  &.ant-table-placeholder {
68
100
  position: absolute;
69
101
  right: 0;
@@ -64,7 +64,7 @@
64
64
  }
65
65
  .vtx-form-layout .vtx-form-item--inline .ant-form-item-label > label {
66
66
  height: auto;
67
- color: rgba(0, 0, 0, 0.65);
67
+ color: rgba(0, 0, 0, 0.85);
68
68
  }
69
69
  .vtx-form-layout .vtx-form-item--inline .ant-form-item-label label::after {
70
70
  content: ':';
@@ -75,7 +75,7 @@
75
75
  }
76
76
  .vtx-form-layout .vtx-form-item--view .ant-form-item-label > label {
77
77
  height: auto;
78
- color: rgba(0, 0, 0, 0.65);
78
+ color: rgba(0, 0, 0, 0.85);
79
79
  }
80
80
  .vtx-form-layout .vtx-form-item--view .ant-form-item-label label::after {
81
81
  content: ':';
@@ -104,7 +104,7 @@
104
104
  overflow: hidden;
105
105
  }
106
106
  .vtx-form-layout .vtx-form-card-expand-icon {
107
- color: rgba(0, 0, 0, 0.45);
107
+ color: rgba(0, 0, 0, 0.75);
108
108
  transition: transform 0.24s, -webkit-transform 0.24s;
109
109
  }
110
110
  .vtx-form-layout .vtx-form-card .ant-card-body {
@@ -50,7 +50,7 @@
50
50
  margin-bottom: 0;
51
51
  & > label {
52
52
  height: auto;
53
- color: fade(@black, 65%);
53
+ color: @text-color;
54
54
  }
55
55
  label::after {
56
56
  content: ':';
@@ -65,7 +65,7 @@
65
65
  .ant-form-item-label {
66
66
  & > label {
67
67
  height: auto;
68
- color: fade(@black, 65%);
68
+ color: @text-color;
69
69
  }
70
70
  label::after {
71
71
  content: ':';
@@ -98,7 +98,7 @@
98
98
  width: 100%;
99
99
  overflow: hidden;
100
100
  &-expand-icon {
101
- color: fade(@black, 45%);
101
+ color: fade(@text-color, 75%);
102
102
  transition: transform 0.24s, -webkit-transform 0.24s;
103
103
  }
104
104
  .ant-card-body {
@@ -3,4 +3,6 @@
3
3
  require("antd/lib/input/style/css");
4
4
 
5
5
  require("antd/lib/tooltip/style/css");
6
+
7
+ require("@vtx/map/lib/VtxSearchMap/style/css");
6
8
  //# sourceMappingURL=css.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-search-map-input/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import 'antd/lib/input/style';\nimport 'antd/lib/tooltip/style';\n"],"file":"css.js"}
1
+ {"version":3,"sources":["vtx-search-map-input/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA","sourcesContent":["import 'antd/lib/input/style';\nimport 'antd/lib/tooltip/style';\nimport '@vtx/map/lib/VtxSearchMap/style';\n"],"file":"css.js"}
@@ -3,4 +3,6 @@
3
3
  require("antd/lib/input/style");
4
4
 
5
5
  require("antd/lib/tooltip/style");
6
+
7
+ require("@vtx/map/lib/VtxSearchMap/style");
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-search-map-input/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import 'antd/lib/input/style';\nimport 'antd/lib/tooltip/style';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-search-map-input/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA","sourcesContent":["import 'antd/lib/input/style';\nimport 'antd/lib/tooltip/style';\nimport '@vtx/map/lib/VtxSearchMap/style';\n"],"file":"index.js"}
@@ -1,3 +1,5 @@
1
+ @import (reference) '~antd/lib/style/themes/index.less';
2
+
1
3
  @prefix-cls: vtx-split-pane;
2
4
 
3
5
  .@{prefix-cls} {
@@ -37,20 +39,34 @@
37
39
  }
38
40
  }
39
41
 
40
- &-resizer-left {
42
+ &-resizer-left when(@theme=default) {
41
43
  border-right: 1px solid rgb(232, 232, 232);
42
44
  &:hover {
43
45
  border-right: 1px solid rgb(191, 191, 191);
44
46
  transition: border-right 0.2s ease-in-out;
45
47
  }
46
48
  }
47
- &-resizer-right {
49
+ &-resizer-left when(@theme=dark) {
50
+ border-right: @border-color-base;
51
+ &:hover {
52
+ border-right: 1px solid @border-color-base;
53
+ transition: border-right 0.2s ease-in-out;
54
+ }
55
+ }
56
+ &-resizer-right when(@theme=default) {
48
57
  border-left: 1px solid rgb(232, 232, 232);
49
58
  &:hover {
50
59
  border-left: 1px solid rgb(191, 191, 191);
51
60
  transition: border-right 0.2s ease-in-out;
52
61
  }
53
62
  }
63
+ &-resizer-right when(@theme=dark) {
64
+ border-left: 1px solid @border-color-base;
65
+ &:hover {
66
+ border-left: 1px solid @border-color-base;
67
+ transition: border-right 0.2s ease-in-out;
68
+ }
69
+ }
54
70
  &-resizer.disabled {
55
71
  cursor: not-allowed;
56
72
  }
@@ -6,13 +6,12 @@
6
6
  padding-top: 52px;
7
7
  }
8
8
  .vtx-ztree::-webkit-scrollbar {
9
- width: 10px;
10
- background-color: hsla(0, 0%, 76%, 0.07);
9
+ width: 5px;
10
+ background-color: hsla(0, 0%, 80%, 0.08);
11
11
  }
12
12
  .vtx-ztree::-webkit-scrollbar-thumb {
13
- background-color: rgba(193, 193, 193, 0.6);
13
+ background-color: rgba(0, 0, 0, 0.05);
14
14
  border-radius: 3px;
15
- -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.3);
16
15
  }
17
16
  .vtx-ztree-wraaper {
18
17
  position: relative;
@@ -27,3 +26,9 @@
27
26
  left: 12px;
28
27
  margin-bottom: 10px;
29
28
  }
29
+ .ztree li a {
30
+ color: rgba(0, 0, 0, 0.85) !important;
31
+ }
32
+ .ztree li a.curSelectedNode {
33
+ color: black !important;
34
+ }
@@ -1,3 +1,5 @@
1
+ @import (reference) '~antd/lib/style/themes/index.less';
2
+
1
3
  @prefix-cls: vtx-ztree;
2
4
 
3
5
  .@{prefix-cls} {
@@ -6,14 +8,21 @@
6
8
  &-has-search {
7
9
  padding-top: 52px;
8
10
  }
9
- &::-webkit-scrollbar {
10
- width: 10px;
11
- background-color: hsla(0, 0%, 76%, 0.07);
11
+ &::-webkit-scrollbar when(@theme=dark) {
12
+ width: 5px;
13
+ background-color: @body-background;
14
+ }
15
+ &::-webkit-scrollbar when(@theme=default) {
16
+ width: 5px;
17
+ background-color: hsla(0, 0%, 80%, 0.08);
18
+ }
19
+ &::-webkit-scrollbar-thumb when(@theme=dark) {
20
+ background-color: #434343;
21
+ border-radius: 3px;
12
22
  }
13
- &::-webkit-scrollbar-thumb {
14
- background-color: rgba(193, 193, 193, 0.6);
23
+ &::-webkit-scrollbar-thumb when(@theme=default) {
24
+ background-color: rgba(0, 0, 0, 0.05);
15
25
  border-radius: 3px;
16
- -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.3);
17
26
  }
18
27
  &-wraaper {
19
28
  position: relative;
@@ -28,3 +37,9 @@
28
37
  margin-bottom: 10px;
29
38
  }
30
39
  }
40
+ .ztree li a {
41
+ color: @text-color !important;
42
+ }
43
+ .ztree li a.curSelectedNode {
44
+ color: black !important;
45
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "3.1.5",
3
+ "version": "3.1.8",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",