mirror of
https://github.com/codex-team/editor.js
synced 2024-05-23 16:52:38 +02:00
9425e17598
1) improved blocks transmition. We can switch contenteditable elements by clicking arrow buttons. 2) Refactoring (Removing) blocks. When backspace key pressed and input is empty, we can remove from DOM this element
70 lines
1.2 KiB
JavaScript
70 lines
1.2 KiB
JavaScript
/**
|
|
* Code Plugin\
|
|
* Creates code tag and adds content to this tag
|
|
*/
|
|
var codeTool = {
|
|
|
|
baseClass : "tool-code",
|
|
|
|
/**
|
|
* Make initial header block
|
|
* @param {object} JSON with block data
|
|
* @return {Element} element to append
|
|
*/
|
|
make : function (data) {
|
|
|
|
var tag = document.createElement('code');
|
|
|
|
tag.classList += codeTool.baseClass;
|
|
|
|
if (data && data.text) {
|
|
tag.innerHTML = data.text;
|
|
}
|
|
|
|
tag.contentEditable = true;
|
|
|
|
return tag;
|
|
|
|
},
|
|
|
|
/**
|
|
* Method to render HTML block from JSON
|
|
*/
|
|
render : function (data) {
|
|
|
|
return codeTool.make(data);
|
|
|
|
},
|
|
|
|
/**
|
|
* Method to extract JSON data from HTML block
|
|
*/
|
|
save : function (block){
|
|
|
|
var data = {
|
|
text : null
|
|
};
|
|
|
|
data.text = blockData.textContent;
|
|
|
|
return data;
|
|
|
|
},
|
|
|
|
};
|
|
|
|
/**
|
|
* Now plugin is ready.
|
|
* Add it to redactor tools
|
|
*/
|
|
cEditor.tools.code = {
|
|
|
|
type : 'code',
|
|
iconClassname : 'ce-icon-code',
|
|
make : codeTool.make,
|
|
appendCallback : null,
|
|
settings : null,
|
|
render : codeTool.render,
|
|
save : codeTool.save
|
|
|
|
}; |