X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/43551086cc04bb37a2b1dc6c8ec24af44f2acf8d..606119d81b87f4e5e835c777b012f56e7d5c146d:/src/components/data-table/data-table.tsx diff --git a/src/components/data-table/data-table.tsx b/src/components/data-table/data-table.tsx index de52d365..e8a6ce69 100644 --- a/src/components/data-table/data-table.tsx +++ b/src/components/data-table/data-table.tsx @@ -10,6 +10,7 @@ import { DataTableDefaultView } from '../data-table-default-view/data-table-defa import { DataTableFilters } from '../data-table-filters/data-table-filters-tree'; import { DataTableFiltersPopover } from '../data-table-filters/data-table-filters-popover'; import { countNodes } from 'models/tree'; +import { PendingIcon } from 'components/icon/icon'; import { SvgIconProps } from '@material-ui/core/SvgIcon'; import ArrowDownwardIcon from '@material-ui/icons/ArrowDownward'; @@ -35,7 +36,7 @@ export interface DataTableDataProps { currentRoute?: string; } -type CssRules = "tableBody" | "root" | "content" | "noItemsInfo" | 'tableCell' | 'arrow' | 'arrowButton' | 'tableCellWorkflows'; +type CssRules = "tableBody" | "root" | "content" | "noItemsInfo" | 'tableCell' | 'arrow' | 'arrowButton' | 'tableCellWorkflows' | 'loader'; const styles: StyleRulesCallback = (theme: Theme) => ({ root: { @@ -48,6 +49,11 @@ const styles: StyleRulesCallback = (theme: Theme) => ({ tableBody: { background: theme.palette.background.paper }, + loader: { + left: '50%', + marginLeft: '-84px', + position: 'absolute' + }, noItemsInfo: { textAlign: "center", padding: theme.spacing.unit @@ -90,9 +96,15 @@ export const DataTable = withStyles(styles)( - {items.map(this.renderBodyRow)} + { this.props.working !== undefined && !this.props.working && items.map(this.renderBodyRow) } + { this.props.working && +
+ +
} {items.length === 0 && this.props.working !== undefined && !this.props.working && this.renderNoItemsPlaceholder()} ;