Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | 10x 3x 1x 2x 2x 2x 2x 247x 130x 134x 134x 134x 113x 113x 2x 1x | import { Extension } from '@tiptap/core'; import { Plugin, PluginKey } from '@tiptap/pm/state'; import { handleFileEvent } from '../services/upload_helpers'; const processFiles = ({ files, uploadsPath, renderMarkdown, eventHub, editor }) => { if (!files.length) { return false; } let handled = true; for (const file of files) { handled = handled && handleFileEvent({ editor, file, uploadsPath, renderMarkdown, eventHub }); } return handled; }; export default Extension.create({ name: 'attachment', addOptions() { return { uploadsPath: null, renderMarkdown: null, eventHub: null, }; }, addCommands() { return { uploadAttachment: ({ file }) => () => { const { uploadsPath, renderMarkdown, eventHub } = this.options; return handleFileEvent({ file, uploadsPath, renderMarkdown, editor: this.editor, eventHub, }); }, }; }, addProseMirrorPlugins() { const { editor } = this; return [ new Plugin({ key: new PluginKey('attachment'), props: { handlePaste: (_, event) => { return processFiles({ files: event.clipboardData.files, editor, ...this.options, }); }, handleDrop: (_, event) => { return processFiles({ files: event.dataTransfer.files, editor, ...this.options, }); }, }, }), ]; }, }); |