You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.1 KiB
TypeScript
81 lines
2.1 KiB
TypeScript
// Copyright (C) 2020 Intel Corporation
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
import { connect } from 'react-redux';
|
|
|
|
import getCore from 'cvat-core';
|
|
import HeaderComponent from 'components/header/header';
|
|
import { SupportedPlugins, CombinedState } from 'reducers/interfaces';
|
|
import { logoutAsync } from 'actions/auth-actions';
|
|
|
|
const core = getCore();
|
|
|
|
interface StateToProps {
|
|
logoutFetching: boolean;
|
|
installedAnalytics: boolean;
|
|
installedAutoAnnotation: boolean;
|
|
installedTFSegmentation: boolean;
|
|
installedTFAnnotation: boolean;
|
|
username: string;
|
|
toolName: string;
|
|
serverHost: string;
|
|
serverVersion: string;
|
|
serverDescription: string;
|
|
coreVersion: string;
|
|
canvasVersion: string;
|
|
uiVersion: string;
|
|
switchSettingsShortcut: string;
|
|
}
|
|
|
|
interface DispatchToProps {
|
|
onLogout: typeof logoutAsync;
|
|
}
|
|
|
|
function mapStateToProps(state: CombinedState): StateToProps {
|
|
const {
|
|
auth: {
|
|
fetching: logoutFetching,
|
|
user: {
|
|
username,
|
|
},
|
|
},
|
|
plugins: {
|
|
list,
|
|
},
|
|
about: {
|
|
server,
|
|
packageVersion,
|
|
},
|
|
shortcuts: {
|
|
normalizedKeyMap,
|
|
},
|
|
} = state;
|
|
|
|
return {
|
|
logoutFetching,
|
|
installedAnalytics: list[SupportedPlugins.ANALYTICS],
|
|
installedAutoAnnotation: list[SupportedPlugins.AUTO_ANNOTATION],
|
|
installedTFSegmentation: list[SupportedPlugins.TF_SEGMENTATION],
|
|
installedTFAnnotation: list[SupportedPlugins.TF_ANNOTATION],
|
|
username,
|
|
toolName: server.name as string,
|
|
serverHost: core.config.backendAPI.slice(0, -7),
|
|
serverDescription: server.description as string,
|
|
serverVersion: server.version as string,
|
|
coreVersion: packageVersion.core,
|
|
canvasVersion: packageVersion.canvas,
|
|
uiVersion: packageVersion.ui,
|
|
switchSettingsShortcut: normalizedKeyMap.OPEN_SETTINGS,
|
|
};
|
|
}
|
|
|
|
const mapDispatchToProps: DispatchToProps = {
|
|
onLogout: logoutAsync,
|
|
};
|
|
|
|
export default connect(
|
|
mapStateToProps,
|
|
mapDispatchToProps,
|
|
)(HeaderComponent);
|