Просмотр исходного кода

Fix zoom being set to NaN (#807)

* Fix zoom being set to NaN

* recover zoom default value on restore if invalid

Co-authored-by: David Luzar <luzar.david@gmail.com>
Jed Fox 5 лет назад
Родитель
Сommit
4e489bfb6d
2 измененных файлов с 5 добавлено и 1 удалено
  1. 1 1
      src/index.tsx
  2. 4 0
      src/scene/data.ts

+ 1 - 1
src/index.tsx

@@ -2185,7 +2185,7 @@ export class App extends React.Component<any, AppState> {
               document.documentElement.style.cursor = hitElement ? "move" : "";
             }}
             onPointerUp={this.removePointer}
-            onPointerCancel={this.removePointer}
+            onPointerLeave={this.removePointer}
             onDrop={e => {
               const file = e.dataTransfer.files[0];
               if (file?.type === "application/json") {

+ 4 - 0
src/scene/data.ts

@@ -398,6 +398,10 @@ function restore(
     savedState = { ...savedState, ...calculateScrollCenter(elements) };
   }
 
+  if (savedState) {
+    savedState.zoom = savedState.zoom || getDefaultAppState().zoom;
+  }
+
   return {
     elements: elements,
     appState: savedState,