//
// SPDX-License-Identifier: AGPL-3.0
-import * as 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 React from "react";
+import { Field, 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 { SearchBarAdvancedPropertiesView } from 'views-components/search-bar/search-bar-advanced-properties-view';
+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";
+import { ProjectInput, ProjectCommandInputParameter } from 'views/run-process-panel/inputs/project-input';
export const SearchBarTypeField = () =>
<Field
name='type'
- component={NativeSelectField}
+ component={NativeSelectField as any}
items={[
{ key: '', value: 'Any' },
{ key: ResourceKind.COLLECTION, value: 'Collection' },
export const SearchBarClusterField = connect(
(state: RootState) => ({
- clusters: [{key: '', value: 'Any'}].concat(
+ clusters: [{ key: '', value: 'Any' }].concat(
state.auth.sessions
.filter(s => s.loggedIn)
.map(s => ({
})))
}))((props: SearchBarClusterFieldProps) => <Field
name='cluster'
- component={NativeSelectField}
- items={props.clusters}/>
+ component={NativeSelectField as any}
+ items={props.clusters} />
);
export const SearchBarProjectField = () =>
- <Field
- name='projectUuid'
- component={ProjectsPicker} />;
-
-const ProjectsPicker = (props: WrappedFieldProps) =>
- <div style={{ height: '100px', display: 'flex', flexDirection: 'column', overflow: 'overlay' }}>
- <HomeTreePicker
- pickerId={SEARCH_BAR_ADVANCED_FORM_PICKER_ID}
- toggleItemActive={
- (_: any, { id }: TreeItem<ProjectsTreePickerItem>) => {
- props.input.onChange(id);
- }
- } />
- </div>;
+ <ProjectInput required={false} input={{
+ id: "projectObject",
+ label: "Limit search to Project"
+ } as ProjectCommandInputParameter}
+ options={{ showOnlyOwned: false, showOnlyWritable: false }} />
export const SearchBarTrashField = () =>
<Field
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} />;
+ component={SearchBarAdvancedPropertiesView as any} />;
export const SearchBarKeyField = () =>
<PropertyKeyField skipValidation={true} />;
export const SearchBarQuerySearchField = () =>
<Field
name='queryName'
- component={TextField}
+ component={TextField as any}
label="Query name" />;