Browse Source

fix: update viewport coords correctly when editing text (#4416)

Aakansha Doshi 3 năm trước cách đây
mục cha
commit
c2a8712593
2 tập tin đã thay đổi với 6 bổ sung3 xóa
  1. 4 1
      src/components/App.tsx
  2. 2 2
      src/element/textWysiwyg.tsx

+ 4 - 1
src/components/App.tsx

@@ -1916,7 +1916,10 @@ class App extends React.Component<AppProps, AppState> {
           },
           this.state,
         );
-        return [viewportX, viewportY];
+        return [
+          viewportX - this.state.offsetLeft,
+          viewportY - this.state.offsetTop,
+        ];
       },
       onChange: withBatchedUpdates((text) => {
         updateElement(text, text, false, !element.containerId);

+ 2 - 2
src/element/textWysiwyg.tsx

@@ -426,10 +426,10 @@ export const textWysiwyg = ({
         if (isTextElement(updateElement) && updateElement.containerId) {
           if (editable.value) {
             mutateElement(updateElement, {
-              y,
+              y: y + appState.offsetTop,
               height: Number(editable.style.height.slice(0, -2)),
               width: Number(editable.style.width.slice(0, -2)),
-              x,
+              x: x + appState.offsetLeft,
             });
             const boundTextElementId = getBoundTextElementId(container);
             if (!boundTextElementId || boundTextElementId !== element.id) {