+
+const validateDirectory = (val) => (val && val.uuid ? undefined : ERROR_MESSAGE);
+
+export const DirectoryPickerField = (props: PickerIdProp) =>
+ <Field
+ name="destination"
+ pickerId={props.pickerId}
+ component={DirectoryTreePickerField as any}
+ validate={validateDirectory} />;
+
+interface StorageClassesProps {
+ items: string[];
+ defaultClasses?: string[];
+}
+
+export const CollectionStorageClassesField = connect(
+ (state: RootState) => {
+ return {
+ items: getStorageClasses(state.auth.config)
+ };
+ })(
+ (props: StorageClassesProps) =>
+ <Field
+ name='storageClassesDesired'
+ label='Storage classes'
+ minSelection={1}
+ rowLayout={true}
+ defaultValues={props.defaultClasses}
+ helperText='At least one class should be selected'
+ component={MultiCheckboxField}
+ items={props.items} />);