Added displayed versions of core, canvas, and ui in about (#1191)

* Added displayed versions of core, canvas, and ui in about

* Removed extra method
main
Boris Sekachev 6 years ago committed by GitHub
parent 105357d5a0
commit f329e14fe4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -134,6 +134,8 @@ Standard JS events are used.
// Create an instance of a canvas // Create an instance of a canvas
const canvas = new window.canvas.Canvas(); const canvas = new window.canvas.Canvas();
console.log('Version', window.canvas.CanvasVersion);
// Put canvas to a html container // Put canvas to a html container
htmlContainer.appendChild(canvas.html()); htmlContainer.appendChild(canvas.html());
canvas.fitCanvas(); canvas.fitCanvas();

@ -1,6 +1,6 @@
{ {
"name": "cvat-canvas", "name": "cvat-canvas",
"version": "0.1.0", "version": "0.5.2",
"description": "Part of Computer Vision Annotation Tool which presents its canvas library", "description": "Part of Computer Vision Annotation Tool which presents its canvas library",
"main": "src/canvas.ts", "main": "src/canvas.ts",
"scripts": { "scripts": {

@ -28,6 +28,9 @@ import {
} from './canvasView'; } from './canvasView';
import '../scss/canvas.scss'; import '../scss/canvas.scss';
import pjson from '../../package.json';
const CanvasVersion = pjson.version;
interface Canvas { interface Canvas {
html(): HTMLDivElement; html(): HTMLDivElement;
@ -130,8 +133,8 @@ class CanvasImpl implements Canvas {
} }
} }
export { export {
CanvasImpl as Canvas, CanvasImpl as Canvas,
Rotation, Rotation,
CanvasVersion,
}; };

@ -7,6 +7,8 @@
"noImplicitAny": true, "noImplicitAny": true,
"preserveConstEnums": true, "preserveConstEnums": true,
"declaration": true, "declaration": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"moduleResolution": "node", "moduleResolution": "node",
"declarationDir": "dist/declaration", "declarationDir": "dist/declaration",
"paths": { "paths": {

@ -1,6 +1,6 @@
{ {
"name": "cvat-core.js", "name": "cvat-core.js",
"version": "0.1.0", "version": "0.5.2",
"description": "Part of Computer Vision Tool which presents an interface for client-side integration", "description": "Part of Computer Vision Tool which presents an interface for client-side integration",
"main": "babel.config.js", "main": "babel.config.js",
"scripts": { "scripts": {

@ -1,6 +1,6 @@
{ {
"name": "cvat-ui", "name": "cvat-ui",
"version": "0.1.0", "version": "0.5.2",
"description": "CVAT single-page application", "description": "CVAT single-page application",
"main": "src/index.tsx", "main": "src/index.tsx",
"scripts": { "scripts": {

@ -16,15 +16,11 @@ import {
import Text from 'antd/lib/typography/Text'; import Text from 'antd/lib/typography/Text';
import getCore from 'cvat-core';
import { import {
CVATLogo, CVATLogo,
AccountIcon, AccountIcon,
} from 'icons'; } from 'icons';
const core = getCore();
const serverHost = core.config.backendAPI.slice(0, -7);
interface HeaderContainerProps { interface HeaderContainerProps {
onLogout: () => void; onLogout: () => void;
logoutFetching: boolean; logoutFetching: boolean;
@ -32,8 +28,14 @@ interface HeaderContainerProps {
installedAutoAnnotation: boolean; installedAutoAnnotation: boolean;
installedTFAnnotation: boolean; installedTFAnnotation: boolean;
installedTFSegmentation: boolean; installedTFSegmentation: boolean;
serverHost: string;
username: string; username: string;
serverAbout: any; toolName: string;
serverVersion: string;
serverDescription: string;
coreVersion: string;
canvasVersion: string;
uiVersion: string;
} }
type Props = HeaderContainerProps & RouteComponentProps; type Props = HeaderContainerProps & RouteComponentProps;
@ -45,7 +47,13 @@ function HeaderContainer(props: Props): JSX.Element {
installedTFAnnotation, installedTFAnnotation,
installedAnalytics, installedAnalytics,
username, username,
serverAbout, toolName,
serverHost,
serverVersion,
serverDescription,
coreVersion,
canvasVersion,
uiVersion,
onLogout, onLogout,
logoutFetching, logoutFetching,
} = props; } = props;
@ -61,26 +69,42 @@ function HeaderContainer(props: Props): JSX.Element {
const FORUM = 'https://software.intel.com/en-us/forums/intel-distribution-of-openvino-toolkit'; const FORUM = 'https://software.intel.com/en-us/forums/intel-distribution-of-openvino-toolkit';
Modal.info({ Modal.info({
title: `${serverAbout.name}`, title: `${toolName}`,
content: ( content: (
<div> <div>
<p> <p>
{`${serverAbout.description}`} {`${serverDescription}`}
</p> </p>
<p> <p>
<Text strong> <Text strong>
Server version: Server version:
</Text> </Text>
<Text type='secondary'> <Text type='secondary'>
{` ${serverAbout.version}`} {` ${serverVersion}`}
</Text>
</p>
<p>
<Text strong>
Core version:
</Text>
<Text type='secondary'>
{` ${coreVersion}`}
</Text>
</p>
<p>
<Text strong>
Canvas version:
</Text>
<Text type='secondary'>
{` ${canvasVersion}`}
</Text> </Text>
</p> </p>
<p> <p>
<Text strong> <Text strong>
Client version: UI version:
</Text> </Text>
<Text type='secondary'> <Text type='secondary'>
{` ${core.client.version}`} {` ${uiVersion}`}
</Text> </Text>
</p> </p>
<Row type='flex' justify='space-around'> <Row type='flex' justify='space-around'>

@ -5,9 +5,12 @@ import {
CombinedState, CombinedState,
} from 'reducers/interfaces'; } from 'reducers/interfaces';
import getCore from 'cvat-core';
import HeaderComponent from 'components/header/header'; import HeaderComponent from 'components/header/header';
import { logoutAsync } from 'actions/auth-actions'; import { logoutAsync } from 'actions/auth-actions';
const core = getCore();
interface StateToProps { interface StateToProps {
logoutFetching: boolean; logoutFetching: boolean;
installedAnalytics: boolean; installedAnalytics: boolean;
@ -15,7 +18,13 @@ interface StateToProps {
installedTFSegmentation: boolean; installedTFSegmentation: boolean;
installedTFAnnotation: boolean; installedTFAnnotation: boolean;
username: string; username: string;
serverAbout: any; toolName: string;
serverHost: string;
serverVersion: string;
serverDescription: string;
coreVersion: string;
canvasVersion: string;
uiVersion: string;
} }
interface DispatchToProps { interface DispatchToProps {
@ -23,18 +32,36 @@ interface DispatchToProps {
} }
function mapStateToProps(state: CombinedState): StateToProps { function mapStateToProps(state: CombinedState): StateToProps {
const { auth } = state; const {
const { list } = state.plugins; auth: {
const { about } = state; fetching: logoutFetching,
user: {
username,
},
},
plugins: {
list,
},
about: {
server,
packageVersion,
},
} = state;
return { return {
logoutFetching: state.auth.fetching, logoutFetching,
installedAnalytics: list[SupportedPlugins.ANALYTICS], installedAnalytics: list[SupportedPlugins.ANALYTICS],
installedAutoAnnotation: list[SupportedPlugins.AUTO_ANNOTATION], installedAutoAnnotation: list[SupportedPlugins.AUTO_ANNOTATION],
installedTFSegmentation: list[SupportedPlugins.TF_SEGMENTATION], installedTFSegmentation: list[SupportedPlugins.TF_SEGMENTATION],
installedTFAnnotation: list[SupportedPlugins.TF_ANNOTATION], installedTFAnnotation: list[SupportedPlugins.TF_ANNOTATION],
username: auth.user.username, username,
serverAbout: about.server, 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,
}; };
} }

@ -1,9 +1,11 @@
import { import {
Canvas, Canvas,
Rotation, Rotation,
CanvasVersion,
} from '../../cvat-canvas/src/typescript/canvas'; } from '../../cvat-canvas/src/typescript/canvas';
export { export {
Canvas, Canvas,
Rotation, Rotation,
CanvasVersion,
}; };

@ -2,9 +2,17 @@ import { AboutActions, AboutActionTypes } from 'actions/about-actions';
import { AuthActions, AuthActionTypes } from 'actions/auth-actions'; import { AuthActions, AuthActionTypes } from 'actions/auth-actions';
import { AboutState } from './interfaces'; import { AboutState } from './interfaces';
import { CanvasVersion } from '../cvat-canvas';
import getCore from '../cvat-core';
import pjson from '../../package.json';
const defaultState: AboutState = { const defaultState: AboutState = {
server: {}, server: {},
packageVersion: {
core: getCore().client.version,
canvas: CanvasVersion,
ui: pjson.version,
},
fetching: false, fetching: false,
initialized: false, initialized: false,
}; };

@ -88,6 +88,11 @@ export interface UsersState {
export interface AboutState { export interface AboutState {
server: any; server: any;
packageVersion: {
core: string;
canvas: string;
ui: string;
};
fetching: boolean; fetching: boolean;
initialized: boolean; initialized: boolean;
} }

@ -8,13 +8,13 @@
], ],
"allowJs": true, "allowJs": true,
"skipLibCheck": true, "skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true, "allowSyntheticDefaultImports": true,
"strict": true, "strict": true,
"forceConsistentCasingInFileNames": true, "forceConsistentCasingInFileNames": true,
"module": "esnext", "module": "esnext",
"moduleResolution": "node", "moduleResolution": "node",
"resolveJsonModule": true, "resolveJsonModule": true,
"esModuleInterop": true,
"isolatedModules": true, "isolatedModules": true,
"noEmit": true, "noEmit": true,
"jsx": "preserve", "jsx": "preserve",

Loading…
Cancel
Save