// Copyright (C) 2020 Intel Corporation // // SPDX-License-Identifier: MIT import React from 'react'; import { Row, Col } from 'antd/lib/grid'; import Tooltip from 'antd/lib/tooltip'; import Table from 'antd/lib/table'; import Modal from 'antd/lib/modal'; import Spin from 'antd/lib/spin'; import Icon from 'antd/lib/icon'; import Text from 'antd/lib/typography/Text'; interface Props { collecting: boolean; data: any; visible: boolean; assignee: string; reviewer: string; startFrame: number; stopFrame: number; bugTracker: string; jobStatus: string; savingJobStatus: boolean; closeStatistics(): void; } export default function StatisticsModalComponent(props: Props): JSX.Element { const { collecting, data, visible, assignee, reviewer, startFrame, stopFrame, bugTracker, closeStatistics, } = props; const baseProps = { cancelButtonProps: { style: { display: 'none' } }, okButtonProps: { style: { width: 100 } }, onOk: closeStatistics, width: 1000, visible, closable: false, }; if (collecting || !data) { return ( ); } const rows = Object.keys(data.label).map((key: string) => ({ key, label: key, rectangle: `${data.label[key].rectangle.shape} / ${data.label[key].rectangle.track}`, polygon: `${data.label[key].polygon.shape} / ${data.label[key].polygon.track}`, polyline: `${data.label[key].polyline.shape} / ${data.label[key].polyline.track}`, points: `${data.label[key].points.shape} / ${data.label[key].points.track}`, tags: data.label[key].tags, manually: data.label[key].manually, interpolated: data.label[key].interpolated, total: data.label[key].total, })); rows.push({ key: '___total', label: 'Total', rectangle: `${data.total.rectangle.shape} / ${data.total.rectangle.track}`, polygon: `${data.total.polygon.shape} / ${data.total.polygon.track}`, polyline: `${data.total.polyline.shape} / ${data.total.polyline.track}`, points: `${data.total.points.shape} / ${data.total.points.track}`, tags: data.total.tags, manually: data.total.manually, interpolated: data.total.interpolated, total: data.total.total, }); const makeShapesTracksTitle = (title: string): JSX.Element => ( {title} ); const columns = [ { title: Label , dataIndex: 'label', key: 'label', }, { title: makeShapesTracksTitle('Rectangle'), dataIndex: 'rectangle', key: 'rectangle', }, { title: makeShapesTracksTitle('Polygon'), dataIndex: 'polygon', key: 'polygon', }, { title: makeShapesTracksTitle('Polyline'), dataIndex: 'polyline', key: 'polyline', }, { title: makeShapesTracksTitle('Points'), dataIndex: 'points', key: 'points', }, { title: Tags , dataIndex: 'tags', key: 'tags', }, { title: Manually , dataIndex: 'manually', key: 'manually', }, { title: Interpolated , dataIndex: 'interpolated', key: 'interpolated', }, { title: Total , dataIndex: 'total', key: 'total', }, ]; return (
Overview Assignee {assignee} Reviewer {reviewer} Start frame {startFrame} Stop frame {stopFrame} Frames {stopFrame - startFrame + 1} {!!bugTracker && ( Bug tracker {bugTracker} )} Annotations statistics ); }