Merge branch '19504-breadcrumbs' into main. Closes #19504
authorStephen Smith <stephen@curii.com>
Mon, 19 Dec 2022 15:55:49 +0000 (10:55 -0500)
committerStephen Smith <stephen@curii.com>
Mon, 19 Dec 2022 15:55:49 +0000 (10:55 -0500)
Arvados-DCO-1.1-Signed-off-by: Stephen Smith <stephen@curii.com>

1  2 
src/common/custom-theme.ts
src/models/container-request.ts

index df8486429cae280f6fc81d2c40404531c5ebb5a2,89fa6f3132b3f4c987284007363788f70c08cc3f..7973baccbfc75de474768912f6f29be759d3efc5
@@@ -35,154 -36,154 +36,154 @@@ interface Colors 
  }
  
  const arvadosPurple = '#361336';
- const grey500 = grey['500'];
- const grey600 = grey['600'];
- const grey700 = grey['700'];
- const grey900 = grey['900'];
+ const grey600 = grey["600"];
+ const grey700 = grey["700"];
+ const grey900 = grey["900"];
  
  export const themeOptions: ArvadosThemeOptions = {
 -    typography: {
 -        useNextVariants: true,
 -    },
 -    customs: {
 -        colors: {
 -            green700: green["700"],
 -            yellow100: yellow["100"],
 -            yellow700: yellow["700"],
 -            yellow900: yellow["900"],
 -            red100: red["100"],
 -            red900: red['900'],
 -            blue500: blue['500'],
 -            grey500: grey["500"],
 -            grey700: grey["700"],
 -            purple: arvadosPurple,
 -            orange: '#f0ad4e',
 -        }
 -    },
 -    overrides: {
 -        MuiTypography: {
 -            body1: {
 -                fontSize: '0.8125rem'
 -            }
 -        },
 -        MuiAppBar: {
 -            colorPrimary: {
 -                backgroundColor: arvadosPurple
 -            }
 -        },
 -        MuiTabs: {
 -            root: {
 -                color: grey600
 -            },
 -            indicator: {
 -                backgroundColor: arvadosPurple
 -            }
 -        },
 -        MuiTab: {
 -            root: {
 -                '&$selected': {
 -                    fontWeight: 700,
 -                    color: arvadosPurple
 -                }
 -            }
 -        },
 -        MuiList: {
 -            root: {
 -                color: grey900
 -            }
 -        },
 -        MuiListItemText: {
 -            root: {
 -                padding: 0
 -            }
 -        },
 -        MuiListItemIcon: {
 -            root: {
 -                fontSize: '1.25rem'
 -            }
 -        },
 -        MuiCardHeader: {
 -            avatar: {
 -                display: 'flex',
 -                alignItems: 'center'
 -            },
 -            title: {
 -                color: grey700,
 -                fontSize: '1.25rem'
 -            }
 +  typography: {
 +    useNextVariants: true,
 +  },
 +  customs: {
 +    colors: {
-       green700: green['700'],
-       yellow100: yellow['100'],
-       yellow700: yellow['700'],
-       yellow900: yellow['900'],
-       red100: red['100'],
++      green700: green["700"],
++      yellow100: yellow["100"],
++      yellow700: yellow["700"],
++      yellow900: yellow["900"],
++      red100: red["100"],
 +      red900: red['900'],
 +      blue500: blue['500'],
-       grey500: grey500,
++      grey500: grey["500"],
++      grey700: grey["700"],
 +      purple: arvadosPurple,
 +      orange: '#f0ad4e',
 +    },
 +  },
 +  overrides: {
 +    MuiTypography: {
 +      body1: {
 +        fontSize: '0.8125rem',
 +      },
 +    },
 +    MuiAppBar: {
 +      colorPrimary: {
 +        backgroundColor: arvadosPurple,
 +      },
 +    },
 +    MuiTabs: {
 +      root: {
 +        color: grey600,
 +      },
 +      indicator: {
 +        backgroundColor: arvadosPurple,
 +      },
 +    },
 +    MuiTab: {
 +      root: {
 +        '&$selected': {
 +          fontWeight: 700,
 +          color: arvadosPurple,
          },
 -        MuiExpansionPanel: {
 -            expanded: {
 -                marginTop: '8px',
 -            }
 +      },
 +    },
 +    MuiList: {
 +      root: {
 +        color: grey900,
 +      },
 +    },
 +    MuiListItemText: {
 +      root: {
 +        padding: 0,
 +      },
 +    },
 +    MuiListItemIcon: {
 +      root: {
 +        fontSize: '1.25rem',
 +      },
 +    },
 +    MuiCardHeader: {
 +      avatar: {
 +        display: 'flex',
 +        alignItems: 'center',
 +      },
 +      title: {
 +        color: grey700,
 +        fontSize: '1.25rem',
 +      },
 +    },
 +    MuiExpansionPanel: {
 +      expanded: {
 +        marginTop: '8px',
 +      },
 +    },
 +    MuiExpansionPanelDetails: {
 +      root: {
 +        marginBottom: 0,
 +        paddingBottom: '4px',
 +      },
 +    },
 +    MuiExpansionPanelSummary: {
 +      content: {
 +        '&$expanded': {
 +          margin: 0,
          },
 -        MuiExpansionPanelDetails: {
 -            root: {
 -                marginBottom: 0,
 -                paddingBottom: '4px',
 -            }
 +        color: grey700,
 +        fontSize: '1.25rem',
 +        margin: 0,
 +      },
 +      expanded: {},
 +    },
 +    MuiMenuItem: {
 +      root: {
 +        padding: '8px 16px',
 +      },
 +    },
 +    MuiInput: {
 +      root: {
 +        fontSize: '0.875rem',
 +      },
 +      underline: {
 +        '&:after': {
 +          borderBottomColor: arvadosPurple,
          },
 -        MuiExpansionPanelSummary: {
 -            content: {
 -                '&$expanded': {
 -                    margin: 0,
 -                },
 -                color: grey700,
 -                fontSize: '1.25rem',
 -                margin: 0,
 -            },
 -            expanded: {},
 +        '&:hover:not($disabled):not($focused):not($error):before': {
 +          borderBottom: '1px solid inherit',
          },
 -        MuiMenuItem: {
 -            root: {
 -                padding: '8px 16px'
 -            }
 +      },
 +    },
 +    MuiFormLabel: {
 +      root: {
 +        fontSize: '0.875rem',
 +        '&$focused': {
 +          '&$focused:not($error)': {
 +            color: arvadosPurple,
 +          },
          },
 -        MuiInput: {
 -            root: {
 -                fontSize: '0.875rem'
 -            },
 -            underline: {
 -                '&:after': {
 -                    borderBottomColor: arvadosPurple
 -                },
 -                '&:hover:not($disabled):not($focused):not($error):before': {
 -                    borderBottom: '1px solid inherit'
 -                }
 -            }
 +      },
 +    },
 +    MuiStepIcon: {
 +      root: {
 +        '&$active': {
 +          color: arvadosPurple,
          },
 -        MuiFormLabel: {
 -            root: {
 -                fontSize: '0.875rem',
 -                "&$focused": {
 -                    "&$focused:not($error)": {
 -                        color: arvadosPurple
 -                    }
 -                }
 -            }
 +        '&$completed': {
 +          color: 'inherited',
          },
 -        MuiStepIcon: {
 -            root: {
 -                '&$active': {
 -                    color: arvadosPurple
 -                },
 -                '&$completed': {
 -                    color: 'inherited'
 -                },
 -            }
 -        }
 -    },
 -    mixins: {
 -        toolbar: {
 -            minHeight: '48px'
 -        }
 -    },
 -    palette: {
 -        primary: {
 -            main: teal.A700,
 -            dark: teal.A400,
 -            contrastText: '#fff'
 -        }
 +      },
 +    },
 +  },
 +  mixins: {
 +    toolbar: {
 +      minHeight: '48px',
 +    },
 +  },
 +  palette: {
 +    primary: {
 +      main: teal.A700,
 +      dark: teal.A400,
 +      contrastText: '#fff',
      },
 +  },
  };
  
  export const CustomTheme = createMuiTheme(themeOptions);
index 2a0e60ba9a4ae86c9d628359801f04c2dd1f71f1,b3f28134456aec3e8e05fe633b6ea7689b808cf2..e6e12da841ce06178df785bfce0e7b5a7db029a1
@@@ -8,37 -8,73 +8,75 @@@ import { RuntimeConstraints } from './r
  import { SchedulingParameters } from './scheduling-parameters';
  
  export enum ContainerRequestState {
 -    UNCOMMITTED = "Uncommitted",
 -    COMMITTED = "Committed",
 -    FINAL = "Final"
 +  UNCOMMITTED = 'Uncommitted',
 +  COMMITTED = 'Committed',
 +  FINAL = 'Final',
  }
  
 -export interface ContainerRequestResource extends Resource, ResourceWithProperties {
 -    kind: ResourceKind.CONTAINER_REQUEST;
 -    name: string;
 -    description: string;
 -    state: ContainerRequestState;
 -    requestingContainerUuid: string | null;
 -    cumulativeCost: number;
 -    containerUuid: string | null;
 -    containerCountMax: number;
 -    mounts: {[path: string]: MountType};
 -    runtimeConstraints: RuntimeConstraints;
 -    schedulingParameters: SchedulingParameters;
 -    containerImage: string;
 -    environment: any;
 -    cwd: string;
 -    command: string[];
 -    outputPath: string;
 -    outputName: string;
 -    outputTtl: number;
 -    priority: number | null;
 -    expiresAt: string;
 -    useExisting: boolean;
 -    logUuid: string | null;
 -    outputUuid: string | null;
 -    filters: string;
 -    containerCount: number;
 +export interface ContainerRequestResource
 +  extends Resource,
 +    ResourceWithProperties {
 +  command: string[];
 +  containerCountMax: number;
 +  containerCount: number;
 +  containerImage: string;
 +  containerUuid: string | null;
 +  cumulativeCost: number;
 +  cwd: string;
 +  description: string;
 +  environment: any;
 +  expiresAt: string;
 +  filters: string;
 +  kind: ResourceKind.CONTAINER_REQUEST;
 +  logUuid: string | null;
 +  mounts: { [path: string]: MountType };
 +  name: string;
 +  outputName: string;
 +  outputPath: string;
 +  outputTtl: number;
 +  outputUuid: string | null;
 +  priority: number | null;
 +  requestingContainerUuid: string | null;
 +  runtimeConstraints: RuntimeConstraints;
 +  schedulingParameters: SchedulingParameters;
 +  state: ContainerRequestState;
 +  useExisting: boolean;
  }
+ // Until the api supports unselecting fields, we need a list of all other fields to omit mounts
+ export const containerRequestFieldsNoMounts = [
+     "command",
+     "container_count_max",
+     "container_count",
+     "container_image",
+     "container_uuid",
+     "created_at",
+     "cwd",
+     "description",
+     "environment",
+     "etag",
+     "expires_at",
+     "filters",
+     "href",
+     "kind",
+     "log_uuid",
+     "modified_at",
+     "modified_by_client_uuid",
+     "modified_by_user_uuid",
+     "name",
+     "output_name",
+     "output_path",
+     "output_properties",
+     "output_storage_classes",
+     "output_ttl",
+     "output_uuid",
+     "owner_uuid",
+     "priority",
+     "properties",
+     "requesting_container_uuid",
+     "runtime_constraints",
+     "scheduling_parameters",
+     "state",
+     "use_existing",
+     "uuid",
+ ];