X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dc16046dbfdca4a9c0d94971730d220b27e80620..7109f4f33c919b07f8e87412c3bc2cc28725296a:/services/workbench2/src/components/data-table/data-table.tsx diff --git a/services/workbench2/src/components/data-table/data-table.tsx b/services/workbench2/src/components/data-table/data-table.tsx index 155d772f85..d3bbab5077 100644 --- a/services/workbench2/src/components/data-table/data-table.tsx +++ b/services/workbench2/src/components/data-table/data-table.tsx @@ -63,6 +63,7 @@ type CssRules = | "noItemsInfo" | "checkBoxHead" | "checkBoxCell" + | "clickBox" | "checkBox" | "firstTableCell" | "tableCell" @@ -94,10 +95,22 @@ const styles: StyleRulesCallback = (theme: Theme) => ({ checkBoxHead: { padding: "0", display: "flex", + width: '2rem', + height: "1.5rem", + paddingLeft: '0.9rem', + marginRight: '0.5rem' }, checkBoxCell: { padding: "0", - paddingLeft: "10px", + }, + clickBox: { + display: 'flex', + width: '1.6rem', + height: "1.5rem", + paddingLeft: '0.35rem', + paddingTop: '0.1rem', + marginLeft: '0.5rem', + cursor: "pointer", }, checkBox: { cursor: "pointer", @@ -144,7 +157,7 @@ export const DataTable = withStyles(styles)( }; componentDidMount(): void { - this.initializeCheckedList(this.props.items); + this.initializeCheckedList([]); } componentDidUpdate(prevProps: Readonly>, prevState: DataTableState) { @@ -155,6 +168,13 @@ export const DataTable = withStyles(styles)( if (items.length) this.initializeCheckedList(items); else setCheckedListOnStore({}); } + if (prevProps.currentRoute !== this.props.currentRoute) { + this.initializeCheckedList([]) + } + } + + componentWillUnmount(): void { + this.initializeCheckedList([]) } checkBoxColumn: DataColumn = { @@ -165,13 +185,24 @@ export const DataTable = withStyles(styles)( render: uuid => { const { classes, checkedList } = this.props; return ( - this.handleSelectOne(uuid)} - onDoubleClick={ev => ev.stopPropagation()}> +
{ + ev.stopPropagation() + this.handleSelectOne(uuid) + }} + onDoubleClick={(ev) => ev.stopPropagation()} + > + this.handleSelectOne(uuid)} + onDoubleClick={(ev) => ev.stopPropagation()} + > +
); }, }; @@ -367,6 +398,7 @@ export const DataTable = withStyles(styles)( const { onRowClick, onRowDoubleClick, extractKey, classes, currentItemUuid, currentRoute } = this.props; return ( onRowClick && onRowClick(event, item)}