From 967259048880db01aff0a6b3b8f71d28d817122b Mon Sep 17 00:00:00 2001 From: Alf Eaton Date: Fri, 1 Jul 2022 12:02:55 +0100 Subject: [PATCH] Merge pull request #8639 from overleaf/ae-loading-threads [cm6] Improve interaction between review panel and CM6 GitOrigin-RevId: 2f15a4821d4edfb5ee00013c74c7ae35fa59559c --- .../web/app/views/project/editor/editor-pane.pug | 2 +- .../web/app/views/project/editor/review-panel.pug | 2 +- .../controllers/ReviewPanelController.js | 13 ++++++++----- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/services/web/app/views/project/editor/editor-pane.pug b/services/web/app/views/project/editor/editor-pane.pug index 033103478f..e489a2cdb5 100644 --- a/services/web/app/views/project/editor/editor-pane.pug +++ b/services/web/app/views/project/editor/editor-pane.pug @@ -9,7 +9,7 @@ 'rp-size-mini': ui.miniReviewPanelVisible,\ 'rp-size-expanded': ui.reviewPanelOpen,\ 'rp-layout-left': reviewPanel.layoutToLeft,\ - 'rp-loading-threads': reviewPanel.loadingThreads,\ + 'rp-loading-threads': loadingThreads,\ }" ) diff --git a/services/web/app/views/project/editor/review-panel.pug b/services/web/app/views/project/editor/review-panel.pug index 7ad226593f..83e1f85ecd 100644 --- a/services/web/app/views/project/editor/review-panel.pug +++ b/services/web/app/views/project/editor/review-panel.pug @@ -159,7 +159,7 @@ on-delete="deleteComment(entry.thread_id, comment)" on-body-click="gotoEntry(editor.open_doc_id, entry)" permissions="permissions" - ng-if="!reviewPanel.loadingThreads" + ng-if="!loadingThreads" ) div(ng-if="entry.type === 'add-comment' && permissions.comment") diff --git a/services/web/frontend/js/ide/review-panel/controllers/ReviewPanelController.js b/services/web/frontend/js/ide/review-panel/controllers/ReviewPanelController.js index 3b4cf5e315..1d51cb20fc 100644 --- a/services/web/frontend/js/ide/review-panel/controllers/ReviewPanelController.js +++ b/services/web/frontend/js/ide/review-panel/controllers/ReviewPanelController.js @@ -96,7 +96,6 @@ export default App.controller( rendererData: {}, formattedProjectMembers: {}, fullTCStateCollapsed: true, - loadingThreads: false, // All selected changes. If a aggregated change (insertion + deletion) is selection, the two ids // will be present. The length of this array will differ from the count below (see explanation). selectedEntryIds: [], @@ -106,6 +105,8 @@ export default App.controller( entryHover: false, } + ide.$scope.loadingThreads = true + window.addEventListener('beforeunload', function () { const collapsedStates = {} for (const doc in $scope.reviewPanel.overview.docsCollapsedState) { @@ -319,13 +320,15 @@ export default App.controller( }) }) - $scope.$watch('reviewPanel.subView', function (view) { + $scope.$watch('reviewPanel.subView', function (view, oldView) { if (view == null) { return } updateScrollbar() if (view === $scope.SubViews.OVERVIEW) { return refreshOverviewPanel() + } else if (oldView === $scope.SubViews.OVERVIEW) { + dispatchReviewPanelEvent('overview-closed', view) } }) @@ -1193,12 +1196,12 @@ export default App.controller( return } _threadsLoaded = true - $scope.reviewPanel.loadingThreads = true + ide.$scope.loadingThreads = true return $http .get(`/project/${$scope.project_id}/threads`) .then(function (response) { const threads = response.data - $scope.reviewPanel.loadingThreads = false + ide.$scope.loadingThreads = false for (const thread_id in $scope.reviewPanel.resolvedThreadIds) { const _ = $scope.reviewPanel.resolvedThreadIds[thread_id] delete $scope.reviewPanel.resolvedThreadIds[thread_id] @@ -1212,10 +1215,10 @@ export default App.controller( thread.resolved_by_user = formatUser(thread.resolved_by_user) $scope.reviewPanel.resolvedThreadIds[thread_id] = true $scope.$broadcast('comment:resolve_threads', [thread_id]) - dispatchReviewPanelEvent('comment:resolve_threads', [thread_id]) } } $scope.reviewPanel.commentThreads = threads + dispatchReviewPanelEvent('loaded_threads') return $timeout(() => $scope.$broadcast('review-panel:layout')) }) }