Skip to content

wbeater/ckeditor5-vuejs

Repository files navigation

"optionalDependencies": { "canvas": "", "fabric": "", "grapesjs-style-gradient": "", "grapesjs-tui-image-editor-custom": "", "jsdom": "", "xmldom": "" },

==Install==

npm i --save ckeditor5-vuejs

==How to use: ==

<template>
    <ckeditor :config="editorConfig" v-model="post.content" @ready="onReady"></ckeditor>
</template>

<script>
import 'ckeditor5-vuejs/dist/ckeditor.css';
import {CKEditor, AutosavePlugin, MediaEmbedPlugin, UploaderPlugin} from 'ckeditor5-vuejs';

export default {
    data() {
        return {
            post: {
                content: ''
            },
            editorConfig: {
                toolbar: {
                    viewportTopOffset : 50,    //<-- height of fixed header
                    items: [
                        "heading", "|", "fontsize", "fontfamily", "|", "bold", "italic", "underline", "strikethrough", "highlight", "|", "alignment", "|", 
                        "numberedList", "bulletedList", "|", "link", "blockquote", "imageUpload", "insertTable", "mediaEmbed", "|", "undo", "redo",
                        'affBox', 'insertMedia', 'spinText',
                    ],
                },
                allowedContent: true,
                // extraAllowedContent: '*(*);*{*}',
                extraPlugins: null,
                autosave: {
                    waitingTime: 60000,
                    save: (editor) => {
                        this.autosave();
                    }
                },
            } 
        }
    }
    components: {
        ckeditor: CKEditor
    },

    created() {
        this.editorConfig.extraPlugins = [AutosavePlugin, UploaderPlugin(this.onUploadImage)];
    },

    methods: {
        async onUploadImage(loader, cancelSource) {
            // upload file
            return {source_url: 'https://uploaded_image_url'};
        },

        onReady( editor ) {
            // Insert the toolbar before the editable area.
            editor.ui.getEditableElement().parentElement.insertBefore(
                editor.ui.view.toolbar.element,
                editor.ui.getEditableElement()
            );
        },

        autosave() {
            (async () => {

            });
        }
    }
}
</script>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published