X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/3d8c3da5fdc9488ac37d09211af8312e77ebebcb..618af1a3106c399765788be4583463ab35d97cd5:/src/views-components/form-fields/collection-form-fields.tsx diff --git a/src/views-components/form-fields/collection-form-fields.tsx b/src/views-components/form-fields/collection-form-fields.tsx index af240fc5..b882d684 100644 --- a/src/views-components/form-fields/collection-form-fields.tsx +++ b/src/views-components/form-fields/collection-form-fields.tsx @@ -2,33 +2,56 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; -import { Field, WrappedFieldProps } from "redux-form"; -import { TextField } from "~/components/text-field/text-field"; -import { COLLECTION_NAME_VALIDATION, COLLECTION_DESCRIPTION_VALIDATION, COLLECTION_PROJECT_VALIDATION } from "~/validators/validators"; -import { ProjectTreePicker } from "~/views-components/project-tree-picker/project-tree-picker"; +import React from "react"; +import { Field, Validator } from "redux-form"; +import { TextField } from "components/text-field/text-field"; +import { + COLLECTION_NAME_VALIDATION, COLLECTION_NAME_VALIDATION_ALLOW_SLASH, + COLLECTION_DESCRIPTION_VALIDATION, COLLECTION_PROJECT_VALIDATION +} from "validators/validators"; +import { ProjectTreePickerField, CollectionTreePickerField } from "views-components/projects-tree-picker/tree-picker-field"; +import { PickerIdProp } from 'store/tree-picker/picker-id'; +import { connect } from "react-redux"; +import { RootState } from "store/store"; -export const CollectionNameField = () => - ; +interface CollectionNameFieldProps { + validate: Validator[]; +} + +// See implementation note on declaration of ProjectNameField + +export const CollectionNameField = connect( + (state: RootState) => { + return { + validate: (state.auth.config.clusterConfig.Collections.ForwardSlashNameSubstitution === "" ? + COLLECTION_NAME_VALIDATION : COLLECTION_NAME_VALIDATION_ALLOW_SLASH) + }; + })((props: CollectionNameFieldProps) => + + ); export const CollectionDescriptionField = () => ; -export const CollectionProjectPickerField = () => +export const CollectionProjectPickerField = (props: PickerIdProp) => ; -const ProjectPicker = (props: WrappedFieldProps) => -
- props.input.onChange(projectUuid)} /> -
; +export const CollectionPickerField = (props: PickerIdProp) => + ;