Skip to content
Snippets Groups Projects
Commit 94593d41 authored by Anthony's avatar Anthony
Browse files

Annotation edition working (almost)

parent ff26eb66
Branches
Tags
1 merge request!10Draft: MigratingAnnotationCreation to MUI5.
Pipeline #1802 failed
...@@ -480,8 +480,8 @@ function AnnotationCreation(props) { ...@@ -480,8 +480,8 @@ function AnnotationCreation(props) {
/> />
)} )}
<AnnotationFormDrawing <AnnotationFormDrawing
{...toolState} toolState={toolState}
setToolState={setToolState} updateToolState={setToolState}
handleImgChange={handleImgChange} handleImgChange={handleImgChange}
/> />
<div> <div>
......
...@@ -42,7 +42,7 @@ const StyledDivider = styled(Divider)(({ theme }) => ({ ...@@ -42,7 +42,7 @@ const StyledDivider = styled(Divider)(({ theme }) => ({
margin: theme.spacing(1, 0.5), margin: theme.spacing(1, 0.5),
})); }));
function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange, lineWeightPopoverOpen, popoverLineWeightAnchorEl, stroke, strokeWidth, colorPopoverOpen, popoverAnchorEl, currentColorType, ...props }) { function AnnotationFormDrawing( { updateToolState, toolState, handleImgChange }) {
/* const [state, setState] = useState({ /* const [state, setState] = useState({
activeTool: 'cursor', activeTool: 'cursor',
closedMode: 'closed', closedMode: 'closed',
...@@ -56,73 +56,73 @@ function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange, ...@@ -56,73 +56,73 @@ function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange,
/** */ /** */
const openChooseLineWeight = (e) => { const openChooseLineWeight = (e) => {
setState((prevState) => ({ updateToolState({
...prevState, ...toolState,
lineWeightPopoverOpen: true, lineWeightPopoverOpen: true,
popoverLineWeightAnchorEl: e.currentTarget, popoverLineWeightAnchorEl: e.currentTarget,
})); });
}; };
/** Close color popover window */ /** Close color popover window */
const closeChooseColor = (e) => { const closeChooseColor = (e) => {
setState((prevState) => ({ updateToolState({
...prevState, ...toolState,
colorPopoverOpen: false, colorPopoverOpen: false,
currentColorType: null, currentColorType: null,
popoverAnchorEl: null, popoverAnchorEl: null,
})); });
}; };
/** Update strokecolor */ /** Update strokecolor */
const updateStrokeColor = (color) => { const updateStrokeColor = (color) => {
setState((prevState) => ({ updateToolState({
...prevState, ...toolState,
[prevState.currentColorType]: color.hex, currentColorType: color.hex,
})); });
}; };
/** */ /** */
const openChooseColor = (e) => { const openChooseColor = (e) => {
setState((prevState) => ({ updateToolState({
...prevState, ...toolState,
colorPopoverOpen: true, colorPopoverOpen: true,
currentColorType: e.currentTarget.value, currentColorType: e.currentTarget.value,
popoverAnchorEl: e.currentTarget, popoverAnchorEl: e.currentTarget,
})); });
}; };
/** */ /** */
const handleCloseLineWeight = (e) => { const handleCloseLineWeight = (e) => {
setState((prevState) => ({ updateToolState({
...prevState, ...toolState,
lineWeightPopoverOpen: false, lineWeightPopoverOpen: false,
popoverLineWeightAnchorEl: null, popoverLineWeightAnchorEl: null,
})); });
}; };
/** */ /** */
const handleLineWeightSelect = (e) => { const handleLineWeightSelect = (e) => {
setState((prevState) => ({ updateToolState({
...prevState, ...toolState,
lineWeightPopoverOpen: false, lineWeightPopoverOpen: false,
popoverLineWeightAnchorEl: null, popoverLineWeightAnchorEl: null,
strokeWidth: e.currentTarget.value, strokeWidth: e.currentTarget.value,
})); });
}; };
const changeTool = (e, tool) => { const changeTool = (e, tool) => {
setState((prevState) => ({ updateToolState({
...prevState, ...toolState,
activeTool: tool, activeTool: tool,
})); });
}; };
const changeClosedMode = (e) => { const changeClosedMode = (e) => {
setState((prevState) => ({ updateToolState({
...prevState, ...toolState,
closedMode: e.currentTarget.value, closedMode: e.currentTarget.value,
})); });
}; };
/** /**
...@@ -134,12 +134,25 @@ function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange, ...@@ -134,12 +134,25 @@ function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange,
id: image?.id, id: image?.id,
}; };
setState((prevState) => ({ updateToolState({
...prevState, ...toolState,
imageEvent: data, imageEvent: data,
})); });
}; };
const {
activeTool,
closedMode,
image,
lineWeightPopoverOpen,
popoverLineWeightAnchorEl,
fillColor,
strokeColor,
strokeWidth,
colorPopoverOpen,
popoverAnchorEl,
currentColorType } = toolState;
return ( return (
<div> <div>
<div> <div>
...@@ -182,9 +195,9 @@ function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange, ...@@ -182,9 +195,9 @@ function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange,
orientation="vertical" orientation="vertical"
/> />
<StyledToggleButtonGroup <StyledToggleButtonGroup
value={props.value} value={activeTool} // State or props ?
exclusive exclusive
onChange={props.onChange} onChange={changeTool}
aria-label="tool selection" aria-label="tool selection"
size="small" size="small"
> >
...@@ -225,7 +238,7 @@ function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange, ...@@ -225,7 +238,7 @@ function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange,
aria-label="select color" aria-label="select color"
onClick={openChooseColor} onClick={openChooseColor}
> >
<StrokeColorIcon style={{ fill: props.fill }} /> <StrokeColorIcon style={{ fill: strokeColor }} />
<ArrowDropDownIcon /> <ArrowDropDownIcon />
</ToggleButton> </ToggleButton>
<ToggleButton <ToggleButton
...@@ -241,14 +254,14 @@ function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange, ...@@ -241,14 +254,14 @@ function AnnotationFormDrawing({ activeTool, closedMode, image, handleImgChange,
aria-label="select color" aria-label="select color"
onClick={openChooseColor} onClick={openChooseColor}
> >
<FormatColorFillIcon style={{ fill: props.fill }} /> <FormatColorFillIcon style={{ fill: fillColor }} />
<ArrowDropDownIcon /> <ArrowDropDownIcon />
</ToggleButton> </ToggleButton>
</ToggleButtonGroup> </ToggleButtonGroup>
<StyledDivider flexItem orientation="vertical" /> <StyledDivider flexItem orientation="vertical" />
{ /* close / open polygon mode only for freehand drawing mode. */ { /* close / open polygon mode only for freehand drawing mode. */
props.activeTool === 'freehand' activeTool === 'freehand'
? ( ? (
<ToggleButtonGroup <ToggleButtonGroup
size="small" size="small"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment