提交 cc8ec356 编写于 作者: M Maxim Zhiltsov

Update ui after api changes

上级 990efdc8
......@@ -18,7 +18,7 @@ import {
CuboidDrawingMethod,
Configuration,
Geometry,
HighlightImportance as _HighlightImportance,
HighlightSeverity as _HighlightSeverity,
} from './canvasModel';
import { Master } from './master';
import { CanvasController, CanvasControllerImpl } from './canvasController';
......@@ -35,7 +35,7 @@ interface Canvas {
setupIssueRegions(issueRegions: Record<number, { hidden: boolean; points: number[] }>): void;
setupConflictRegions(clientID: number): number[];
activate(clientID: number | null, attributeID?: number): number[];
highlight(clientIDs: number[] | null, importance: HighlightImportance | null): void;
highlight(clientIDs: number[] | null, severity: HighlightSeverity | null): void;
rotate(rotationAngle: number): void;
focus(clientID: number, padding?: number): void;
fit(): void;
......@@ -115,8 +115,8 @@ class CanvasImpl implements Canvas {
this.model.activate(clientID, attributeID);
}
public highlight(clientIDs: number[] | null, importance: HighlightImportance | null = null): void {
this.model.highlight(clientIDs, importance);
public highlight(clientIDs: number[] | null, severity: HighlightSeverity | null = null): void {
this.model.highlight(clientIDs, severity);
}
public rotate(rotationAngle: number): void {
......@@ -190,7 +190,7 @@ class CanvasImpl implements Canvas {
export type InteractionData = _InteractionData;
export type InteractionResult = _InteractionResult;
export type HighlightImportance = _HighlightImportance;
export type HighlightSeverity = _HighlightSeverity;
export {
CanvasImpl as Canvas, CanvasVersion, RectDrawingMethod, CuboidDrawingMethod, Mode as CanvasMode,
......
......@@ -43,14 +43,14 @@ export interface ActiveElement {
attributeID: number | null;
}
export enum HighlightImportance {
export enum HighlightSeverity {
ERROR = 'error',
WARNING = 'warning',
}
export interface HighlightedElements {
elementsIDs: number [];
importance: HighlightImportance;
severity: HighlightSeverity;
}
export enum RectDrawingMethod {
......@@ -244,7 +244,7 @@ export interface CanvasModel {
setup(frameData: any, objectStates: any[], zLayer: number): void;
setupIssueRegions(issueRegions: Record<number, { hidden: boolean; points: number[] }>): void;
activate(clientID: number | null, attributeID: number | null): void;
highlight(clientIDs: number[] | null, importance: HighlightImportance): void;
highlight(clientIDs: number[] | null, severity: HighlightSeverity): void;
rotate(rotationAngle: number): void;
focus(clientID: number, padding: number): void;
fit(): void;
......@@ -357,7 +357,7 @@ export class CanvasModelImpl extends MasterImpl implements CanvasModel {
},
highlightedElements: {
elementsIDs: [],
importance: null,
severity: null,
},
angle: 0,
canvasSize: {
......@@ -604,7 +604,7 @@ export class CanvasModelImpl extends MasterImpl implements CanvasModel {
this.notify(UpdateReasons.SHAPE_ACTIVATED);
}
public highlight(clientIDs: number[] | null, importance: HighlightImportance | null): void {
public highlight(clientIDs: number[] | null, severity: HighlightSeverity | null): void {
if (this.data.mode !== Mode.IDLE && clientIDs !== null) {
throw Error(`Canvas is busy. Action: ${this.data.mode}`);
}
......@@ -612,12 +612,12 @@ export class CanvasModelImpl extends MasterImpl implements CanvasModel {
if (Array.isArray(clientIDs)) {
this.data.highlightedElements = {
elementsIDs: clientIDs,
importance,
severity,
};
} else {
this.data.highlightedElements = {
elementsIDs: [],
importance: null,
severity: null,
};
}
......
......@@ -60,7 +60,7 @@ import {
InteractionData,
ColorBy,
HighlightedElements,
HighlightImportance,
HighlightSeverity,
} from './canvasModel';
export interface CanvasView {
......@@ -1078,7 +1078,7 @@ export class CanvasViewImpl implements CanvasView, Listener {
};
this.highlightedElements = {
elementsIDs: [],
importance: null,
severity: null,
};
this.configuration = model.configuration;
this.mode = Mode.IDLE;
......@@ -1879,9 +1879,9 @@ export class CanvasViewImpl implements CanvasView, Listener {
}
if (this.highlightedElements.elementsIDs.length) {
if (this.highlightedElements.elementsIDs.includes(state.clientID)) {
if (this.highlightedElements.importance === HighlightImportance.ERROR) {
if (this.highlightedElements.severity === HighlightSeverity.ERROR) {
shapeColor = consts.CONFLICT_COLOR;
} else if (this.highlightedElements.importance === HighlightImportance.WARNING) {
} else if (this.highlightedElements.severity === HighlightSeverity.WARNING) {
shapeColor = consts.WARNING_COLOR;
}
} else {
......@@ -1898,11 +1898,11 @@ export class CanvasViewImpl implements CanvasView, Listener {
}
private getHighlightClassname(): string {
const { importance } = this.highlightedElements;
if (importance === HighlightImportance.ERROR) {
const { severity } = this.highlightedElements;
if (severity === HighlightSeverity.ERROR) {
return 'cvat_canvas_conflicted';
}
if (importance === HighlightImportance.WARNING) {
if (severity === HighlightSeverity.WARNING) {
return 'cvat_canvas_warned';
}
return '';
......@@ -2545,7 +2545,7 @@ export class CanvasViewImpl implements CanvasView, Listener {
} else {
this.highlightedElements = {
elementsIDs: [],
importance: null,
severity: null,
};
this.canvas.classList.remove('cvat-canvas-highlight-enabled');
}
......
......@@ -8,7 +8,7 @@ export enum QualityConflictType {
MISSING = 'missing_annotation',
}
export enum ConflictImportance {
export enum ConflictSeverity {
ERROR = 'error',
WARNING = 'warning',
}
......@@ -19,7 +19,7 @@ export interface RawQualityConflictData {
type?: string;
annotation_ids?: RawAnnotationConflictData[];
data?: string;
importance?: string;
severity?: string;
description?: string;
}
......@@ -29,7 +29,7 @@ export interface RawAnnotationConflictData {
client_id?: number;
type?: string;
conflict_type?: string;
importance?: string;
severity?: string;
}
export class AnnotationConflict {
......@@ -38,7 +38,7 @@ export class AnnotationConflict {
public clientID: number;
public readonly type: string;
public readonly conflictType: QualityConflictType;
public readonly importance: ConflictImportance;
public readonly severity: ConflictSeverity;
public readonly description: string;
constructor(initialData: RawAnnotationConflictData) {
......@@ -48,7 +48,7 @@ export class AnnotationConflict {
client_id: undefined,
type: undefined,
conflict_type: undefined,
importance: undefined,
severity: undefined,
};
for (const property in data) {
......@@ -78,8 +78,8 @@ export class AnnotationConflict {
conflictType: {
get: () => data.conflict_type,
},
importance: {
get: () => data.importance,
severity: {
get: () => data.severity,
},
description: {
get: () => {
......@@ -97,7 +97,7 @@ export default class QualityConflict {
public readonly frame: number;
public readonly type: QualityConflictType;
public readonly annotationConflicts: AnnotationConflict[];
public readonly importance: ConflictImportance;
public readonly severity: ConflictSeverity;
public description: string;
constructor(initialData: RawQualityConflictData) {
......@@ -106,7 +106,7 @@ export default class QualityConflict {
frame: undefined,
type: undefined,
annotation_ids: [],
importance: undefined,
severity: undefined,
description: undefined,
};
......@@ -120,7 +120,7 @@ export default class QualityConflict {
.map((rawData: RawAnnotationConflictData) => new AnnotationConflict({
...rawData,
conflict_type: data.type,
importance: data.importance,
severity: data.severity,
}));
const desc = data.type.split('_').join(' ');
......@@ -141,8 +141,8 @@ export default class QualityConflict {
annotationConflicts: {
get: () => data.annotation_ids,
},
importance: {
get: () => data.importance,
severity: {
get: () => data.severity,
},
description: {
get: () => data.description,
......
......@@ -12,7 +12,7 @@ export interface RawQualityReportData {
gt_last_updated?: string;
summary?: {
frame_count: number,
frame_share_percent: number,
frame_share: number,
conflict_count: number,
valid_count: number,
ds_count: number,
......@@ -111,7 +111,7 @@ export default class QualityReport {
summary: {
get: () => ({
frameCount: data.summary.frame_count,
frameSharePercent: data.summary.frame_share_percent,
frameSharePercent: data.summary.frame_share * 100,
conflictCount: data.summary.conflict_count,
validCount: data.summary.valid_count,
dsCount: data.summary.ds_count,
......
......@@ -12,7 +12,7 @@ export interface RawQualitySettingsData {
oks_sigma?: number;
line_thickness?: number;
low_overlap_threshold?: number;
oriented_lines?: boolean;
compare_line_orientation?: boolean;
line_orientation_threshold?: number;
compare_groups?: boolean;
group_match_threshold?: number;
......@@ -46,7 +46,7 @@ export default class QualitySettings {
oks_sigma: undefined,
line_thickness: undefined,
low_overlap_threshold: undefined,
oriented_lines: undefined,
compare_line_orientation: undefined,
line_orientation_threshold: undefined,
compare_groups: undefined,
group_match_threshold: undefined,
......@@ -96,9 +96,9 @@ export default class QualitySettings {
},
},
orientedLines: {
get: () => data.oriented_lines,
get: () => data.compare_line_orientation,
set: (value: boolean) => {
data.oriented_lines = value;
data.compare_line_orientation = value;
},
},
lineOrientationThreshold: {
......@@ -153,7 +153,7 @@ export default class QualitySettings {
oks_sigma: this.oksSigma,
line_thickness: this.lineThickness,
low_overlap_threshold: this.lowOverlapThreshold,
oriented_lines: this.orientedLines,
compare_line_orientation: this.orientedLines,
line_orientation_threshold: this.lineOrientationThreshold,
compare_groups: this.compareGroups,
group_match_threshold: this.groupMatchThreshold,
......
......@@ -15,7 +15,7 @@ import {
ColorBy, GridColor, ObjectType, ContextMenuType, Workspace, ShapeType, ActiveControl, CombinedState,
} from 'reducers';
import { LogType } from 'cvat-logger';
import { Canvas, HighlightImportance } from 'cvat-canvas-wrapper';
import { Canvas, HighlightSeverity } from 'cvat-canvas-wrapper';
import { Canvas3d } from 'cvat-canvas3d-wrapper';
import {
AnnotationConflict, QualityConflict, getCore,
......@@ -492,12 +492,12 @@ class CanvasWrapperComponent extends React.PureComponent<Props> {
}
if (prevProps.highlightedConflict !== highlightedConflict) {
const importance: HighlightImportance | null =
highlightedConflict?.importance ? (highlightedConflict?.importance as any) : null;
const severity: HighlightSeverity | null =
highlightedConflict?.severity ? (highlightedConflict?.severity as any) : null;
const highlightedElementsIDs = highlightedConflict?.annotationConflicts.map(
(conflict: AnnotationConflict) => conflict.clientID,
);
canvasInstance.highlight(highlightedElementsIDs || null, importance);
canvasInstance.highlight(highlightedElementsIDs || null, severity);
}
if (gridSize !== prevProps.gridSize) {
......
......@@ -8,7 +8,7 @@ import Tag from 'antd/lib/tag';
import Icon from '@ant-design/icons';
import CVATTooltip from 'components/common/cvat-tooltip';
import { ConflictIcon } from 'icons';
import { ConflictImportance, QualityConflict } from 'cvat-core-wrapper';
import { ConflictSeverity, QualityConflict } from 'cvat-core-wrapper';
interface Props {
top: number;
......@@ -17,7 +17,7 @@ interface Props {
scale: number;
text: string;
darken: boolean;
importance: ConflictImportance;
severity: ConflictSeverity;
conflict: QualityConflict;
tooltipVisible: boolean;
onEnter: (conflict: QualityConflict) => void;
......@@ -26,10 +26,10 @@ interface Props {
export default function ConflictLabel(props: Props): ReactPortal {
const {
top, left, angle, scale, text, importance, darken, conflict, onEnter, onLeave, tooltipVisible,
top, left, angle, scale, text, severity, darken, conflict, onEnter, onLeave, tooltipVisible,
} = props;
const conflictColor = importance === ConflictImportance.ERROR ? 'cvat-conflict-error' : 'cvat-conflict-warning';
const conflictColor = severity === ConflictSeverity.ERROR ? 'cvat-conflict-error' : 'cvat-conflict-warning';
const darkenColor = darken ? 'cvat-conflict-darken' : '';
return ReactDOM.createPortal(
......
......@@ -71,7 +71,7 @@ export default function ConflictAggregatorComponent(): JSX.Element | null {
if (points) {
return {
description: conflict.description,
importance: conflict.importance,
severity: conflict.severity,
x: points[0],
y: points[1],
clientID: c.clientID,
......@@ -100,7 +100,7 @@ export default function ConflictAggregatorComponent(): JSX.Element | null {
left={conflict.x}
angle={-geometry.angle}
scale={1 / geometry.scale}
importance={conflict.importance}
severity={conflict.severity}
darken={!!highlightedConflict && !!highlightedObjectsIDs &&
(!highlightedObjectsIDs.includes(conflict.clientID))}
conflict={conflict.conflict}
......
......@@ -18,7 +18,7 @@ import CVATTooltip from 'components/common/cvat-tooltip';
import { CombinedState, Workspace } from 'reducers';
import moment from 'moment';
import Paragraph from 'antd/lib/typography/Paragraph';
import { ConflictImportance, QualityConflict } from 'cvat-core-wrapper';
import { ConflictSeverity, QualityConflict } from 'cvat-core-wrapper';
import { changeShowGroundTruth } from 'actions/settings-actions';
import { ShowGroundTruthIcon } from 'icons';
......@@ -174,7 +174,7 @@ export default function LabelsListComponent(): JSX.Element {
key={frameConflict.id}
id={`cvat-objects-sidebar-conflict-item-${frameConflict.id}`}
className={
`${frameConflict.importance === ConflictImportance.WARNING ?
`${frameConflict.severity === ConflictSeverity.WARNING ?
'cvat-objects-sidebar-warning-item' : 'cvat-objects-sidebar-conflict-item'}
${frameConflict.id === highlightedConflict?.id ? 'cvat-objects-sidebar-item-active' : ''} `
}
......@@ -187,7 +187,7 @@ export default function LabelsListComponent(): JSX.Element {
>
<Row>
<Text strong>
{`#${frameConflict.id}${frameConflict.importance === ConflictImportance.WARNING ?
{`#${frameConflict.id}${frameConflict.severity === ConflictSeverity.WARNING ?
'Warning' : 'Conflict'}`}
</Text>
</Row>
......
......@@ -34,7 +34,7 @@ interface JobDataMutual {
}
export interface JobData extends JobDataMutual {
count: number,
frame_count: number,
}
export interface JobFormData extends JobDataMutual {
......@@ -64,7 +64,7 @@ function JobForm(props: Props): JSX.Element {
frame_selection_method: values.frame_selection_method,
type: values.type,
seed: values.seed,
count: values.frame_count,
frame_count: values.frame_count,
task_id: task.id,
};
const createdJob = await dispatch(createJobAsync(data));
......
......@@ -10,7 +10,7 @@ import {
CuboidDrawingMethod,
InteractionData as _InteractionData,
InteractionResult as _InteractionResult,
HighlightImportance as _HighlightImportance,
HighlightSeverity as _HighlightSeverity,
} from 'cvat-canvas/src/typescript/canvas';
export function convertShapesForInteractor(shapes: InteractionResult[], button: number): number[][] {
......@@ -31,7 +31,7 @@ export function convertShapesForInteractor(shapes: InteractionResult[], button:
export type InteractionData = _InteractionData;
export type InteractionResult = _InteractionResult;
export type HighlightImportance = _HighlightImportance;
export type HighlightSeverity = _HighlightSeverity;
export {
Canvas, CanvasMode, CanvasVersion, RectDrawingMethod, CuboidDrawingMethod,
......
......@@ -15,7 +15,7 @@ import { SerializedAttribute, SerializedLabel } from 'cvat-core/src/server-respo
import { Job, Task } from 'cvat-core/src/session';
import Project from 'cvat-core/src/project';
import QualityReport, { QualitySummary } from 'cvat-core/src/quality-report';
import QualityConflict, { AnnotationConflict, ConflictImportance } from 'cvat-core/src/quality-conflict';
import QualityConflict, { AnnotationConflict, ConflictSeverity } from 'cvat-core/src/quality-conflict';
import QualitySettings from 'cvat-core/src/quality-settings';
import {
ShapeType, LabelType, ModelKind, ModelProviders, ModelReturnType, DimensionType, JobType,
......@@ -71,7 +71,7 @@ export {
QualityConflict,
QualitySettings,
AnnotationConflict,
ConflictImportance,
ConflictSeverity,
};
export type {
......
......@@ -7,7 +7,7 @@ import { AnnotationActionTypes } from 'actions/annotation-actions';
import { ReviewActionTypes } from 'actions/review-actions';
import { AuthActionTypes } from 'actions/auth-actions';
import {
AnnotationConflict, ConflictImportance, ObjectState, QualityConflict,
AnnotationConflict, ConflictSeverity, ObjectState, QualityConflict,
} from 'cvat-core-wrapper';
import { ReviewState } from '.';
......@@ -117,7 +117,7 @@ export default function (state: ReviewState = defaultState, action: any): Review
mergedFrameConflicts.push(conflicts[0]);
} else {
const mainConflict = conflicts
.find((conflict) => conflict.importance === ConflictImportance.ERROR) || conflicts[0];
.find((conflict) => conflict.severity === ConflictSeverity.ERROR) || conflicts[0];
const activeIDs = mainConflict.annotationConflicts.map((conflict) => conflict.clientID);
const descriptionList: string[] = [];
conflicts.forEach((conflict) => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册