import { Dispatch, compose } from 'redux';
import { RootState } from '~/store/store';
import { HelpIcon, AddIcon, MoreOptionsIcon } from '~/components/icon/icon';
-import { loadRepositoriesData } from '~/store/repositories/repositories-actions';
+import { loadRepositoriesData, openRepositoriesSampleGitDialog } from '~/store/repositories/repositories-actions';
import { RepositoriesResource } from '~/models/repositories';
import { openRepositoryContextMenu } from '~/store/context-menu/context-menu-actions';
};
};
-const mapDispatchToProps = (dispatch: Dispatch): Pick<RepositoriesActionProps, 'onOptionsMenuOpen' | 'loadRepositories'> => ({
+const mapDispatchToProps = (dispatch: Dispatch): Pick<RepositoriesActionProps, 'onOptionsMenuOpen' | 'loadRepositories' | 'openRepositoriesSampleGitDialog'> => ({
loadRepositories: () => dispatch<any>(loadRepositoriesData()),
- onOptionsMenuOpen: (event) => {
- dispatch<any>(openRepositoryContextMenu(event));
+ onOptionsMenuOpen: (event, index, repository) => {
+ dispatch<any>(openRepositoryContextMenu(event, index, repository));
},
+ openRepositoriesSampleGitDialog: () => dispatch<any>(openRepositoriesSampleGitDialog())
});
interface RepositoriesActionProps {
loadRepositories: () => void;
- onOptionsMenuOpen: (event: React.MouseEvent<HTMLElement>) => void;
+ onOptionsMenuOpen: (event: React.MouseEvent<HTMLElement>, index: number, repository: RepositoriesResource) => void;
+ openRepositoriesSampleGitDialog: () => void;
}
interface RepositoriesDataProps {
this.props.loadRepositories();
}
render() {
- const { classes, repositories, onOptionsMenuOpen } = this.props;
+ const { classes, repositories, onOptionsMenuOpen, openRepositoriesSampleGitDialog } = this.props;
console.log(repositories);
return (
<Card>
<Grid item xs={12}>
<div className={classes.iconRow}>
<Tooltip title="Sample git quick start">
- <IconButton className={classes.moreOptionsButton}>
+ <IconButton className={classes.moreOptionsButton} onClick={openRepositoriesSampleGitDialog}>
<HelpIcon className={classes.icon} />
</IconButton>
</Tooltip>
<TableCell className={classes.cloneUrls}>{repository.cloneUrls.join("\n")}</TableCell>
<TableCell className={classes.moreOptions}>
<Tooltip title="More options" disableFocusListener>
- <IconButton onClick={onOptionsMenuOpen} className={classes.moreOptionsButton}>
+ <IconButton onClick={event => onOptionsMenuOpen(event, index, repository)} className={classes.moreOptionsButton}>
<MoreOptionsIcon />
</IconButton>
</Tooltip>