send only json steps

This commit is contained in:
Philipp Kühn
2019-05-05 21:47:52 +02:00
parent 03cb2d4c75
commit 76dca53d80
3 changed files with 26 additions and 2 deletions

View File

@@ -18,7 +18,15 @@
<script>
import io from 'socket.io-client'
import { Editor, EditorContent } from 'tiptap'
import { History, Collaboration } from 'tiptap-extensions'
import {
HardBreak,
Heading,
Bold,
Code,
Italic,
History,
Collaboration,
} from 'tiptap-extensions'
export default {
components: {
@@ -45,6 +53,11 @@ export default {
this.editor = new Editor({
content: doc,
extensions: [
new HardBreak(),
new Heading({ levels: [1, 2, 3] }),
new Bold(),
new Code(),
new Italic(),
new History(),
new Collaboration({
// the initial version we start with

View File

@@ -54,7 +54,11 @@ export default class Collaboration extends Extension {
const sendable = sendableSteps(state)
if (sendable) {
this.options.onSendable(sendable)
this.options.onSendable({
version: sendable.version,
steps: sendable.steps.map(step => step.toJSON()),
clientID: sendable.clientID,
})
}
}, this.options.debounce)

View File

@@ -342,6 +342,13 @@ export default class Editor extends Emitter {
this.view.dom.blur()
}
getSchemaJSON() {
return JSON.parse(JSON.stringify({
nodes: this.extensions.nodes,
marks: this.extensions.marks,
}))
}
getHTML() {
const div = document.createElement('div')
const fragment = DOMSerializer