X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/75624b654415c5597ca69743cd8577cb48899896..ed4406ba8ac546be9838d26c47a5ed5766f6698c:/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..cdebdba5 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,30 @@ 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'; 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 interface RunProcessAdvancedFormData { - output: string; - runtime: string; + [OUTPUT_FIELD]?: string; + [RUNTIME_FIELD]?: number; + [RAM_FIELD]: number; + [VCPUS_FIELD]: number; + [KEEP_CACHE_RAM_FIELD]?: number; } export const RunProcessAdvancedForm = reduxForm({ - form: RUN_PROCESS_ADVANCED_FORM + form: RUN_PROCESS_ADVANCED_FORM, })(() =>
@@ -29,17 +42,56 @@ export const RunProcessAdvancedForm = + + + + + + + + +
); + +const ramValidation = [min(0)]; +const vcpusValidation = [min(1)]; +const keepCacheRamValdation = [optional(min(0))];