diff --git a/packages/superdoc/src/components/PdfViewer/PdfViewer.vue b/packages/superdoc/src/components/PdfViewer/PdfViewer.vue
index 3a45fab906..99c6d795c2 100644
--- a/packages/superdoc/src/components/PdfViewer/PdfViewer.vue
+++ b/packages/superdoc/src/components/PdfViewer/PdfViewer.vue
@@ -1,20 +1,16 @@
diff --git a/packages/superdoc/src/components/PdfViewer/helpers/range.js b/packages/superdoc/src/components/PdfViewer/helpers/range.js
new file mode 100644
index 0000000000..5769f0ded0
--- /dev/null
+++ b/packages/superdoc/src/components/PdfViewer/helpers/range.js
@@ -0,0 +1,4 @@
+export const range = (start, end) => {
+ const length = end - start;
+ return Array.from({ length }, (_, i) => start + i);
+};
diff --git a/packages/superdoc/src/core/SuperDoc.js b/packages/superdoc/src/core/SuperDoc.js
index 5355a978f5..1e902afc0e 100644
--- a/packages/superdoc/src/core/SuperDoc.js
+++ b/packages/superdoc/src/core/SuperDoc.js
@@ -118,6 +118,8 @@ export class SuperDoc extends EventEmitter {
// telemetry config
telemetry: null,
+ pdfViewer: {},
+
// Events
onEditorBeforeCreate: () => null,
onEditorCreate: () => null,
@@ -582,12 +584,16 @@ export class SuperDoc extends EventEmitter {
}
destroy() {
- if (!this.app) return;
+ if (!this.app) {
+ return;
+ }
+
this.log('[superdoc] Unmounting app');
- this.config.socket.cancelWebsocketRetry();
- this.config.socket.disconnect();
- this.config.socket.destroy();
+ this.config.socket?.cancelWebsocketRetry();
+ this.config.socket?.disconnect();
+ this.config.socket?.destroy();
+
this.ydoc?.destroy();
this.provider?.disconnect();
this.provider?.destroy();
@@ -599,7 +605,7 @@ export class SuperDoc extends EventEmitter {
};
// Destroy the ydoc
- doc.ydoc.destroy();
+ doc.ydoc?.destroy();
});
this.superdocStore.reset();