X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/cc72c29b709759a4498ad232e3f0374e857c7a62..b321c4ab41ef13dfb43c7e64aee395c4db161872:/src/views/run-process-panel/inputs/directory-input.tsx
diff --git a/src/views/run-process-panel/inputs/directory-input.tsx b/src/views/run-process-panel/inputs/directory-input.tsx
index 29ccd6e0..1faf7381 100644
--- a/src/views/run-process-panel/inputs/directory-input.tsx
+++ b/src/views/run-process-panel/inputs/directory-input.tsx
@@ -2,36 +2,43 @@
//
// SPDX-License-Identifier: AGPL-3.0
-import * as React from 'react';
+import React from 'react';
import { connect, DispatchProp } from 'react-redux';
import { memoize } from 'lodash/fp';
import { Field } from 'redux-form';
-import { Input, Dialog, DialogTitle, DialogContent, DialogActions, Button } from '@material-ui/core';
+import { Input, Dialog, DialogTitle, DialogContent, DialogActions, Button, StyleRulesCallback, withStyles, WithStyles } from '@material-ui/core';
import {
isRequiredInput,
DirectoryCommandInputParameter,
CWLType,
Directory
-} from '~/models/workflow';
+} from 'models/workflow';
import { GenericInputProps, GenericInput } from './generic-input';
-import { ProjectsTreePicker } from '~/views-components/projects-tree-picker/projects-tree-picker';
-import { initProjectsTreePicker } from '~/store/tree-picker/tree-picker-actions';
-import { TreeItem } from '~/components/tree/tree';
-import { ProjectsTreePickerItem } from '~/views-components/projects-tree-picker/generic-projects-tree-picker';
-import { CollectionResource } from '~/models/collection';
-import { ResourceKind } from '~/models/resource';
-import { ERROR_MESSAGE } from '~/validators/require';
+import { ProjectsTreePicker } from 'views-components/projects-tree-picker/projects-tree-picker';
+import { initProjectsTreePicker } from 'store/tree-picker/tree-picker-actions';
+import { TreeItem } from 'components/tree/tree';
+import { ProjectsTreePickerItem } from 'store/tree-picker/tree-picker-middleware';
+import { CollectionResource } from 'models/collection';
+import { ResourceKind } from 'models/resource';
+import { ERROR_MESSAGE } from 'validators/require';
export interface DirectoryInputProps {
input: DirectoryCommandInputParameter;
+ options?: { showOnlyOwned: boolean, showOnlyWritable: boolean };
}
-export const DirectoryInput = ({ input }: DirectoryInputProps) =>
+
+type DialogContentCssRules = 'root';
+
+export const DirectoryInput = ({ input, options }: DirectoryInputProps) =>
;
const format = (value?: Directory) => value ? value.basename : '';
@@ -56,7 +63,9 @@ interface DirectoryInputComponentState {
}
const DirectoryInputComponent = connect()(
- class FileInputComponent extends React.Component {
+ class FileInputComponent extends React.Component {
state: DirectoryInputComponentState = {
open: false,
};
@@ -108,18 +117,22 @@ const DirectoryInputComponent = connect()(
{...this.props} />;
}
+ dialogContentStyles: StyleRulesCallback = ({ spacing }) => ({
+ root: {
+ height: `${spacing.unit * 8}vh`,
+ },
+ });
+
renderDialog() {
return ;
}
- });
-
+ dialogContent = withStyles(this.dialogContentStyles)(
+ ({ classes }: WithStyles) =>
+
+ );
+ });