</Grid>
</Toolbar>
<DataTable
- columns={[
- ...this.props.columns,
- this.contextMenuColumn]}
+ columns={[...this.props.columns, this.contextMenuColumn]}
items={this.props.items}
onRowClick={(_, item: T) => this.props.onRowClick(item)}
onRowContextMenu={this.openContextMenu}
renderContextMenuTrigger = (item: T) =>
<Grid container justify="flex-end">
- <IconButton onClick={event => this.openContextMenuWithTrigger(event, item)}>
+ <IconButton onClick={event => this.openContextMenuTrigger(event, item)}>
<MoreVertIcon />
</IconButton>
</Grid>
- openContextMenuWithTrigger = (event: React.MouseEvent<HTMLElement>, item: T) => {
+ openContextMenuTrigger = (event: React.MouseEvent<HTMLElement>, item: T) => {
event.preventDefault();
this.setState({
contextMenu: {
// SPDX-License-Identifier: AGPL-3.0
import { default as unionize, ofType, UnionOf } from "unionize";
-import { SortDirection, DataColumn } from "../../components/data-table/data-column";
import { DataTableFilterItem } from "../../components/data-table-filters/data-table-filters";
import { DataColumns } from "../../components/data-table/data-table";
-type WithId<T> = T & { id: string };
-
const actions = unionize({
- SET_COLUMNS: ofType<WithId<{ columns: DataColumns<any> }>>(),
- SET_FILTERS: ofType<WithId<{columnName: string, filters: DataTableFilterItem[]}>>(),
- SET_ITEMS: ofType<WithId<{items: any[]}>>(),
- SET_PAGE: ofType<WithId<{page: number}>>(),
- SET_ROWS_PER_PAGE: ofType<WithId<{rowsPerPage: number}>>(),
- TOGGLE_COLUMN: ofType<WithId<{ columnName: string }>>(),
- TOGGLE_SORT: ofType<WithId<{ columnName: string }>>(),
- SET_SEARCH_VALUE: ofType<WithId<{searchValue: string}>>()
+ SET_COLUMNS: ofType<{id: string, columns: DataColumns<any> }>(),
+ SET_FILTERS: ofType<{id: string,columnName: string, filters: DataTableFilterItem[]}>(),
+ SET_ITEMS: ofType<{id: string,items: any[]}>(),
+ SET_PAGE: ofType<{id: string,page: number}>(),
+ SET_ROWS_PER_PAGE: ofType<{id: string,rowsPerPage: number}>(),
+ TOGGLE_COLUMN: ofType<{id: string, columnName: string }>(),
+ TOGGLE_SORT: ofType<{id: string, columnName: string }>(),
+ SET_SEARCH_VALUE: ofType<{id: string,searchValue: string}>()
}, { tag: "type", value: "payload" });
export type DataExplorerAction = UnionOf<typeof actions>;
export default actions;
-
-
-
-