Attempt to fix issue where | appears in editor after pressing enter

This commit is contained in:
vfbd 2022-09-26 13:57:44 -04:00
parent 6f6f22801b
commit ddc9be00d6
2 changed files with 17 additions and 14 deletions

View File

@ -1483,26 +1483,29 @@ function chunkOnBeforeInput(event) {
if(buildChunkSetFromNodeArray(getSelectedNodes()).size === 0) { if(buildChunkSetFromNodeArray(getSelectedNodes()).size === 0) {
var s = rangy.getSelection(); var s = rangy.getSelection();
var r = s.getRangeAt(0); var r = s.getRangeAt(0);
var rand = Math.random();
if(document.queryCommandSupported && document.execCommand && document.queryCommandSupported('insertHTML')) { if(document.queryCommandSupported && document.execCommand && document.queryCommandSupported('insertHTML')) {
document.execCommand('insertHTML', false, '<span id="_EDITOR_SENTINEL_">|</span>'); document.execCommand('insertHTML', false, '<span id="_EDITOR_SENTINEL_' + rand + '_">|</span>');
} else { } else {
var t = document.createTextNode('|'); var t = document.createTextNode('|');
var b = document.createElement('span'); var b = document.createElement('span');
b.id = "_EDITOR_SENTINEL_"; b.id = "_EDITOR_SENTINEL_" + rand + "_";
b.insertNode(t); b.insertNode(t);
r.insertNode(b); r.insertNode(b);
} }
var sentinel = document.getElementById("_EDITOR_SENTINEL_"); setTimeout(function() {
if(sentinel.nextSibling && sentinel.nextSibling.tagName === "CHUNK") { var sentinel = document.getElementById("_EDITOR_SENTINEL_" + rand + "_");
r.selectNodeContents(sentinel.nextSibling); if(sentinel.nextSibling && sentinel.nextSibling.tagName === "CHUNK") {
r.collapse(true); r.selectNodeContents(sentinel.nextSibling);
} else if(sentinel.previousSibling && sentinel.previousSibling.tagName === "CHUNK") { r.collapse(true);
r.selectNodeContents(sentinel.previousSibling); } else if(sentinel.previousSibling && sentinel.previousSibling.tagName === "CHUNK") {
r.collapse(false); r.selectNodeContents(sentinel.previousSibling);
} r.collapse(false);
s.removeAllRanges(); }
s.addRange(r); s.removeAllRanges();
sentinel.parentNode.removeChild(sentinel); s.addRange(r);
sentinel.parentNode.removeChild(sentinel);
}, 1);
} }
} }

View File

@ -17,7 +17,7 @@
<script src="static/bootstrap.min.js"></script> <script src="static/bootstrap.min.js"></script>
<script src="static/bootstrap-toggle.min.js"></script> <script src="static/bootstrap-toggle.min.js"></script>
<script src="static/rangy-core.min.js"></script> <script src="static/rangy-core.min.js"></script>
<script src="static/application.js?ver=1.18.1a"></script> <script src="static/application.js?ver=1.18.1d"></script>
</head> </head>
<body> <body>
<input type="file" id="remote-save-select" accept="application/json" style="display:none"> <input type="file" id="remote-save-select" accept="application/json" style="display:none">