X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/1080aac872d8c1d00b55a7291d88b704fc400813..e1605f7c93aeb41ae31e0dd88a9afd8709136b62:/src/views-components/form-fields/search-bar-form-fields.tsx diff --git a/src/views-components/form-fields/search-bar-form-fields.tsx b/src/views-components/form-fields/search-bar-form-fields.tsx index 26911321..85abbe19 100644 --- a/src/views-components/form-fields/search-bar-form-fields.tsx +++ b/src/views-components/form-fields/search-bar-form-fields.tsx @@ -3,76 +3,106 @@ // SPDX-License-Identifier: AGPL-3.0 import * as React from "react"; -import { Field } from "redux-form"; -import { TextField } from "~/components/text-field/text-field"; -import { Checkbox, FormControlLabel } from '@material-ui/core'; +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 { ClusterObjectType } from '~/models/search-bar'; +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'; export const SearchBarTypeField = () => ; + component={NativeSelectField} + items={[ + { key: '', value: 'Any' }, + { key: ResourceKind.COLLECTION, value: 'Collection' }, + { key: ResourceKind.PROJECT, value: 'Project' }, + { key: ResourceKind.PROCESS, value: 'Process' } + ]} />; export const SearchBarClusterField = () => ; + component={NativeSelectField} + items={[ + { key: '', value: 'Any' }, + { key: ClusterObjectType.INDIANAPOLIS, value: 'Indianapolis' }, + { key: ClusterObjectType.KAISERAUGST, value: 'Kaiseraugst' }, + { key: ClusterObjectType.PENZBERG, value: 'Penzberg' } + ]} />; -export const SearchBarProjectField = () => +export const SearchBarProjectField = () => ; + name='projectUuid' + component={ProjectsPicker} />; -export const SearchBarTrashField = () => - - } - label="In trash" />; +const ProjectsPicker = (props: WrappedFieldProps) => +
+ ) => { + props.input.onChange(id); + } + } /> +
; -export const SearchBarDataFromField = () => +export const SearchBarTrashField = () => ; + name='inTrash' + component={CheckboxField} + label="In trash" />; -export const SearchBarDataToField = () => +export const SearchBarDateFromField = () => ; + name='dateFrom' + component={DateTextField} />; -export const SearchBarKeyField = () => +export const SearchBarDateToField = () => ; + name='dateTo' + component={DateTextField} />; -export const SearchBarValueField = () => - ; +export const SearchBarPropertiesField = () => + ; -export const SearchBarSaveSearchField = () => - - } - label="Save search query" />; +export const SearchBarKeyField = connectVocabulary( + ({ vocabulary }: VocabularyProp) => + ); + +export const SearchBarValueField = compose( + connectVocabulary, + formValues({ propertyKey: 'key' }) +)( + (props: PropertyValueFieldProps) => + ); + +export const SearchBarSaveSearchField = () => + ; -export const SearchBarQuerySearchField = () => +export const SearchBarQuerySearchField = () => ; \ No newline at end of file + label="Query name" />;