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

poll the element for the pdf viewer if it is zero size

avoid invisible pdf forever waiting for layout-ready event when
switching between full-screen and split-screen
Brian Gough 12 лет назад
Родитель
Сommit
50e03e93ba
1 измененных файлов с 11 добавлено и 6 удалено
  1. 11 6
      services/web/public/coffee/ide/pdfng/directives/pdfViewer.coffee

+ 11 - 6
services/web/public/coffee/ide/pdfng/directives/pdfViewer.coffee

@@ -249,15 +249,20 @@ define [
 							spinner.remove(element)
 							ctrl.redraw(origposition)
 
-				scope.$on 'layout-ready', () ->
-					# console.log 'GOT LAYOUT READY EVENT'
-					# console.log 'calling refresh'
+				checkElementReady = () ->
+					# if element is zero-sized keep checking until it is ready
 					if element.height() == 0 or element.width() == 0
-						# if element is zero-sized keep checking until it is ready
 						$timeout () ->
-							scope.$broadcast 'layout-ready'
+							checkElementReady()
 						, 250
-						return
+					else
+						scope.$broadcast 'layout-ready' if !scope.parentSize?
+
+				checkElementReady()
+
+				scope.$on 'layout-ready', () ->
+					# console.log 'GOT LAYOUT READY EVENT'
+					# console.log 'calling refresh'
 					updateContainer()
 					spinner.add(element)
 					layoutReady.resolve 'layout is ready'