From 79f3533ad0df48c8d6083d5c34f9b7f419173afe Mon Sep 17 00:00:00 2001 From: Pawel Kowalczyk Date: Tue, 23 Oct 2018 12:03:25 +0200 Subject: [PATCH] proper saving tags and disabling search button at adnveced search view Feature #14391 Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk --- .../search-bar/search-bar-advanced-view.tsx | 27 ++++++++++++------- .../search-bar/search-bar-view.tsx | 7 ++--- .../search-bar/search-bar.tsx | 9 ++++--- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/views-components/search-bar/search-bar-advanced-view.tsx b/src/views-components/search-bar/search-bar-advanced-view.tsx index a8d65a496b..068ed16302 100644 --- a/src/views-components/search-bar/search-bar-advanced-view.tsx +++ b/src/views-components/search-bar/search-bar-advanced-view.tsx @@ -11,20 +11,20 @@ import { SEARCH_BAR_ADVANCE_FORM_NAME, saveQuery } from '~/store/search-bar/sear import { ArvadosTheme } from '~/common/custom-theme'; import { CloseIcon } from '~/components/icon/icon'; import { SearchBarAdvanceFormData } from '~/models/search-bar'; -import { - SearchBarTypeField, SearchBarClusterField, SearchBarProjectField, SearchBarTrashField, +import { + SearchBarTypeField, SearchBarClusterField, SearchBarProjectField, SearchBarTrashField, SearchBarDateFromField, SearchBarDateToField, SearchBarPropertiesField, SearchBarSaveSearchField, SearchBarQuerySearchField } from '~/views-components/form-fields/search-bar-form-fields'; -type CssRules = 'container' | 'closeIcon' | 'label' | 'buttonWrapper' +type CssRules = 'container' | 'closeIcon' | 'label' | 'buttonWrapper' | 'button' | 'circularProgress' | 'searchView' | 'selectGrid'; const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ container: { padding: theme.spacing.unit * 2, borderBottom: `1px solid ${theme.palette.grey["200"]}` - }, + }, closeIcon: { position: 'absolute', top: '12px', @@ -66,22 +66,29 @@ interface SearchBarAdvancedViewDataProps { pristine: boolean; } +export interface Tags { + values?: { + properties?: { key: string, value: string }, + }; +} + interface SearchBarAdvancedViewActionProps { setView: (currentView: string) => void; saveQuery: (data: SearchBarAdvanceFormData) => void; + tags: Tags; } -type SearchBarAdvancedViewProps = SearchBarAdvancedViewActionProps & SearchBarAdvancedViewDataProps +type SearchBarAdvancedViewProps = SearchBarAdvancedViewActionProps & SearchBarAdvancedViewDataProps & InjectedFormProps & WithStyles; const validate = (values: any) => { const errors: any = {}; - if (values.dateFrom && values.dateTo ) { + if (values.dateFrom && values.dateTo) { if (new Date(values.dateFrom).getTime() > new Date(values.dateTo).getTime()) { errors.dateFrom = 'Invalid date'; } - } + } return errors; }; @@ -96,7 +103,7 @@ export const SearchBarAdvancedView = compose( } }), withStyles(styles))( - ({ classes, setView, handleSubmit, submitting, invalid, pristine }: SearchBarAdvancedViewProps) => + ({ classes, setView, handleSubmit, submitting, invalid, pristine, tags }: SearchBarAdvancedViewProps) =>
@@ -152,7 +159,7 @@ export const SearchBarAdvancedView = compose(