X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/9135a85de4eef32a91c7a3ee0aa405ed454e5a4c..refs/pull/5052/head:/resources/js/components/wysiwyg-editor.js diff --git a/resources/js/components/wysiwyg-editor.js b/resources/js/components/wysiwyg-editor.js index 976dba68f..82f60827d 100644 --- a/resources/js/components/wysiwyg-editor.js +++ b/resources/js/components/wysiwyg-editor.js @@ -1,22 +1,18 @@ -import {build as buildEditorConfig} from "../wysiwyg/config"; -import {Component} from "./component"; +import {buildForEditor as buildEditorConfig} from '../wysiwyg/config'; +import {Component} from './component'; export class WysiwygEditor extends Component { setup() { this.elem = this.$el; - this.pageId = this.$opts.pageId; - this.textDirection = this.$opts.textDirection; - this.isDarkMode = document.documentElement.classList.contains('dark-mode'); - this.tinyMceConfig = buildEditorConfig({ language: this.$opts.language, containerElement: this.elem, - darkMode: this.isDarkMode, - textDirection: this.textDirection, + darkMode: document.documentElement.classList.contains('dark-mode'), + textDirection: this.$opts.textDirection, drawioUrl: this.getDrawIoUrl(), - pageId: Number(this.pageId), + pageId: Number(this.$opts.pageId), translations: { imageUploadErrorText: this.$opts.imageUploadErrorText, serverUploadLimitText: this.$opts.serverUploadLimitText, @@ -25,7 +21,9 @@ export class WysiwygEditor extends Component { }); window.$events.emitPublic(this.elem, 'editor-tinymce::pre-init', {config: this.tinyMceConfig}); - window.tinymce.init(this.tinyMceConfig); + window.tinymce.init(this.tinyMceConfig).then(editors => { + this.editor = editors[0]; + }); } getDrawIoUrl() { @@ -36,4 +34,15 @@ export class WysiwygEditor extends Component { return ''; } -} \ No newline at end of file + /** + * Get the content of this editor. + * Used by the parent page editor component. + * @return {{html: String}} + */ + getContent() { + return { + html: this.editor.getContent(), + }; + } + +}