From fafbbfef87fbd6b1f5c35c993df0c33e876ac226 Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Mon, 19 Feb 2018 11:45:00 +0000 Subject: [PATCH] Fix bug where cursor position wouldn't be saved when switching documents This was caused by an underlying bug/poor optimisation where the aceEditor directive would be reconstructed every time when switching between documents. This wiped instances like CursorPositionManager which relies on keeping state between doc changes. Now the directive is only removed when switching between Ace and CM. This prevents other potential bugs and improves performance. --- services/web/app/views/project/editor/editor.pug | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/services/web/app/views/project/editor/editor.pug b/services/web/app/views/project/editor/editor.pug index d1e2938714..15da9cdedf 100644 --- a/services/web/app/views/project/editor/editor.pug +++ b/services/web/app/views/project/editor/editor.pug @@ -36,7 +36,8 @@ div.full-size( #editor( ace-editor="editor", - ng-if="!!editor.sharejs_doc && !editor.opening && !editor.richText" + ng-if="!editor.richText", + ng-show="!!editor.sharejs_doc && !editor.opening", theme="settings.theme", keybindings="settings.mode", font-size="settings.fontSize", @@ -69,8 +70,9 @@ div.full-size( if hasFeature('rich-text') #editor-rich-text( - cm-editor - ng-if="!editor.opening && editor.richText" + cm-editor, + ng-if="editor.richText" + ng-show="!!editor.sharejs_doc && !editor.opening" sharejs-doc="editor.sharejs_doc" )