Skip to content
This repository has been archived by the owner on Apr 18, 2024. It is now read-only.

Multiple regions selection interactions #240

Merged
merged 38 commits into from
Sep 9, 2021
Merged
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
90d82f5
[ext] Add multiple regions selection
Gondragos Aug 18, 2021
4d26cb2
Merge remote-tracking branch 'origin/master' into feature/multiselection
Gondragos Aug 18, 2021
39f2b78
Commit missed files
Gondragos Aug 18, 2021
647ec78
Fix setting layer ref
Gondragos Aug 19, 2021
b3ff11e
Hide selection borders while one region chosen
Gondragos Aug 19, 2021
f9f36c2
Fix selecting labels on region selecting and make selection tool opti…
Gondragos Aug 19, 2021
28df090
Fix cyclic calculations in brush drawing
Gondragos Aug 23, 2021
73ae855
[ext] Add transform interactions of multiple regions
Gondragos Aug 27, 2021
ea7a0d6
Fix regions drawing
Gondragos Aug 27, 2021
95054d4
[ext] Add copy, paste and cut regions hotkey interactions
Gondragos Aug 27, 2021
93b7c68
Fix pasting with no focus element
Gondragos Aug 27, 2021
e61cd96
[ext] Addduplicate selected regions hotkey interactions
Gondragos Aug 27, 2021
61af809
Fix test. Visible shapes counting
Gondragos Aug 27, 2021
76ab9dd
Fix rle2region label hiding
Gondragos Aug 27, 2021
48ebfd7
Fix code in tests
Gondragos Aug 27, 2021
9279f05
Fix counting visible image regions
Gondragos Aug 27, 2021
c8f8989
Merge branch 'master' into feature/multiselection
Gondragos Aug 27, 2021
4462f98
Allow select regions by selection tool with ctrl+click
Gondragos Aug 27, 2021
f4c1f8f
Update backspace hotkey action
Gondragos Aug 31, 2021
f7612ec
Add highlighting for selected shapes
Gondragos Aug 31, 2021
74d6b00
[ext] make transformer working for polygons and keypoints
Gondragos Sep 3, 2021
a67cf83
Add calculating bboxes inside mst models for image regions
Gondragos Sep 6, 2021
ea83a0f
Subscribe labelOnRegion to bboxCoords field
Gondragos Sep 6, 2021
82e38da
Improve brush regions caching and fix drawing
Gondragos Sep 7, 2021
6bdc810
Merge branch 'fix/brushes' into feature/multiselection
Gondragos Sep 7, 2021
d528954
Merge branch 'master' into feature/multiselection
Gondragos Sep 7, 2021
4d917c5
fix Region2RLE function
Gondragos Sep 7, 2021
b257e17
allow ctrl+click selection for polygons and inside selection
Gondragos Sep 7, 2021
56488d8
fix brush highlight toggle off
Gondragos Sep 7, 2021
60b5e80
fix Region2RLE function
Gondragos Sep 7, 2021
9446db7
fix brush highlight toggle off
Gondragos Sep 7, 2021
93166a7
Merge branch 'master' into fix/brushes
Gondragos Sep 8, 2021
39ba9cb
fix page crashing on switching tasks with polygons
Gondragos Sep 8, 2021
8ce4235
fix brush drawing glitch v2
Gondragos Sep 8, 2021
f5aaf13
Merge branch 'fix/brushes' into feature/multiselection
Gondragos Sep 8, 2021
c0ace7f
fix bboxCoords for rotated shapes
Gondragos Sep 9, 2021
c20ce89
fix creating relation to brush region
Gondragos Sep 9, 2021
6bbcaf4
Fix multiselection moving by dragging polygon region
Gondragos Sep 9, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'master' into feature/multiselection
# Conflicts:
#	src/components/CurrentEntity/CurrentEntity.js
#	yarn.lock
Gondragos committed Aug 27, 2021
commit c8f898955a4ca27e4df6347a8e4d45203d503a49
6 changes: 3 additions & 3 deletions src/components/CurrentEntity/CurrentEntity.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { inject, observer } from "mobx-react";
import React, { useEffect } from "react";
import { LsSettings, LsTrash } from "../../assets/icons";
import { IconInfo, LsSettings, LsTrash } from "../../assets/icons";
import { Button } from "../../common/Button/Button";
import { confirm } from "../../common/Modal/Modal";
import { Space } from "../../common/Space/Space";
@@ -48,7 +48,7 @@ export const CurrentEntity = injector(observer(({
return;
}
};

const copyHandler = (ev) =>{
const selection = window.getSelection();

@@ -70,7 +70,7 @@ export const CurrentEntity = injector(observer(({

copyToClipboard(ev);
entity.deleteSelectedRegions();

console.log("Window event: cutHandler", ev);
};

2 changes: 1 addition & 1 deletion src/mixins/HighlightMixin.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { types, getRoot } from "mobx-state-tree";
import { getRoot, types } from "mobx-state-tree";

import Utils from "../utils";
import { guidGenerator } from "../utils/unique";
2 changes: 1 addition & 1 deletion src/regions/AudioRegion.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { types, getRoot } from "mobx-state-tree";
import { getRoot, types } from "mobx-state-tree";

import WithStatesMixin from "../mixins/WithStates";
import Constants from "../core/Constants";
4 changes: 2 additions & 2 deletions src/regions/BrushRegion.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React, { useCallback, useMemo, useRef, useState } from "react";
import { Group, Layer, Image, Shape } from "react-konva";
import { Group, Image, Layer, Shape } from "react-konva";
import { observer } from "mobx-react";
import { types, getParent, getRoot, cast, isAlive } from "mobx-state-tree";
import { cast, getParent, getRoot, isAlive, types } from "mobx-state-tree";

import Canvas from "../utils/canvas";
import NormalizationMixin from "../mixins/Normalization";
4 changes: 2 additions & 2 deletions src/regions/EllipseRegion.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { Fragment } from "react";
import { Ellipse } from "react-konva";
import { types, getRoot } from "mobx-state-tree";
import { getRoot, types } from "mobx-state-tree";
import WithStatesMixin from "../mixins/WithStates";
import Constants from "../core/Constants";
import DisabledMixin from "../mixins/Normalization";
@@ -11,7 +11,7 @@ import { ImageModel } from "../tags/object/Image";
import { guidGenerator } from "../core/Helpers";
import { LabelOnEllipse } from "../components/ImageView/LabelOnRegion";
import { AreaMixin } from "../mixins/AreaMixin";
import { getBoundingBoxAfterChanges, fixRectToFit } from "../utils/image";
import { fixRectToFit, getBoundingBoxAfterChanges } from "../utils/image";
import { useRegionColors } from "../hooks/useRegionColor";
import { AliveRegion } from "./AliveRegion";
import { KonvaRegionMixin } from "../mixins/KonvaRegion";
2 changes: 1 addition & 1 deletion src/regions/KeyPointRegion.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { Fragment } from "react";
import { Circle } from "react-konva";
import { types, getRoot } from "mobx-state-tree";
import { getRoot, types } from "mobx-state-tree";

import WithStatesMixin from "../mixins/WithStates";
import NormalizationMixin from "../mixins/Normalization";
4 changes: 2 additions & 2 deletions src/regions/RectRegion.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { Fragment } from "react";
import { Rect } from "react-konva";
import { types, getRoot } from "mobx-state-tree";
import { getRoot, types } from "mobx-state-tree";

import Constants from "../core/Constants";
import DisabledMixin from "../mixins/Normalization";
@@ -12,7 +12,7 @@ import { ImageModel } from "../tags/object/Image";
import { LabelOnRect } from "../components/ImageView/LabelOnRegion";
import { guidGenerator } from "../core/Helpers";
import { AreaMixin } from "../mixins/AreaMixin";
import { getBoundingBoxAfterChanges, fixRectToFit } from "../utils/image";
import { fixRectToFit, getBoundingBoxAfterChanges } from "../utils/image";
import { useRegionColors } from "../hooks/useRegionColor";
import { AliveRegion } from "./AliveRegion";
import { KonvaRegionMixin } from "../mixins/KonvaRegion";
2 changes: 1 addition & 1 deletion src/regions/Result.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { types, getParent, getRoot, getSnapshot } from "mobx-state-tree";
import { getParent, getRoot, getSnapshot, types } from "mobx-state-tree";
import { guidGenerator } from "../core/Helpers";
import Registry from "../core/Registry";
import { AnnotationMixin } from "../mixins/AnnotationMixin";
2 changes: 1 addition & 1 deletion src/stores/RelationStore.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { types, destroy, getParentOfType, getRoot, isValidReference } from "mobx-state-tree";
import { destroy, getParentOfType, getRoot, isValidReference, types } from "mobx-state-tree";

import { cloneNode, guidGenerator } from "../core/Helpers";
import { RelationsModel } from "../tags/control/Relations";
4 changes: 2 additions & 2 deletions src/tags/control/Choice.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { Component } from "react";
import { Checkbox, Radio, Form } from "antd";
import { observer, inject } from "mobx-react";
import { Checkbox, Form, Radio } from "antd";
import { inject, observer } from "mobx-react";
import { types } from "mobx-state-tree";

import Hint from "../../components/Hint/Hint";
2 changes: 1 addition & 1 deletion src/tags/control/Label.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import ColorScheme from "pleasejs";
import React from "react";
import { types } from "mobx-state-tree";
import { observer, inject } from "mobx-react";
import { inject, observer } from "mobx-react";

import ProcessAttrsMixin from "../../mixins/ProcessAttrs";
import Registry from "../../core/Registry";
2 changes: 1 addition & 1 deletion src/tags/control/List.js
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ import React from "react";
import arrayMove from "array-move";
import { List } from "antd";
import { SortableContainer, SortableElement, sortableHandle } from "react-sortable-hoc";
import { observer, inject } from "mobx-react";
import { inject, observer } from "mobx-react";
import { types } from "mobx-state-tree";

import Registry from "../../core/Registry";
2 changes: 1 addition & 1 deletion src/tags/control/Number.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from "react";
import { observer, inject } from "mobx-react";
import { inject, observer } from "mobx-react";
import { types } from "mobx-state-tree";

import InfoModal from "../../components/Infomodal/Infomodal";
2 changes: 1 addition & 1 deletion src/tags/control/Ranker.js
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ import React from "react";
import arrayMove from "array-move";
import { List } from "antd";
import { SortableContainer, SortableElement, sortableHandle } from "react-sortable-hoc";
import { observer, inject } from "mobx-react";
import { inject, observer } from "mobx-react";
import { types } from "mobx-state-tree";

import Registry from "../../core/Registry";
2 changes: 1 addition & 1 deletion src/tags/control/Rating.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from "react";
import { Rate } from "antd";
import { observer, inject } from "mobx-react";
import { inject, observer } from "mobx-react";
import { types } from "mobx-state-tree";
import { StarOutlined } from "@ant-design/icons";

4 changes: 2 additions & 2 deletions src/tags/control/Shortcut.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";
import { Tag } from "antd";
import { observer, inject } from "mobx-react";
import { types, getParent } from "mobx-state-tree";
import { inject, observer } from "mobx-react";
import { getParent, types } from "mobx-state-tree";

import Hint from "../../components/Hint/Hint";
import ProcessAttrsMixin from "../../mixins/ProcessAttrs";
4 changes: 2 additions & 2 deletions src/tags/control/TextArea/TextArea.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import React, { forwardRef, useCallback, useEffect, useRef } from "react";
import { Form, Input, Button } from "antd";
import { Button, Form, Input } from "antd";
import { DeleteOutlined } from "@ant-design/icons";
import { observer } from "mobx-react";
import { types, destroy, isAlive } from "mobx-state-tree";
import { destroy, isAlive, types } from "mobx-state-tree";

import ProcessAttrsMixin from "../../../mixins/ProcessAttrs";
import RequiredMixin from "../../../mixins/Required";
2 changes: 1 addition & 1 deletion src/tags/object/Audio.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from "react";
import { observer, inject } from "mobx-react";
import { inject, observer } from "mobx-react";
import { types } from "mobx-state-tree";

import AudioControls from "./Audio/Controls";
4 changes: 2 additions & 2 deletions src/tags/object/AudioPlus.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { Fragment } from "react";
import { observer, inject } from "mobx-react";
import { types, getRoot, getType } from "mobx-state-tree";
import { inject, observer } from "mobx-react";
import { getRoot, getType, types } from "mobx-state-tree";

import AudioControls from "./Audio/Controls";
import ObjectTag from "../../components/Tags/Object";
6 changes: 3 additions & 3 deletions src/tags/object/HyperText.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import * as xpath from "xpath-range";
import React, { Component } from "react";
import { observer, inject } from "mobx-react";
import { types, getType } from "mobx-state-tree";
import { inject, observer } from "mobx-react";
import { getType, types } from "mobx-state-tree";

import Utils from "../../utils";
import ObjectBase from "./Base";
import ObjectTag from "../../components/Tags/Object";
import RegionsMixin from "../../mixins/Regions";
import Registry from "../../core/Registry";
import { HyperTextRegionModel } from "../../regions/HyperTextRegion";
import { restoreNewsnapshot, guidGenerator } from "../../core/Helpers";
import { guidGenerator, restoreNewsnapshot } from "../../core/Helpers";
import { splitBoundaries } from "../../utils/html";
import { parseValue } from "../../utils/data";
import { customTypes } from "../../core/CustomTypes";
2 changes: 1 addition & 1 deletion src/tags/object/Image.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { types, getType, getRoot, destroy, getParent } from "mobx-state-tree";
import { destroy, getParent, getRoot, getType, types } from "mobx-state-tree";
import { inject } from "mobx-react";

import * as Tools from "../../tools";
6 changes: 3 additions & 3 deletions src/tags/object/Paragraphs.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { Component } from "react";
import { observer, inject } from "mobx-react";
import { types, getRoot } from "mobx-state-tree";
import { inject, observer } from "mobx-react";
import { getRoot, types } from "mobx-state-tree";
import ColorScheme from "pleasejs";
import { Button } from "antd";
import { PauseCircleOutlined, PlayCircleOutlined } from "@ant-design/icons";
@@ -12,7 +12,7 @@ import Registry from "../../core/Registry";
import Utils from "../../utils";
import { ParagraphsRegionModel } from "../../regions/ParagraphsRegion";
import { restoreNewsnapshot } from "../../core/Helpers";
import { splitBoundaries, findNodeAt, matchesSelector } from "../../utils/html";
import { findNodeAt, matchesSelector, splitBoundaries } from "../../utils/html";
import { parseValue } from "../../utils/data";
import messages from "../../utils/messages";
import styles from "./Paragraphs/Paragraphs.module.scss";
2 changes: 1 addition & 1 deletion src/tags/object/RichText/model.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from "react";
import { types, getType, flow } from "mobx-state-tree";
import { flow, getType, types } from "mobx-state-tree";
import { observe } from "mobx";

import { customTypes } from "../../../core/CustomTypes";
2 changes: 1 addition & 1 deletion src/tags/object/Text.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as xpath from "xpath-range";
import React, { Component } from "react";
import { observer, inject } from "mobx-react";
import { inject, observer } from "mobx-react";
import { types } from "mobx-state-tree";

import ObjectBase from "./Base";
12 changes: 6 additions & 6 deletions src/tags/object/TimeSeries.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";
import * as d3 from "d3";
import { observer, inject } from "mobx-react";
import { types, getRoot, getType } from "mobx-state-tree";
import { inject, observer } from "mobx-react";
import { getRoot, getType, types } from "mobx-state-tree";
import throttle from "lodash.throttle";
import { Spin } from "antd";

@@ -13,12 +13,12 @@ import Types from "../../core/Types";
import { restoreNewsnapshot } from "../../core/Helpers";
import {
checkD3EventLoop,
idFromValue,
getRegionColor,
fixMobxObserve,
formatTrackerTime,
sparseValues,
getOptimalWidth
getOptimalWidth,
getRegionColor,
idFromValue,
sparseValues
} from "./TimeSeries/helpers";
import { parseCSV, tryToParseJSON } from "../../utils/data";
import messages from "../../utils/messages";
4 changes: 2 additions & 2 deletions src/tags/object/TimeSeries/Channel.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import React from "react";
import { observer } from "mobx-react";
import { types, getRoot } from "mobx-state-tree";
import { getRoot, types } from "mobx-state-tree";

import * as d3 from "d3";
import ObjectBase from "../Base";
import Registry from "../../../core/Registry";
import Types from "../../../core/Types";
import { cloneNode, guidGenerator } from "../../../core/Helpers";
import { getOptimalWidth, getRegionColor, fixMobxObserve, sparseValues, checkD3EventLoop } from "./helpers";
import { checkD3EventLoop, fixMobxObserve, getOptimalWidth, getRegionColor, sparseValues } from "./helpers";
import { errorBuilder } from "../../../core/DataValidator/ConfigValidator";
import { TagParentMixin } from "../../../mixins/TagParentMixin";

4 changes: 2 additions & 2 deletions src/tags/visual/Table.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";
import { Table } from "antd";
import { observer, inject } from "mobx-react";
import { types, getRoot } from "mobx-state-tree";
import { inject, observer } from "mobx-react";
import { getRoot, types } from "mobx-state-tree";

import Registry from "../../core/Registry";

Loading
You are viewing a condensed version of this merge commit. You can view the full changes here.