// SPDX-License-Identifier: AGPL-3.0
import * as React from 'react';
-import { Table, TableBody, TableRow, TableCell, TableHead, StyleRulesCallback, Theme, WithStyles, withStyles, Typography } from '@material-ui/core';
+import { Table, TableBody, TableRow, TableCell, TableHead, TableSortLabel, StyleRulesCallback, Theme, WithStyles, withStyles, Typography } from '@material-ui/core';
import { DataColumn } from './data-column';
+ export type DataColumns<T> = Array<DataColumn<T>>;
+
export interface DataTableProps<T> {
items: T[];
- columns: Array<DataColumn<T>>;
+ columns: DataColumns<T>;
onRowClick?: (event: React.MouseEvent<HTMLTableRowElement>, item: T) => void;
onRowContextMenu?: (event: React.MouseEvent<HTMLTableRowElement>, item: T) => void;
}
import { Typography, Grid, Paper, Toolbar } from '@material-ui/core';
import IconButton from '@material-ui/core/IconButton';
import MoreVertIcon from "@material-ui/icons/MoreVert";
- import TableSortLabel from '@material-ui/core/TableSortLabel';
import { formatFileSize, formatDate } from '../../common/formatters';
import { DataItem } from './data-item';
- import { mockAnchorFromMouseEvent } from '../popover/helpers';
- import ContextMenu from '../context-menu/context-menu';
-import { DataColumns } from "../../components/data-table/data-table";
+ import ContextMenu from "../../components/context-menu/context-menu";
+ import ColumnSelector from "../../components/column-selector/column-selector";
+ import DataTable from "../../components/data-table/data-table";
+ import { mockAnchorFromMouseEvent } from "../../components/popover/helpers";
-import { DataColumn } from "../../components/data-table/data-column";
++import { DataColumn, toggleSortDirection, resetSortDirection } from "../../components/data-table/data-column";
export interface DataExplorerContextActions {
onAddToFavourite: (dataIitem: DataItem) => void;