Przeglądaj źródła

remove per-page $watch on default page size in pdf viewer

Brian Gough 11 lat temu
rodzic
commit
2e021b64d8

+ 10 - 6
services/web/public/coffee/ide/pdfng/directives/pdfPage.coffee

@@ -56,8 +56,16 @@ define [
 				# parent with scope.pages[i].element
 				# parent with scope.pages[i].element
 				scope.page.element = element
 				scope.page.element = element
 
 
-				if (!scope.page.sized && scope.defaultPageSize)
-					updatePageSize scope.defaultPageSize
+				if !scope.page.sized
+					if scope.defaultPageSize?
+						updatePageSize scope.defaultPageSize
+					else
+						# shouldn't get here - the default page size should now
+						# always be set before redraw is called
+						handler = scope.$watch 'defaultPageSize', (defaultPageSize) ->
+							return unless defaultPageSize?
+							updatePageSize defaultPageSize
+							handler()
 
 
 				if scope.page.current
 				if scope.page.current
 						# console.log 'we must scroll to this page', scope.page.pageNum, 'at position', scope.page.position
 						# console.log 'we must scroll to this page', scope.page.pageNum, 'at position', scope.page.position
@@ -65,10 +73,6 @@ define [
 						# this is the current page, we want to scroll it into view
 						# this is the current page, we want to scroll it into view
 						ctrl.setPdfPosition(scope.page, scope.page.position)
 						ctrl.setPdfPosition(scope.page, scope.page.position)
 
 
-				scope.$watch 'defaultPageSize', (defaultPageSize) ->
-					return unless defaultPageSize?
-					updatePageSize defaultPageSize
-
 				watchHandle = scope.$watch 'containerSize', (containerSize, oldVal) ->
 				watchHandle = scope.$watch 'containerSize', (containerSize, oldVal) ->
 					return unless containerSize?
 					return unless containerSize?
 					return unless scope.page.sized
 					return unless scope.page.sized