Просмотр исходного кода

Merge branch 'ja-track-changes' of github.com:sharelatex/web-sharelatex into ja-track-changes

Conflicts:
	public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee
James Allen 9 лет назад
Родитель
Сommit
35bdb4383a

+ 7 - 2
services/web/app/views/project/editor/review-panel.jade

@@ -4,6 +4,8 @@
 			entries="reviewPanel.entries"
 			threads="reviewPanel.commentThreads"
 			docs="docs"
+			on-open="refreshResolvedCommentsDropdown();"
+			is-loading="reviewPanel.dropdown.loading"
 		)
 		span.review-panel-toolbar-label(ng-click="editor.wantTrackChanges = true;", ng-if="editor.wantTrackChanges === false") Track Changes is 
 			strong off
@@ -50,7 +52,7 @@
 	.rp-entry-list(
 		ng-if="reviewPanel.subView === SubViews.OVERVIEW"
 	)
-		.rp-overview-loading(ng-if="reviewPanel.overview.loading")
+		.rp-loading(ng-if="reviewPanel.overview.loading")
 			i.fa.fa-spinner.fa-spin
 		.rp-overview-file(
 			ng-repeat="doc in docs"
@@ -249,13 +251,16 @@ script(type='text/ng-template', id='resolvedCommentsDropdownTemplate')
 		//- )
 		a.resolved-comments-toggle(
 			href
-			ng-click="state.isOpen = !state.isOpen"
+			ng-click="toggleOpenState();"
 		) 
 			i.fa.fa-inbox
 		.resolved-comments-dropdown(
 			ng-class="{ 'resolved-comments-dropdown-open' : state.isOpen }"
 		)
+			.rp-loading(ng-if="isLoading")
+				i.fa.fa-spinner.fa-spin
 			div(
+				ng-if="!isLoading"
 				ng-repeat="doc in docs"
 			)
 				resolved-comment-entry(

+ 20 - 9
services/web/public/coffee/ide/review-panel/controllers/ReviewPanelController.coffee

@@ -18,6 +18,8 @@ define [
 			openSubView: $scope.SubViews.CUR_FILE
 			overview:
 				loading: false
+			dropdown:
+				loading: false
 			commentThreads: {}
 
 		$scope.commentState =
@@ -70,11 +72,7 @@ define [
 				$reviewPanelEl.css "right", "#{ scrollbar.scrollbarWidth }px"
 			else
 				$reviewPanelEl.css "right", "0"
-		
-		$scope.$watch "reviewPanel.subView", (subView) ->
-			return if !subView?
-			updateScrollbar()
-		
+
 		$scope.$watch "ui.reviewPanelOpen", (open) ->
 			return if !open?
 			if !open
@@ -87,6 +85,7 @@ define [
 		
 		$scope.$watch "reviewPanel.subView", (view) ->
 			return if !view?
+			updateScrollbar()
 			if view == $scope.SubViews.OVERVIEW
 				refreshOverviewPanel()
 
@@ -133,8 +132,7 @@ define [
 			getChangeTracker(doc.doc_id).setIdSeed(new_id)
 			doc.setTrackChangesIdSeeds({pending: new_id, inflight: old_id})
 		
-		refreshOverviewPanel = () ->
-			$scope.reviewPanel.overview.loading = true
+		refreshRanges = () ->
 			$http.get "/project/#{$scope.project_id}/ranges"
 				.success (docs) ->
 					for doc in docs
@@ -143,10 +141,23 @@ define [
 							rangesTracker.comments = doc.ranges?.comments or []
 							rangesTracker.changes = doc.ranges?.changes or []
 							updateEntries(doc.id)
+
+		refreshOverviewPanel = () ->
+			$scope.reviewPanel.overview.loading = true
+			refreshRanges()
+				.then () ->
 					$scope.reviewPanel.overview.loading = false
-				.error (error) ->
+				.catch () ->
 					$scope.reviewPanel.overview.loading = false
-		
+
+		$scope.refreshResolvedCommentsDropdown = () ->
+			$scope.reviewPanel.dropdown.loading = true
+			refreshRanges()
+				.then () ->
+					$scope.reviewPanel.dropdown.loading = false
+				.catch () ->
+					$scope.reviewPanel.dropdown.loading = false
+
 		updateEntries = (doc_id) ->
 			rangesTracker = getChangeTracker(doc_id)
 			entries = getDocEntries(doc_id)

+ 12 - 3
services/web/public/coffee/ide/review-panel/directives/resolvedCommentsDropdown.coffee

@@ -5,13 +5,22 @@ define [
 		restrict: "E"
 		templateUrl: "resolvedCommentsDropdownTemplate"
 		scope: 
-			entries : "="
-			threads : "="
-			docs	: "="
+			entries 	: "="
+			threads 	: "="
+			docs		: "="
+			onOpen		: "&"
+			isLoading	: "="
+
 		link: (scope, element, attrs) ->
 			scope.state = 
 				isOpen: false
 
+			scope.toggleOpenState = () ->
+				scope.state.isOpen = !scope.state.isOpen
+				if (scope.state.isOpen)
+					console.log('will call stuff')
+					scope.onOpen()
+
 			scope.resolvedCommentsPerFile = {}
 
 			filterResolvedComments = () ->

+ 7 - 5
services/web/public/stylesheets/app/editor/review-panel.less

@@ -137,7 +137,6 @@
 		bottom: 0;
 	}
 	
-	
 	.rp-state-overview & {
 		flex-grow: 2;
 		overflow-y: auto;
@@ -314,7 +313,7 @@
 	.rp-entry-actions {
 		display: flex;
 
-		.rp-state-overview & {
+		.rp-state-overview .rp-entry-list & {
 			display: none;
 		}
 	}
@@ -336,14 +335,12 @@
 		line-height: 1.4;
 		border-bottom: solid 1px @rp-border-grey;
 
-
-
 		&:last-child {
 			margin-bottom: 2px;
 			border-bottom-width: 0;
 		}
 
-		.rp-state-overview & {
+		.rp-state-overview .rp-entry-list & {
 			margin: 4px 5px;
 
 			&:first-child {
@@ -501,6 +498,11 @@
 	text-align: center;
 }
 
+.rp-loading {
+	text-align: center;
+	padding: 5px;
+}
+
 .rp-nav {
 	display: flex;
 	flex-shrink: 0;