From fde8ab422b8a116d43cadd11bddba7fe01e2ef77 Mon Sep 17 00:00:00 2001 From: Tim Down Date: Tue, 6 Dec 2022 14:51:59 +0000 Subject: [PATCH] Merge pull request #10794 from overleaf/td-resize-while-loading Ensure editor is the correct size after window resize during load GitOrigin-RevId: 0677ef6aa5d1dd7b6aea9158343b8ccbb3a6562b --- services/web/frontend/js/ide/LoadingManager.js | 1 + services/web/frontend/js/ide/directives/layout.js | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/services/web/frontend/js/ide/LoadingManager.js b/services/web/frontend/js/ide/LoadingManager.js index fcd3836d95..f63c1eeddb 100644 --- a/services/web/frontend/js/ide/LoadingManager.js +++ b/services/web/frontend/js/ide/LoadingManager.js @@ -17,6 +17,7 @@ class LoadingManager { this.$scope.$apply(() => { this.$scope.state.load_progress = 100 this.$scope.state.loading = false + this.$scope.$emit('editor:loaded') }) }) // Note: this will only catch errors in from i18n setup. ConnectionManager diff --git a/services/web/frontend/js/ide/directives/layout.js b/services/web/frontend/js/ide/directives/layout.js index 4349eaee5d..802b6a88ac 100644 --- a/services/web/frontend/js/ide/directives/layout.js +++ b/services/web/frontend/js/ide/directives/layout.js @@ -236,6 +236,12 @@ ng-click=\"handleClick()\">\ .$applyAsync(() => (customTogglerEl.scope().isOpen = false)) } + // Ensure editor resizes after loading. This is to handle the case where + // the window has been resized while the editor is loading + scope.$on('editor:loaded', () => { + ide.$timeout(() => layout.resizeAll()) + }) + // Save state when exiting $(window).unload(() => { // Save only the state properties for the current layout, ignoring sublayouts inside it.