You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
3.9 KiB
71 lines
3.9 KiB
2 weeks ago
|
require.config({
|
||
|
paths: {
|
||
|
'simditor': '../addons/simditor/js/simditor.min',
|
||
|
},
|
||
|
shim: {
|
||
|
'simditor': [
|
||
|
'css!../addons/simditor/css/simditor.min.css',
|
||
|
]
|
||
|
}
|
||
|
});
|
||
|
require(['form'], function (Form) {
|
||
|
var _bindevent = Form.events.bindevent;
|
||
|
Form.events.bindevent = function (form) {
|
||
|
_bindevent.apply(this, [form]);
|
||
|
if ($(Config.simditor.classname || '.editor', form).length > 0) {
|
||
|
//修改上传的接口调用
|
||
|
require(['upload', 'simditor'], function (Upload, Simditor) {
|
||
|
var editor, mobileToolbar, toolbar;
|
||
|
Simditor.locale = 'zh-CN';
|
||
|
Simditor.list = {};
|
||
|
toolbar = ['title', 'bold', 'italic', 'underline', 'strikethrough', 'fontScale', 'color', '|', 'ol', 'ul', 'blockquote', 'code', 'table', '|', 'link', 'image', 'hr', '|', 'indent', 'outdent', 'alignment'];
|
||
|
mobileToolbar = ["bold", "underline", "strikethrough", "color", "ul", "ol"];
|
||
|
$(Config.simditor.classname || '.editor', form).each(function () {
|
||
|
var id = $(this).attr("id");
|
||
|
editor = new Simditor({
|
||
|
textarea: this,
|
||
|
height: isNaN(Config.simditor.height) ? null : parseInt(Config.simditor.height),
|
||
|
minHeight: parseInt(Config.simditor.minHeight || 250),
|
||
|
toolbar: Config.simditor.toolbar || [],
|
||
|
mobileToolbar: Config.simditor.mobileToolbar || [],
|
||
|
toolbarFloat: parseInt(Config.simditor.toolbarFloat),
|
||
|
placeholder: Config.simditor.placeholder || '',
|
||
|
pasteImage: true,
|
||
|
defaultImage: Config.__CDN__ + '/assets/addons/simditor/images/image.png',
|
||
|
upload: {url: '/'},
|
||
|
allowedTags: ['div', 'br', 'span', 'a', 'img', 'b', 'strong', 'i', 'strike', 'u', 'font', 'p', 'ul', 'ol', 'li', 'blockquote', 'pre', 'code', 'h1', 'h2', 'h3', 'h4', 'hr'],
|
||
|
allowedAttributes: {
|
||
|
div: ['data-tpl', 'data-source', 'data-id'],
|
||
|
span: ['data-id']
|
||
|
},
|
||
|
allowedStyles: {
|
||
|
div: ['width', 'height', 'padding', 'background', 'color', 'display', 'justify-content', 'border', 'box-sizing', 'max-width', 'min-width', 'position', 'margin-left', 'bottom', 'left', 'margin', 'float'],
|
||
|
p: ['margin', 'color', 'height', 'line-height', 'position', 'width', 'border', 'bottom', 'float'],
|
||
|
span: ['text-decoration', 'color', 'margin-left', 'float', 'background', 'padding', 'margin-right', 'border-radius', 'font-size', 'border', 'float'],
|
||
|
img: ['vertical-align', 'width', 'height', 'object-fit', 'float', 'margin', 'float'],
|
||
|
a: ['text-decoration']
|
||
|
}
|
||
|
});
|
||
|
editor.uploader.on('beforeupload', function (e, file) {
|
||
|
Upload.api.send(file.obj, function (data) {
|
||
|
var url = Fast.api.cdnurl(data.url);
|
||
|
editor.uploader.trigger("uploadsuccess", [file, {success: true, file_path: url}]);
|
||
|
});
|
||
|
return false;
|
||
|
});
|
||
|
editor.on("blur", function () {
|
||
|
this.textarea.trigger("blur");
|
||
|
});
|
||
|
if (editor.opts.height) {
|
||
|
editor.body.css({height: editor.opts.height, 'overflow-y': 'auto'});
|
||
|
}
|
||
|
if (editor.opts.minHeight) {
|
||
|
editor.body.css({'min-height': editor.opts.minHeight});
|
||
|
}
|
||
|
Simditor.list[id] = editor;
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
});
|