mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
Normlize arrow points on LinearElementEditor construction
This commit is contained in:
parent
1ef51d6b33
commit
73308590d1
2 changed files with 22 additions and 1 deletions
|
@ -133,6 +133,7 @@ export class LinearElementEditor {
|
|||
};
|
||||
if (!pointsEqual(element.points[0], pointFrom(0, 0))) {
|
||||
console.error("Linear element is not normalized", Error().stack);
|
||||
LinearElementEditor.normalizePoints(element);
|
||||
}
|
||||
|
||||
this.selectedPointsIndices = null;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import { newArrowElement } from "@excalidraw/element/newElement";
|
||||
|
||||
import { pointCenter, pointFrom } from "@excalidraw/math";
|
||||
import { act, queryByTestId, queryByText } from "@testing-library/react";
|
||||
import React from "react";
|
||||
|
@ -19,7 +21,7 @@ import {
|
|||
import * as textElementUtils from "@excalidraw/element/textElement";
|
||||
import { wrapText } from "@excalidraw/element/textWrapping";
|
||||
|
||||
import type { GlobalPoint } from "@excalidraw/math";
|
||||
import type { GlobalPoint, LocalPoint } from "@excalidraw/math";
|
||||
|
||||
import type {
|
||||
ExcalidrawElement,
|
||||
|
@ -164,6 +166,24 @@ describe("Test Linear Elements", () => {
|
|||
Keyboard.keyPress(KEYS.DELETE);
|
||||
};
|
||||
|
||||
it("should normalize the element points at creation", () => {
|
||||
const element = newArrowElement({
|
||||
type: "arrow",
|
||||
points: [pointFrom<LocalPoint>(0.5, 0), pointFrom<LocalPoint>(100, 100)],
|
||||
x: 0,
|
||||
y: 0,
|
||||
});
|
||||
expect(element.points).toEqual([
|
||||
pointFrom<LocalPoint>(0.5, 0),
|
||||
pointFrom<LocalPoint>(100, 100),
|
||||
]);
|
||||
new LinearElementEditor(element);
|
||||
expect(element.points).toEqual([
|
||||
pointFrom<LocalPoint>(0, 0),
|
||||
pointFrom<LocalPoint>(99.5, 100),
|
||||
]);
|
||||
});
|
||||
|
||||
it("should not drag line and add midpoint until dragged beyond a threshold", () => {
|
||||
createTwoPointerLinearElement("line");
|
||||
const line = h.elements[0] as ExcalidrawLinearElement;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue