diff options
Diffstat (limited to 'app/assets/javascripts/content_editor/services/create_editor.js')
-rw-r--r-- | app/assets/javascripts/content_editor/services/create_editor.js | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/app/assets/javascripts/content_editor/services/create_editor.js b/app/assets/javascripts/content_editor/services/create_editor.js deleted file mode 100644 index 128d332b0a2..00000000000 --- a/app/assets/javascripts/content_editor/services/create_editor.js +++ /dev/null @@ -1,60 +0,0 @@ -import { isFunction, isString } from 'lodash'; -import { Editor } from 'tiptap'; -import { - Bold, - Italic, - Code, - Link, - Image, - Heading, - Blockquote, - HorizontalRule, - BulletList, - OrderedList, - ListItem, -} from 'tiptap-extensions'; -import { PROVIDE_SERIALIZER_OR_RENDERER_ERROR } from '../constants'; -import CodeBlockHighlight from '../extensions/code_block_highlight'; -import createMarkdownSerializer from './markdown_serializer'; - -const createEditor = async ({ content, renderMarkdown, serializer: customSerializer } = {}) => { - if (!customSerializer && !isFunction(renderMarkdown)) { - throw new Error(PROVIDE_SERIALIZER_OR_RENDERER_ERROR); - } - - const editor = new Editor({ - extensions: [ - new Bold(), - new Italic(), - new Code(), - new Link(), - new Image(), - new Heading({ levels: [1, 2, 3, 4, 5, 6] }), - new Blockquote(), - new HorizontalRule(), - new BulletList(), - new ListItem(), - new OrderedList(), - new CodeBlockHighlight(), - ], - }); - const serializer = customSerializer || createMarkdownSerializer({ render: renderMarkdown }); - - editor.setSerializedContent = async (serializedContent) => { - editor.setContent( - await serializer.deserialize({ schema: editor.schema, content: serializedContent }), - ); - }; - - editor.getSerializedContent = () => { - return serializer.serialize({ schema: editor.schema, content: editor.getJSON() }); - }; - - if (isString(content)) { - await editor.setSerializedContent(content); - } - - return editor; -}; - -export default createEditor; |