From f329e14fe4cb8e36ab60ada924c2f87445ef37db Mon Sep 17 00:00:00 2001 From: Boris Sekachev <40690378+bsekachev@users.noreply.github.com> Date: Tue, 25 Feb 2020 15:19:46 +0300 Subject: [PATCH] Added displayed versions of core, canvas, and ui in about (#1191) * Added displayed versions of core, canvas, and ui in about * Removed extra method --- cvat-canvas/README.md | 2 ++ cvat-canvas/package.json | 2 +- cvat-canvas/src/typescript/canvas.ts | 5 ++- cvat-canvas/tsconfig.json | 2 ++ cvat-core/package.json | 2 +- cvat-ui/package.json | 2 +- cvat-ui/src/components/header/header.tsx | 46 ++++++++++++++++++------ cvat-ui/src/containers/header/header.tsx | 41 +++++++++++++++++---- cvat-ui/src/cvat-canvas.ts | 2 ++ cvat-ui/src/reducers/about-reducer.ts | 8 +++++ cvat-ui/src/reducers/interfaces.ts | 5 +++ cvat-ui/tsconfig.json | 2 +- 12 files changed, 96 insertions(+), 23 deletions(-) diff --git a/cvat-canvas/README.md b/cvat-canvas/README.md index 6b7155f0..a45f1e04 100644 --- a/cvat-canvas/README.md +++ b/cvat-canvas/README.md @@ -134,6 +134,8 @@ Standard JS events are used. // Create an instance of a canvas const canvas = new window.canvas.Canvas(); + console.log('Version', window.canvas.CanvasVersion); + // Put canvas to a html container htmlContainer.appendChild(canvas.html()); canvas.fitCanvas(); diff --git a/cvat-canvas/package.json b/cvat-canvas/package.json index e56e2637..06ea6c5c 100644 --- a/cvat-canvas/package.json +++ b/cvat-canvas/package.json @@ -1,6 +1,6 @@ { "name": "cvat-canvas", - "version": "0.1.0", + "version": "0.5.2", "description": "Part of Computer Vision Annotation Tool which presents its canvas library", "main": "src/canvas.ts", "scripts": { diff --git a/cvat-canvas/src/typescript/canvas.ts b/cvat-canvas/src/typescript/canvas.ts index e5c4974e..560c46a2 100644 --- a/cvat-canvas/src/typescript/canvas.ts +++ b/cvat-canvas/src/typescript/canvas.ts @@ -28,6 +28,9 @@ import { } from './canvasView'; import '../scss/canvas.scss'; +import pjson from '../../package.json'; + +const CanvasVersion = pjson.version; interface Canvas { html(): HTMLDivElement; @@ -130,8 +133,8 @@ class CanvasImpl implements Canvas { } } - export { CanvasImpl as Canvas, Rotation, + CanvasVersion, }; diff --git a/cvat-canvas/tsconfig.json b/cvat-canvas/tsconfig.json index f919ec6c..b83cdaf9 100644 --- a/cvat-canvas/tsconfig.json +++ b/cvat-canvas/tsconfig.json @@ -7,6 +7,8 @@ "noImplicitAny": true, "preserveConstEnums": true, "declaration": true, + "resolveJsonModule": true, + "esModuleInterop": true, "moduleResolution": "node", "declarationDir": "dist/declaration", "paths": { diff --git a/cvat-core/package.json b/cvat-core/package.json index 558f437c..d07e81aa 100644 --- a/cvat-core/package.json +++ b/cvat-core/package.json @@ -1,6 +1,6 @@ { "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", "main": "babel.config.js", "scripts": { diff --git a/cvat-ui/package.json b/cvat-ui/package.json index 013566c7..c2c08d2c 100644 --- a/cvat-ui/package.json +++ b/cvat-ui/package.json @@ -1,6 +1,6 @@ { "name": "cvat-ui", - "version": "0.1.0", + "version": "0.5.2", "description": "CVAT single-page application", "main": "src/index.tsx", "scripts": { diff --git a/cvat-ui/src/components/header/header.tsx b/cvat-ui/src/components/header/header.tsx index 83376343..a740acce 100644 --- a/cvat-ui/src/components/header/header.tsx +++ b/cvat-ui/src/components/header/header.tsx @@ -16,15 +16,11 @@ import { import Text from 'antd/lib/typography/Text'; -import getCore from 'cvat-core'; import { CVATLogo, AccountIcon, } from 'icons'; -const core = getCore(); -const serverHost = core.config.backendAPI.slice(0, -7); - interface HeaderContainerProps { onLogout: () => void; logoutFetching: boolean; @@ -32,8 +28,14 @@ interface HeaderContainerProps { installedAutoAnnotation: boolean; installedTFAnnotation: boolean; installedTFSegmentation: boolean; + serverHost: string; username: string; - serverAbout: any; + toolName: string; + serverVersion: string; + serverDescription: string; + coreVersion: string; + canvasVersion: string; + uiVersion: string; } type Props = HeaderContainerProps & RouteComponentProps; @@ -45,7 +47,13 @@ function HeaderContainer(props: Props): JSX.Element { installedTFAnnotation, installedAnalytics, username, - serverAbout, + toolName, + serverHost, + serverVersion, + serverDescription, + coreVersion, + canvasVersion, + uiVersion, onLogout, logoutFetching, } = 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'; Modal.info({ - title: `${serverAbout.name}`, + title: `${toolName}`, content: (

- {`${serverAbout.description}`} + {`${serverDescription}`}

Server version: - {` ${serverAbout.version}`} + {` ${serverVersion}`} + +

+

+ + Core version: + + + {` ${coreVersion}`} + +

+

+ + Canvas version: + + + {` ${canvasVersion}`}

- Client version: + UI version: - {` ${core.client.version}`} + {` ${uiVersion}`}

diff --git a/cvat-ui/src/containers/header/header.tsx b/cvat-ui/src/containers/header/header.tsx index 4d8b7d26..91b4aab1 100644 --- a/cvat-ui/src/containers/header/header.tsx +++ b/cvat-ui/src/containers/header/header.tsx @@ -5,9 +5,12 @@ import { CombinedState, } from 'reducers/interfaces'; +import getCore from 'cvat-core'; import HeaderComponent from 'components/header/header'; import { logoutAsync } from 'actions/auth-actions'; +const core = getCore(); + interface StateToProps { logoutFetching: boolean; installedAnalytics: boolean; @@ -15,7 +18,13 @@ interface StateToProps { installedTFSegmentation: boolean; installedTFAnnotation: boolean; username: string; - serverAbout: any; + toolName: string; + serverHost: string; + serverVersion: string; + serverDescription: string; + coreVersion: string; + canvasVersion: string; + uiVersion: string; } interface DispatchToProps { @@ -23,18 +32,36 @@ interface DispatchToProps { } function mapStateToProps(state: CombinedState): StateToProps { - const { auth } = state; - const { list } = state.plugins; - const { about } = state; + const { + auth: { + fetching: logoutFetching, + user: { + username, + }, + }, + plugins: { + list, + }, + about: { + server, + packageVersion, + }, + } = state; return { - logoutFetching: state.auth.fetching, + logoutFetching, installedAnalytics: list[SupportedPlugins.ANALYTICS], installedAutoAnnotation: list[SupportedPlugins.AUTO_ANNOTATION], installedTFSegmentation: list[SupportedPlugins.TF_SEGMENTATION], installedTFAnnotation: list[SupportedPlugins.TF_ANNOTATION], - username: auth.user.username, - serverAbout: about.server, + 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, }; } diff --git a/cvat-ui/src/cvat-canvas.ts b/cvat-ui/src/cvat-canvas.ts index f68c1c2a..f7cfacdb 100644 --- a/cvat-ui/src/cvat-canvas.ts +++ b/cvat-ui/src/cvat-canvas.ts @@ -1,9 +1,11 @@ import { Canvas, Rotation, + CanvasVersion, } from '../../cvat-canvas/src/typescript/canvas'; export { Canvas, Rotation, + CanvasVersion, }; diff --git a/cvat-ui/src/reducers/about-reducer.ts b/cvat-ui/src/reducers/about-reducer.ts index d6eeb0c8..66b79238 100644 --- a/cvat-ui/src/reducers/about-reducer.ts +++ b/cvat-ui/src/reducers/about-reducer.ts @@ -2,9 +2,17 @@ import { AboutActions, AboutActionTypes } from 'actions/about-actions'; import { AuthActions, AuthActionTypes } from 'actions/auth-actions'; import { AboutState } from './interfaces'; +import { CanvasVersion } from '../cvat-canvas'; +import getCore from '../cvat-core'; +import pjson from '../../package.json'; const defaultState: AboutState = { server: {}, + packageVersion: { + core: getCore().client.version, + canvas: CanvasVersion, + ui: pjson.version, + }, fetching: false, initialized: false, }; diff --git a/cvat-ui/src/reducers/interfaces.ts b/cvat-ui/src/reducers/interfaces.ts index 00d0f838..f39a7359 100644 --- a/cvat-ui/src/reducers/interfaces.ts +++ b/cvat-ui/src/reducers/interfaces.ts @@ -88,6 +88,11 @@ export interface UsersState { export interface AboutState { server: any; + packageVersion: { + core: string; + canvas: string; + ui: string; + }; fetching: boolean; initialized: boolean; } diff --git a/cvat-ui/tsconfig.json b/cvat-ui/tsconfig.json index 388f07ad..07b6414e 100644 --- a/cvat-ui/tsconfig.json +++ b/cvat-ui/tsconfig.json @@ -8,13 +8,13 @@ ], "allowJs": true, "skipLibCheck": true, - "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, + "esModuleInterop": true, "isolatedModules": true, "noEmit": true, "jsx": "preserve",