[skip ci] Stats binding behavior changes and test updates

This commit is contained in:
Mark Tolmacs 2025-03-29 16:46:44 +01:00
parent ce10087edc
commit db9e501d35
5 changed files with 50 additions and 18 deletions

View file

@ -234,21 +234,21 @@ const getOriginalBindingsIfStillCloseToArrowEnds = (
edge as "start" | "end",
elementsMap,
);
const elementId =
edge === "start"
? linearElement.startBinding?.elementId
: linearElement.endBinding?.elementId;
if (elementId) {
const element = elementsMap.get(elementId);
if (
isBindableElement(element) &&
bindingBorderTest(element, coors, elementsMap, zoom)
) {
return element;
const elementId =
edge === "start"
? linearElement.startBinding?.elementId
: linearElement.endBinding?.elementId;
if (elementId) {
const element = elementsMap.get(elementId);
if (
isBindableElement(element) &&
bindingBorderTest(element, coors, elementsMap, zoom)
) {
return element;
}
}
}
return null;
return null;
});
const getBindingStrategyForDraggingArrowEndpoints = (
@ -541,7 +541,7 @@ const isLinearElementSimple = (
linearElement: NonDeleted<ExcalidrawLinearElement>,
): boolean => linearElement.points.length < 3;
const unbindLinearElement = (
export const unbindLinearElement = (
linearElement: NonDeleted<ExcalidrawLinearElement>,
startOrEnd: "start" | "end",
): ExcalidrawBindableElement["id"] | null => {

View file

@ -130,7 +130,7 @@ export const isLinearElementType = (
export const isBindingElement = (
element?: ExcalidrawElement | null,
includeLocked = true,
): element is ExcalidrawLinearElement => {
): element is ExcalidrawArrowElement => {
return (
element != null &&
(!element.locked || includeLocked === true) &&