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.
72 lines
2.0 KiB
JavaScript
72 lines
2.0 KiB
JavaScript
2 months ago
|
tinymce.PluginManager.add('kityformula-editor', function(editor, url) {
|
||
|
|
||
|
var baseURL = tinymce.baseURL+'/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",
|
||
|
};
|
||
|
}
|
||
|
};
|
||
|
});
|