From 45929433a1b94bcb3d00f34bd774b534d6417e7e Mon Sep 17 00:00:00 2001
From: azop <azop@azopcorp.com>
Date: Wed, 31 Jan 2024 15:31:53 +0100
Subject: [PATCH] mitigation transformer a la sauvegarde

---
 src/AnnotationCreation.js                                 | 8 +++++++-
 src/annotationForm/AnnotationDrawing.js                   | 1 +
 src/annotationForm/KonvaDrawing/shapes/ParentComponent.js | 3 ++-
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/AnnotationCreation.js b/src/AnnotationCreation.js
index 9a2f487..b26498c 100644
--- a/src/AnnotationCreation.js
+++ b/src/AnnotationCreation.js
@@ -101,6 +101,8 @@ function AnnotationCreation(props) {
 
   const [shapes, setShapes] = useState([]);
   const [scale, setScale] = useState(1);
+  const [isMouseOverSave, setIsMouseOverSave] = useState(false);
+
 
   const { height, width } = VideosReferences.get(props.windowId).ref.current;
 
@@ -484,6 +486,7 @@ function AnnotationCreation(props) {
         setColorToolFromCurrentShape={setColorToolFromCurrentShape}
         updateShapes={updateShapes}
         shapes={shapes}
+        isMouseOverSave={isMouseOverSave}
       />
       <StyledForm
         onSubmit={submitForm}
@@ -527,7 +530,10 @@ function AnnotationCreation(props) {
           <Button onClick={closeCompanionWindow}>
             Cancel
           </Button>
-          <Button variant="contained" color="primary" type="submit">
+          <Button variant="contained" color="primary" type="submit"
+           onMouseOver={() => setIsMouseOverSave(true)}
+           onMouseOut={() => setIsMouseOverSave(false)}
+          >
             Save
           </Button>
         
diff --git a/src/annotationForm/AnnotationDrawing.js b/src/annotationForm/AnnotationDrawing.js
index d9addb8..8687709 100644
--- a/src/annotationForm/AnnotationDrawing.js
+++ b/src/annotationForm/AnnotationDrawing.js
@@ -497,6 +497,7 @@ function AnnotationDrawing(props) {
         height={props.originalHeight}
         onTransform={onTransform}
         handleDragEnd={handleDragEnd}
+        isMouseOverSave={props.isMouseOverSave}
       />
     </Stage>
   );
diff --git a/src/annotationForm/KonvaDrawing/shapes/ParentComponent.js b/src/annotationForm/KonvaDrawing/shapes/ParentComponent.js
index fd05ab9..d862f85 100644
--- a/src/annotationForm/KonvaDrawing/shapes/ParentComponent.js
+++ b/src/annotationForm/KonvaDrawing/shapes/ParentComponent.js
@@ -16,6 +16,7 @@ import ImageShape from './Image';
 function ParentComponent({
   shapes, onShapeClick, selectedShapeId, activeTool,
   scale, width, height, onTransform, handleDragEnd,
+  isMouseOverSave
 }) {
   // TODO Simplify these state
   const [selectedShape, setSelectedShape] = useState(null);
@@ -47,7 +48,7 @@ function ParentComponent({
       scaleY={scale}
     >
       {shapes.map((shape, i) => {
-        const isSelected = selectedShapeId === shape.id;
+        const isSelected = selectedShapeId === shape.id && isMouseOverSave===false;
         switch (shape.type) {
           case 'rectangle':
             return (
-- 
GitLab