diff --git a/.github/workflows/full.yml b/.github/workflows/full.yml
index e0917eae..58a8a39d 100644
--- a/.github/workflows/full.yml
+++ b/.github/workflows/full.yml
@@ -286,7 +286,7 @@ jobs:
specs: ['actions_tasks', 'actions_tasks2', 'actions_tasks3',
'actions_objects', 'actions_objects2', 'actions_users',
'actions_projects_models', 'actions_organizations', 'canvas3d_functionality',
- 'canvas3d_functionality_2', 'issues_prs', 'issues_prs2']
+ 'canvas3d_functionality_2', 'issues_prs', 'issues_prs2', 'masks', 'skeletons']
steps:
- uses: actions/checkout@v3
with:
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index a53f41f3..5f96bd6b 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -252,7 +252,7 @@ jobs:
specs: ['actions_tasks', 'actions_tasks2', 'actions_tasks3',
'actions_objects', 'actions_objects2', 'actions_users',
'actions_projects_models', 'actions_organizations', 'canvas3d_functionality',
- 'canvas3d_functionality_2', 'issues_prs', 'issues_prs2']
+ 'canvas3d_functionality_2', 'issues_prs', 'issues_prs2', 'masks', 'skeletons']
steps:
- uses: actions/checkout@v3
diff --git a/.github/workflows/schedule.yml b/.github/workflows/schedule.yml
index 058827fe..5f007491 100644
--- a/.github/workflows/schedule.yml
+++ b/.github/workflows/schedule.yml
@@ -274,7 +274,7 @@ jobs:
specs: ['actions_tasks', 'actions_tasks2', 'actions_tasks3',
'actions_objects', 'actions_objects2', 'actions_users',
'actions_projects_models', 'actions_organizations', 'canvas3d_functionality',
- 'canvas3d_functionality_2', 'issues_prs', 'issues_prs2']
+ 'canvas3d_functionality_2', 'issues_prs', 'issues_prs2', 'masks', 'skeletons']
steps:
- uses: actions/checkout@v3
diff --git a/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-mask-control.tsx b/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-mask-control.tsx
index 1fba8150..ff2a8190 100644
--- a/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-mask-control.tsx
+++ b/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-mask-control.tsx
@@ -8,8 +8,9 @@ import Icon from '@ant-design/icons';
import { Canvas } from 'cvat-canvas-wrapper';
import { BrushIcon } from 'icons';
+import { ShapeType } from 'reducers';
-import DrawShapePopoverContainer from 'containers/annotation-page/standard-workspace/controls-side-bar/draw-mask-popover';
+import DrawShapePopoverContainer from 'containers/annotation-page/standard-workspace/controls-side-bar/draw-shape-popover';
import withVisibilityHandling from './handle-popover-visibility';
export interface Props {
@@ -43,7 +44,7 @@ function DrawPointsControl(props: Props): JSX.Element {
{...dynamicPopoverProps}
overlayClassName='cvat-draw-shape-popover'
placement='right'
- content={}
+ content={}
>
diff --git a/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-mask-popover.tsx b/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-mask-popover.tsx
deleted file mode 100644
index 504f236f..00000000
--- a/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-mask-popover.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (C) 2022 CVAT.ai Corporation
-//
-// SPDX-License-Identifier: MIT
-
-import React from 'react';
-import { Row, Col } from 'antd/lib/grid';
-import Button from 'antd/lib/button';
-import Text from 'antd/lib/typography/Text';
-
-import LabelSelector from 'components/label-selector/label-selector';
-import CVATTooltip from 'components/common/cvat-tooltip';
-
-interface Props {
- labels: any[];
- selectedLabelID: number;
- repeatShapeShortcut: string;
- onChangeLabel(value: string): void;
- onDraw(labelID: number): void;
-}
-
-function DrawMaskPopover(props: Props): JSX.Element {
- const {
- labels, selectedLabelID, repeatShapeShortcut, onChangeLabel, onDraw,
- } = props;
-
- return (
-
-
-
-
- Draw new mask
-
-
-
-
-
- Label
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default React.memo(DrawMaskPopover);
diff --git a/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-shape-popover.tsx b/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-shape-popover.tsx
index 274f4012..5677cc3d 100644
--- a/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-shape-popover.tsx
+++ b/cvat-ui/src/components/annotation-page/standard-workspace/controls-side-bar/draw-shape-popover.tsx
@@ -1,4 +1,5 @@
// Copyright (C) 2020-2022 Intel Corporation
+// Copyright (C) 2022 CVAT.ai Corporation
//
// SPDX-License-Identifier: MIT
@@ -14,7 +15,7 @@ import { DimensionType, ShapeType } from 'reducers';
import { clamp } from 'utils/math';
import LabelSelector from 'components/label-selector/label-selector';
import CVATTooltip from 'components/common/cvat-tooltip';
-import { Label } from 'components/labels-editor/common';
+import { Label } from 'cvat-core-wrapper';
interface Props {
shapeType: ShapeType;
@@ -154,7 +155,7 @@ function DrawShapePopoverComponent(props: Props): JSX.Element {
- {is2D && (
+ {is2D && shapeType !== ShapeType.MASK && (
diff --git a/cvat-ui/src/containers/annotation-page/standard-workspace/controls-side-bar/draw-mask-popover.tsx b/cvat-ui/src/containers/annotation-page/standard-workspace/controls-side-bar/draw-mask-popover.tsx
deleted file mode 100644
index 5f15588c..00000000
--- a/cvat-ui/src/containers/annotation-page/standard-workspace/controls-side-bar/draw-mask-popover.tsx
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright (C) 2022 CVAT.ai Corporation
-//
-// SPDX-License-Identifier: MIT
-
-import React from 'react';
-import { connect } from 'react-redux';
-
-import DrawMaskPopoverComponent from 'components/annotation-page/standard-workspace/controls-side-bar/draw-mask-popover';
-import { rememberObject } from 'actions/annotation-actions';
-import { CombinedState, ShapeType, ObjectType } from 'reducers';
-import { Canvas } from 'cvat-canvas-wrapper';
-
-interface DispatchToProps {
- onDrawStart(
- shapeType: ShapeType,
- labelID: number,
- objectType: ObjectType,
- ): void;
-}
-
-interface StateToProps {
- normalizedKeyMap: Record;
- canvasInstance: Canvas;
- labels: any[];
-}
-
-function mapDispatchToProps(dispatch: any): DispatchToProps {
- return {
- onDrawStart(
- shapeType: ShapeType,
- labelID: number,
- objectType: ObjectType,
- ): void {
- dispatch(
- rememberObject({
- activeObjectType: objectType,
- activeShapeType: shapeType,
- activeLabelID: labelID,
- }),
- );
- },
- };
-}
-
-function mapStateToProps(state: CombinedState): StateToProps {
- const {
- annotation: {
- canvas: { instance: canvasInstance },
- job: { labels },
- },
- shortcuts: { normalizedKeyMap },
- } = state;
-
- return {
- canvasInstance: canvasInstance as Canvas,
- normalizedKeyMap,
- labels,
- };
-}
-
-type Props = StateToProps & DispatchToProps;
-
-interface State {
- selectedLabelID: number;
-}
-
-class DrawShapePopoverContainer extends React.PureComponent {
- constructor(props: Props) {
- super(props);
- const defaultLabelID = props.labels.length ? props.labels[0].id : null;
- this.state = { selectedLabelID: defaultLabelID };
- }
-
- private onDraw = (): void => {
- const { canvasInstance, onDrawStart } = this.props;
- const { selectedLabelID } = this.state;
-
- canvasInstance.cancel();
- canvasInstance.draw({
- enabled: true,
- shapeType: ShapeType.MASK,
- crosshair: false,
- });
-
- onDrawStart(ShapeType.MASK, selectedLabelID, ObjectType.SHAPE);
- };
-
- private onChangeLabel = (value: any): void => {
- this.setState({ selectedLabelID: value.id });
- };
-
- public render(): JSX.Element {
- const { selectedLabelID } = this.state;
- const { normalizedKeyMap, labels } = this.props;
-
- return (
-
- );
- }
-}
-
-export default connect(mapStateToProps, mapDispatchToProps)(DrawShapePopoverContainer);
diff --git a/tests/cypress.json b/tests/cypress.json
index 93cb1bcc..e7f43a6f 100644
--- a/tests/cypress.json
+++ b/tests/cypress.json
@@ -12,7 +12,7 @@
},
"testFiles": [
"auth_page.js",
- "skeletons_pipeline.js",
+ "skeletons/*.js",
"webhooks.js",
"masks/*.js",
"actions_tasks/**/*.js",
diff --git a/tests/cypress/integration/skeletons_pipeline.js b/tests/cypress/integration/skeletons/skeletons_pipeline.js
similarity index 100%
rename from tests/cypress/integration/skeletons_pipeline.js
rename to tests/cypress/integration/skeletons/skeletons_pipeline.js