Commit graph

160 commits

Author SHA1 Message Date
Henry Oswald
7d109ce77d null check error in pdf view 2015-04-23 10:40:11 +01:00
Brian Gough
52b041c0bf update pdf text layer builder with improvements from pdfjs 1.0.1040 2015-03-31 14:55:05 +01:00
Brian Gough
b893446b9c use new pdfjs getDestination method in pdfRenderer
gives faster lookup of link destinations in pdf file
2015-03-31 14:54:36 +01:00
Brian Gough
0684fa36fd upgrade pdfjs to version 1.0.1040 2015-03-31 14:53:27 +01:00
Brian Gough
3bdf2158c1 avoid exception on page size change 2015-03-19 14:26:06 +00:00
Brian Gough
8d092fc84d replace .filter with _.filter to remove dependency on ES5 2015-03-03 16:45:37 +00:00
Brian Gough
c52a122966 workaround for lack of DOM element .remove in IE 2015-03-03 16:44:26 +00:00
Henry Oswald
e8b50e2ffd null check highlights before removing them 2015-02-18 22:29:07 +00:00
James Allen
7dd1ab84d5 Wrap calls to localStorage in an exception handler 2015-02-12 11:32:27 +00:00
Brian Gough
353e9c86a8 sample only 1% of pdf exceptions due to volume of requests to sentry 2015-02-09 11:18:46 +00:00
Brian Gough
a13e78e853 catch rejected promises in pdfviewer 2015-01-26 16:07:49 +00:00
Brian Gough
b4f527b099 handle rejected promises in pdf viewer 2015-01-26 16:07:49 +00:00
Brian Gough
182dfabbae fix pdf loadcount (no ?: operator in coffeescript) 2015-01-26 16:07:49 +00:00
Brian Gough
1a8438be5f handle error loading pdf 2015-01-26 16:07:49 +00:00
Brian Gough
d9a3776183 make sure the progress bar always goes to 100% before removing 2015-01-26 16:07:49 +00:00
Brian Gough
5a47b1bac2 use .25-second delay before loading indicator is removed 2015-01-26 16:07:49 +00:00
Brian Gough
940c6a4b8d replace console.logs with error callbacks 2015-01-26 16:07:48 +00:00
Brian Gough
a5900c4b9a handle case where Raven is not defined in pdf renderer 2015-01-26 16:07:48 +00:00
Brian Gough
192918dda1 replace $timeout by setTimeout in pdf viewer 2015-01-26 16:07:48 +00:00
Brian Gough
63fd1f7c78 remove comments 2015-01-26 16:07:48 +00:00
Brian Gough
20d1a8b0f7 queue all pdf rescale/relayout events to avoid duplicate redraws
delay spinner by 100ms, since it now shows sooner
2015-01-26 16:07:48 +00:00
Brian Gough
866de306d6 added comment about double resize event 2015-01-26 16:07:48 +00:00
Brian Gough
3d1fe22f00 remove layout-ready event from pdfjs, we get it from jq layout 2015-01-26 16:07:48 +00:00
Brian Gough
bd8cfb1dae fix pdf viewer to work without background scope.apply 2015-01-26 16:07:48 +00:00
Brian Gough
1160560bfb add missing scope.$apply in pdf viewer event handlers
shows up now there are no apply's coming from the unsaved file check
2015-01-26 16:07:48 +00:00
Brian Gough
4ab0f00b8d do not render offscreen pdf pages yet
they cause a delay without a visible spinner
2015-01-21 14:37:59 +00:00
Brian
f510c5d19f render current page immediately 2015-01-20 21:33:49 +00:00
Brian
62d5916883 replace $timeout by setTimeout in pdf viewer update 2015-01-20 21:06:53 +00:00
Brian
ed6eedd9e2 remove unused functions in pdfRenderer 2015-01-20 20:36:43 +00:00
Brian
c8012dc22c fix getVisiblePages in pdf viewer to allow optimisation 2015-01-20 20:35:29 +00:00
Brian Gough
debc3037ae remove debugging from pdf viewer 2015-01-20 16:22:34 +00:00
Brian Gough
441bc63935 use setTimeout instead of $timeout in pdf scrollhandler 2015-01-20 16:20:38 +00:00
Brian Gough
591498a056 fix dom position calculation in pdf viewer 2015-01-20 16:20:19 +00:00
Brian
53e9086094 remove useless scope.$apply in pdf scrollhandler 2015-01-20 15:37:11 +00:00
Brian
721843695b avoid using jquery in pdf scrollhandler to improve peformance 2015-01-20 15:36:52 +00:00
Brian Gough
96af4e0b4a fix selection of prerender pages in pdf viewer 2015-01-20 14:28:43 +00:00
Brian Gough
f18f862be2 handle different page size in pdf viewer 2015-01-20 14:28:14 +00:00
Brian Gough
c9e019b4a7 clean up calculation of visible pdf pages and display on redraw 2015-01-20 11:06:40 +00:00
Brian Gough
776535f9f3 move pdf page visibility calculation up into pdfViewer directive
removes per-page watch for visibility
2015-01-19 16:55:44 +00:00
Brian Gough
2e021b64d8 remove per-page $watch on default page size in pdf viewer 2015-01-19 14:36:20 +00:00
Brian Gough
906c9114cd replace per-page pdf highlight $watch with highlight event 2015-01-19 14:26:14 +00:00
Brian Gough
adab8c6769 delay pdf spinner by 100ms 2015-01-19 14:24:52 +00:00
Brian
06330e6506 add pdfng scroll handler using requestAnimationFrame 2015-01-16 15:51:22 +00:00
Brian Gough
4e31833131 Merge pull request #138 from sharelatex/pdfng-use-browser-fonts
use font-face for pdfjs rendering
2015-01-16 14:31:37 +00:00
Brian Gough
751166d987 Merge branch 'master' into fix-pdfng-progress-bar
Conflicts:
	public/coffee/ide/pdfng/directives/pdfRenderer.coffee
	public/coffee/ide/pdfng/directives/pdfViewer.coffee
