fix: pending review fixes for sticky notes (#4493)
This commit is contained in:
parent
bae0e985b2
commit
63ce5b82d7
@ -2101,10 +2101,9 @@ class App extends React.Component<AppProps, AppState> {
|
||||
const container =
|
||||
shouldBind || parentCenterPosition
|
||||
? getElementContainingPosition(
|
||||
this.scene.getElements(),
|
||||
this.scene.getElements().filter((ele) => !isTextElement(ele)),
|
||||
sceneX,
|
||||
sceneY,
|
||||
"text",
|
||||
)
|
||||
: null;
|
||||
|
||||
|
@ -46,8 +46,7 @@ const isElementDraggableFromInside = (
|
||||
return true;
|
||||
}
|
||||
const isDraggableFromInside =
|
||||
!isTransparent(element.backgroundColor) ||
|
||||
(isTransparent(element.backgroundColor) && hasBoundTextElement(element));
|
||||
!isTransparent(element.backgroundColor) || hasBoundTextElement(element);
|
||||
if (element.type === "line") {
|
||||
return isDraggableFromInside && isPathALoop(element.points);
|
||||
}
|
||||
|
@ -322,25 +322,11 @@ export const charWidth = (() => {
|
||||
return cachedCharWidth[font][ascii];
|
||||
};
|
||||
|
||||
const updateCache = (char: string, font: FontString) => {
|
||||
const ascii = char.charCodeAt(0);
|
||||
|
||||
if (!cachedCharWidth[font][ascii]) {
|
||||
cachedCharWidth[font][ascii] = calculate(char, font);
|
||||
}
|
||||
};
|
||||
|
||||
const clearCacheforFont = (font: FontString) => {
|
||||
cachedCharWidth[font] = [];
|
||||
};
|
||||
|
||||
const getCache = (font: FontString) => {
|
||||
return cachedCharWidth[font];
|
||||
};
|
||||
return {
|
||||
calculate,
|
||||
updateCache,
|
||||
clearCacheforFont,
|
||||
getCache,
|
||||
};
|
||||
})();
|
||||
|
@ -75,7 +75,6 @@ export const getElementContainingPosition = (
|
||||
elements: readonly ExcalidrawElement[],
|
||||
x: number,
|
||||
y: number,
|
||||
excludedType?: ExcalidrawElement["type"],
|
||||
) => {
|
||||
let hitElement = null;
|
||||
// We need to to hit testing from front (end of the array) to back (beginning of the array)
|
||||
@ -84,13 +83,7 @@ export const getElementContainingPosition = (
|
||||
continue;
|
||||
}
|
||||
const [x1, y1, x2, y2] = getElementAbsoluteCoords(elements[index]);
|
||||
if (
|
||||
x1 < x &&
|
||||
x < x2 &&
|
||||
y1 < y &&
|
||||
y < y2 &&
|
||||
elements[index].type !== excludedType
|
||||
) {
|
||||
if (x1 < x && x < x2 && y1 < y && y < y2) {
|
||||
hitElement = elements[index];
|
||||
break;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user