page: number;
onSearch: (value: string) => void;
onRowClick: (item: T) => void;
+ onRowDoubleClick: (item: T) => void;
onColumnToggle: (column: DataColumn<T>) => void;
onContextAction: (action: ContextMenuAction, item: T) => void;
onSortToggle: (column: DataColumn<T>) => void;
columns={[...this.props.columns, this.contextMenuColumn]}
items={this.props.items}
onRowClick={(_, item: T) => this.props.onRowClick(item)}
+ onRowDoubleClick={(_, item: T) => this.props.onRowDoubleClick(item)}
onRowContextMenu={this.openContextMenu}
onFiltersChange={this.props.onFiltersChange}
onSortToggle={this.props.onSortToggle} />
items: T[];
columns: DataColumns<T>;
onRowClick: (event: React.MouseEvent<HTMLTableRowElement>, item: T) => void;
+ onRowDoubleClick: (event: React.MouseEvent<HTMLTableRowElement>, item: T) => void;
onRowContextMenu: (event: React.MouseEvent<HTMLTableRowElement>, item: T) => void;
onSortToggle: (column: DataColumn<T>) => void;
onFiltersChange: (filters: DataTableFilterItem[], column: DataColumn<T>) => void;
}
renderBodyRow = (item: T, index: number) => {
- const { onRowClick, onRowContextMenu } = this.props;
+ const { onRowClick, onRowDoubleClick, onRowContextMenu } = this.props;
return <TableRow
hover
key={item.key}
onClick={event => onRowClick && onRowClick(event, item)}
+ onDoubleClick={event => onRowDoubleClick && onRowDoubleClick(event, item) }
onContextMenu={event => onRowContextMenu && onRowContextMenu(event, item)}>
{this.mapVisibleColumns((column, index) => (
<TableCell key={column.key || index}>
id: string;
contextActions: ContextMenuActionGroup[];
onRowClick: (item: any) => void;
+ onRowDoubleClick: (item: any) => void;
onContextAction: (action: ContextMenuAction, item: any) => void;
}
const mapStateToProps = (state: RootState, { id, contextActions }: Props) =>
getDataExplorer(state.dataExplorer, id);
-const mapDispatchToProps = (dispatch: Dispatch, { id, contextActions, onRowClick, onContextAction }: Props) => ({
+const mapDispatchToProps = (dispatch: Dispatch, { id, contextActions, onRowClick, onRowDoubleClick, onContextAction }: Props) => ({
onSearch: (searchValue: string) => {
dispatch(actions.SET_SEARCH_VALUE({ id, searchValue }));
},
onRowClick,
+ onRowDoubleClick,
+
onContextAction
});
type ProjectPanelProps = {
currentItemId: string,
onItemClick: (item: ProjectPanelItem) => void,
+ onItemDoubleClick: (item: ProjectPanelItem) => void,
onItemRouteChange: (itemId: string) => void
}
& DispatchProp
id={PROJECT_PANEL_ID}
contextActions={contextMenuActions}
onRowClick={this.props.onItemClick}
+ onRowDoubleClick={this.props.onItemDoubleClick}
onContextAction={this.executeAction} />;
</div>;
}
renderProjectPanel = (props: RouteComponentProps<{ id: string }>) => <ProjectPanel
onItemRouteChange={itemId => this.props.dispatch<any>(setProjectItem(itemId, ItemMode.ACTIVE))}
onItemClick={item => {
- this.props.dispatch<any>(setProjectItem(item.uuid, ItemMode.ACTIVE));
this.props.dispatch<any>(loadDetails(item.uuid, item.kind as ResourceKind));
}}
+ onItemDoubleClick={item => {
+ this.props.dispatch<any>(setProjectItem(item.uuid, ItemMode.ACTIVE));
+ }}
{...props} />
}