vue tiny编辑器配置

/*
编辑器 页面上使用:
 <Editor id="tinymce" v-model="ruleForm.body" :init="editorInit"></Editor>
data() {
      return {
        tinymceHtml:'',
      }
    }
*/
import tinymce from "tinymce/tinymce";
import "tinymce/themes/silver/theme";
import Editor from "@tinymce/tinymce-vue";
import "tinymce/plugins/image";
import "tinymce/plugins/link";
import "tinymce/plugins/code";
import "tinymce/plugins/table";
import "tinymce/plugins/lists";
import "tinymce/plugins/contextmenu";
import "tinymce/plugins/wordcount";
import "tinymce/plugins/colorpicker";
import "tinymce/plugins/textcolor";
import "tinymce/plugins/fullscreen";
import galleryPlugin from 'md-element-ui/packages/editor/src/plugins/gallery/plugin';

export default {
    data() {
        return {
            galleryPluginInstance: null,
            editorInit: {
                content_css: false,
                language_url: (window.staticResourceURLPrefix || '') + "/tinymce/langs/zh_CN.js", // 语言包的路径
                language: "zh_CN", //语言
                skin_url: (window.staticResourceURLPrefix || '') + "/tinymce/skins/ui/oxide", // skin路径
                width: 900,
                height: 500, //编辑器高度
                branding: false, //是否禁用“Powered by TinyMCE”
                menubar: false, //顶部菜单栏显示
                plugins: "link lists code table colorpicker textcolor wordcount contextmenu gallery fullscreen",
                toolbar: "bold italic  underline strikethrough | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink code | removeformat | gallery fullscreen",
                toolbar_drawer: false,
                content_style: '.mce-content-body img { max-width: 100%; }',
                images_upload_url: "/demo/upimg.php",
                images_upload_base_path: "/demo",
                fontsize_formats: '11px 12px 13px 14px 15px 16px 18px 24px 36px 48px'
            }
        };
    },
    components: { Editor },
    methods: {
        galleryToolbarClickHandler() {
            this.$data.isForPickUpCover = false;
            this.$refs.pictureGallery.open();
        },

        formatImages(list = []) {
            let result = [];
            for (let [index, image] of list.entries()) {
                result[index] = {
                    src: {
                        value: image.imgurl
                    },
                    dimensions: {
                        width: 'auto',
                        height: 'auto'
                    },
                    hspace: image.imgwidth,
                    vspace: image.imgheight,
                    border: 0,
                    borderStyle: '',
                    caption: false,
                    classes: '',
                    style: '',
                    alt: '',
                    title: ''
                };
            }
            return result;
        },

        installGalleryPlugin() {
            let self = this;
            if (self.$data.editorInit.plugins.indexOf('gallery') !== -1) {
                galleryPlugin.install(function() {
                    self.galleryToolbarClickHandler();
                });

                self.$data.galleryPluginInstance = galleryPlugin;
            }
        },

        addImagesToEditor(images) {
            this.$data.galleryPluginInstance &&
                this.$data.galleryPluginInstance.insertIntoEditor(this.formatImages(images));
        }
    }
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值