Merge pull request #8639 from overleaf/ae-loading-threads

[cm6] Improve interaction between review panel and CM6

GitOrigin-RevId: 2f15a4821d4edfb5ee00013c74c7ae35fa59559c
This commit is contained in:
Alf Eaton 2022-07-01 12:02:55 +01:00 committed by Copybot
parent 58fe248968
commit 78df903b69
3 changed files with 10 additions and 7 deletions

View file

@ -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,\
}"
)

View file

@ -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")

View file

@ -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'))
})
}