Merge branch 'origin/master' into 14478-log-in-into-clusters
[arvados-workbench2.git] / src / views / api-client-authorization-panel / api-client-authorization-panel.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { RootState } from '~/store/store';
6 import { Dispatch } from 'redux';
7 import { connect } from 'react-redux';
8 import {
9     ApiClientAuthorizationPanelRoot,
10     ApiClientAuthorizationPanelRootDataProps,
11     ApiClientAuthorizationPanelRootActionProps
12 } from '~/views/api-client-authorization-panel/api-client-authorization-panel-root';
13 import { openApiClientAuthorizationContextMenu } from '~/store/context-menu/context-menu-actions';
14 import { openApiClientAuthorizationsHelpDialog } from '~/store/api-client-authorizations/api-client-authorizations-actions';
15
16 const mapStateToProps = (state: RootState): ApiClientAuthorizationPanelRootDataProps => {
17     return {
18         apiClientAuthorizations: state.apiClientAuthorizations,
19         hasApiClientAuthorizations: state.apiClientAuthorizations.length > 0
20     };
21 };
22
23 const mapDispatchToProps = (dispatch: Dispatch): ApiClientAuthorizationPanelRootActionProps => ({
24     openRowOptions: (event, apiClientAuthorization) => {
25         dispatch<any>(openApiClientAuthorizationContextMenu(event, apiClientAuthorization));
26     },
27     openHelpDialog: () => {
28         dispatch<any>(openApiClientAuthorizationsHelpDialog());
29     }
30 });
31
32 export const ApiClientAuthorizationPanel = connect(mapStateToProps, mapDispatchToProps)(ApiClientAuthorizationPanelRoot);