1
0
mirror of https://github.com/excalidraw/excalidraw.git synced 2025-02-18 13:29:36 +01:00

fix: only bind arrow (#8152)

Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
This commit is contained in:
zsviczian 2024-06-19 10:55:35 +02:00 committed by GitHub
parent 4dc4590f24
commit a1ffa064df
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 2 deletions

@ -23,6 +23,7 @@ import {
refreshTextDimensions, refreshTextDimensions,
} from "../element"; } from "../element";
import { import {
isArrowElement,
isLinearElement, isLinearElement,
isTextElement, isTextElement,
isUsingAdaptiveRadius, isUsingAdaptiveRadius,
@ -469,13 +470,15 @@ export const restoreElements = (
if (isLinearElement(element)) { if (isLinearElement(element)) {
if ( if (
element.startBinding && element.startBinding &&
!restoredElementsMap.has(element.startBinding.elementId) (!restoredElementsMap.has(element.startBinding.elementId) ||
!isArrowElement(element))
) { ) {
(element as Mutable<ExcalidrawLinearElement>).startBinding = null; (element as Mutable<ExcalidrawLinearElement>).startBinding = null;
} }
if ( if (
element.endBinding && element.endBinding &&
!restoredElementsMap.has(element.endBinding.elementId) (!restoredElementsMap.has(element.endBinding.elementId) ||
!isArrowElement(element))
) { ) {
(element as Mutable<ExcalidrawLinearElement>).endBinding = null; (element as Mutable<ExcalidrawLinearElement>).endBinding = null;
} }

@ -358,6 +358,9 @@ export const bindLinearElement = (
startOrEnd: "start" | "end", startOrEnd: "start" | "end",
elementsMap: NonDeletedSceneElementsMap, elementsMap: NonDeletedSceneElementsMap,
): void => { ): void => {
if (!isArrowElement(linearElement)) {
return;
}
mutateElement(linearElement, { mutateElement(linearElement, {
[startOrEnd === "start" ? "startBinding" : "endBinding"]: { [startOrEnd === "start" ? "startBinding" : "endBinding"]: {
elementId: hoveredElement.id, elementId: hoveredElement.id,