[arvados] updated: 2.7.0-5938-g182cff0a8e

git repository hosting git at public.arvados.org
Wed Jan 31 18:59:16 UTC 2024


Summary of changes:
 services/workbench2/README.md                      |  3 +-
 .../multi-panel-view/multi-panel-view.tsx          | 52 +++++++++++-----------
 .../src/store/workbench/workbench-actions.ts       |  1 -
 .../src/views/process-panel/process-io-card.tsx    |  4 +-
 .../workflow-panel/registered-workflow-panel.tsx   |  9 ++--
 .../workflow-processes-panel-root.tsx              |  2 +-
 6 files changed, 35 insertions(+), 36 deletions(-)

       via  182cff0a8e5dfce51f69bb57978b04ccdb2740a1 (commit)
       via  d21ce5cf54ce442bff3e20fd39fb94606f3491e8 (commit)
      from  1efba8f3b728a3b8aa3c64c5aa09f441318ff2a8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 182cff0a8e5dfce51f69bb57978b04ccdb2740a1
Author: Peter Amstutz <peter.amstutz at curii.com>
Date:   Wed Jan 31 13:58:56 2024 -0500

    21158: Rename/reorder panels a bit
    
    Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curii.com>

diff --git a/services/workbench2/README.md b/services/workbench2/README.md
index 4ec4bd1cf8..9aa788a5b0 100644
--- a/services/workbench2/README.md
+++ b/services/workbench2/README.md
@@ -49,8 +49,7 @@ make integration-tests-in-docker
 
 ```
 xhost +local:root
-ARVADOS_DIR=/path/to/arvados
-docker run -ti -v$PWD:$PWD -v$ARVADOS_DIR:/usr/src/arvados -w$PWD --env="DISPLAY" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" workbench2-build /bin/bash
+docker run -ti -v$PWD:$PWD -v$(realpath ../..):/usr/src/arvados -w$PWD --env="DISPLAY" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" workbench2-build /bin/bash
 (inside container)
 yarn run cypress install
 tools/run-integration-tests.sh -i -a /usr/src/arvados
diff --git a/services/workbench2/src/components/multi-panel-view/multi-panel-view.tsx b/services/workbench2/src/components/multi-panel-view/multi-panel-view.tsx
index 203748d5e0..7e0ca8fd1f 100644
--- a/services/workbench2/src/components/multi-panel-view/multi-panel-view.tsx
+++ b/services/workbench2/src/components/multi-panel-view/multi-panel-view.tsx
@@ -56,12 +56,12 @@ interface MPVHideablePanelActionProps {
 
 type MPVHideablePanelProps = MPVHideablePanelDataProps & MPVHideablePanelActionProps;
 
-const MPVHideablePanel = ({doHidePanel, doMaximizePanel, doUnMaximizePanel, name, visible, maximized, illuminated, ...props}: MPVHideablePanelProps) =>
+const MPVHideablePanel = ({ doHidePanel, doMaximizePanel, doUnMaximizePanel, name, visible, maximized, illuminated, ...props }: MPVHideablePanelProps) =>
     visible
-    ? <>
-        {React.cloneElement((props.children as ReactElement), { doHidePanel, doMaximizePanel, doUnMaximizePanel, panelName: name, panelMaximized: maximized, panelIlluminated: illuminated, panelRef: props.panelRef })}
-    </>
-    : null;
+        ? <>
+            {React.cloneElement((props.children as ReactElement), { doHidePanel, doMaximizePanel, doUnMaximizePanel, panelName: name, panelMaximized: maximized, panelIlluminated: illuminated, panelRef: props.panelRef })}
+        </>
+        : null;
 
 interface MPVPanelDataProps {
     panelName?: string;
@@ -82,15 +82,15 @@ interface MPVPanelActionProps {
 // Props received by panel implementors
 export type MPVPanelProps = MPVPanelDataProps & MPVPanelActionProps;
 
-type MPVPanelContentProps = {children: ReactElement} & MPVPanelProps & GridProps;
+type MPVPanelContentProps = { children: ReactElement } & MPVPanelProps & GridProps;
 
 // Grid item compatible component for layout and MPV props passing
-export const MPVPanelContent = ({doHidePanel, doMaximizePanel, doUnMaximizePanel, panelName,
+export const MPVPanelContent = ({ doHidePanel, doMaximizePanel, doUnMaximizePanel, panelName,
     panelMaximized, panelIlluminated, panelRef, forwardProps, maxHeight, minHeight,
-    ...props}: MPVPanelContentProps) => {
+    ...props }: MPVPanelContentProps) => {
     useEffect(() => {
         if (panelRef && panelRef.current) {
-            panelRef.current.scrollIntoView({alignToTop: true});
+            panelRef.current.scrollIntoView({ alignToTop: true });
         }
     }, [panelRef]);
 
@@ -98,12 +98,12 @@ export const MPVPanelContent = ({doHidePanel, doMaximizePanel, doUnMaximizePanel
         ? '100%'
         : maxHeight;
 
-    return <Grid item style={{maxHeight: maxH, minHeight}} {...props}>
+    return <Grid item style={{ maxHeight: maxH, minHeight }} {...props}>
         <span ref={panelRef} /> {/* Element to scroll to when the panel is selected */}
-        <Paper style={{height: '100%'}} elevation={panelIlluminated ? 8 : 0}>
-            { forwardProps
+        <Paper style={{ height: '100%' }} elevation={panelIlluminated ? 8 : 0}>
+            {forwardProps
                 ? React.cloneElement(props.children, { doHidePanel, doMaximizePanel, doUnMaximizePanel, panelName, panelMaximized })
-                : props.children }
+                : props.children}
         </Paper>
     </Grid>;
 }
@@ -118,7 +118,7 @@ interface MPVContainerDataProps {
 type MPVContainerProps = MPVContainerDataProps & GridProps;
 
 // Grid container compatible component that also handles panel toggling.
-const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVContainerProps & WithStyles<CssRules>) => {
+const MPVContainerComponent = ({ children, panelStates, classes, ...props }: MPVContainerProps & WithStyles<CssRules>) => {
     if (children === undefined || children === null || children === {}) {
         children = [];
     } else if (!isArray(children)) {
@@ -126,8 +126,8 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo
     }
     const initialVisibility = (children as ReactNodeArray).map((_, idx) =>
         !panelStates || // if panelStates wasn't passed, default to all visible panels
-            (panelStates[idx] &&
-                (panelStates[idx].visible || panelStates[idx].visible === undefined)));
+        (panelStates[idx] &&
+            (panelStates[idx].visible || panelStates[idx].visible === undefined)));
     const [panelVisibility, setPanelVisibility] = useState<boolean[]>(initialVisibility);
     const [previousPanelVisibility, setPreviousPanelVisibility] = useState<boolean[]>(initialVisibility);
     const [highlightedPanel, setHighlightedPanel] = useState<number>(-1);
@@ -144,7 +144,7 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo
                 setPanelVisibility([
                     ...panelVisibility.slice(0, idx),
                     true,
-                    ...panelVisibility.slice(idx+1)
+                    ...panelVisibility.slice(idx + 1)
                 ]);
                 setSelectedPanel(idx);
             };
@@ -153,7 +153,7 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo
                 setPanelVisibility([
                     ...panelVisibility.slice(0, idx),
                     false,
-                    ...panelVisibility.slice(idx+1)
+                    ...panelVisibility.slice(idx + 1)
                 ])
             };
             const maximizeFn = (idx: number) => () => {
@@ -162,7 +162,7 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo
                 setPanelVisibility([
                     ...panelVisibility.slice(0, idx).map(() => false),
                     true,
-                    ...panelVisibility.slice(idx+1).map(() => false),
+                    ...panelVisibility.slice(idx + 1).map(() => false),
                 ]);
             };
             const unMaximizeFn = (idx: number) => () => {
@@ -170,14 +170,14 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo
                 setSelectedPanel(idx);
             }
             const panelName = panelStates === undefined
-                ? `Panel ${idx+1}`
-                : (panelStates[idx] && panelStates[idx].name) || `Panel ${idx+1}`;
+                ? `Panel ${idx + 1}`
+                : (panelStates[idx] && panelStates[idx].name) || `Panel ${idx + 1}`;
             const btnVariant = panelVisibility[idx]
                 ? "contained"
                 : "outlined";
             const btnTooltip = panelVisibility[idx]
                 ? ``
-                :`Open ${panelName} panel`;
+                : `Open ${panelName} panel`;
             const panelIsMaximized = panelVisibility[idx] &&
                 panelVisibility.filter(e => e).length === 1;
 
@@ -193,7 +193,7 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo
                             setHighlightedPanel(-1);
                         }}
                         onClick={showFn(idx)}>
-                            {panelName}
+                        {panelName}
                     </Button>
                 </Tooltip>
             ];
@@ -211,15 +211,15 @@ const MPVContainerComponent = ({children, panelStates, classes, ...props}: MPVCo
 
     return <Grid container {...props} className={classes.root}>
         <Grid container item direction="row">
-            { buttons.map((tgl, idx) => <Grid item key={idx}>{tgl}</Grid>) }
+            {buttons.map((tgl, idx) => <Grid item key={idx}>{tgl}</Grid>)}
         </Grid>
         <Grid container item {...props} xs className={classes.content}
             onScroll={() => setSelectedPanel(-1)}>
-            { panelVisibility.includes(true)
+            {panelVisibility.includes(true)
                 ? panels
                 : <Grid container item alignItems='center' justify='center'>
                     <DefaultView messages={["All panels are hidden.", "Click on the buttons above to show them."]} icon={InfoIcon} />
-                </Grid> }
+                </Grid>}
         </Grid>
     </Grid>;
 };
diff --git a/services/workbench2/src/views/process-panel/process-io-card.tsx b/services/workbench2/src/views/process-panel/process-io-card.tsx
index 6c745886c8..2567f905db 100644
--- a/services/workbench2/src/views/process-panel/process-io-card.tsx
+++ b/services/workbench2/src/views/process-panel/process-io-card.tsx
@@ -209,8 +209,8 @@ const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
 });
 
 export enum ProcessIOCardType {
-    INPUT = "Inputs",
-    OUTPUT = "Outputs",
+    INPUT = "Input Parameters",
+    OUTPUT = "Output Parameters",
 }
 export interface ProcessIOCardDataProps {
     process?: Process;
diff --git a/services/workbench2/src/views/workflow-panel/registered-workflow-panel.tsx b/services/workbench2/src/views/workflow-panel/registered-workflow-panel.tsx
index 578ca1a0e1..e943ae63ea 100644
--- a/services/workbench2/src/views/workflow-panel/registered-workflow-panel.tsx
+++ b/services/workbench2/src/views/workflow-panel/registered-workflow-panel.tsx
@@ -136,9 +136,9 @@ export const RegisteredWorkflowPanel = withStyles(styles)(connect(
                 const { classes, item, inputParams, outputParams, workflowCollection } = this.props;
                 const panelsData: MPVPanelState[] = [
                     { name: "Details" },
+                    { name: "Runs" },
                     { name: "Inputs" },
                     { name: "Outputs" },
-                    { name: "Executions" },
                     { name: "Definition" },
                 ];
                 return item
@@ -181,6 +181,9 @@ export const RegisteredWorkflowPanel = withStyles(styles)(connect(
                                 </CardContent>
                             </Card>
                         </MPVPanelContent>
+                        <MPVPanelContent forwardProps xs>
+                            <WorkflowProcessesPanel />
+                        </MPVPanelContent>
                         <MPVPanelContent forwardProps xs data-cy="process-inputs">
                             <ProcessIOCard
                                 label={ProcessIOCardType.INPUT}
@@ -197,11 +200,9 @@ export const RegisteredWorkflowPanel = withStyles(styles)(connect(
                                 forceShowParams={true}
                             />
                         </MPVPanelContent>
-                        <MPVPanelContent forwardProps xs>
-                            <WorkflowProcessesPanel />
-                        </MPVPanelContent>
                         <MPVPanelContent xs>
                             <Card className={classes.filesCard}>
+                                <CardHeader title="Workflow Definition" />
                                 <ProcessOutputCollectionFiles isWritable={false} currentItemUuid={workflowCollection} />
                             </Card>
                         </MPVPanelContent>
diff --git a/services/workbench2/src/views/workflow-panel/workflow-processes-panel-root.tsx b/services/workbench2/src/views/workflow-panel/workflow-processes-panel-root.tsx
index 1ca36efc89..64f24a2e36 100644
--- a/services/workbench2/src/views/workflow-panel/workflow-processes-panel-root.tsx
+++ b/services/workbench2/src/views/workflow-panel/workflow-processes-panel-root.tsx
@@ -103,7 +103,7 @@ const WorkflowProcessesTitle = withStyles(styles)(
         <div className={classes.cardHeader}>
             <ProcessIcon className={classes.iconHeader} /><span></span>
             <Typography noWrap variant='h6' color='inherit'>
-                Workflow Processes
+                Run History
             </Typography>
         </div>
 );

commit d21ce5cf54ce442bff3e20fd39fb94606f3491e8
Author: Peter Amstutz <peter.amstutz at curii.com>
Date:   Tue Jan 30 17:15:30 2024 -0500

    21158: Fix merge error
    
    Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curii.com>

diff --git a/services/workbench2/src/store/workbench/workbench-actions.ts b/services/workbench2/src/store/workbench/workbench-actions.ts
index 0d324206f8..42a1033dde 100644
--- a/services/workbench2/src/store/workbench/workbench-actions.ts
+++ b/services/workbench2/src/store/workbench/workbench-actions.ts
@@ -103,7 +103,6 @@ import { userProfileGroupsColumns } from "views/user-profile-panel/user-profile-
 import { selectedToArray, selectedToKindSet } from "components/multiselect-toolbar/MultiselectToolbar";
 import { deselectOne } from "store/multiselect/multiselect-actions";
 import { treePickerActions } from "store/tree-picker/tree-picker-actions";
-import { multiselectActions } from "store/multiselect/multiselect-actions";
 import { workflowProcessesPanelColumns } from "views/workflow-panel/workflow-processes-panel-root";
 import { workflowProcessesPanelActions } from "store/workflow-panel/workflow-panel-actions";
 

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list