X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/e79b7364ea28b6f0719c9adf409ba1217b9ccac8..2a60ee742601aec7a0bc6ee832da39d834d82eb7:/src/views/run-process-panel/run-process-advanced-form.tsx diff --git a/src/views/run-process-panel/run-process-advanced-form.tsx b/src/views/run-process-panel/run-process-advanced-form.tsx index 19beab6b..30ff494c 100644 --- a/src/views/run-process-panel/run-process-advanced-form.tsx +++ b/src/views/run-process-panel/run-process-advanced-form.tsx @@ -8,17 +8,33 @@ import { reduxForm, Field } from 'redux-form'; import { Grid } from '@material-ui/core'; import { TextField } from '~/components/text-field/text-field'; import { ExpandIcon } from '~/components/icon/icon'; +import * as IntInput from './inputs/int-input'; +import { require } from '~/validators/require'; +import { min } from '~/validators/min'; +import { optional } from '~/validators/optional'; +import { SwitchField } from '~/components/switch-field/switch-field'; export const RUN_PROCESS_ADVANCED_FORM = 'runProcessAdvancedForm'; +export const OUTPUT_FIELD = 'output'; +export const RUNTIME_FIELD = 'runtime'; +export const RAM_FIELD = 'ram'; +export const VCPUS_FIELD = 'vcpus'; +export const KEEP_CACHE_RAM_FIELD = 'keepCacheRam'; +export const API_FIELD = 'api'; + export interface RunProcessAdvancedFormData { - output: string; - runtime: string; + [OUTPUT_FIELD]?: string; + [RUNTIME_FIELD]?: number; + [RAM_FIELD]: number; + [VCPUS_FIELD]: number; + [KEEP_CACHE_RAM_FIELD]?: number; + [API_FIELD]?: boolean; } export const RunProcessAdvancedForm = reduxForm({ - form: RUN_PROCESS_ADVANCED_FORM + form: RUN_PROCESS_ADVANCED_FORM, })(() =>
@@ -29,17 +45,72 @@ export const RunProcessAdvancedForm = + + + + + + + label="VCPUs" + helperText="Number of cores to be used to run this process." + parse={IntInput.parse} + format={IntInput.format} + type='number' + required + validate={vcpusValidation} /> + + + + + +
); + +const ramValidation = [min(0)]; +const vcpusValidation = [min(1)]; +const keepCacheRamValdation = [optional(min(0))]; +const runtimeValidation = [optional(min(1))];