diff --git a/web/libs/editor/src/mixins/Regions.js b/web/libs/editor/src/mixins/Regions.js index 7dfe50517530..ad9f20da5083 100644 --- a/web/libs/editor/src/mixins/Regions.js +++ b/web/libs/editor/src/mixins/Regions.js @@ -283,10 +283,14 @@ const RegionsMixin = types e && e.stopPropagation(); }, - notifyDrawingFinished({ destroy = false } = {}) { + updateOriginOnEdit() { if (self.origin === "prediction") { self.origin = "prediction-changed"; } + }, + + notifyDrawingFinished({ destroy = false } = {}) { + self.updateOriginOnEdit(); // everything below is related to dynamic preannotations if (!self.shouldNotifyDrawingFinished) return; diff --git a/web/libs/editor/src/tags/control/ClassificationBase.js b/web/libs/editor/src/tags/control/ClassificationBase.js index f07e5170d57d..ff5739593c80 100644 --- a/web/libs/editor/src/tags/control/ClassificationBase.js +++ b/web/libs/editor/src/tags/control/ClassificationBase.js @@ -133,6 +133,7 @@ const ClassificationBase = types // update result in the store with current set value updateResult() { if (self.result) { + self.result.area.updateOriginOnEdit(); self.result.area.setValue(self); } else { if (self.perregion) { diff --git a/web/libs/editor/tests/integration/data/control_tags/from-prediction.ts b/web/libs/editor/tests/integration/data/control_tags/from-prediction.ts new file mode 100644 index 000000000000..b0a02cbdfde6 --- /dev/null +++ b/web/libs/editor/tests/integration/data/control_tags/from-prediction.ts @@ -0,0 +1,76 @@ +export const allClassificationsConfig = ` + + + + + + + + +