fix: Locked tool + arrow

This commit is contained in:
Mark Tolmacs
2025-09-16 17:05:57 +02:00
parent f2f5168355
commit 32526c4d4a
2 changed files with 21 additions and 17 deletions

View File

@@ -134,6 +134,8 @@ export const actionFinalize = register<FormData>({
});
}
const activeToolLocked = appState.activeTool?.locked;
console.log("finalize - activeToolLocked:", activeToolLocked);
return {
elements:
element.points.length < 2 || isInvisiblySmallElement(element)
@@ -147,15 +149,17 @@ export const actionFinalize = register<FormData>({
appState: {
...appState,
cursorButton: "up",
selectedLinearElement: {
...linearElementEditor,
selectedPointsIndices: null,
isEditing: false,
initialState: {
...linearElementEditor.initialState,
lastClickedPoint: -1,
},
},
selectedLinearElement: activeToolLocked
? null
: {
...linearElementEditor,
selectedPointsIndices: null,
isEditing: false,
initialState: {
...linearElementEditor.initialState,
lastClickedPoint: -1,
},
},
selectionElement: null,
suggestedBinding: null,
newElement: null,

View File

@@ -3194,14 +3194,14 @@ class App extends React.Component<AppProps, AppState> {
this.setState({ editingTextElement: null });
}
if (
this.state.selectedLinearElement &&
!this.state.selectedElementIds[this.state.selectedLinearElement.elementId]
) {
// To make sure `selectedLinearElement` is in sync with `selectedElementIds`, however this shouldn't be needed once
// we have a single API to update `selectedElementIds`
this.setState({ selectedLinearElement: null });
}
// if (
// this.state.selectedLinearElement &&
// !this.state.selectedElementIds[this.state.selectedLinearElement.elementId]
// ) {
// // To make sure `selectedLinearElement` is in sync with `selectedElementIds`, however this shouldn't be needed once
// // we have a single API to update `selectedElementIds`
// this.setState({ selectedLinearElement: null });
// }
this.store.commit(elementsMap, this.state);