Я пытаюсь написать собственный плагин для CKEditor. Цель состоит в том, чтобы щелкнуть кнопку на панели инструментов, которая открывает диалог. В диалоговом окне есть элемент textArea
, который должен быть заменен экземпляром CodeMirror.Заменить элемент в диалоговом окне CKEditor после события onShow
Я пришел так далеко, что открывается диалоговое окно, и я могу захватить textArea
и заменить его. Но он выглядит дерьмовым и не имеет функциональности. Кроме того, в консоли нет ошибок.
Я не могу понять, почему это не работает.
plugin.js
, который начинается, когда ударился кнопка плагина
CKEDITOR.plugins.add('abbr', {
icons: 'abbr',
init: function(editor) {
editor.addCommand('abbr',new CKEDITOR.dialogCommand('abbrDialog'));
// Create a toolbar button that executes the plugin command.
editor.ui.addButton('Abbr', {
label: 'Insert SourceCode',
command: 'abbr',
toolbar: 'insert'
});
CKEDITOR.dialog.add('abbrDialog', function (editor) {
return {
title : 'Insert SourceCode',
minWidth : 700,
minHeight : 300,
contents : [{
id : 'tab1',
label : 'label1',
elements :
[{
type : 'html',
html: '<textarea id="codeEditor"></textarea>',
id : 'codeEditor',
label : 'CodeEditor',
}]
}],
onShow : replacaByCodeMirror,
onOk : saveActionFunc
};
});
}
});
function replacaByCodeMirror() {
var codeEditor = CodeMirror.fromTextArea(document.getElementById("codeEditor"), {
mode : "mixedMode",
theme : "default"
});
}
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<script src="../ckeditor.js"></script>
<script src="../plugins/codemirror/js/codemirror.js"></script></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css"/>
<link rel="stylesheet" href="../plugins/codemirror/css/codemirror.css"/>
<link rel="stylesheet" href="../plugins/codemirror/css/myStyle.css">
</head>
<body>
<form>
<textarea name="editor1" id="editor1" rows="10" cols="80">
StartWort
</textarea>
<script>
var editor = CKEDITOR.replace('editor1');
</script>
</form>
</body>
</html>
Скриншот: Dialog Screenshot