|
@@ -14,7 +14,6 @@ import {
|
|
|
bindOrUnbindLinearElement,
|
|
|
} from "../element/binding";
|
|
|
import { isBindingElement } from "../element/typeChecks";
|
|
|
-import { isEraserActive } from "../appState";
|
|
|
|
|
|
export const actionFinalize = register({
|
|
|
name: "finalize",
|
|
@@ -146,7 +145,14 @@ export const actionFinalize = register({
|
|
|
appState.activeTool.type === "freedraw") &&
|
|
|
multiPointElement
|
|
|
? appState.activeTool
|
|
|
- : { ...appState.activeTool, type: "selection" },
|
|
|
+ : {
|
|
|
+ ...appState.activeTool,
|
|
|
+ type:
|
|
|
+ appState.activeTool.type === "eraser" &&
|
|
|
+ appState.activeTool.lastActiveToolBeforeEraser
|
|
|
+ ? appState.activeTool.lastActiveToolBeforeEraser
|
|
|
+ : "selection",
|
|
|
+ },
|
|
|
draggingElement: null,
|
|
|
multiElement: null,
|
|
|
editingElement: null,
|
|
@@ -167,12 +173,11 @@ export const actionFinalize = register({
|
|
|
};
|
|
|
},
|
|
|
keyTest: (event, appState) =>
|
|
|
- !isEraserActive(appState) &&
|
|
|
- ((event.key === KEYS.ESCAPE &&
|
|
|
+ (event.key === KEYS.ESCAPE &&
|
|
|
(appState.editingLinearElement !== null ||
|
|
|
(!appState.draggingElement && appState.multiElement === null))) ||
|
|
|
- ((event.key === KEYS.ESCAPE || event.key === KEYS.ENTER) &&
|
|
|
- appState.multiElement !== null)),
|
|
|
+ ((event.key === KEYS.ESCAPE || event.key === KEYS.ENTER) &&
|
|
|
+ appState.multiElement !== null),
|
|
|
PanelComponent: ({ appState, updateData, data }) => (
|
|
|
<ToolButton
|
|
|
type="button"
|