handle destroy event in pdf page view and remove pending timeouts

This commit is contained in:
Brian Gough 2014-12-04 16:50:38 +00:00
parent f8c1c5b025
commit 4faac88065

View file

@ -89,6 +89,11 @@ define [
scope.$watch 'highlights', (highlights, oldVal) ->
return unless highlights?
return unless highlights.length > 0
if scope.timeoutHandler
$timeout.cancel(scope.timeoutHandler)
highlightsLayer.clearHighlights()
scope.timeoutHandler
# console.log 'got highlight watch in pdfPage', scope.page
pageHighlights = (h for h in highlights when h.page == scope.page.pageNum)
return unless pageHighlights.length
@ -97,12 +102,15 @@ define [
# console.log 'adding highlight', h, viewport
top = viewport.viewBox[3] - hl.v
highlightsLayer.addHighlight viewport, hl.h, top, hl.width, hl.height
$timeout () ->
scope.timeoutHandler = $timeout () ->
highlightsLayer.clearHighlights()
scope.timeoutHandler = null
, 1000
scope.$on "$destroy", () ->
console.log 'in destroy handler, TODO need to clean up timeout/highlights'
if scope.timeoutHandler
$timeout.cancel(scope.timeoutHandler)
highlightsLayer.clearHighlights()
}
]