import { AddIcon, CollectionIcon, ProcessIcon, ProjectIcon } from '~/components/icon/icon';
import { openProjectCreateDialog } from '~/store/projects/project-create-actions';
import { openCollectionCreateDialog } from '~/store/collections/collection-create-actions';
-import { matchProjectRoute } from '~/routes/routes';
+import { navigateToRunProcess } from '~/store/navigation/navigation-action';
+import { runProcessPanelActions } from '~/store/run-process-panel/run-process-panel-actions';
type CssRules = 'button' | 'menuItem' | 'icon';
interface SidePanelDataProps {
currentItemId: string;
- showButton: boolean;
}
interface SidePanelState {
const transformOrigin: PopoverOrigin = {
vertical: -50,
- horizontal: 45
-};
-
-const checkButtonVisibility = ({ router }: RootState) => {
- const pathname = router.location ? router.location.pathname : '';
- const match = matchProjectRoute(pathname);
- return match ? true : false;
+ horizontal: 0
};
export const SidePanelButton = withStyles(styles)(
connect((state: RootState) => ({
- currentItemId: getProperty(PROJECT_PANEL_CURRENT_UUID)(state.properties),
- showButton: checkButtonVisibility(state)
+ currentItemId: getProperty(PROJECT_PANEL_CURRENT_UUID)(state.properties)
}))(
class extends React.Component<SidePanelProps> {
};
render() {
- const { classes, showButton } = this.props;
+ const { classes } = this.props;
const { anchorEl } = this.state;
return <Toolbar>
- {showButton && <Grid container>
- <Grid container item xs alignItems="center" justify="center">
+ <Grid container>
+ <Grid container item xs alignItems="center" justify="flex-start">
<Button variant="contained" color="primary" size="small" className={classes.button}
aria-owns={anchorEl ? 'aside-menu-list' : undefined}
aria-haspopup="true"
<MenuItem className={classes.menuItem} onClick={this.handleNewCollectionClick}>
<CollectionIcon className={classes.icon} /> New collection
</MenuItem>
- <MenuItem className={classes.menuItem}>
+ <MenuItem className={classes.menuItem} onClick={this.handleRunProcessClick}>
<ProcessIcon className={classes.icon} /> Run a process
</MenuItem>
<MenuItem className={classes.menuItem} onClick={this.handleNewProjectClick}>
</MenuItem>
</Menu>
</Grid>
- </Grid> }
+ </Grid>
</Toolbar>;
}
this.props.dispatch<any>(openProjectCreateDialog(this.props.currentItemId));
}
+ handleRunProcessClick = () => {
+ this.props.dispatch(runProcessPanelActions.SET_PROCESS_OWNER_UUID(this.props.currentItemId));
+ this.props.dispatch<any>(navigateToRunProcess);
+ }
+
handleNewCollectionClick = () => {
this.props.dispatch<any>(openCollectionCreateDialog(this.props.currentItemId));
}