Commit 632047c7 by zhaochengxiang

bug fix

parent 8d0e89d5
import React,{ useState, useEffect, useRef, useContext, useMemo } from "react"; import React,{ useState, useEffect, useRef, useContext, useMemo } from "react";
import { Button, Pagination, Space, Modal, Input, Table, Tooltip, Checkbox, Typography, Dropdown, Menu, Divider, Select } from "antd"; import { Button, Pagination, Space, Modal, Input, Tooltip, Checkbox, Typography, Dropdown, Menu, Divider, Select } from "antd";
import classNames from 'classnames'; import classNames from 'classnames';
import { Resizable } from 'react-resizable'; import { Resizable } from 'react-resizable';
import ResizeObserver from 'rc-resize-observer'; import ResizeObserver from 'rc-resize-observer';
...@@ -19,6 +19,7 @@ import { FullScreenSvg, CancelFullScreenSvg } from './AssetSvg'; ...@@ -19,6 +19,7 @@ import { FullScreenSvg, CancelFullScreenSvg } from './AssetSvg';
import AssetDeleteModal from './AssetDeleteModal'; import AssetDeleteModal from './AssetDeleteModal';
import { AppContext, appId } from "../../../../App"; import { AppContext, appId } from "../../../../App";
import StartFlowModal from "./StartFlow"; import StartFlowModal from "./StartFlow";
import Table from '../../ResizeableTable';
import "./AssetTable.less"; import "./AssetTable.less";
import 'react-contexify/dist/ReactContexify.css'; import 'react-contexify/dist/ReactContexify.css';
...@@ -87,36 +88,6 @@ const AssetItem = (props) => { ...@@ -87,36 +88,6 @@ const AssetItem = (props) => {
); );
} }
const ResizeableHeaderCell = props => {
const { onResize, width, onClick, ...restProps } = props;
if (!width) {
return <th {...restProps} />;
}
return (
<Resizable
width={width}
height={0}
handle={
<span
className="react-resizable-handle"
onClick={(e) => {
e.stopPropagation();
}}
/>
}
onResize={onResize}
draggableOpts={{ enableUserSelectHack: false }}
>
<th
onClick={onClick}
{...restProps}
/>
</Resizable>
);
};
export const listSubject = new Subject(); export const listSubject = new Subject();
const AssetTable = (props) => { const AssetTable = (props) => {
...@@ -131,7 +102,6 @@ const AssetTable = (props) => { ...@@ -131,7 +102,6 @@ const AssetTable = (props) => {
const [ loading, setLoading ] = useState(false); const [ loading, setLoading ] = useState(false);
const [ columns, setColumns ] = useState([]); const [ columns, setColumns ] = useState([]);
const [ realColumns, setRealColumns ] = useState([]);
const [ assets, setAssets ] = useState([]); const [ assets, setAssets ] = useState([]);
const [ total, setTotal ] = useState(0); const [ total, setTotal ] = useState(0);
const [ selectItem, setSelectItem ] = useState({}); const [ selectItem, setSelectItem ] = useState({});
...@@ -208,24 +178,6 @@ const AssetTable = (props) => { ...@@ -208,24 +178,6 @@ const AssetTable = (props) => {
} }
useEffect(() => { useEffect(() => {
if (TableWidth>0 && columns.length>0) {
const newColumns = [...columns, actionCol];
const currentWidth = (newColumns.reduce((preVal, col) => (col.width?col.width:0) + preVal, 0)) + 32.0;
if (currentWidth < TableWidth) {
newColumns.forEach(column => {
column.width = (TableWidth - 32.0)/newColumns.length;
})
}
setRealColumns([...newColumns, <Column key='auto' />]);
} else {
setRealColumns([]);
}
}, [columns, TableWidth])
useEffect(() => {
getUsers(); getUsers();
if (reference === AssetRecycleReference) { if (reference === AssetRecycleReference) {
getTemplates() getTemplates()
...@@ -885,16 +837,6 @@ const AssetTable = (props) => { ...@@ -885,16 +837,6 @@ const AssetTable = (props) => {
} }
} }
const handleResize = index => (e, { size }) => {
const nextColumns = [...realColumns];
nextColumns[index] = {
...nextColumns[index],
width: size.width,
};
setRealColumns(nextColumns);
};
const displayMenu = (e) => { const displayMenu = (e) => {
show({ show({
event: e event: e
...@@ -1177,11 +1119,6 @@ const AssetTable = (props) => { ...@@ -1177,11 +1119,6 @@ const AssetTable = (props) => {
> >
<Table <Table
rowSelection={rowSelection} rowSelection={rowSelection}
components={{
header: {
cell: ResizeableHeaderCell,
}
}}
onRow={(record) => { onRow={(record) => {
return { return {
id: `data-asset-${record?.id}`, id: `data-asset-${record?.id}`,
...@@ -1212,17 +1149,7 @@ const AssetTable = (props) => { ...@@ -1212,17 +1149,7 @@ const AssetTable = (props) => {
return classNames.join(' '); return classNames.join(' ');
}} }}
loading={loading} loading={loading}
columns={ columns={[...columns, actionCol]}
(realColumns||[]).map((column, index) => {
return {
...column,
onHeaderCell: column => ({
width: column.width,
onResize: handleResize(index),
}),
};
})
}
rowKey='id' rowKey='id'
dataSource={realAssets} dataSource={realAssets}
pagination={false} pagination={false}
......
...@@ -2,6 +2,7 @@ import React, { useEffect, useState, useRef, useMemo } from 'react'; ...@@ -2,6 +2,7 @@ import React, { useEffect, useState, useRef, useMemo } from 'react';
import { Table } from 'antd'; import { Table } from 'antd';
import { Resizable } from 'react-resizable'; import { Resizable } from 'react-resizable';
import ResizeObserver from 'rc-resize-observer' import ResizeObserver from 'rc-resize-observer'
import produce from 'immer';
const scrollbarWidth = getScrollbarWidth() const scrollbarWidth = getScrollbarWidth()
...@@ -62,10 +63,19 @@ const ResizeableTable = (props) => { ...@@ -62,10 +63,19 @@ const ResizeableTable = (props) => {
useEffect(() => { useEffect(() => {
if (!!columns && tableWidth > 0) { if (!!columns && tableWidth > 0) {
const contentWidth = getWidth(tableWidth, extraColWidth) const contentWidth = getWidth(tableWidth, extraColWidth)
setDefaultWidth(columns, contentWidth) let newCols = produce(columns, (draft) => {
(draft??[]).forEach(item => {
const index = (cols??[]).findIndex(_item => item.dataIndex === _item.dataIndex && item.title === _item.title)
if (index !== -1) {
item.width = cols[index].width
}
})
})
setDefaultWidth(newCols, contentWidth)
paddingCol.current.width = 0 paddingCol.current.width = 0
const cols = columns newCols = (newCols??[])
.map((col, index) => { .map((col, index) => {
const colWidth = col.width ?? 100; const colWidth = col.width ?? 100;
return { return {
...@@ -78,7 +88,7 @@ const ResizeableTable = (props) => { ...@@ -78,7 +88,7 @@ const ResizeableTable = (props) => {
}), }),
}; };
}) })
setCols(cols) setCols(newCols)
} }
}, [columns, tableWidth, extraColWidth]) }, [columns, tableWidth, extraColWidth])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment