Ensure arrows are not draggable from inside (#1620)

This commit is contained in:
Preet 2020-05-21 12:57:54 -07:00 committed by GitHub
parent c427aa3cce
commit 584e4182a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 11 deletions

View File

@ -23,6 +23,9 @@ const isElementDraggableFromInside = (
element: NonDeletedExcalidrawElement, element: NonDeletedExcalidrawElement,
appState: AppState, appState: AppState,
): boolean => { ): boolean => {
if (element.type === "arrow") {
return false;
}
const dragFromInside = const dragFromInside =
element.backgroundColor !== "transparent" || element.backgroundColor !== "transparent" ||
appState.selectedElementIds[element.id]; appState.selectedElementIds[element.id];

View File

@ -192,22 +192,20 @@ export const generateRoughOptions = (element: ExcalidrawElement): Options => {
return options; return options;
} }
case "line": case "line":
case "draw": case "draw": {
case "arrow": {
// If shape is a line and is a closed shape, // If shape is a line and is a closed shape,
// fill the shape if a color is set. // fill the shape if a color is set.
if (element.type === "line" || element.type === "draw") { if (isPathALoop(element.points)) {
if (isPathALoop(element.points)) { options.fillStyle = element.fillStyle;
options.fillStyle = element.fillStyle; options.fill =
options.fill = element.backgroundColor === "transparent"
element.backgroundColor === "transparent" ? undefined
? undefined : element.backgroundColor;
: element.backgroundColor;
}
} }
return options; return options;
} }
case "arrow":
return options;
default: { default: {
throw new Error(`Unimplemented type ${element.type}`); throw new Error(`Unimplemented type ${element.type}`);
} }