Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima@veritasgenetics.com>
import { getBuildInfo } from '~/common/app-info';
import { DragDropContextProvider } from 'react-dnd';
import HTML5Backend from 'react-dnd-html5-backend';
-import { initAdvanceFormProjectsTree } from '~/store/search-bar/search-bar-actions';
+import { initAdvancedFormProjectsTree } from '~/store/search-bar/search-bar-actions';
import { repositoryActionSet } from '~/views-components/context-menu/action-sets/repository-action-set';
import { sshKeyActionSet } from '~/views-components/context-menu/action-sets/ssh-key-action-set';
import { keepServiceActionSet } from '~/views-components/context-menu/action-sets/keep-service-action-set';
await store.dispatch(loadWorkbench());
addRouteChangeHandlers(history, store);
// ToDo: move to searchBar component
- store.dispatch(initAdvanceFormProjectsTree());
+ store.dispatch(initAdvancedFormProjectsTree());
}
};
};
import { ResourceKind } from '~/models/resource';
-export type SearchBarAdvanceFormData = {
+export type SearchBarAdvancedFormData = {
type?: ResourceKind;
cluster?: string;
projectUuid?: string;
//
// SPDX-License-Identifier: AGPL-3.0
-import { SearchBarAdvanceFormData } from '~/models/search-bar';
+import { SearchBarAdvancedFormData } from '~/models/search-bar';
export class SearchService {
private recentQueries = this.getRecentQueries();
- private savedQueries: SearchBarAdvanceFormData[] = this.getSavedQueries();
+ private savedQueries: SearchBarAdvancedFormData[] = this.getSavedQueries();
saveRecentQuery(query: string) {
if (this.recentQueries.length >= MAX_NUMBER_OF_RECENT_QUERIES) {
return JSON.parse(localStorage.getItem('recentQueries') || '[]');
}
- saveQuery(data: SearchBarAdvanceFormData) {
+ saveQuery(data: SearchBarAdvancedFormData) {
this.savedQueries.push({...data});
localStorage.setItem('savedQueries', JSON.stringify(this.savedQueries));
}
- editSavedQueries(data: SearchBarAdvanceFormData) {
+ editSavedQueries(data: SearchBarAdvancedFormData) {
const itemIndex = this.savedQueries.findIndex(item => item.queryName === data.queryName);
this.savedQueries[itemIndex] = {...data};
localStorage.setItem('savedQueries', JSON.stringify(this.savedQueries));
}
getSavedQueries() {
- return JSON.parse(localStorage.getItem('savedQueries') || '[]') as SearchBarAdvanceFormData[];
+ return JSON.parse(localStorage.getItem('savedQueries') || '[]') as SearchBarAdvancedFormData[];
}
deleteSavedQuery(id: number) {
import { SearchView } from '~/store/search-bar/search-bar-reducer';
import { navigateTo, navigateToSearchResults } from '~/store/navigation/navigation-action';
import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions';
-import { PropertyValue, SearchBarAdvanceFormData } from '~/models/search-bar';
+import { PropertyValue, SearchBarAdvancedFormData } from '~/models/search-bar';
import * as _ from "lodash";
import { getModifiedKeysValues } from "~/common/objects";
import { activateSearchBarProject } from "~/store/search-bar/search-bar-tree-actions";
CLOSE_SEARCH_VIEW: ofType<{}>(),
SET_SEARCH_RESULTS: ofType<GroupContentsResource[]>(),
SET_SEARCH_VALUE: ofType<string>(),
- SET_SAVED_QUERIES: ofType<SearchBarAdvanceFormData[]>(),
+ SET_SAVED_QUERIES: ofType<SearchBarAdvancedFormData[]>(),
SET_RECENT_QUERIES: ofType<string[]>(),
- UPDATE_SAVED_QUERY: ofType<SearchBarAdvanceFormData[]>(),
+ UPDATE_SAVED_QUERY: ofType<SearchBarAdvancedFormData[]>(),
SET_SELECTED_ITEM: ofType<string>(),
MOVE_UP: ofType<{}>(),
MOVE_DOWN: ofType<{}>(),
export type SearchBarActions = UnionOf<typeof searchBarActions>;
-export const SEARCH_BAR_ADVANCE_FORM_NAME = 'searchBarAdvanceFormName';
+export const SEARCH_BAR_ADVANCED_FORM_NAME = 'searchBarAdvancedFormName';
-export const SEARCH_BAR_ADVANCE_FORM_PICKER_ID = 'searchBarAdvanceFormPickerId';
+export const SEARCH_BAR_ADVANCED_FORM_PICKER_ID = 'searchBarAdvancedFormPickerId';
export const DEFAULT_SEARCH_DEBOUNCE = 1000;
}
};
-export const searchAdvanceData = (data: SearchBarAdvanceFormData) =>
+export const searchAdvancedData = (data: SearchBarAdvancedFormData) =>
async (dispatch: Dispatch, getState: () => RootState) => {
dispatch<any>(saveQuery(data));
const searchValue = getState().searchBar.searchValue;
dispatch(navigateToSearchResults(searchValue));
};
-export const setSearchValueFromAdvancedData = (data: SearchBarAdvanceFormData, prevData?: SearchBarAdvanceFormData) =>
+export const setSearchValueFromAdvancedData = (data: SearchBarAdvancedFormData, prevData?: SearchBarAdvancedFormData) =>
(dispatch: Dispatch, getState: () => RootState) => {
const searchValue = getState().searchBar.searchValue;
const value = getQueryFromAdvancedData({
export const setAdvancedDataFromSearchValue = (search: string, vocabulary: Vocabulary) =>
async (dispatch: Dispatch) => {
const data = getAdvancedDataFromQuery(search, vocabulary);
- dispatch<any>(initialize(SEARCH_BAR_ADVANCE_FORM_NAME, data));
+ dispatch<any>(initialize(SEARCH_BAR_ADVANCED_FORM_NAME, data));
if (data.projectUuid) {
await dispatch<any>(activateSearchBarProject(data.projectUuid));
- dispatch(treePickerActions.ACTIVATE_TREE_PICKER_NODE({ pickerId: SEARCH_BAR_ADVANCE_FORM_PICKER_ID, id: data.projectUuid }));
+ dispatch(treePickerActions.ACTIVATE_TREE_PICKER_NODE({ pickerId: SEARCH_BAR_ADVANCED_FORM_PICKER_ID, id: data.projectUuid }));
}
};
-const saveQuery = (data: SearchBarAdvanceFormData) =>
+const saveQuery = (data: SearchBarAdvancedFormData) =>
(dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
const savedQueries = services.searchService.getSavedQueries();
if (data.saveQuery && data.queryName) {
return savedSearchQueries || [];
};
-export const editSavedQuery = (data: SearchBarAdvanceFormData) =>
+export const editSavedQuery = (data: SearchBarAdvancedFormData) =>
(dispatch: Dispatch<any>) => {
dispatch(searchBarActions.SET_CURRENT_VIEW(SearchView.ADVANCED));
dispatch(searchBarActions.SET_SEARCH_VALUE(getQueryFromAdvancedData(data)));
- dispatch<any>(initialize(SEARCH_BAR_ADVANCE_FORM_NAME, data));
+ dispatch<any>(initialize(SEARCH_BAR_ADVANCED_FORM_NAME, data));
};
export const openSearchView = () =>
export const closeAdvanceView = () =>
(dispatch: Dispatch<any>) => {
dispatch(searchBarActions.SET_SEARCH_VALUE(''));
- dispatch(treePickerActions.DEACTIVATE_TREE_PICKER_NODE({ pickerId: SEARCH_BAR_ADVANCE_FORM_PICKER_ID }));
+ dispatch(treePickerActions.DEACTIVATE_TREE_PICKER_NODE({ pickerId: SEARCH_BAR_ADVANCED_FORM_PICKER_ID }));
dispatch(searchBarActions.SET_CURRENT_VIEW(SearchView.BASIC));
};
return value;
};
-export const getQueryFromAdvancedData = (data: SearchBarAdvanceFormData, prevData?: SearchBarAdvanceFormData) => {
+export const getQueryFromAdvancedData = (data: SearchBarAdvancedFormData, prevData?: SearchBarAdvancedFormData) => {
let value = '';
- const flatData = (data: SearchBarAdvanceFormData) => {
+ const flatData = (data: SearchBarAdvancedFormData) => {
const fo = {
searchValue: data.searchValue,
type: data.type,
value = buildQueryFromKeyMap({
searchValue: data.searchValue,
...obj
- } as SearchBarAdvanceFormData, keyMap, "reuse");
+ } as SearchBarAdvancedFormData, keyMap, "reuse");
} else {
value = buildQueryFromKeyMap(flatData(data), keyMap, "rebuild");
}
return value;
};
-export const getAdvancedDataFromQuery = (query: string, vocabulary?: Vocabulary): SearchBarAdvanceFormData => {
+export const getAdvancedDataFromQuery = (query: string, vocabulary?: Vocabulary): SearchBarAdvancedFormData => {
const { tokens, searchString } = parser.parseSearchQuery(query);
const getValue = parser.getValue(tokens);
return {
return date ? date : '';
};
-export const initAdvanceFormProjectsTree = () =>
+export const initAdvancedFormProjectsTree = () =>
(dispatch: Dispatch) => {
- dispatch<any>(initUserProject(SEARCH_BAR_ADVANCE_FORM_PICKER_ID));
+ dispatch<any>(initUserProject(SEARCH_BAR_ADVANCED_FORM_PICKER_ID));
};
-export const changeAdvanceFormProperty = (propertyField: string, value: PropertyValue[] | string = '') =>
+export const changeAdvancedFormProperty = (propertyField: string, value: PropertyValue[] | string = '') =>
(dispatch: Dispatch) => {
- dispatch(change(SEARCH_BAR_ADVANCE_FORM_NAME, propertyField, value));
+ dispatch(change(SEARCH_BAR_ADVANCED_FORM_NAME, propertyField, value));
};
-export const resetAdvanceFormProperty = (propertyField: string) =>
+export const resetAdvancedFormProperty = (propertyField: string) =>
(dispatch: Dispatch) => {
- dispatch(change(SEARCH_BAR_ADVANCE_FORM_NAME, propertyField, null));
- dispatch(untouch(SEARCH_BAR_ADVANCE_FORM_NAME, propertyField));
+ dispatch(change(SEARCH_BAR_ADVANCED_FORM_NAME, propertyField, null));
+ dispatch(untouch(SEARCH_BAR_ADVANCED_FORM_NAME, propertyField));
};
-export const updateAdvanceFormProperties = (propertyValues: PropertyValue) =>
+export const updateAdvancedFormProperties = (propertyValue: PropertyValue) =>
(dispatch: Dispatch) => {
- dispatch(arrayPush(SEARCH_BAR_ADVANCE_FORM_NAME, 'properties', propertyValues));
+ dispatch(arrayPush(SEARCH_BAR_ADVANCED_FORM_NAME, 'properties', propertyValue));
};
export const moveUp = () =>
SearchBarActions
} from '~/store/search-bar/search-bar-actions';
import { GroupContentsResource } from '~/services/groups-service/groups-service';
-import { SearchBarAdvanceFormData } from '~/models/search-bar';
+import { SearchBarAdvancedFormData } from '~/models/search-bar';
type SearchResult = GroupContentsResource;
export type SearchBarSelectedItem = {
open: boolean;
searchResults: SearchResult[];
searchValue: string;
- savedQueries: SearchBarAdvanceFormData[];
+ savedQueries: SearchBarAdvancedFormData[];
recentQueries: string[];
selectedItem: SearchBarSelectedItem;
}
const makeSelectedItem = (id: string, query?: string): SearchBarSelectedItem => ({ id, query: query ? query : id });
-const makeQueryList = (recentQueries: string[], savedQueries: SearchBarAdvanceFormData[]) => {
+const makeQueryList = (recentQueries: string[], savedQueries: SearchBarAdvancedFormData[]) => {
const recentIds = recentQueries.map((q, idx) => makeSelectedItem(`RQ-${idx}-${q}`, q));
const savedIds = savedQueries.map((q, idx) => makeSelectedItem(`SQ-${idx}-${q.queryName}`, getQueryFromAdvancedData(q)));
return recentIds.concat(savedIds);
import { OrderBuilder } from "~/services/api/order-builder";
import { ProjectResource } from "~/models/project";
import { resourcesActions } from "~/store/resources/resources-actions";
-import { SEARCH_BAR_ADVANCE_FORM_PICKER_ID } from "~/store/search-bar/search-bar-actions";
+import { SEARCH_BAR_ADVANCED_FORM_PICKER_ID } from "~/store/search-bar/search-bar-actions";
const getSearchBarTreeNode = (id: string) => (treePicker: TreePicker) => {
- const searchTree = getTreePicker(SEARCH_BAR_ADVANCE_FORM_PICKER_ID)(treePicker);
+ const searchTree = getTreePicker(SEARCH_BAR_ADVANCED_FORM_PICKER_ID)(treePicker);
return searchTree
? getNode(id)(searchTree)
: undefined;
export const loadSearchBarTreeProjects = (projectUuid: string) =>
async (dispatch: Dispatch, getState: () => RootState) => {
- const treePicker = getTreePicker(SEARCH_BAR_ADVANCE_FORM_PICKER_ID)(getState().treePicker);
+ const treePicker = getTreePicker(SEARCH_BAR_ADVANCED_FORM_PICKER_ID)(getState().treePicker);
const node = treePicker ? getNode(projectUuid)(treePicker) : undefined;
if (node || projectUuid === '') {
await dispatch<any>(loadSearchBarProject(projectUuid));
};
export const getSearchBarTreeNodeAncestorsIds = (id: string) => (treePicker: TreePicker) => {
- const searchTree = getTreePicker(SEARCH_BAR_ADVANCE_FORM_PICKER_ID)(treePicker);
+ const searchTree = getTreePicker(SEARCH_BAR_ADVANCED_FORM_PICKER_ID)(treePicker);
return searchTree
? getNodeAncestorsIds(id)(searchTree)
: [];
...[],
...ancestors.map(ancestor => ancestor.uuid)
],
- pickerId: SEARCH_BAR_ADVANCE_FORM_PICKER_ID
+ pickerId: SEARCH_BAR_ADVANCED_FORM_PICKER_ID
}));
- dispatch(treePickerActions.ACTIVATE_TREE_PICKER_NODE({ id, pickerId: SEARCH_BAR_ADVANCE_FORM_PICKER_ID }));
+ dispatch(treePickerActions.ACTIVATE_TREE_PICKER_NODE({ id, pickerId: SEARCH_BAR_ADVANCED_FORM_PICKER_ID }));
};
export const expandSearchBarTreeItem = (id: string) =>
async (dispatch: Dispatch, getState: () => RootState) => {
const node = getSearchBarTreeNode(id)(getState().treePicker);
if (node && !node.expanded) {
- dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ id, pickerId: SEARCH_BAR_ADVANCE_FORM_PICKER_ID }));
+ dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ id, pickerId: SEARCH_BAR_ADVANCED_FORM_PICKER_ID }));
}
};
}
dispatch(treePickerActions.EXPAND_TREE_PICKER_NODES({
ids: getSearchBarTreeNodeAncestorsIds(id)(treePicker),
- pickerId: SEARCH_BAR_ADVANCE_FORM_PICKER_ID
+ pickerId: SEARCH_BAR_ADVANCED_FORM_PICKER_ID
}));
dispatch<any>(expandSearchBarTreeItem(id));
};
const loadSearchBarProject = (projectUuid: string) =>
async (dispatch: Dispatch, _: () => RootState, services: ServiceRepository) => {
- dispatch(treePickerActions.LOAD_TREE_PICKER_NODE({ id: projectUuid, pickerId: SEARCH_BAR_ADVANCE_FORM_PICKER_ID }));
+ dispatch(treePickerActions.LOAD_TREE_PICKER_NODE({ id: projectUuid, pickerId: SEARCH_BAR_ADVANCED_FORM_PICKER_ID }));
const params = {
filters: new FilterBuilder()
.addEqual('ownerUuid', projectUuid)
const { items } = await services.projectService.list(params);
dispatch(treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({
id: projectUuid,
- pickerId: SEARCH_BAR_ADVANCE_FORM_PICKER_ID,
+ pickerId: SEARCH_BAR_ADVANCED_FORM_PICKER_ID,
nodes: items.map(item => initTreeNode({ id: item.uuid, value: item })),
}));
dispatch(resourcesActions.SET_RESOURCES(items));
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 { 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";
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);
import { Grid, withStyles, StyleRulesCallback, WithStyles, Button } from '@material-ui/core';
import { RootState } from '~/store/store';
import {
- SEARCH_BAR_ADVANCE_FORM_NAME,
- changeAdvanceFormProperty,
- resetAdvanceFormProperty,
- updateAdvanceFormProperties
+ SEARCH_BAR_ADVANCED_FORM_NAME,
+ changeAdvancedFormProperty,
+ resetAdvancedFormProperty,
+ updateAdvancedFormProperties
} from '~/store/search-bar/search-bar-actions';
import { PropertyValue } from '~/models/search-bar';
import { ArvadosTheme } from '~/common/custom-theme';
& SearchBarAdvancedPropertiesViewActionProps
& InjectedFormProps & WithStyles<CssRules>;
-const selector = formValueSelector(SEARCH_BAR_ADVANCE_FORM_NAME);
+const selector = formValueSelector(SEARCH_BAR_ADVANCED_FORM_NAME);
const mapStateToProps = (state: RootState) => {
return {
propertyValues: selector(state, 'key', 'value', 'keyID', 'valueID')
const mapDispatchToProps = (dispatch: Dispatch) => ({
setProps: (propertyValues: PropertyValue[]) => {
- dispatch<any>(changeAdvanceFormProperty('properties', propertyValues));
+ dispatch<any>(changeAdvancedFormProperty('properties', propertyValues));
},
- addProp: (propertyValues: PropertyValue) => {
- dispatch<any>(updateAdvanceFormProperties(propertyValues));
- dispatch<any>(resetAdvanceFormProperty('key'));
- dispatch<any>(resetAdvanceFormProperty('value'));
- dispatch<any>(resetAdvanceFormProperty('keyID'));
- dispatch<any>(resetAdvanceFormProperty('valueID'));
+ addProp: (propertyValue: PropertyValue) => {
+ dispatch<any>(updateAdvancedFormProperties(propertyValue));
+ dispatch<any>(resetAdvancedFormProperty('key'));
+ dispatch<any>(resetAdvancedFormProperty('value'));
+ dispatch<any>(resetAdvancedFormProperty('keyID'));
+ dispatch<any>(resetAdvancedFormProperty('valueID'));
},
getAllFields: (fields: any) => {
return fields.getAll() || [];
import { compose, Dispatch } from 'redux';
import { Paper, StyleRulesCallback, withStyles, WithStyles, Button, Grid, IconButton, CircularProgress } from '@material-ui/core';
import {
- SEARCH_BAR_ADVANCE_FORM_NAME, SEARCH_BAR_ADVANCE_FORM_PICKER_ID,
- searchAdvanceData,
+ SEARCH_BAR_ADVANCED_FORM_NAME, SEARCH_BAR_ADVANCED_FORM_PICKER_ID,
+ searchAdvancedData,
setSearchValueFromAdvancedData
} from '~/store/search-bar/search-bar-actions';
import { ArvadosTheme } from '~/common/custom-theme';
import { CloseIcon } from '~/components/icon/icon';
-import { SearchBarAdvanceFormData } from '~/models/search-bar';
+import { SearchBarAdvancedFormData } from '~/models/search-bar';
import {
SearchBarTypeField, SearchBarClusterField, SearchBarProjectField, SearchBarTrashField,
SearchBarDateFromField, SearchBarDateToField, SearchBarPropertiesField,
};
export const SearchBarAdvancedView = compose(
- reduxForm<SearchBarAdvanceFormData, SearchBarAdvancedViewProps>({
- form: SEARCH_BAR_ADVANCE_FORM_NAME,
+ reduxForm<SearchBarAdvancedFormData, SearchBarAdvancedViewProps>({
+ form: SEARCH_BAR_ADVANCED_FORM_NAME,
validate,
- onSubmit: (data: SearchBarAdvanceFormData, dispatch: Dispatch) => {
- dispatch<any>(searchAdvanceData(data));
- dispatch(reset(SEARCH_BAR_ADVANCE_FORM_NAME));
- dispatch(treePickerActions.DEACTIVATE_TREE_PICKER_NODE({ pickerId: SEARCH_BAR_ADVANCE_FORM_PICKER_ID }));
+ onSubmit: (data: SearchBarAdvancedFormData, dispatch: Dispatch) => {
+ dispatch<any>(searchAdvancedData(data));
+ dispatch(reset(SEARCH_BAR_ADVANCED_FORM_NAME));
+ dispatch(treePickerActions.DEACTIVATE_TREE_PICKER_NODE({ pickerId: SEARCH_BAR_ADVANCED_FORM_PICKER_ID }));
},
- onChange: (data: SearchBarAdvanceFormData, dispatch: Dispatch, props: any, prevData: SearchBarAdvanceFormData) => {
+ onChange: (data: SearchBarAdvancedFormData, dispatch: Dispatch, props: any, prevData: SearchBarAdvancedFormData) => {
dispatch<any>(setSearchValueFromAdvancedData(data, prevData));
},
}),
import { withStyles, WithStyles, StyleRulesCallback, List, ListItem, ListItemText, ListItemSecondaryAction, Tooltip, IconButton } from '@material-ui/core';
import { ArvadosTheme } from '~/common/custom-theme';
import { RemoveIcon, EditSavedQueryIcon } from '~/components/icon/icon';
-import { SearchBarAdvanceFormData } from '~/models/search-bar';
+import { SearchBarAdvancedFormData } from '~/models/search-bar';
import { SearchBarSelectedItem } from "~/store/search-bar/search-bar-reducer";
import { getQueryFromAdvancedData } from "~/store/search-bar/search-bar-actions";
});
export interface SearchBarSavedQueriesDataProps {
- savedQueries: SearchBarAdvanceFormData[];
+ savedQueries: SearchBarAdvancedFormData[];
selectedItem: SearchBarSelectedItem;
}
export interface SearchBarSavedQueriesActionProps {
onSearch: (searchValue: string) => void;
deleteSavedQuery: (id: number) => void;
- editSavedQuery: (data: SearchBarAdvanceFormData, id: number) => void;
+ editSavedQuery: (data: SearchBarAdvancedFormData, id: number) => void;
}
type SearchBarSavedQueriesProps = SearchBarSavedQueriesDataProps
navigateToItem,
editSavedQuery,
changeData,
- submitData, moveUp, moveDown, setAdvancedDataFromSearchValue
+ submitData, moveUp, moveDown, setAdvancedDataFromSearchValue, SEARCH_BAR_ADVANCED_FORM_NAME
} from '~/store/search-bar/search-bar-actions';
import { SearchBarView, SearchBarActionProps, SearchBarDataProps } from '~/views-components/search-bar/search-bar-view';
-import { SearchBarAdvanceFormData } from '~/models/search-bar';
+import { SearchBarAdvancedFormData } from '~/models/search-bar';
import { Vocabulary } from '~/models/vocabulary';
const mapStateToProps = ({ searchBar, form }: RootState): SearchBarDataProps => {
searchResults: searchBar.searchResults,
selectedItem: searchBar.selectedItem,
savedQueries: searchBar.savedQueries,
- tags: form.searchBarAdvanceFormName,
- saveQuery: form.searchBarAdvanceFormName &&
- form.searchBarAdvanceFormName.values &&
- form.searchBarAdvanceFormName.values.saveQuery
+ tags: form[SEARCH_BAR_ADVANCED_FORM_NAME],
+ saveQuery: form[SEARCH_BAR_ADVANCED_FORM_NAME] &&
+ form[SEARCH_BAR_ADVANCED_FORM_NAME].values &&
+ form[SEARCH_BAR_ADVANCED_FORM_NAME].values!.saveQuery
};
};
deleteSavedQuery: (id: number) => dispatch<any>(deleteSavedQuery(id)),
openSearchView: () => dispatch<any>(openSearchView()),
navigateTo: (uuid: string) => dispatch<any>(navigateToItem(uuid)),
- editSavedQuery: (data: SearchBarAdvanceFormData) => dispatch<any>(editSavedQuery(data)),
+ editSavedQuery: (data: SearchBarAdvancedFormData) => dispatch<any>(editSavedQuery(data)),
moveUp: () => dispatch<any>(moveUp()),
moveDown: () => dispatch<any>(moveDown()),
setAdvancedDataFromSearchValue: (search: string, vocabulary: Vocabulary) => dispatch<any>(setAdvancedDataFromSearchValue(search, vocabulary))
import { loadDetailsPanel } from '~/store/details-panel/details-panel-action';
import { SearchResultsPanelView } from '~/views/search-results-panel/search-results-panel-view';
import { RootState } from '~/store/store';
-import { SearchBarAdvanceFormData } from '~/models/search-bar';
+import { SearchBarAdvancedFormData } from '~/models/search-bar';
import { User } from "~/models/user";
import { Config } from '~/common/config';
import { Session } from "~/models/session";
export interface SearchResultsPanelDataProps {
- data: SearchBarAdvanceFormData;
+ data: SearchBarAdvancedFormData;
user: User;
sessions: Session[];
remoteHostsConfig: { [key: string]: Config };