提交 39764f87 编写于 作者: K klakhov

removed ablity to delete frame from GT

上级 6c3ad269
......@@ -23,6 +23,7 @@ interface Props {
frameNumber: number;
frameFilename: string;
frameDeleted: boolean;
deleteFrameAvailable: boolean;
deleteFrameShortcut: string;
focusFrameInputShortcut: string;
inputFrameRef: React.RefObject<Input>;
......@@ -51,6 +52,7 @@ function PlayerNavigation(props: Props): JSX.Element {
onDeleteFrame,
onRestoreFrame,
switchNavigationBlocked,
deleteFrameAvailable,
} = props;
const [frameInputValue, setFrameInputValue] = useState<number>(frameNumber);
......@@ -80,6 +82,15 @@ function PlayerNavigation(props: Props): JSX.Element {
});
}
}, [playing, frameNumber]);
const deleteFrameIcon = !frameDeleted ? (
<CVATTooltip title={`Delete the frame ${deleteFrameShortcut}`}>
<DeleteOutlined className='cvat-player-delete-frame' onClick={showDeleteFrameDialog} />
</CVATTooltip>
) : (
<CVATTooltip title='Restore the frame'>
<Icon className='cvat-player-restore-frame' onClick={onRestoreFrame} component={RestoreIcon} />
</CVATTooltip>
);
return (
<>
......@@ -105,15 +116,9 @@ function PlayerNavigation(props: Props): JSX.Element {
<CVATTooltip title='Create frame URL'>
<LinkOutlined className='cvat-player-frame-url-icon' onClick={onURLIconClick} />
</CVATTooltip>
{ (!frameDeleted) ? (
<CVATTooltip title={`Delete the frame ${deleteFrameShortcut}`}>
<DeleteOutlined className='cvat-player-delete-frame' onClick={showDeleteFrameDialog} />
</CVATTooltip>
) : (
<CVATTooltip title='Restore the frame'>
<Icon className='cvat-player-restore-frame' onClick={onRestoreFrame} component={RestoreIcon} />
</CVATTooltip>
)}
{
deleteFrameAvailable && deleteFrameIcon
}
</Col>
</Row>
</Col>
......
......@@ -41,6 +41,7 @@ interface Props {
focusFrameInputShortcut: string;
activeControl: ActiveControl;
toolsBlockerState: ToolsBlockerState;
deleteFrameAvailable: boolean;
changeWorkspace(workspace: Workspace): void;
showStatistics(): void;
showFilters(): void;
......@@ -117,6 +118,7 @@ export default function AnnotationTopBarComponent(props: Props): JSX.Element {
onFinishDraw,
onSwitchToolsBlockerState,
onDeleteFrame,
deleteFrameAvailable,
onRestoreFrame,
switchNavigationBlocked,
jobInstance,
......@@ -146,7 +148,6 @@ export default function AnnotationTopBarComponent(props: Props): JSX.Element {
<PlayerButtons
playing={playing}
playPauseShortcut={playPauseShortcut}
deleteFrameShortcut={deleteFrameShortcut}
nextFrameShortcut={nextFrameShortcut}
previousFrameShortcut={previousFrameShortcut}
forwardShortcut={forwardShortcut}
......@@ -179,6 +180,7 @@ export default function AnnotationTopBarComponent(props: Props): JSX.Element {
onDeleteFrame={onDeleteFrame}
onRestoreFrame={onRestoreFrame}
switchNavigationBlocked={switchNavigationBlocked}
deleteFrameAvailable={deleteFrameAvailable}
/>
</Row>
</Col>
......
......@@ -517,8 +517,8 @@ class AnnotationTopBarContainer extends React.PureComponent<Props, State> {
};
private onDeleteFrame = (): void => {
const { deleteFrame, frameNumber } = this.props;
deleteFrame(frameNumber);
const { deleteFrame, frameNumber, jobInstance } = this.props;
if (jobInstance.type !== JobType.GROUND_TRUTH) deleteFrame(frameNumber);
};
private onRestoreFrame = (): void => {
......@@ -797,6 +797,7 @@ class AnnotationTopBarContainer extends React.PureComponent<Props, State> {
toolsBlockerState={toolsBlockerState}
jobInstance={jobInstance}
activeControl={activeControl}
deleteFrameAvailable={jobInstance.type !== JobType.GROUND_TRUTH}
/>
</>
);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册