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

load output files from cached build when known

Brian Gough 11 лет назад
Родитель
Сommit
caed778117
1 измененных файлов с 10 добавлено и 4 удалено
  1. 10 4
      services/web/public/coffee/ide/pdf/controllers/PdfController.coffee

+ 10 - 4
services/web/public/coffee/ide/pdf/controllers/PdfController.coffee

@@ -41,18 +41,22 @@ define [
 				$scope.pdf.failure = true
 				fetchLogs()
 			else if response.status == "success"
+				# define the base url
 				$scope.pdf.url = "/project/#{$scope.project_id}/output/output.pdf?cache_bust=#{Date.now()}"
+				# add a query string parameter for the compile group
 				if response.compileGroup?
 					$scope.pdf.compileGroup = response.compileGroup
 					$scope.pdf.url = $scope.pdf.url + "&compileGroup=#{$scope.pdf.compileGroup}"
+				# make a cache to look up files by name
 				fileByPath = {}
 				for file in response.outputFiles
 					fileByPath[file.path] = file
+				# if the pdf file has a build number, pass it to the clsi
 				if fileByPath['output.pdf']?.build?
 					build = fileByPath['output.pdf'].build
 					$scope.pdf.url = $scope.pdf.url + "&build=#{build}"
 
-				fetchLogs()
+				fetchLogs(fileByPath['output.log'])
 
 			IGNORE_FILES = ["output.fls", "output.fdb_latexmk"]
 			$scope.pdf.outputFiles = []
@@ -65,8 +69,9 @@ define [
 						file.name = file.path
 					$scope.pdf.outputFiles.push file
 
-		fetchLogs = () ->
-			$http.get "/project/#{$scope.project_id}/output/output.log"
+		fetchLogs = (outputFile) ->
+			qs = if outputFile?.build? then "?build=#{outputFile.build}" else ""
+			$http.get "/project/#{$scope.project_id}/output/output.log" + qs
 				.success (log) ->
 					$scope.pdf.rawLog = log
 					logEntries = LogParser.parse(log, ignoreDuplicates: true)
@@ -156,7 +161,8 @@ define [
 			$scope.pdf.showRawLog = !$scope.pdf.showRawLog
 
 		$scope.openOutputFile = (file) ->
-			window.open("/project/#{$scope.project_id}/output/#{file.path}")
+			qs = if file.build? then "?build=#{file.build}" else ""
+			window.open("/project/#{$scope.project_id}/output/#{file.path}#{qs}")
 
 		$scope.openClearCacheModal = () ->
 			modalInstance = $modal.open(