From 55e5a4a3ae35f9e1d509b32d5193ebe183b7a3c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Sat, 4 May 2019 00:25:14 +0200 Subject: [PATCH] move collab extension --- .../Components/Routes/Collaboration/Collab.js | 43 ------------- .../Components/Routes/Collaboration/index.vue | 28 ++------- package.json | 2 - packages/tiptap-extensions/package.json | 3 + .../src/extensions/Collaboration.js | 62 +++++++++++++++++++ packages/tiptap-extensions/src/index.js | 1 + yarn.lock | 2 +- 7 files changed, 72 insertions(+), 69 deletions(-) delete mode 100644 examples/Components/Routes/Collaboration/Collab.js create mode 100644 packages/tiptap-extensions/src/extensions/Collaboration.js diff --git a/examples/Components/Routes/Collaboration/Collab.js b/examples/Components/Routes/Collaboration/Collab.js deleted file mode 100644 index a59328b2..00000000 --- a/examples/Components/Routes/Collaboration/Collab.js +++ /dev/null @@ -1,43 +0,0 @@ -import { Extension } from 'tiptap' -import { collab, sendableSteps } from 'prosemirror-collab' -import { debounce } from 'lodash-es' - -export default class CollabExtension extends Extension { - - get name() { - return 'collab' - } - - init() { - this.editor.on('update', ({ state }) => { - this.getSendableSteps(state) - }) - } - - get defaultOptions() { - return { - version: 0, - clientID: Math.floor(Math.random() * 0xFFFFFFFF), - debounce: 250, - onSend: () => {}, - } - } - - get plugins() { - return [ - collab({ - version: this.options.version, - clientID: this.options.clientID, - }), - ] - } - - getSendableSteps = debounce(state => { - const sendable = sendableSteps(state) - - if (sendable) { - this.options.onSend(sendable) - } - }, this.options.debounce) - -} diff --git a/examples/Components/Routes/Collaboration/index.vue b/examples/Components/Routes/Collaboration/index.vue index f7adc7cb..293541e5 100644 --- a/examples/Components/Routes/Collaboration/index.vue +++ b/examples/Components/Routes/Collaboration/index.vue @@ -10,9 +10,7 @@