projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
code refactoring and improve views
[arvados-workbench2.git]
/
src
/
views-components
/
search-bar
/
search-bar-advanced-view.tsx
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 bfa1e6aa3c0b8f1092a07c4eca1014473eecba12..10e535c5ffcd18fe7ec6b2e45f82669e6fa03ba0 100644
(file)
--- a/
src/views-components/search-bar/search-bar-advanced-view.tsx
+++ b/
src/views-components/search-bar/search-bar-advanced-view.tsx
@@
-60,27
+60,24
@@
const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
}
});
}
});
-interface SearchBarAdvancedViewDataProps {
+interface SearchBarAdvancedView
Form
DataProps {
submitting: boolean;
invalid: boolean;
pristine: boolean;
}
submitting: boolean;
invalid: boolean;
pristine: boolean;
}
-export interface Tags {
- values?: {
- properties?: { key: string, value: string },
- value?: string;
- key?: string;
- };
+export interface SearchBarAdvancedViewDataProps {
+ tags: any;
}
}
-interface SearchBarAdvancedViewActionProps {
-
s
etView: (currentView: string) => void;
+
export
interface SearchBarAdvancedViewActionProps {
+
onS
etView: (currentView: string) => void;
saveQuery: (data: SearchBarAdvanceFormData) => void;
saveQuery: (data: SearchBarAdvanceFormData) => void;
- tags: Tags;
}
}
-type SearchBarAdvancedViewProps = SearchBarAdvancedViewActionProps & SearchBarAdvancedViewDataProps
+type SearchBarAdvancedViewProps = SearchBarAdvancedViewActionProps & SearchBarAdvancedViewDataProps;
+
+type SearchBarAdvancedViewFormProps = SearchBarAdvancedViewProps & SearchBarAdvancedViewFormDataProps
& InjectedFormProps & WithStyles<CssRules>;
const validate = (values: any) => {
& InjectedFormProps & WithStyles<CssRules>;
const validate = (values: any) => {
@@
-96,7
+93,7
@@
const validate = (values: any) => {
};
export const SearchBarAdvancedView = compose(
};
export const SearchBarAdvancedView = compose(
- reduxForm<SearchBarAdvanceFormData, SearchBarAdvancedView
Action
Props>({
+ reduxForm<SearchBarAdvanceFormData, SearchBarAdvancedViewProps>({
form: SEARCH_BAR_ADVANCE_FORM_NAME,
validate,
onSubmit: (data: SearchBarAdvanceFormData, dispatch: Dispatch) => {
form: SEARCH_BAR_ADVANCE_FORM_NAME,
validate,
onSubmit: (data: SearchBarAdvanceFormData, dispatch: Dispatch) => {
@@
-105,7
+102,7
@@
export const SearchBarAdvancedView = compose(
}
}),
withStyles(styles))(
}
}),
withStyles(styles))(
- ({ classes,
setView, handleSubmit, submitting, invalid, pristine, tags }: SearchBarAdvancedView
Props) =>
+ ({ classes,
onSetView, handleSubmit, submitting, invalid, pristine, tags }: SearchBarAdvancedViewForm
Props) =>
<Paper className={classes.searchView}>
<form onSubmit={handleSubmit}>
<Grid container direction="column" justify="flex-start" alignItems="flex-start">
<Paper className={classes.searchView}>
<form onSubmit={handleSubmit}>
<Grid container direction="column" justify="flex-start" alignItems="flex-start">
@@
-134,7
+131,7
@@
export const SearchBarAdvancedView = compose(
<SearchBarTrashField />
</Grid>
</Grid>
<SearchBarTrashField />
</Grid>
</Grid>
- <IconButton onClick={() =>
s
etView(SearchView.BASIC)} className={classes.closeIcon}>
+ <IconButton onClick={() =>
onS
etView(SearchView.BASIC)} className={classes.closeIcon}>
<CloseIcon />
</IconButton>
</Grid>
<CloseIcon />
</IconButton>
</Grid>
@@
-161,7
+158,8
@@
export const SearchBarAdvancedView = compose(
<Grid container item xs={12} justify='flex-end'>
<div className={classes.buttonWrapper}>
<Button type="submit" className={classes.button}
<Grid container item xs={12} justify='flex-end'>
<div className={classes.buttonWrapper}>
<Button type="submit" className={classes.button}
- disabled={invalid || submitting || pristine || !!((tags.values!.key || tags.values!.value) && !tags.values!.properties)}
+ // ToDo: create easier condition
+ disabled={invalid || submitting || pristine || !!(tags && tags.values && ((tags.values.key) || (tags.values.value)) && !Object.keys(tags.values).find(el => el !== 'value' && el !== 'key'))}
color="primary"
size='small'
variant="contained">
color="primary"
size='small'
variant="contained">