2015-01-16 14:19:59 +00:00
Brian Gough
d832406923 pdfng: add comment about getDestinations vs getDestination 2015-01-16 12:50:08 +00:00
Brian Gough
157424c7b6 use font-face for pdfjs rendering 2015-01-13 16:39:49 +00:00
Brian Gough
8d568d9663 increase pdfng page load/render timeouts to 1 minute 2015-01-13 16:38:40 +00:00
Brian Gough
5e06043fcb add loadedCallback to pdfng, detects when pdf is fully loaded 2015-01-13 16:28:24 +00:00
Brian Gough
953821959d hide progress bar when pdfng has loaded 2015-01-13 16:27:04 +00:00
Brian Gough
1d3d316595 capture all pdfng error callbacks with raven 2015-01-13 15:47:27 +00:00
Brian Gough
823bdcf583 fix scope error in pdf viewer 2015-01-12 17:03:03 +00:00
Brian Gough
887423f8d7 report timeout errors to sentry 2015-01-12 17:02:51 +00:00
Brian Gough
560919b78f avoid exception in pdf viewer
if file was previously bigger, current position could be greater than
the number of pages
2015-01-12 16:47:38 +00:00
Brian Gough
bf8bc27de0 catch errors in pdf viewer and reload if necessary
if more than 3 reloads, display error to the user
2015-01-12 16:46:17 +00:00
Brian Gough
7f750ae692 add an error callback to the pdf renderer
use page load and render timeouts of 30 seconds to detect hanging pages
2015-01-12 16:45:24 +00:00
Brian Gough
660bb75df4 add query string parameters for compileGroup= and pdfng=
compileGroup will  bypass mongo check for compileGroup priority
pdfng will pass pdf Range: headers through from user request to CLSI
2014-12-12 16:47:43 +00:00
Brian Gough
50e03e93ba 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
2014-12-09 14:40:54 +00:00
Brian Gough
1acc924e0b comment out console.logs in pdfng 2014-12-09 14:39:58 +00:00
Brian Gough
843fa6f847 handle shutdown of pdf viewer/rendering with destroy method 2014-12-09 13:46:44 +00:00
Brian Gough
b157323eb7 defer loading of pdf destinations until required 2014-12-09 13:45:12 +00:00
Brian Gough
1e2e1ecb9c stream in the whole pdf file after loading the required page 2014-12-09 13:41:49 +00:00
James Allen
b94a9aab0d Hide loading bar once loaded enough to render 2014-12-08 17:48:57 +00:00
James Allen
8c40432e18 Use fixed sized spinner 2014-12-08 17:39:24 +00:00
Brian Gough
63ac1093bc keep pages visible after a recompile until they are ready to rerender 2014-12-08 17:00:43 +00:00
Brian Gough
c3569dd45f add a progress event in the pdfng viewer 2014-12-08 17:00:26 +00:00
Brian Gough
2a66651ec9 flash the pdf controls in pdfng 2014-12-08 15:32:16 +00:00
Brian Gough
863c8b9586 prevent exception when scrolling during rerender in pdfng 2014-12-08 15:32:05 +00:00
Brian Gough
206e7db144 add spinners and classes for feedback on pdfng loading and rendering 2014-12-08 14:46:59 +00:00
Brian Gough
89d63c4f44 handle fullscreen mode in pdfng
default to scale = 1 when containing div size is zero
2014-12-08 10:28:02 +00:00
Brian Gough
0ae83d9be4 rescale pdf on parent size initialisation in addition to resizes 2014-12-05 19:42:16 +00:00
Brian Gough
407cecc0d3 save the pdf state when the directive is destroyed 2014-12-05 19:40:33 +00:00
Brian Gough
5915bfd885 prevent change to navbar url in pdf viewer
return false from pdf <a> click handler
2014-12-05 14:59:00 +00:00
Brian Gough
1284ce613c support pdf double click 2014-12-05 14:33:06 +00:00
Brian Gough
4c0f3c55d7 clear the pdf renderqueue faster after the initial page has rendered 2014-12-05 12:14:40 +00:00
Brian Gough
7ea20c4266 avoid exception on pdfPage destroy 2014-12-05 12:12:17 +00:00
Brian Gough
c167e86ba5 use timeout instead of requestAnimationFrame in pdf scroll handler
for simplicity as the time delay is large compared with rAF
2014-12-05 12:12:01 +00:00
Brian Gough
2074326237 render pdf pages in ascending order, fix bug where pages could be left unrendered 2014-12-04 16:52:11 +00:00
Brian Gough
4faac88065 handle destroy event in pdf page view and remove pending timeouts 2014-12-04 16:50:38 +00:00
Brian Gough
f8c1c5b025 avoid unnecessary retrieval of pdf viewport when rendering 2014-12-04 16:50:00 +00:00
Brian Gough
44057a9632 only check pdf page visibility on scroll every 50ms 2014-12-04 16:49:24 +00:00
Brian Gough
a15a6d877f avoid exception when elements in pdf view have been removed 2014-12-04 16:44:41 +00:00
Brian Gough
ce4fb7ec04 remove the pdf spinner, it causes unwanted reflow/repaint 2014-12-04 16:44:14 +00:00
Brian Gough
05af3573b6 try disabling pdfjs font face usage for performance
each new font face rule causes a full screen repaint
2014-12-03 15:18:58 +00:00
Brian Gough
94448ed447 comment out logs/unused code in pdf viewer 2014-12-02 11:43:14 +00:00
Brian Gough
25521d1a26 insert the pdf text and annotations after the page has been rendered 2014-12-02 11:03:07 +00:00
Brian Gough
7071ee3540 set the size of the pdf container using jquery methods 2014-12-02 11:02:09 +00:00
Brian Gough
85750dfeb6 need to set the height of the container to get the pdf spinner working 2014-12-02 11:01:45 +00:00
Brian Gough
4888ae8766 fix infinite loop in translated coffeescript for pdfng text layer 2014-12-01 16:26:48 +00:00
Brian Gough
440c1d3987 avoid exception 2014-12-01 15:24:19 +00:00
Brian Gough
be91bc2754 disable PDF.js autofetch only when used in new pdf viewer 2014-12-01 14:35:58 +00:00
Brian Gough
25bebe1104 support old and new pdf viewers depending on feature switch 2014-12-01 14:35:12 +00:00
Brian Gough
3c05e032bd rename the new pdf directive to pdfng 2014-12-01 11:46:52 +00:00
Brian Gough
a7f9a68159 removed duplicated pdf controllers 2014-12-01 11:45:56 +00:00
Brian Gough
608e6cd0d9 remove autogenerated file 2014-12-01 10:42:57 +00:00
Brian Gough
ff04e1662a moved new pdf viewer under base App module 2014-12-01 10:42:47 +00:00
Brian Gough
57b09e1d60 started making pdf viewer conditional - work in progress 2014-11-28 16:59:39 +00:00
Brian Gough
d8e07731e0 clean up unnecessary redraws 2014-11-28 15:08:24 +00:00
Brian Gough
7485b564bc fix off by one error in viewport retrieval 2014-11-28 14:39:17 +00:00
Brian Gough
23011cf221 convert page indices from 1-based to 0-based to match pdfListView positions 2014-11-28 14:34:05 +00:00