From 20b624bbd1923cbb6fd0499e8bd7a30f0f63a61b Mon Sep 17 00:00:00 2001 From: Jessica Lawshe Date: Wed, 27 Jul 2022 08:24:16 -0500 Subject: [PATCH] Merge pull request #8804 from overleaf/jel-rich-text-pos [web] Fix stored rich text position GitOrigin-RevId: 7ef916919220d63d88f66ee261f91a5af08dcefb --- .../web/frontend/js/ide/binary-files/BinaryFilesManager.js | 5 +++++ services/web/frontend/js/ide/editor/EditorManager.js | 4 ++++ .../aceEditor/cursor-position/CursorPositionManager.js | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/services/web/frontend/js/ide/binary-files/BinaryFilesManager.js b/services/web/frontend/js/ide/binary-files/BinaryFilesManager.js index 51a9cc7cc5..7345f8ba30 100644 --- a/services/web/frontend/js/ide/binary-files/BinaryFilesManager.js +++ b/services/web/frontend/js/ide/binary-files/BinaryFilesManager.js @@ -25,6 +25,11 @@ export default BinaryFilesManager = class BinaryFilesManager { } openFile(file) { + if (this.$scope.ui.view === 'editor') { + // store position before switching to binary view + this.$scope.$broadcast('store-doc-position') + } + this.ide.fileTreeManager.selectEntity(file) if (this.$scope.ui.view !== 'history') { this.$scope.ui.view = 'file' diff --git a/services/web/frontend/js/ide/editor/EditorManager.js b/services/web/frontend/js/ide/editor/EditorManager.js index fff96dbd00..716b384534 100644 --- a/services/web/frontend/js/ide/editor/EditorManager.js +++ b/services/web/frontend/js/ide/editor/EditorManager.js @@ -201,6 +201,10 @@ export default EditorManager = (function () { options = {} } sl_console.log(`[openDoc] Opening ${doc.id}`) + if (this.$scope.ui.view === 'editor') { + // store position of previous doc before switching docs + this.$scope.$broadcast('store-doc-position') + } this.$scope.ui.view = 'editor' const done = isNewDoc => { diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor/cursor-position/CursorPositionManager.js b/services/web/frontend/js/ide/editor/directives/aceEditor/cursor-position/CursorPositionManager.js index 3f49ebc873..0bb13e655f 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor/cursor-position/CursorPositionManager.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor/cursor-position/CursorPositionManager.js @@ -24,7 +24,7 @@ export default CursorPositionManager = class CursorPositionManager { this.localStorage = localStorage this.$scope.$on('editorInit', this.jumpToPositionInNewDoc) - this.$scope.$on('beforeChangeDocument', this.storePositionAndLine) + this.$scope.$on('store-doc-position', this.storePositionAndLine) this.$scope.$on('afterChangeDocument', this.jumpToPositionInNewDoc)