1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { Dispatch } from "redux";
6 import { connect } from "react-redux";
7 import { navigateTo } from '~/store/navigation/navigation-action';
8 import { SearchResultsPanelActionProps, SearchResultsPanelDataProps } from './search-results-panel-view';
9 import { RootState } from '~/store/store';
10 import { openContextMenu, resourceKindToContextMenuKind } from '~/store/context-menu/context-menu-actions';
11 import { ResourceKind } from '~/models/resource';
12 import { loadDetailsPanel } from '~/store/details-panel/details-panel-action';
13 import { SearchResultsPanelView } from '~/views/search-results-panel/search-results-panel-view';
15 const mapStateToProps = (state: RootState): SearchResultsPanelDataProps => ({
25 const mapDispatchToProps = (dispatch: Dispatch): SearchResultsPanelActionProps => ({
26 onContextMenu: (event, resourceUuid) => {
27 const kind = resourceKindToContextMenuKind(resourceUuid);
29 dispatch<any>(openContextMenu(event, {
33 kind: ResourceKind.NONE,
38 onDialogOpen: (ownerUuid: string) => { return; },
39 onItemClick: (resourceUuid: string) => {
40 dispatch<any>(loadDetailsPanel(resourceUuid));
42 onItemDoubleClick: uuid => {
43 dispatch<any>(navigateTo(uuid));
47 export const SearchResultsPanel = connect(mapStateToProps, mapDispatchToProps)(SearchResultsPanelView);