19049: Make participant select read only when editing vm logins
[arvados-workbench2.git] / src / views-components / form-fields / search-bar-form-fields.tsx
index 8de48ea744a8494ae2575a5ee51358a0c591902f..777fa824dfbcb7df0233d0058a921e40d54bf9bf 100644 (file)
@@ -2,28 +2,26 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import * as React from "react";
-import { Field, WrappedFieldProps, FieldArray, formValues } from 'redux-form';
-import { TextField, DateTextField } from "~/components/text-field/text-field";
-import { CheckboxField } from '~/components/checkbox-field/checkbox-field';
-import { NativeSelectField } from '~/components/select-field/select-field';
-import { ResourceKind } from '~/models/resource';
-import { HomeTreePicker } from '~/views-components/projects-tree-picker/home-tree-picker';
-import { SEARCH_BAR_ADVANCE_FORM_PICKER_ID } from '~/store/search-bar/search-bar-actions';
-import { SearchBarAdvancedPropertiesView } from '~/views-components/search-bar/search-bar-advanced-properties-view';
-import { TreeItem } from "~/components/tree/tree";
-import { ProjectsTreePickerItem } from "~/views-components/projects-tree-picker/generic-projects-tree-picker";
-import { PropertyKeyInput } from '~/views-components/resource-properties-form/property-key-field';
-import { PropertyValueInput, PropertyValueFieldProps } from '~/views-components/resource-properties-form/property-value-field';
-import { VocabularyProp, connectVocabulary } from '~/views-components/resource-properties-form/property-field-common';
-import { compose } from 'redux';
+import React from "react";
+import { Field, WrappedFieldProps, FieldArray } from 'redux-form';
+import { TextField, DateTextField } from "components/text-field/text-field";
+import { CheckboxField } from 'components/checkbox-field/checkbox-field';
+import { NativeSelectField } from 'components/select-field/select-field';
+import { ResourceKind } from 'models/resource';
+import { HomeTreePicker } from 'views-components/projects-tree-picker/home-tree-picker';
+import { SEARCH_BAR_ADVANCED_FORM_PICKER_ID } from 'store/search-bar/search-bar-actions';
+import { SearchBarAdvancedPropertiesView } from 'views-components/search-bar/search-bar-advanced-properties-view';
+import { TreeItem } from "components/tree/tree";
+import { ProjectsTreePickerItem } from "views-components/projects-tree-picker/generic-projects-tree-picker";
+import { PropertyKeyField, } from 'views-components/resource-properties-form/property-key-field';
+import { PropertyValueField } from 'views-components/resource-properties-form/property-value-field';
 import { connect } from "react-redux";
-import { RootState } from "~/store/store";
+import { RootState } from "store/store";
 
 export const SearchBarTypeField = () =>
     <Field
         name='type'
-        component={NativeSelectField}
+        component={NativeSelectField as any}
         items={[
             { key: '', value: 'Any' },
             { key: ResourceKind.COLLECTION, value: 'Collection' },
@@ -47,7 +45,7 @@ export const SearchBarClusterField = connect(
                 })))
     }))((props: SearchBarClusterFieldProps) => <Field
         name='cluster'
-        component={NativeSelectField}
+        component={NativeSelectField as any}
         items={props.clusters}/>
     );
 
@@ -59,7 +57,7 @@ export const SearchBarProjectField = () =>
 const ProjectsPicker = (props: WrappedFieldProps) =>
     <div style={{ height: '100px', display: 'flex', flexDirection: 'column', overflow: 'overlay' }}>
         <HomeTreePicker
-            pickerId={SEARCH_BAR_ADVANCE_FORM_PICKER_ID}
+            pickerId={SEARCH_BAR_ADVANCED_FORM_PICKER_ID}
             toggleItemActive={
                 (_: any, { id }: TreeItem<ProjectsTreePickerItem>) => {
                     props.input.onChange(id);
@@ -73,37 +71,32 @@ export const SearchBarTrashField = () =>
         component={CheckboxField}
         label="In trash" />;
 
+export const SearchBarPastVersionsField = () =>
+    <Field
+        name='pastVersions'
+        component={CheckboxField}
+        label="Past versions" />;
+
 export const SearchBarDateFromField = () =>
     <Field
         name='dateFrom'
-        component={DateTextField} />;
+        component={DateTextField as any} />;
 
 export const SearchBarDateToField = () =>
     <Field
         name='dateTo'
-        component={DateTextField} />;
+        component={DateTextField as any} />;
 
 export const SearchBarPropertiesField = () =>
     <FieldArray
         name="properties"
-        component={SearchBarAdvancedPropertiesView} />;
-
-export const SearchBarKeyField = connectVocabulary(
-    ({ vocabulary }: VocabularyProp) =>
-        <Field
-            name='key'
-            component={PropertyKeyInput}
-            vocabulary={vocabulary} />);
-
-export const SearchBarValueField = compose(
-    connectVocabulary,
-    formValues({ propertyKey: 'key' })
-)(
-    (props: PropertyValueFieldProps) =>
-        <Field
-            name='value'
-            component={PropertyValueInput}
-            {...props} />);
+        component={SearchBarAdvancedPropertiesView as any} />;
+
+export const SearchBarKeyField = () =>
+    <PropertyKeyField skipValidation={true} />;
+
+export const SearchBarValueField = () =>
+    <PropertyValueField skipValidation={true} />;
 
 export const SearchBarSaveSearchField = () =>
     <Field
@@ -114,5 +107,5 @@ export const SearchBarSaveSearchField = () =>
 export const SearchBarQuerySearchField = () =>
     <Field
         name='queryName'
-        component={TextField}
+        component={TextField as any}
         label="Query name" />;