lihai-oa/public/static/assets/gougu/module/tinymce.js

94 lines
4.0 KiB
JavaScript

layui.define([], function (exports) {
var MOD_NAME = 'tinymce';
var modFile = layui.cache.modules['tinymce'];
var modPath = modFile.substr(0, modFile.lastIndexOf('.'));
var plugin_filename = 'tinymce.min.js'//插件名称
var settings = {
base_url:modPath,
images_upload_url: '/admin/api/upload/sourse/tinymce',//图片上传接口
images_upload_credentials:true,
placeholder: '请输入内容...',
language: 'zh_CN',//语言
suffix: '.min',
selector: '#gouguedit',
quickbars_insert_toolbar:'',
quickbars_selection_toolbar: 'cut copy | bold italic underline strikethrough ',
plugins: 'code quickbars print preview searchreplace autolink fullscreen codesample table charmap hr advlist lists wordcount imagetools paste',
toolbar: 'code undo redo | forecolor backcolor bold italic underline strikethrough removeformat | alignleft aligncenter alignright alignjustify outdent indent | bullist numlist table blockquote codesample | formatselect fontselect fontsizeselect',
// link image media
resize: false,
elementpath: false,
branding: false,
statusbar: false,
convert_urls: false,// 附件路径无需要转换为相对路径。
contextmenu_never_use_native: true,
paste_data_images: true,
menubar: 'file edit insert format table',
menu: {
file: { title: '文件', items: 'preview fullscreen | wordcount' },
edit: { title: '编辑', items: 'undo redo | cut copy paste pastetext selectall | searchreplace' },
format: {
title: '格式',
items: 'bold italic underline strikethrough superscript subscript | formats | forecolor backcolor | removeformat'
},
table: { title: '表格', items: 'inserttable tableprops deletetable | cell row column' },
},
codesample_languages: [
{text: 'HTML', value: 'html'},
{text: 'JavaScript', value: 'javascript'},
{text: 'CSS', value: 'css'},
{text: 'PHP', value: 'php'},
{text: 'Java', value: 'java'},
{text: 'Shell', value: 'shell'},
{text: 'SQL', value: 'sql'},
{text: 'JOSN', value: 'json'},
{text: 'Python', value: 'python'},
{text: 'XML', value: 'xml'},
{text: 'Golang', value: 'go'},
{text: 'Objective-c', value: 'objective-c'},
],
fontsize_formats: '12px 14px 16px 18px 24px 36px 48px 56px 72px',
font_formats: '微软雅黑=Microsoft YaHei,Helvetica Neue,PingFang SC,sans-serif;苹果苹方=PingFang SC,Microsoft YaHei,sans-serif;宋体=simsun,serif;仿宋体=FangSong,serif;黑体=SimHei,sans-serif;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats;知乎配置=BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;小米配置=Helvetica Neue,Helvetica,Arial,Microsoft Yahei,Hiragino Sans GB,Heiti SC,WenQuanYi Micro Hei,sans-serif',
setup: function(editor) {
console.log("ID为: " + editor.id + " 的编辑器即将初始化.");
},
init_instance_callback : function(editor) {
console.log("ID为: " + editor.id + " 的编辑器已初始化完成.");
}
};
var editor = {
render: function (options) {
loadScript();
var opts = $.extend({}, settings, options), edit = this.get(opts.elem);
if (edit) {
edit.destroy();
}
tinymce.init(opts);
return this.get(opts.elem);
},
// 获取ID对应的编辑器对象
get: function (elem) {
loadScript();
if (elem && /^#|\./.test(elem)) {
var id = elem.substr(1);
var edit = tinymce.editors[id];
return edit;
} else {
return false;
}
}
}
function loadScript() {
if (typeof tinymce == 'undefined') {
$.ajax({//获取插件
url: modPath + '/' + plugin_filename,
dataType: 'script',
cache: true,
async: false,
});
}
}
exports(MOD_NAME, editor);
});