From 1ab0c27695e10632508046b98e262b9547665495 Mon Sep 17 00:00:00 2001 From: Vinicius Reis Date: Mon, 25 Apr 2022 22:03:55 -0300 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20(#2323):=20remove=20reacti?= =?UTF-8?q?vity=20from=20tiptap=20instance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/EditorWrapper.vue | 47 ++++++++++++++++---------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/src/components/EditorWrapper.vue b/src/components/EditorWrapper.vue index 782a91434..920da16af 100644 --- a/src/components/EditorWrapper.vue +++ b/src/components/EditorWrapper.vue @@ -37,7 +37,7 @@

-
+ :editor="$editor" />
{ this.updateLastSavedStatus() }, 2000) @@ -336,9 +335,9 @@ export default { forceRecreate: this.forceRecreate, serialize: (document) => { if (this.isRichEditor) { - return (createMarkdownSerializer(this.tiptap.schema)).serialize(document) + return (createMarkdownSerializer(this.$editor.schema)).serialize(document) } - return serializePlainText(this.tiptap) + return serializePlainText(this.$editor) }, }) @@ -359,7 +358,7 @@ export default { this.document = document this.syncError = null - this.tiptap.setOptions({ editable: !this.readOnly }) + this.$editor.setOptions({ editable: !this.readOnly }) }) .on('loaded', ({ documentSource }) => { this.hasConnectionIssue = false @@ -368,7 +367,7 @@ export default { : '
' + escapeHtml(documentSource) + '
' const language = extensionHighlight[this.fileExtension] || this.fileExtension loadSyntaxHighlight(language).then(() => { - this.tiptap = createEditor({ + this.$editor = createEditor({ content, onCreate: ({ editor }) => { this.syncService.state = editor.state @@ -425,25 +424,25 @@ export default { enableRichEditing: this.isRichEditor, currentDirectory: this.currentDirectory, }) - this.tiptap.on('focus', () => { + this.$editor.on('focus', () => { this.$emit('focus') }) - this.tiptap.on('blur', () => { + this.$editor.on('blur', () => { this.$emit('blur') }) - this.syncService.state = this.tiptap.state + this.syncService.state = this.$editor.state }) }) .on('sync', ({ steps, document }) => { this.hasConnectionIssue = false try { - const collaboration = this.tiptap.extensionManager.extensions.find(e => e.name === 'collaboration') + const collaboration = this.$editor.extensionManager.extensions.find(e => e.name === 'collaboration') collaboration.options.update({ version: document.currentVersion, steps, - editor: this.tiptap, + editor: this.$editor, }) - this.syncService.state = this.tiptap.state + this.syncService.state = this.$editor.state this.updateLastSavedStatus() } catch (e) { console.error('Failed to update steps in collaboration plugin', e) @@ -452,7 +451,7 @@ export default { this.document = document }) .on('error', (error, data) => { - this.tiptap.setOptions({ editable: false }) + this.$editor.setOptions({ editable: false }) if (error === ERROR_TYPE.SAVE_COLLISSION && (!this.syncError || this.syncError.type !== ERROR_TYPE.SAVE_COLLISSION)) { this.contentLoaded = true this.syncError = { @@ -477,7 +476,7 @@ export default { if (state.initialLoading && !this.contentLoaded) { this.contentLoaded = true if (this.autofocus && !this.readOnly) { - this.tiptap.commands.focus() + this.$editor.commands.focus() } this.$emit('ready') this.$parent.$emit('ready', true) @@ -490,7 +489,7 @@ export default { this.syncService.close() this.idle = true this.readOnly = true - this.tiptap.setOptions({ editable: !this.readOnly }) + this.$editor.setOptions({ editable: !this.readOnly }) }) this.syncService.open({ fileId: this.fileId, @@ -504,7 +503,7 @@ export default { resolveUseThisVersion() { this.syncService.forceSave() - this.tiptap.setOptions({ editable: !this.readOnly }) + this.$editor.setOptions({ editable: !this.readOnly }) }, resolveUseServerVersion() { @@ -518,14 +517,14 @@ export default { if (this.syncService) { this.syncService.close().then(() => { this.syncService = null - this.tiptap.destroy() + this.$editor.destroy() this.initSession() }).catch((e) => { // Ignore issues closing the session since those might happen due to network issues }) } else { this.syncService = null - this.tiptap.destroy() + this.$editor.destroy() this.initSession() } this.idle = false @@ -621,9 +620,9 @@ export default { // as it does not need to be unique and matching the real file name const alt = name.replaceAll(/[[\]]/g, '') if (position) { - this.tiptap.chain().focus(position).setImage({ src, alt }).focus().run() + this.$editor.chain().focus(position).setImage({ src, alt }).focus().run() } else { - this.tiptap.chain().setImage({ src, alt }).focus().run() + this.$editor.chain().setImage({ src, alt }).focus().run() } }, },