import { detailsPanelActions } from '~/store/details-panel/details-panel-action';
import { openSharingDialog } from "~/store/sharing-dialog/sharing-dialog-actions";
import { openAdvancedTabDialog } from "~/store/advanced-tab/advanced-tab";
+import { openProcessInputDialog } from "~/store/processes/process-input-actions";
export const processActionSet: ContextMenuActionSet = [[
{
dispatch<any>(openSharingDialog(uuid));
}
},
- {
- icon: MoveToIcon,
- name: "Move to",
- execute: (dispatch, resource) => {
- dispatch<any>(openMoveProcessDialog(resource));
- }
- },
{
component: ToggleFavoriteAction,
execute: (dispatch, resource) => {
});
}
},
+ {
+ icon: MoveToIcon,
+ name: "Move to",
+ execute: (dispatch, resource) => {
+ dispatch<any>(openMoveProcessDialog(resource));
+ }
+ },
{
icon: CopyIcon,
name: "Copy to project",
icon: InputIcon,
name: "Inputs",
execute: (dispatch, resource) => {
- // add code
+ dispatch<any>(openProcessInputDialog(resource.uuid));
}
},
{
dispatch<any>(openProcessCommandDialog(resource.uuid));
}
},
- {
- icon: DetailsIcon,
- name: "View details",
- execute: dispatch => {
- dispatch(detailsPanelActions.TOGGLE_DETAILS_PANEL());
- }
- },
{
icon: LogIcon,
name: "Log",
}
},
{
- icon: ProvenanceGraphIcon,
- name: "Provenance graph",
- execute: (dispatch, resource) => {
- // add code
+ icon: DetailsIcon,
+ name: "View details",
+ execute: dispatch => {
+ dispatch(detailsPanelActions.TOGGLE_DETAILS_PANEL());
}
},
+ // {
+ // icon: ProvenanceGraphIcon,
+ // name: "Provenance graph",
+ // execute: (dispatch, resource) => {
+ // // add code
+ // }
+ // },
{
icon: AdvancedIcon,
name: "Advanced",
execute: (dispatch, resource) => {
dispatch<any>(openAdvancedTabDialog(resource.uuid));
}
- },
- {
- icon: RemoveIcon,
- name: "Remove",
- execute: (dispatch, resource) => {
- // add code
- }
}
+ // {
+ // icon: RemoveIcon,
+ // name: "Remove",
+ // execute: (dispatch, resource) => {
+ // // add code
+ // }
+ // }
]];
export interface ProcessInformationCardDataProps {
process: Process;
onContextMenu: (event: React.MouseEvent<HTMLElement>) => void;
+ openProcessInputDialog: (uuid: string) => void;
}
type ProcessInformationCardProps = ProcessInformationCardDataProps & WithStyles<CssRules, true>;
export const ProcessInformationCard = withStyles(styles, { withTheme: true })(
- ({ classes, process, onContextMenu, theme }: ProcessInformationCardProps) =>
+ ({ classes, process, onContextMenu, theme, openProcessInputDialog }: ProcessInformationCardProps) =>
<Card className={classes.card}>
- {console.log(process)}
<CardHeader
classes={{
content: classes.title,
<Chip label={getProcessStatus(process)}
className={classes.chip}
style={{ backgroundColor: getProcessStatusColor(getProcessStatus(process), theme as ArvadosTheme) }} />
- <Tooltip title="More options">
+ <Tooltip title="More options" disableFocusListener>
<IconButton
aria-label="More options"
onClick={event => onContextMenu(event)}>
</Grid>
<Grid item xs={6}>
<DetailsAttribute classLabel={classes.link} label='Outputs' />
- <DetailsAttribute classLabel={classes.link} label='Inputs' />
+ <span onClick={() => openProcessInputDialog(process.containerRequest.uuid)}>
+ <DetailsAttribute classLabel={classes.link} label='Inputs' />
+ </span>
</Grid>
</Grid>
</CardContent>
import { SearchResultsPanel } from '~/views/search-results-panel/search-results-panel';
import { SharingDialog } from '~/views-components/sharing-dialog/sharing-dialog';
import { AdvancedTabDialog } from '~/views-components/advanced-tab-dialog/advanced-tab-dialog';
+import { ProcessInputDialog } from '~/views-components/process-input-dialog/process-input-dialog';
type CssRules = 'root' | 'container' | 'splitter' | 'asidePanel' | 'contentWrapper' | 'content';
type WorkbenchPanelProps = WithStyles<CssRules>;
+ const defaultSplitterSize = 90;
+
+ const getSplitterInitialSize = () => {
+ const splitterSize = localStorage.getItem('splitterSize');
+ return splitterSize ? Number(splitterSize) : defaultSplitterSize;
+ };
+
+ const saveSplitterSize = (size: number) => localStorage.setItem('splitterSize', size.toString());
+
export const WorkbenchPanel =
withStyles(styles)(({ classes }: WorkbenchPanelProps) =>
<Grid container item xs className={classes.root}>
<Grid container item xs className={classes.container}>
<SplitterLayout customClassName={classes.splitter} percentage={true}
- primaryIndex={0} primaryMinSize={10} secondaryInitialSize={90} secondaryMinSize={40}>
+ primaryIndex={0} primaryMinSize={10}
+ secondaryInitialSize={getSplitterInitialSize()} secondaryMinSize={40}
+ onSecondaryPaneSizeChange={saveSplitterSize}>
<Grid container item xs component='aside' direction='column' className={classes.asidePanel}>
<SidePanel />
</Grid>
<MultipleFilesRemoveDialog />
<PartialCopyCollectionDialog />
<ProcessCommandDialog />
+ <ProcessInputDialog />
<RenameFileDialog />
<RichTextEditorDialog />
<SharingDialog />
<UpdateProcessDialog />
<UpdateProjectDialog />
</Grid>
- );
+ );