You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
2.1 KiB
JavaScript

2 months ago
tinymce.PluginManager.add('kityformula-editor', function(editor, url) {
// var baseURL = tinymce.baseURL+'/plugins/kityformula-editor/kityFormula.html'; // 该路径是把tinymce放在static的文件夹中
var baseURL = tinymce.documentBaseURL+'/tinymce/plugins/kityformula-editor/kityFormula.html';
editor.on('dblclick',function(){
var sel=editor.selection.getContent();
var path=/\<img(.*?)src="data:image\/png;base64,[A-Za-z0-9+/=]*"(.*?)data-latex="(.*?)" \/>/g;
var path2=/data-latex="(.*?)"/g;
if(sel.search(path)==0){
sel.replace(path2,function($0,$1){
var param=encodeURIComponent($1);
openDialog(param);
return $0;
});
};
});
var openDialog = function(param) {
return editor.windowManager.openUrl({
title: '插入公式',
size: 'large',
width: 785,
height: 475,
url:param?baseURL+"?c="+param:baseURL,
buttons: [
{
type: 'cancel',
text: 'Close'
},
{
type: 'custom',
text: 'Save',
name: 'save',
primary: true
},
],
onAction: function (api, details) {
switch (details.name) {
case 'save':
api.sendMessage("save");
break;
default:
break;
};
}
});
};
editor.ui.registry.addButton('kityformula-editor', {
text: '公式',
tooltip: '插入公式',
onAction: function() {
openDialog();
}
});
editor.ui.registry.addMenuItem('kityformula-editor', {
text: '公式',
onAction: function() {
openDialog();
}
});
return {
getMetadata: function() {
return {
name: "公式",
url: "http://hgcserver.gitee.io",
};
}
};
});