summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
authorWu Cheng-Han2015-09-25 18:05:50 +0800
committerWu Cheng-Han2015-09-25 18:05:50 +0800
commitfa957db272f0adb2d3bc1f881c91de9b1ccee6f0 (patch)
treebe7846fad8200e556fe709bbaa68a283270dce68 /public
parent11c4a0404e1542a40dfff3f4e13fe1db78829d07 (diff)
Updated updateView, now will updateHistory in editor changes event, support preventSyncScroll and workaround editor might scroll to no where on changes in the doc bottom
Diffstat (limited to '')
-rw-r--r--public/js/index.js7
-rw-r--r--public/js/syncscroll.js6
2 files changed, 12 insertions, 1 deletions
diff --git a/public/js/index.js b/public/js/index.js
index 244b6aa5..bfb793c2 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -1596,6 +1596,12 @@ editor.on('beforeChange', function (cm, change) {
break;
}
}
+editor.on('changes', function (cm, changes) {
+ updateHistory();
+ preventSyncScroll = true;
+ var scrollInfo = editor.getScrollInfo();
+ editor.scrollTo(null, scrollInfo.top - 1);
+ editor.scrollTo(null, scrollInfo.top);
});
editor.on('focus', function (cm) {
for (var i = 0; i < onlineUsers.length; i++) {
@@ -1731,7 +1737,6 @@ function updateViewInner() {
generateToc('toc-affix');
generateScrollspy();
smoothHashScroll();
- writeHistory(ui.area.markdown);
isDirty = false;
clearMap();
buildMap();
diff --git a/public/js/syncscroll.js b/public/js/syncscroll.js
index a9eafe48..143e668e 100644
--- a/public/js/syncscroll.js
+++ b/public/js/syncscroll.js
@@ -139,6 +139,8 @@ md.renderer.rules.code = function (tokens, idx /*, options, env */ ) {
return '<code>' + Remarkable.utils.escapeHtml(tokens[idx].content) + '</code>';
};
+var preventSyncScroll = false;
+
//var editorScrollThrottle = 100;
var buildMapThrottle = 100;
@@ -299,6 +301,10 @@ function getEditorLineNoByTop(top) {
function syncScrollToView(event, _lineNo) {
if (currentMode != modeType.both) return;
+ if (preventSyncScroll) {
+ preventSyncScroll = false;
+ return;
+ }
var lineNo, posTo;
var scrollInfo = editor.getScrollInfo();
if (!scrollMap || !lineHeightMap) {