mirror of
https://github.com/codex-team/editor.js
synced 2024-06-02 14:02:17 +02:00
saving caret position
This commit is contained in:
parent
a2493372f6
commit
2e5c571f88
|
@ -211,6 +211,9 @@ cEditor.ui = {
|
|||
/** Mouse click to radactor */
|
||||
cEditor.nodes.redactor.addEventListener('click', function (event) {
|
||||
cEditor.callback.redactorClicked(event);
|
||||
|
||||
cEditor.content.saveCaretPosition();
|
||||
|
||||
}, false );
|
||||
|
||||
/** Any redactor changes: keyboard input, mouse cut/paste, drag-n-drop text */
|
||||
|
@ -385,15 +388,17 @@ cEditor.content = {
|
|||
saveCaretPosition () {
|
||||
|
||||
var selection = window.getSelection();
|
||||
|
||||
var previousElement = selection.anchorNode.previousSibling,
|
||||
parent = selection.anchorNode.parentElement;
|
||||
nodeIndex = 0;
|
||||
|
||||
while (previousElement != null) {
|
||||
while (previousElement != null) {
|
||||
|
||||
nodeIndex ++;
|
||||
previousElement = previousElement.previousSibling;
|
||||
nodeIndex ++;
|
||||
previousElement = previousElement.previousSibling;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
this.caretOffset = selection.anchorOffset;
|
||||
this.focusedNodeIndex = nodeIndex;
|
||||
|
@ -422,11 +427,6 @@ cEditor.content = {
|
|||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
|
||||
/**
|
||||
* set caret to default posilion
|
||||
*/
|
||||
this.focusedNodeIndex = null;
|
||||
this.caretOffset = null;
|
||||
},
|
||||
|
||||
getNodeFocused : function() {
|
||||
|
@ -484,13 +484,7 @@ cEditor.content = {
|
|||
* Make new node with original content
|
||||
*/
|
||||
var nodeCreated = cEditor.draw.block(newBlockTagname, targetBlock.innerHTML);
|
||||
|
||||
/**
|
||||
* Get caret position before we change block
|
||||
*/
|
||||
cEditor.content.saveCaretPosition();
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* If it is a first-level node, replace as-is.
|
||||
*/
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<meta charset="utf-8">
|
||||
<title>CodeX Editor</title>
|
||||
<link rel="stylesheet" href="editor.css" />
|
||||
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,400italic,600,700,800&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
|
||||
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,400italic,600,700,800&subset=latin,cyrillic' rel='stylesheet' type='text/css' async=true>
|
||||
<style>
|
||||
body{
|
||||
font-family: 'Open Sans';
|
||||
|
@ -29,7 +29,10 @@
|
|||
<p>На днях я получил очередной проект по разработке личного кабинета.<br> Как обычно, я открыл консоль, чтобы посмотреть историю проекта, ветки и все ли правки закомичены (от слова commit - фиксировать). Однако ничего из этого я не узнал — проект не содержал .git репозитория.<br> Эта ситуация в очередной раз заставила задуматься о том, как много разработчиков до сих пор не понимают необходимость контролировать изменения в файлах с исходным кодом. А многие и вовсе не знают что это такое, и как этим пользоваться.</p>
|
||||
|
||||
<h2>Почему нужно использовать систему контроля версий</h2>
|
||||
<p>Основные преимущества:</p>
|
||||
<p>
|
||||
<code>Основные преимущества:</code>
|
||||
<address>sdfsdfsdf</address>
|
||||
</p>
|
||||
<ul>
|
||||
<li>одновременная работа нескольких человек над проектом</li>
|
||||
<li>возможность быстро обнаружить и откатить, все не зафиксированные изменения</li>
|
||||
|
|
Loading…
Reference in a new issue