From c234f3625ea9cd30cfd5a2b386b38c9d8480c54b Mon Sep 17 00:00:00 2001 From: Brian Wilson Date: Tue, 19 Feb 2013 18:05:36 -0500 Subject: [PATCH] add full version of pdf.js, and main files for jquery-pdfdoc --- common/static/css/vendor/jquery-pdfdoc.css | 226 +++ .../vendor/pdfjs/images/annotation-check.svg | 10 + .../pdfjs/images/annotation-comment.svg | 15 + .../vendor/pdfjs/images/annotation-help.svg | 25 + .../vendor/pdfjs/images/annotation-insert.svg | 9 + .../vendor/pdfjs/images/annotation-key.svg | 10 + .../pdfjs/images/annotation-newparagraph.svg | 10 + .../vendor/pdfjs/images/annotation-note.svg | 41 + .../pdfjs/images/annotation-paragraph.svg | 15 + .../pdfjs/images/findbarButton-next-rtl.png | Bin 0 -> 371 bytes .../pdfjs/images/findbarButton-next.png | Bin 0 -> 381 bytes .../images/findbarButton-previous-rtl.png | Bin 0 -> 381 bytes .../pdfjs/images/findbarButton-previous.png | Bin 0 -> 371 bytes .../css/vendor/pdfjs/images/loading-icon.gif | Bin 0 -> 2545 bytes .../css/vendor/pdfjs/images/loading-small.png | Bin 0 -> 9025 bytes .../css/vendor/pdfjs/images/texture.png | Bin 0 -> 2459 bytes .../pdfjs/images/toolbarButton-bookmark.png | Bin 0 -> 244 bytes .../pdfjs/images/toolbarButton-download.png | Bin 0 -> 512 bytes .../pdfjs/images/toolbarButton-fullscreen.png | Bin 0 -> 491 bytes .../pdfjs/images/toolbarButton-menuArrows.png | Bin 0 -> 237 bytes .../pdfjs/images/toolbarButton-openFile.png | Bin 0 -> 417 bytes .../images/toolbarButton-pageDown-rtl.png | Bin 0 -> 558 bytes .../pdfjs/images/toolbarButton-pageDown.png | Bin 0 -> 353 bytes .../pdfjs/images/toolbarButton-pageUp-rtl.png | Bin 0 -> 426 bytes .../pdfjs/images/toolbarButton-pageUp.png | Bin 0 -> 344 bytes .../pdfjs/images/toolbarButton-print.png | Bin 0 -> 474 bytes .../pdfjs/images/toolbarButton-search.png | Bin 0 -> 503 bytes .../images/toolbarButton-sidebarToggle.png | Bin 0 -> 349 bytes .../images/toolbarButton-viewOutline.png | Bin 0 -> 300 bytes .../images/toolbarButton-viewThumbnail.png | Bin 0 -> 211 bytes .../pdfjs/images/toolbarButton-zoomIn.png | Bin 0 -> 228 bytes .../pdfjs/images/toolbarButton-zoomOut.png | Bin 0 -> 143 bytes common/static/css/vendor/pdfjs/myviewer.css | 1433 +++++++++++++++++ common/static/css/vendor/pdfjs/viewer.css | 1431 ++++++++++++++++ common/static/js/vendor/jquery-pdfdoc.js | 283 ++++ common/static/js/vendor/pdf.js.REMOVED.git-id | 1 - 36 files changed, 3508 insertions(+), 1 deletion(-) create mode 100644 common/static/css/vendor/jquery-pdfdoc.css create mode 100644 common/static/css/vendor/pdfjs/images/annotation-check.svg create mode 100644 common/static/css/vendor/pdfjs/images/annotation-comment.svg create mode 100644 common/static/css/vendor/pdfjs/images/annotation-help.svg create mode 100644 common/static/css/vendor/pdfjs/images/annotation-insert.svg create mode 100644 common/static/css/vendor/pdfjs/images/annotation-key.svg create mode 100644 common/static/css/vendor/pdfjs/images/annotation-newparagraph.svg create mode 100644 common/static/css/vendor/pdfjs/images/annotation-note.svg create mode 100644 common/static/css/vendor/pdfjs/images/annotation-paragraph.svg create mode 100644 common/static/css/vendor/pdfjs/images/findbarButton-next-rtl.png create mode 100644 common/static/css/vendor/pdfjs/images/findbarButton-next.png create mode 100644 common/static/css/vendor/pdfjs/images/findbarButton-previous-rtl.png create mode 100644 common/static/css/vendor/pdfjs/images/findbarButton-previous.png create mode 100644 common/static/css/vendor/pdfjs/images/loading-icon.gif create mode 100644 common/static/css/vendor/pdfjs/images/loading-small.png create mode 100644 common/static/css/vendor/pdfjs/images/texture.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-bookmark.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-download.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-fullscreen.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-menuArrows.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-openFile.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-pageDown-rtl.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-pageDown.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-pageUp-rtl.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-pageUp.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-print.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-search.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-sidebarToggle.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-viewOutline.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-viewThumbnail.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-zoomIn.png create mode 100644 common/static/css/vendor/pdfjs/images/toolbarButton-zoomOut.png create mode 100644 common/static/css/vendor/pdfjs/myviewer.css create mode 100644 common/static/css/vendor/pdfjs/viewer.css create mode 100644 common/static/js/vendor/jquery-pdfdoc.js delete mode 100644 common/static/js/vendor/pdf.js.REMOVED.git-id diff --git a/common/static/css/vendor/jquery-pdfdoc.css b/common/static/css/vendor/jquery-pdfdoc.css new file mode 100644 index 0000000000..298ff32cbe --- /dev/null +++ b/common/static/css/vendor/jquery-pdfdoc.css @@ -0,0 +1,226 @@ +div.h-pdf-container { + width: 100%; + height: 100%; + text-align: center; + background: #444 url("images/texture.png"); + font: 11px verdana; +} + +.h-pdf-toolbar { + background-image: url("images/texture.png"), -moz-linear-gradient(rgba(81, 81, 81, 0.99), rgba(68, 68, 68, 0.95)); + border-left: 1px solid rgba(0, 0, 0, 0.5); + box-shadow: 1px 0 0 rgba(255, 255, 255, 0.08) inset, 0 1px 1px rgba(0, 0, 0, 0.15) inset, 0 -1px 0 rgba(255, 255, 255, 0.05) inset, 0 1px 0 rgba(0, 0, 0, 0.15), 0 1px 1px rgba(0, 0, 0, 0.1); + height: 32px; + position: relative; +} + +.h-pdf-toolbar-left { +} + +.h-pdf-toolbar-right { + float: right; +} + +.h-pdf-toolbar-center-outer { + position: relative; + float: right; + right: 50%; +} + +.h-pdf-toolbar-center { + position: relative; + float: right; + right: -50%; +} + +.h-pdf-toolbar-group { + padding: 0px; + margin: 3px; + border: 1px outset transparent; + display: inline-block; + float: left; + line-height: 8px; +} + +.h-pdf-toolbar-group .h-pdf-button:last-child { + border-left: 1px inset rgba(0,0,0,0.2); +} + +.h-pdf-toolbar-group:hover { + border-color: rgba(0,0,0,0.3); + border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42); + border-style: solid; + border-width: 1px; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 1px 0 rgba(255, 255, 255, 0.05); +} + +.h-pdf-button { + width: 16px; + height: 16px; + padding: 4px; + display: inline-block; + background-repeat: no-repeat; + background-position: 4px 4px; +} + +.h-pdf-button:hover { + background-color: rgba(0,0,0,0.1); +} + +.h-pdf-button:active { + background-color: rgba(255,255,255,0.1); +} + +.h-pdf-next { + background-image: url("images/toolbarButton-pageDown.png"); +} + +.h-pdf-prev { + background-image: url("images/toolbarButton-pageUp.png"); +} + +.h-pdf-pagetext, .h-pdf-pageinput, .h-pdf-pagecount { + position: relative; + float: left; + margin-left: 10px; + line-height: 30px; +} + +.h-pdf-pagetext, .h-pdf-pagecount { + color: #d8d8d8; +} + +.h-pdf-pageinput { + position: relative; + margin-top: 5px; + width: 50px; + background-color: rgba(255, 255, 255, 0.09); + background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); + border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42); + border-radius: 2px 2px 2px 2px; + border-style: solid; + border-width: 1px; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05) inset, 0 1px 0 rgba(255, 255, 255, 0.05); + color: #F2F2F2; + text-align: right; + padding: 3px 6px; + margin-left: 5px; +} + +.h-pdf-pageinput:focus { + background-color: rgba(255, 255, 255, 0.15); + border-color: rgba(76, 183, 255, 0.8) rgba(76, 183, 255, 0.85) rgba(76, 183, 255, 0.9); +} + +.h-pdf-zoom { + position: relative; + float: left; + margin: 4px 15px; + line-height: 22px; + width: 120px; + overflow: hidden; + border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42); + border-style: solid; + border-width: 1px; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 1px 0 rgba(255, 255, 255, 0.05); + background: url("images/toolbarButton-menuArrows.png") no-repeat scroll 95% center transparent; +} + +.h-pdf-zoom:hover { + background-color: rgba(0,0,0,0.2); +} + +.h-pdf-zoom-select { + -moz-appearance: none; + background: none repeat scroll 0 0 transparent; + border: medium none; + color: #F2F2F2; + font-size: 12px; + margin: 0; + min-width: 140px; + padding: 0; +} + +.h-pdf-download { + float: right; + display: inline-block; + margin: 3px; + border: 1px outset transparent; + background-image: url("images/toolbarButton-download.png"); +} + +.h-pdf-download:hover { + border-color: rgba(0,0,0,0.3); + border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42); + border-style: solid; + border-width: 1px; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 1px 0 rgba(255, 255, 255, 0.05); +} + +.h-pdf-canvas-container { + overflow: auto; + border-width: 0px 1px 1px; + border-style: solid; + border-color: rgba(150,150,150,0.1); + position: absolute; + right: 0px; + bottom: 0px; + left: 0px; +} + +.h-pdf-canvas { + background: #fff; + box-shadow: 4px 4px 8px rgba(0,0,0,0.2); + border: 1px solid rgba(0,0,0,0.3); + margin: 15px; +} + +.h-pdf-progress, .h-pdf-progress-bar, .h-pdf-progress-bar-overlay { + border-radius: 5px; +} + +.h-pdf-progress { + position: absolute; + width: 200px; + height: 25px; + border: 1px inset rgba(0,0,0,0.2); + box-shadow: 1px 1px 2px rgba(0,0,0,0.4); + background-image: linear-gradient(bottom, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.1) 75%); + background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.1) 75%); + background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.1) 75%); + background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.1) 75%); + background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.2) 25%, rgba(0,0,0,0.1) 75%); + + background-image: -webkit-gradient( + linear, + left bottom, + left top, + color-stop(0.25, rgba(0,0,0,0.2)), + color-stop(0.75, rgba(0,0,0,0.1)) + ); +} + +.h-pdf-progress-bar { + height: 100%; + width: 0%; + background-image: linear-gradient(bottom, rgb(4,115,143) 14%, rgb(0,146,179) 57%); + background-image: -o-linear-gradient(bottom, rgb(4,115,143) 14%, rgb(0,146,179) 57%); + background-image: -moz-linear-gradient(bottom, rgb(4,115,143) 14%, rgb(0,146,179) 57%); + background-image: -webkit-linear-gradient(bottom, rgb(4,115,143) 14%, rgb(0,146,179) 57%); + background-image: -ms-linear-gradient(bottom, rgb(4,115,143) 14%, rgb(0,146,179) 57%); + + background-image: -webkit-gradient( + linear, + left bottom, + left top, + color-stop(0.14, rgb(4,115,143)), + color-stop(0.57, rgb(0,146,179)) + ); +} + +.h-pdf-progress-bar-overlay { + width: 100%; + height: 100%; + background-image: url("images/texture2.png"); + background-position: right; +} diff --git a/common/static/css/vendor/pdfjs/images/annotation-check.svg b/common/static/css/vendor/pdfjs/images/annotation-check.svg new file mode 100644 index 0000000000..f28f0e89a1 --- /dev/null +++ b/common/static/css/vendor/pdfjs/images/annotation-check.svg @@ -0,0 +1,10 @@ + + + + diff --git a/common/static/css/vendor/pdfjs/images/annotation-comment.svg b/common/static/css/vendor/pdfjs/images/annotation-comment.svg new file mode 100644 index 0000000000..b2aee63e56 --- /dev/null +++ b/common/static/css/vendor/pdfjs/images/annotation-comment.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/common/static/css/vendor/pdfjs/images/annotation-help.svg b/common/static/css/vendor/pdfjs/images/annotation-help.svg new file mode 100644 index 0000000000..349112ef36 --- /dev/null +++ b/common/static/css/vendor/pdfjs/images/annotation-help.svg @@ -0,0 +1,25 @@ + + + + + + + + + + diff --git a/common/static/css/vendor/pdfjs/images/annotation-insert.svg b/common/static/css/vendor/pdfjs/images/annotation-insert.svg new file mode 100644 index 0000000000..60fbf954cd --- /dev/null +++ b/common/static/css/vendor/pdfjs/images/annotation-insert.svg @@ -0,0 +1,9 @@ + + + + diff --git a/common/static/css/vendor/pdfjs/images/annotation-key.svg b/common/static/css/vendor/pdfjs/images/annotation-key.svg new file mode 100644 index 0000000000..c0bbb09c56 --- /dev/null +++ b/common/static/css/vendor/pdfjs/images/annotation-key.svg @@ -0,0 +1,10 @@ + + + + diff --git a/common/static/css/vendor/pdfjs/images/annotation-newparagraph.svg b/common/static/css/vendor/pdfjs/images/annotation-newparagraph.svg new file mode 100644 index 0000000000..6c179fd3f1 --- /dev/null +++ b/common/static/css/vendor/pdfjs/images/annotation-newparagraph.svg @@ -0,0 +1,10 @@ + + + + diff --git a/common/static/css/vendor/pdfjs/images/annotation-note.svg b/common/static/css/vendor/pdfjs/images/annotation-note.svg new file mode 100644 index 0000000000..ed169439b6 --- /dev/null +++ b/common/static/css/vendor/pdfjs/images/annotation-note.svg @@ -0,0 +1,41 @@ + + + + + + + + diff --git a/common/static/css/vendor/pdfjs/images/annotation-paragraph.svg b/common/static/css/vendor/pdfjs/images/annotation-paragraph.svg new file mode 100644 index 0000000000..6fd90c19ff --- /dev/null +++ b/common/static/css/vendor/pdfjs/images/annotation-paragraph.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/common/static/css/vendor/pdfjs/images/findbarButton-next-rtl.png b/common/static/css/vendor/pdfjs/images/findbarButton-next-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..08a2c25327d7df3c77186cc3048bf02b7e72f393 GIT binary patch literal 371 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 M?FSZn2B>%I-}ej|s{jB1 literal 0 HcmV?d00001 diff --git a/common/static/css/vendor/pdfjs/images/loading-small.png b/common/static/css/vendor/pdfjs/images/loading-small.png new file mode 100644 index 0000000000000000000000000000000000000000..1b2df8093d630ca5e4b7c9127fd4fc855655599b GIT binary patch literal 9025 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 O5r8?-l2B*lk?>!&x?|k{ literal 0 HcmV?d00001 diff --git a/common/static/css/vendor/pdfjs/images/toolbarButton-bookmark.png b/common/static/css/vendor/pdfjs/images/toolbarButton-bookmark.png new file mode 100644 index 0000000000000000000000000000000000000000..1e5259a97ae3b79f7ea01ced902e0c43798dbc2d GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`yFFbTLn?0dPPXMb+v(^&c9yfp;>!C z`yk7ix`lgj&0zuYI7|}jbIT6QfUz^ z>Oks6r=eWyo;1N6*7twq{!dk?jQ_7bLpg6wvGo&O3C*=vmZ%$lnc>8deT3~wf=0%@ qjDERb)?>R2G`?iUWv@R~e($|o)93%X-@1U_VDNPHb6Mw<&;$V3Ut?_m literal 0 HcmV?d00001 diff --git a/common/static/css/vendor/pdfjs/images/toolbarButton-download.png b/common/static/css/vendor/pdfjs/images/toolbarButton-download.png new file mode 100644 index 0000000000000000000000000000000000000000..8676d8e2c2c0bac77cfce486f6f18639a8caa987 GIT binary patch literal 512 zcmV+b0{{JqP)z}Is24wg34Vg0&(Nh)A4KqyCy|cYNsu~v@z2dmB9tj1uH`lp^J3U`8~E{N z-p=3On^hdg5sIR03L*9Y+kk-hD<6Ofzy>Vo6d1ck4*P?_;4T~v8^TAR$Zf0DN+pxY zdoYJGiL9nW@D^3_!$~5MNL4D8YtWAX>pTG(3u?~~8-RJKR61@po0nw&j-Zf}uM`Re z1IBnHvj;%lW(tv*fb&ZHFIX|iIJtqC9%tO0lVf5?1zr z%n1($UyPgb4t7C5rMH$zKiPV#uKO2UXNZ0M7GMAtm#g$qt>3!<0000gp@kF&{Rb5bN zGzijG&{UKVshtpNClNu)%Ekhbw2`1J>Z6HtgGN0xKEhh;{0EDsrSU_qGw%`SWF~jc zxpQak3{VFTy2*App+P}o)NW`Vy70=Y$@eYTjRgDq)}ID15R?~1J&mx+C#(qTX;VcI z7?3B$uiL;R>R}-rT@%F{Q^f$#FZUOjQcfPeZ$<}E18p$$rORXa`Z6Q;=m%OKw=v~i zDrMy^zYYg%xi!g`vmMKrqSFdWO=yItW9DoVJ*XuE>5afFEf*aJP=P8AjY%zNU{t}` z&6S2q!}*1UI~}}%g2r}h|1FKpX|M(R^hMUF<}P<`VJOHX(}C-46~4}~;<03|R$zne zd{Hvx6aP5;bXPIK`>N>asx-f>p5`o;?TlKMQ-6LJb45R#;%UHjic=P>Ck@ z+{d0AQcWVHUUFA4oxlhWu<(*~7(R)cs(MMk>=;Zw$5hvZ{W->}h6+FUwIhgP8WFVd hn-r{!B2=PuoIg4=n|)8MY<2(u002ovPDHLkV1hfJ)Vlxx literal 0 HcmV?d00001 diff --git a/common/static/css/vendor/pdfjs/images/toolbarButton-menuArrows.png b/common/static/css/vendor/pdfjs/images/toolbarButton-menuArrows.png new file mode 100644 index 0000000000000000000000000000000000000000..31b06b5af9e548b15e274677b8ecaac1c1d06e77 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^>_9BQ!2%=;I@VSLDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9Mg5*Gjv*Y;$q5RA21W%&988AFF7neS9({Y$O^hc-fzNvT zy{kX}UyqMIu=e3{csed~)S6b>9XaCpJd2PXwsj@)uEyTHN9Cd}ro z5XP`c@(2I(zwen392I~4ZeZ0+OPe6@{r)uVcjpxtQY`u@r0Pg5(gItKS4o}g1A}g%jhT};$T7OAPy;H>flra z2St?bnbSZL$Y+TEgF85m2n7#*aQD1j5<>Dk{}-_qVGT5BavG17$sDU1MbRrJ{zyK9 zAb6?OYC6B5c=6<(=Xqa_<9rLQ>rQ>&pH3!|N91>*sXm<;Tn)o;j2qwn@D3lU*=#mu zy+CvXM(`|4({yNA*0pWh{VdCdY92Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iye$ z03Zn`nXL%`00FK^L_t(I%YBngi_=gPhMzl$*;sW%`~VAs{ROTol+ur1(dlx2L`zCZ zZM*8KYj@SXxDX+Qgia}SrHfe%cH_3FIHNPPNhY~&ZX^xq96021Z{Fu}-nJg z4%Jgr`vGtXTmT**_lcibmUXgPt=@T__en}=$Gu!GUz?`+0yx-nIS)+JJc**{qm=T4 zl=6Mti^bv%@Cvve1N02Qqei1q6hd65560v1Iq)602BLj{!$P58sCjqFah!AD7ZApK zSpdT@j38^a^?H4&%;PqI0Q^1v+@zh?0YiPRhrk`+D1A$!j)1>vyx+iu0PfkgeO#;6 zUM60=+5^bNi|KUwwO+5k)c}1mnRvNe?n$v&ya6`Kq^#Zmo6%_Wv)OFAzzbm~CR4PTc0K$I1AGBJn8So9b(v&G4@W*kSjSwPVE|)XKmSsiVZub;8Q*n;sjQ@wY zuDcDxFkh)uf~2_9>4;vhw@8Xf{3JV&*=*+fzMrpFs{s(T+iiU~9DYuV(|{ewd_E7P wl#gB4m4m_HOO`keO;#PKY&?xam?Z}I2j`s8psXhcZU6uP07*qoM6N<$g6Zn_c>n+a literal 0 HcmV?d00001 diff --git a/common/static/css/vendor/pdfjs/images/toolbarButton-pageDown.png b/common/static/css/vendor/pdfjs/images/toolbarButton-pageDown.png new file mode 100644 index 0000000000000000000000000000000000000000..762ac43e08cf71f688136dd9c391e1eeac8336b6 GIT binary patch literal 353 zcmV-n0iOPeP)N)i16KOjF~A%cy9L}N?{*aRypMbKt#Y{Wu@^dWzc zB43gw@m?5VSf4XKI1uvgxkJb(Jp(WVYhVPnHDj;=mcX2{j2A`GW>r;L-}l82ZQFh| zO*2i?^oZrQ5>KD9SC-`y?f{*0oaG|B7xlwaLz8mj}qKT!aP_teqVs_y##kUGoqtiwOACzF#-<;cM@iX z4qc!Yz$DM}D=cpR1G99rt30p*4zet}M&QNP=Y&2{#AlocLCwd zgzqHz&yp|Px#0%A)?L;(MXkIcUS000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iye$03R;e zO)_2p00AyZL_t(2&sC8Ae53_1mJ6h^w# zeV-oR^ysH>c;yp?Dznn>JGz9pxG6#$9N?FsB-jk1M=BneHkstGh{u!&Q|tLe=n5=Z z5KK_0&*4R-kRyw)SWp1b(Aw3Shlls$->_wOZsP>eHWjky7-SLn4EW$3n^7eE0S7l~ UzTz2Va{vGU07*qoM6N<$f~2;q$p8QV literal 0 HcmV?d00001 diff --git a/common/static/css/vendor/pdfjs/images/toolbarButton-pageUp.png b/common/static/css/vendor/pdfjs/images/toolbarButton-pageUp.png new file mode 100644 index 0000000000000000000000000000000000000000..3155b8bd235c642f7f495ed8cff2900069162cfd GIT binary patch literal 344 zcmV-e0jK_nP)CdBw$>ph$U z)hTRj6#q=2*TFhKHzx|6MzWGs8Z{*folGT{Oft!nX+2TscPHu_w7sJZOjQKt!iL$+`E7GKObZu1M&0Q qn}h0!&|(*d3p}p4q{kr^2K)fvg`AtvZ>v!N0000R2Ufr!B0z*aR30|=ePH_&CN9b zGN^_S5((O&!lLLBgeMOj6rwNSAv$&FSRbGusH=zQ0~B`t^> zpB)1Fs#D*~H_PunS@$ytit4NLmr{cOfV~gJ%dc(f25{V@8oB_8*zr}9|K~7)w!vn| QtpET307*qoM6N<$g4lo5;s5{u literal 0 HcmV?d00001 diff --git a/common/static/css/vendor/pdfjs/images/toolbarButton-search.png b/common/static/css/vendor/pdfjs/images/toolbarButton-search.png new file mode 100644 index 0000000000000000000000000000000000000000..604e652e5ec48052efa7b342c41c33729dbd287c GIT binary patch literal 503 zcmV7L`x76v;_%@mM9iB^r1sVf!&a+LRUjYsGy;SXlXDS zqS4Xa%|ApGMeLk-iHe)y13!4)=bZC?+^cI*oxlhzV3LU5D72Qti@vS4yLDQGg5*Q=w6NyBM8a-G`S{uxk%jE}{?yXkqCe|j0OHhj|zoKb`4hF+}=rVE9F3R6Z^Rhdr$-2y3-$y`vQ2kR-VKQN;x z3QcOQR^uk8Hk)mQu*WP-&F}XI;T`=Q9`X5ne*E)Gm=u8uQbhDhGMNm+I|q7xguPy` zr&6iJU^;I!8e!bzJfF{p@!n6^yWQ?Xco)GC==chIJf1CtWrR-{( zJaZG%Q-e|yQz{EjrrH1%{r7Zn43UszJ!tC}5-7oN;q!xH1;GqArn>^|FHPP#a!Xx% zV3)ICNs{aokqa{eqB0qEBO+h8F#Skq_-!nHp7Zp*h|LTP4a>@9&DQZ9d(FUb;QapE z@rMfbB(X6t^n~*qc1X(K`rkIzI_s|a{sXJ;epeUfaawL*{lBKt#;EKed&lMK=od^g z6aPQFe?9%?V(SY#rz%be6hFP^6hoYeBvWV5)F4%c2?`T3eRF-;7?1=`xSn)nV&G(& z+5T?j)tx*E2OZiRo_)Rj_vX_!b>;5~na}6)EYy^_C$Vskj}OCD9^EhLZy(>0eIUhf o&PjgR{C&4Y7#LRkoAHmGL7HL7NZJOXS)XL_>Q+(9#k#HnsNx;vxi^`wkeeE@AMj(2^v%5-EeHiadiL2+m;`o}~kg;LFgGbsKGZJ59kX1xFE y?>+E+e@CR94=VC|VB5CkIF2Rlyj4-jJ@^0&o=tDjU66bL0000;0 literal 0 HcmV?d00001 diff --git a/common/static/css/vendor/pdfjs/images/toolbarButton-viewThumbnail.png b/common/static/css/vendor/pdfjs/images/toolbarButton-viewThumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..3a27f043939942d23aa6cb9992c35a6b526c449f GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vpiiKLn>}9y|j>vDNv;4;bmU4 z-%Yu!vp3|*ADX@)!bk1?!3?8Foih1%R?L&9HSTviSpk+Ka&^`vn5+K)IU-oAe*-xp*r #sidebarContainer, +#outerContainer.sidebarOpen > #sidebarContainer { + visibility: visible; +} +html[dir='ltr'] #outerContainer.sidebarOpen > #sidebarContainer { + left: 0px; +} +html[dir='rtl'] #outerContainer.sidebarOpen > #sidebarContainer { + right: 0px; +} + +#mainContainer { +/* position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0;*/ + -webkit-transition-duration: 200ms; + -webkit-transition-timing-function: ease; + -moz-transition-duration: 200ms; + -moz-transition-timing-function: ease; + -ms-transition-duration: 200ms; + -ms-transition-timing-function: ease; + -o-transition-duration: 200ms; + -o-transition-timing-function: ease; + transition-duration: 200ms; + transition-timing-function: ease; +} +html[dir='ltr'] #outerContainer.sidebarOpen > #mainContainer { + -webkit-transition-property: left; + -moz-transition-property: left; + -ms-transition-property: left; + -o-transition-property: left; + transition-property: left; + left: 200px; +} +html[dir='rtl'] #outerContainer.sidebarOpen > #mainContainer { + -webkit-transition-property: right; + -moz-transition-property: right; + -ms-transition-property: right; + -o-transition-property: right; + transition-property: right; + right: 200px; +} + +#sidebarContent { + top: 32px; + bottom: 0; + overflow: auto; +/* position: absolute; */ + width: 200px; + + background-color: hsla(0,0%,0%,.1); + box-shadow: inset -1px 0 0 hsla(0,0%,0%,.25); +} +html[dir='ltr'] #sidebarContent { + left: 0; +} +html[dir='rtl'] #sidebarContent { + right: 0; +} + +#viewerContainer { + overflow: auto; + box-shadow: inset 1px 0 0 hsla(0,0%,100%,.05); +/* position: absolute; + top: 32px; + right: 0; + bottom: 0; + left: 0; */ +} + +.toolbar { +/* position: absolute; + left: 0; + right: 0; */ + height: 32px; + z-index: 9999; + cursor: default; +} + +#toolbarContainer { + width: 100%; +} + +#toolbarSidebar { + width: 200px; + height: 32px; + background-image: url(images/texture.png), + -webkit-linear-gradient(hsla(0,0%,30%,.99), hsla(0,0%,25%,.95)); + background-image: url(images/texture.png), + -moz-linear-gradient(hsla(0,0%,30%,.99), hsla(0,0%,25%,.95)); + background-image: url(images/texture.png), + -ms-linear-gradient(hsla(0,0%,30%,.99), hsla(0,0%,25%,.95)); + background-image: url(images/texture.png), + -o-linear-gradient(hsla(0,0%,30%,.99), hsla(0,0%,25%,.95)); + background-image: url(images/texture.png), + linear-gradient(hsla(0,0%,30%,.99), hsla(0,0%,25%,.95)); + box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.25), + + inset 0 -1px 0 hsla(0,0%,100%,.05), + 0 1px 0 hsla(0,0%,0%,.15), + 0 0 1px hsla(0,0%,0%,.1); +} + +#toolbarViewer, .findbar { + position: relative; + height: 32px; + background-image: url(images/texture.png), + -webkit-linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95)); + background-image: url(images/texture.png), + -moz-linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95)); + background-image: url(images/texture.png), + -ms-linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95)); + background-image: url(images/texture.png), + -o-linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95)); + background-image: url(images/texture.png), + linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95)); + box-shadow: inset 1px 0 0 hsla(0,0%,100%,.08), + inset 0 1px 1px hsla(0,0%,0%,.15), + inset 0 -1px 0 hsla(0,0%,100%,.05), + 0 1px 0 hsla(0,0%,0%,.15), + 0 1px 1px hsla(0,0%,0%,.1); +} + +.findbar { + top: 32px; +/* position: absolute; */ + z-index: 10000; + height: 32px; + + min-width: 16px; + padding: 0px 6px 0px 6px; + margin: 4px 2px 4px 2px; + color: hsl(0,0%,85%); + font-size: 12px; + line-height: 14px; + text-align: left; + cursor: default; +} + +html[dir='ltr'] .findbar { + left: 68px; +} + +html[dir='rtl'] .findbar { + right: 68px; +} + +.findbar label { + -webkit-user-select:none; + -moz-user-select:none; +} + +#findInput[data-status="pending"] { + background-image: url(images/loading-small.png); + background-repeat: no-repeat; + background-position: right; +} + +.doorHanger { + border: 1px solid hsla(0,0%,0%,.5); + border-radius: 2px; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); +} +.doorHanger:after, .doorHanger:before { + bottom: 100%; + border: solid transparent; + content: " "; + height: 0; + width: 0; +/* position: absolute; */ + pointer-events: none; +} +.doorHanger:after { + border-bottom-color: hsla(0,0%,32%,.99); + border-width: 8px; +} +.doorHanger:before { + border-bottom-color: hsla(0,0%,0%,.5); + border-width: 9px; +} + +html[dir='ltr'] .doorHanger:after { + left: 16px; + margin-left: -8px; +} + +html[dir='ltr'] .doorHanger:before { + left: 16px; + margin-left: -9px; +} + +html[dir='rtl'] .doorHanger:after { + right: 16px; + margin-right: -8px; +} + +html[dir='rtl'] .doorHanger:before { + right: 16px; + margin-right: -9px; +} + +#findMsg { + font-style: italic; + color: #A6B7D0; +} + +.notFound { + background-color: rgb(255, 137, 153); +} + +html[dir='ltr'] #toolbarViewerLeft { + margin-left: -1px; +} +html[dir='rtl'] #toolbarViewerRight { + margin-left: -1px; +} + +/* +html[dir='ltr'] #toolbarViewerLeft, +html[dir='rtl'] #toolbarViewerRight { + position: absolute; + top: 0; + left: 0; +} +html[dir='ltr'] #toolbarViewerRight, +html[dir='rtl'] #toolbarViewerLeft { + position: absolute; + top: 0; + right: 0; +} +*/html[dir='ltr'] #toolbarViewerLeft > *, +html[dir='ltr'] #toolbarViewerMiddle > *, +html[dir='ltr'] #toolbarViewerRight > *, +html[dir='ltr'] .findbar > * { + float: left; +} +html[dir='rtl'] #toolbarViewerLeft > *, +html[dir='rtl'] #toolbarViewerMiddle > *, +html[dir='rtl'] #toolbarViewerRight > *, +html[dir='rtl'] .findbar > * { + float: right; +} + +html[dir='ltr'] .splitToolbarButton { + margin: 3px 2px 4px 0; + display: inline-block; +} +html[dir='rtl'] .splitToolbarButton { + margin: 3px 0 4px 2px; + display: inline-block; +} +html[dir='ltr'] .splitToolbarButton > .toolbarButton { + border-radius: 0; + float: left; +} +html[dir='rtl'] .splitToolbarButton > .toolbarButton { + border-radius: 0; + float: right; +} + +.toolbarButton { + border: 0 none; + background-color: rgba(0, 0, 0, 0); + width: 32px; + height: 25px; +} + +.toolbarButton > span { + display: inline-block; + width: 0; + height: 0; + overflow: hidden; +} + +.toolbarButton[disabled] { + opacity: .5; +} + +.toolbarButton.group { + margin-right:0; +} + +.splitToolbarButton.toggled .toolbarButton { + margin: 0; +} + +.splitToolbarButton:hover > .toolbarButton, +.splitToolbarButton:focus > .toolbarButton, +.splitToolbarButton.toggled > .toolbarButton, +.toolbarButton.textButton { + background-color: hsla(0,0%,0%,.12); + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -ms-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -o-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + border: 1px solid hsla(0,0%,0%,.35); + border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42); + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.15) inset, + 0 1px 0 hsla(0,0%,100%,.05); + -webkit-transition-property: background-color, border-color, box-shadow; + -webkit-transition-duration: 150ms; + -webkit-transition-timing-function: ease; + -moz-transition-property: background-color, border-color, box-shadow; + -moz-transition-duration: 150ms; + -moz-transition-timing-function: ease; + -ms-transition-property: background-color, border-color, box-shadow; + -ms-transition-duration: 150ms; + -ms-transition-timing-function: ease; + -o-transition-property: background-color, border-color, box-shadow; + -o-transition-duration: 150ms; + -o-transition-timing-function: ease; + transition-property: background-color, border-color, box-shadow; + transition-duration: 150ms; + transition-timing-function: ease; + +} +.splitToolbarButton > .toolbarButton:hover, +.splitToolbarButton > .toolbarButton:focus, +.dropdownToolbarButton:hover, +.toolbarButton.textButton:hover, +.toolbarButton.textButton:focus { + background-color: hsla(0,0%,0%,.2); + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.15) inset, + 0 0 1px hsla(0,0%,0%,.05); + z-index: 199; +} +html[dir='ltr'] .splitToolbarButton > .toolbarButton:first-child, +html[dir='rtl'] .splitToolbarButton > .toolbarButton:last-child { + position: relative; + margin: 0; + margin-right: -1px; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; + border-right-color: transparent; +} +html[dir='ltr'] .splitToolbarButton > .toolbarButton:last-child, +html[dir='rtl'] .splitToolbarButton > .toolbarButton:first-child { + position: relative; + margin: 0; + margin-left: -1px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-left-color: transparent; +} +.splitToolbarButtonSeparator { + padding: 8px 0; + width: 1px; + background-color: hsla(0,0%,00%,.5); + z-index: 99; + box-shadow: 0 0 0 1px hsla(0,0%,100%,.08); + display: inline-block; + margin: 5px 0; +} +html[dir='ltr'] .splitToolbarButtonSeparator { + float:left; +} +html[dir='rtl'] .splitToolbarButtonSeparator { + float:right; +} +.splitToolbarButton:hover > .splitToolbarButtonSeparator, +.splitToolbarButton.toggled > .splitToolbarButtonSeparator { + padding: 12px 0; + margin: 1px 0; + box-shadow: 0 0 0 1px hsla(0,0%,100%,.03); + -webkit-transition-property: padding; + -webkit-transition-duration: 10ms; + -webkit-transition-timing-function: ease; + -moz-transition-property: padding; + -moz-transition-duration: 10ms; + -moz-transition-timing-function: ease; + -ms-transition-property: padding; + -ms-transition-duration: 10ms; + -ms-transition-timing-function: ease; + -o-transition-property: padding; + -o-transition-duration: 10ms; + -o-transition-timing-function: ease; + transition-property: padding; + transition-duration: 10ms; + transition-timing-function: ease; +} + +.toolbarButton, +.dropdownToolbarButton { + min-width: 16px; + padding: 2px 6px 0; + border: 1px solid transparent; + border-radius: 2px; + color: hsl(0,0%,95%); + font-size: 12px; + line-height: 14px; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + /* Opera does not support user-select, use <... unselectable="on"> instead */ + cursor: default; + -webkit-transition-property: background-color, border-color, box-shadow; + -webkit-transition-duration: 150ms; + -webkit-transition-timing-function: ease; + -moz-transition-property: background-color, border-color, box-shadow; + -moz-transition-duration: 150ms; + -moz-transition-timing-function: ease; + -ms-transition-property: background-color, border-color, box-shadow; + -ms-transition-duration: 150ms; + -ms-transition-timing-function: ease; + -o-transition-property: background-color, border-color, box-shadow; + -o-transition-duration: 150ms; + -o-transition-timing-function: ease; + transition-property: background-color, border-color, box-shadow; + transition-duration: 150ms; + transition-timing-function: ease; +} + +html[dir='ltr'] .toolbarButton, +html[dir='ltr'] .dropdownToolbarButton { + margin: 3px 2px 4px 0; +} +html[dir='rtl'] .toolbarButton, +html[dir='rtl'] .dropdownToolbarButton { + margin: 3px 0 4px 2px; +} + +.toolbarButton:hover, +.toolbarButton:focus, +.dropdownToolbarButton { + background-color: hsla(0,0%,0%,.12); + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -ms-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -o-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + border: 1px solid hsla(0,0%,0%,.35); + border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42); + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.15) inset, + 0 1px 0 hsla(0,0%,100%,.05); +} + +.toolbarButton:hover:active, +.dropdownToolbarButton:hover:active { + background-color: hsla(0,0%,0%,.2); + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -ms-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -o-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + border-color: hsla(0,0%,0%,.35) hsla(0,0%,0%,.4) hsla(0,0%,0%,.45); + box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset, + 0 0 1px hsla(0,0%,0%,.2) inset, + 0 1px 0 hsla(0,0%,100%,.05); + -webkit-transition-property: background-color, border-color, box-shadow; + -webkit-transition-duration: 10ms; + -webkit-transition-timing-function: linear; + -moz-transition-property: background-color, border-color, box-shadow; + -moz-transition-duration: 10ms; + -moz-transition-timing-function: linear; + -ms-transition-property: background-color, border-color, box-shadow; + -ms-transition-duration: 10ms; + -ms-transition-timing-function: linear; + -o-transition-property: background-color, border-color, box-shadow; + -o-transition-duration: 10ms; + -o-transition-timing-function: linear; + transition-property: background-color, border-color, box-shadow; + transition-duration: 10ms; + transition-timing-function: linear; +} + +.toolbarButton.toggled, +.splitToolbarButton.toggled > .toolbarButton.toggled { + background-color: hsla(0,0%,0%,.3); + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -ms-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -o-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.45) hsla(0,0%,0%,.5); + box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset, + 0 0 1px hsla(0,0%,0%,.2) inset, + 0 1px 0 hsla(0,0%,100%,.05); + -webkit-transition-property: background-color, border-color, box-shadow; + -webkit-transition-duration: 10ms; + -webkit-transition-timing-function: linear; + -moz-transition-property: background-color, border-color, box-shadow; + -moz-transition-duration: 10ms; + -moz-transition-timing-function: linear; + -ms-transition-property: background-color, border-color, box-shadow; + -ms-transition-duration: 10ms; + -ms-transition-timing-function: linear; + -o-transition-property: background-color, border-color, box-shadow; + -o-transition-duration: 10ms; + -o-transition-timing-function: linear; + transition-property: background-color, border-color, box-shadow; + transition-duration: 10ms; + transition-timing-function: linear; +} + +.toolbarButton.toggled:hover:active, +.splitToolbarButton.toggled > .toolbarButton.toggled:hover:active { + background-color: hsla(0,0%,0%,.4); + border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.5) hsla(0,0%,0%,.55); + box-shadow: 0 1px 1px hsla(0,0%,0%,.2) inset, + 0 0 1px hsla(0,0%,0%,.3) inset, + 0 1px 0 hsla(0,0%,100%,.05); +} + +.dropdownToolbarButton { + max-width: 120px; + padding: 3px 2px 2px; + overflow: hidden; + background: url(images/toolbarButton-menuArrows.png) no-repeat; +} +html[dir='ltr'] .dropdownToolbarButton { + background-position: 95%; +} +html[dir='rtl'] .dropdownToolbarButton { + background-position: 5%; +} + +.dropdownToolbarButton > select { + -webkit-appearance: none; + -moz-appearance: none; /* in the future this might matter, see bugzilla bug #649849 */ + min-width: 140px; + font-size: 12px; + color: hsl(0,0%,95%); + margin:0; + padding:0; + border:none; + background: rgba(0,0,0,0); /* Opera does not support 'transparent' background */ +} + +.dropdownToolbarButton > select > option { + background: hsl(0,0%,24%); +} + +#customScaleOption { + display: none; +} + +#pageWidthOption { + border-bottom: 1px rgba(255, 255, 255, .5) solid; +} + +html[dir='ltr'] .splitToolbarButton:first-child, +html[dir='ltr'] .toolbarButton:first-child, +html[dir='rtl'] .splitToolbarButton:last-child, +html[dir='rtl'] .toolbarButton:last-child { + margin-left: 4px; +} +html[dir='ltr'] .splitToolbarButton:last-child, +html[dir='ltr'] .toolbarButton:last-child, +html[dir='rtl'] .splitToolbarButton:first-child, +html[dir='rtl'] .toolbarButton:first-child { + margin-right: 4px; +} + +.toolbarButtonSpacer { + width: 30px; + display: inline-block; + height: 1px; +} + +.toolbarButtonFlexibleSpacer { + -webkit-box-flex: 1; + -moz-box-flex: 1; + min-width: 30px; +} + +.toolbarButton#sidebarToggle::before { + display: inline-block; + content: url(images/toolbarButton-sidebarToggle.png); +} + +html[dir='ltr'] .toolbarButton.findPrevious::before { + display: inline-block; + content: url(images/findbarButton-previous.png); +} + +html[dir='rtl'] .toolbarButton.findPrevious::before { + display: inline-block; + content: url(images/findbarButton-previous-rtl.png); +} + +html[dir='ltr'] .toolbarButton.findNext::before { + display: inline-block; + content: url(images/findbarButton-next.png); +} + +html[dir='rtl'] .toolbarButton.findNext::before { + display: inline-block; + content: url(images/findbarButton-next-rtl.png); +} + +html[dir='ltr'] .toolbarButton.pageUp::before { + display: inline-block; + content: url(images/toolbarButton-pageUp.png); +} + +html[dir='rtl'] .toolbarButton.pageUp::before { + display: inline-block; + content: url(images/toolbarButton-pageUp-rtl.png); +} + +html[dir='ltr'] .toolbarButton.pageDown::before { + display: inline-block; + content: url(images/toolbarButton-pageDown.png); +} + +html[dir='rtl'] .toolbarButton.pageDown::before { + display: inline-block; + content: url(images/toolbarButton-pageDown-rtl.png); +} + +.toolbarButton.zoomOut::before { + display: inline-block; + content: url(images/toolbarButton-zoomOut.png); +} + +.toolbarButton.zoomIn::before { + display: inline-block; + content: url(images/toolbarButton-zoomIn.png); +} + +.toolbarButton.fullscreen::before { + display: inline-block; + content: url(images/toolbarButton-fullscreen.png); +} + +.toolbarButton.print::before { + display: inline-block; + content: url(images/toolbarButton-print.png); +} + +.toolbarButton.openFile::before { + display: inline-block; + content: url(images/toolbarButton-openFile.png); +} + +.toolbarButton.download::before { + display: inline-block; + content: url(images/toolbarButton-download.png); +} + +.toolbarButton.bookmark { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-top: 3px; + padding-top: 4px; +} + +.toolbarButton.bookmark::before { + content: url(images/toolbarButton-bookmark.png); +} + +#viewThumbnail.toolbarButton::before { + display: inline-block; + content: url(images/toolbarButton-viewThumbnail.png); +} + +#viewOutline.toolbarButton::before { + display: inline-block; + content: url(images/toolbarButton-viewOutline.png); +} + +#viewFind.toolbarButton::before { + display: inline-block; + content: url(images/toolbarButton-search.png); +} + + +.toolbarField { + padding: 3px 6px; + margin: 4px 0 4px 0; + border: 1px solid transparent; + border-radius: 2px; + background-color: hsla(0,0%,100%,.09); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + border: 1px solid hsla(0,0%,0%,.35); + border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42); + box-shadow: 0 1px 0 hsla(0,0%,0%,.05) inset, + 0 1px 0 hsla(0,0%,100%,.05); + color: hsl(0,0%,95%); + font-size: 12px; + line-height: 14px; + outline-style: none; + -moz-transition-property: background-color, border-color, box-shadow; + -moz-transition-duration: 150ms; + -moz-transition-timing-function: ease; +} + +.toolbarField[type=checkbox] { + display: inline-block; + margin: 8px 0px; +} + +.toolbarField.pageNumber { + min-width: 16px; + text-align: right; + width: 40px; +} + +.toolbarField.pageNumber::-webkit-inner-spin-button, +.toolbarField.pageNumber::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} + +.toolbarField:hover { + background-color: hsla(0,0%,100%,.11); + border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.43) hsla(0,0%,0%,.45); +} + +.toolbarField:focus { + background-color: hsla(0,0%,100%,.15); + border-color: hsla(204,100%,65%,.8) hsla(204,100%,65%,.85) hsla(204,100%,65%,.9); +} + +.toolbarLabel { + min-width: 16px; + padding: 3px 6px 3px 2px; + margin: 4px 2px 4px 0; + border: 1px solid transparent; + border-radius: 2px; + color: hsl(0,0%,85%); + font-size: 12px; + line-height: 14px; + text-align: left; + -webkit-user-select:none; + -moz-user-select:none; + cursor: default; +} + +#thumbnailView { + position: absolute; + width: 120px; + top: 0; + bottom: 0; + padding: 10px 40px 0; + overflow: auto; +} + +.thumbnail { + margin-bottom: 15px; + float: left; +} + +.thumbnail:not([data-loaded]) { + border: 1px dashed rgba(255, 255, 255, 0.5); +} + +.thumbnailImage { + -moz-transition-duration: 150ms; + border: 1px solid transparent; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.3); + opacity: 0.8; + z-index: 99; +} + +.thumbnailSelectionRing { + border-radius: 2px; + padding: 7px; + -moz-transition-duration: 150ms; +} + +a:focus > .thumbnail > .thumbnailSelectionRing > .thumbnailImage, +.thumbnail:hover > .thumbnailSelectionRing > .thumbnailImage { + opacity: .9; +} + +a:focus > .thumbnail > .thumbnailSelectionRing, +.thumbnail:hover > .thumbnailSelectionRing { + background-color: hsla(0,0%,100%,.15); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.2) inset, + 0 0 1px hsla(0,0%,0%,.2); + color: hsla(0,0%,100%,.9); +} + +.thumbnail.selected > .thumbnailSelectionRing > .thumbnailImage { + box-shadow: 0 0 0 1px hsla(0,0%,0%,.5); + opacity: 1; +} + +.thumbnail.selected > .thumbnailSelectionRing { + background-color: hsla(0,0%,100%,.3); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.1) inset, + 0 0 1px hsla(0,0%,0%,.2); + color: hsla(0,0%,100%,1); +} + +#outlineView { + position: absolute; + width: 192px; + top: 0; + bottom: 0; + padding: 4px 4px 0; + overflow: auto; + -webkit-user-select:none; + -moz-user-select:none; +} + +html[dir='ltr'] .outlineItem > .outlineItems { + margin-left: 20px; +} + +html[dir='rtl'] .outlineItem > .outlineItems { + margin-right: 20px; +} + +.outlineItem > a { + text-decoration: none; + display: inline-block; + min-width: 95%; + height: auto; + margin-bottom: 1px; + border-radius: 2px; + color: hsla(0,0%,100%,.8); + font-size: 13px; + line-height: 15px; + -moz-user-select:none; + cursor: default; + white-space: normal; +} + +html[dir='ltr'] .outlineItem > a { + padding: 2px 0 5px 10px; +} + +html[dir='rtl'] .outlineItem > a { + padding: 2px 10px 5px 0; +} + +.outlineItem > a:hover { + background-color: hsla(0,0%,100%,.02); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.2) inset, + 0 0 1px hsla(0,0%,0%,.2); + color: hsla(0,0%,100%,.9); +} + +.outlineItem.selected { + background-color: hsla(0,0%,100%,.08); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.1) inset, + 0 0 1px hsla(0,0%,0%,.2); + color: hsla(0,0%,100%,1); +} + +.noOutline, +.noResults { + font-size: 12px; + color: hsla(0,0%,100%,.8); + font-style: italic; +} + +#findScrollView { + position: absolute; + top: 10px; + bottom: 10px; + left: 10px; + width: 280px; +} + +#sidebarControls { + position:absolute; + width: 180px; + height: 32px; + left: 15px; + bottom: 35px; +} + +canvas { + margin: auto; + display: block; +} + +.page { + direction: ltr; + width: 816px; + height: 1056px; + margin: 10px auto; + position: relative; + overflow: visible; + -webkit-box-shadow: 0px 4px 10px #000; + -moz-box-shadow: 0px 4px 10px #000; + box-shadow: 0px 4px 10px #000; + background-color: white; +} + +.page > a { + display: block; + position: absolute; +} + +.page > a:hover { + opacity: 0.2; + background: #ff0; + -webkit-box-shadow: 0px 2px 10px #ff0; + -moz-box-shadow: 0px 2px 10px #ff0; + box-shadow: 0px 2px 10px #ff0; +} + +.loadingIcon { + position: absolute; + display: block; + left: 0; + top: 0; + right: 0; + bottom: 0; + background: url('images/loading-icon.gif') center no-repeat; +} + +#loadingBox { + position: absolute; + top: 50%; + margin-top: -25px; + left: 0; + right: 0; + text-align: center; + color: #ddd; + font-size: 14px; +} + +#loadingBar { + display: inline-block; + clear: both; + margin: 0px; + margin-top: 5px; + line-height: 0; + border-radius: 2px; + width: 200px; + height: 25px; + + background-color: hsla(0,0%,0%,.3); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + border: 1px solid #000; + box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset, + 0 0 1px hsla(0,0%,0%,.2) inset, + 0 0 1px 1px rgba(255, 255, 255, 0.1); +} + +#loadingBar .progress { + display: inline-block; + float: left; + + background: #666; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b2b2b2), color-stop(100%,#898989)); + background: -webkit-linear-gradient(top, #b2b2b2 0%,#898989 100%); + background: -moz-linear-gradient(top, #b2b2b2 0%,#898989 100%); + background: -ms-linear-gradient(top, #b2b2b2 0%,#898989 100%); + background: -o-linear-gradient(top, #b2b2b2 0%,#898989 100%); + background: linear-gradient(top, #b2b2b2 0%,#898989 100%); + + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; + + width: 0%; + height: 100%; +} + +#loadingBar .progress.full { + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} + +#loadingBar .progress.indeterminate { + width: 100%; + height: 25px; + background-image: -moz-linear-gradient( 30deg, #404040, #404040 15%, #898989, #404040 85%, #404040); + background-image: -webkit-linear-gradient( 30deg, #404040, #404040 15%, #898989, #404040 85%, #404040); + background-image: -ms-linear-gradient( 30deg, #404040, #404040 15%, #898989, #404040 85%, #404040); + background-image: -o-linear-gradient( 30deg, #404040, #404040 15%, #898989, #404040 85%, #404040); + background-size: 75px 25px; + -moz-animation: progressIndeterminate 1s linear infinite; + -webkit-animation: progressIndeterminate 1s linear infinite; +} + +@-moz-keyframes progressIndeterminate { + from { background-position: 0px 0px; } + to { background-position: 75px 0px; } +} + +@-webkit-keyframes progressIndeterminate { + from { background-position: 0px 0px; } + to { background-position: 75px 0px; } +} + +.textLayer { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + color: #000; + font-family: sans-serif; + overflow: hidden; +} + +.textLayer > div { + color: transparent; + position: absolute; + line-height:1.3; + white-space:pre; +} + +.textLayer .highlight { + margin: -1px; + padding: 1px; + + background-color: rgba(180, 0, 170, 0.2); + border-radius: 4px; +} + +.textLayer .highlight.begin { + border-radius: 4px 0px 0px 4px; +} + +.textLayer .highlight.end { + border-radius: 0px 4px 4px 0px; +} + +.textLayer .highlight.middle { + border-radius: 0px; +} + +.textLayer .highlight.selected { + background-color: rgba(0, 100, 0, 0.2); +} + +/* TODO: file FF bug to support ::-moz-selection:window-inactive + so we can override the opaque grey background when the window is inactive; + see https://bugzilla.mozilla.org/show_bug.cgi?id=706209 */ +::selection { background:rgba(0,0,255,0.3); } +::-moz-selection { background:rgba(0,0,255,0.3); } + +.annotText > div { + z-index: 200; + position: absolute; + padding: 0.6em; + max-width: 20em; + background-color: #FFFF99; + -webkit-box-shadow: 0px 2px 10px #333; + -moz-box-shadow: 0px 2px 10px #333; + box-shadow: 0px 2px 10px #333; + border-radius: 7px; + -moz-border-radius: 7px; +} + +.annotText > img { + position: absolute; + opacity: 0.6; +} + +.annotText > img:hover { + cursor: pointer; + opacity: 1; +} + +.annotText > div > h1 { + font-size: 1.2em; + border-bottom: 1px solid #000000; + margin: 0px; +} + +#errorWrapper { + background: none repeat scroll 0 0 #FF5555; + color: white; + left: 0; + position: absolute; + right: 0; + top: 32px; + z-index: 1000; + padding: 3px; + font-size: 0.8em; +} + +#errorMessageLeft { + float: left; +} + +#errorMessageRight { + float: right; +} + +#errorMoreInfo { + background-color: #FFFFFF; + color: black; + padding: 3px; + margin: 3px; + width: 98%; +} + +.clearBoth { + clear: both; +} + +.fileInput { + background: white; + color: black; + margin-top: 5px; +} + +#PDFBug { + background: none repeat scroll 0 0 white; + border: 1px solid #666666; + position: fixed; + top: 32px; + right: 0; + bottom: 0; + font-size: 10px; + padding: 0; + width: 300px; +} +#PDFBug .controls { + background:#EEEEEE; + border-bottom: 1px solid #666666; + padding: 3px; +} +#PDFBug .panels { + bottom: 0; + left: 0; + overflow: auto; + position: absolute; + right: 0; + top: 27px; +} +#PDFBug button.active { + font-weight: bold; +} +.debuggerShowText { + background: none repeat scroll 0 0 yellow; + color: blue; + opacity: 0.3; +} +.debuggerHideText:hover { + background: none repeat scroll 0 0 yellow; + opacity: 0.3; +} +#PDFBug .stats { + font-family: courier; + font-size: 10px; + white-space: pre; +} +#PDFBug .stats .title { + font-weight: bold; +} +#PDFBug table { + font-size: 10px; +} + +#viewer.textLayer-visible .textLayer > div, +#viewer.textLayer-hover .textLayer > div:hover { + background-color: white; + color: black; +} + +#viewer.textLayer-shadow .textLayer > div { + background-color: rgba(255,255,255, .6); + color: black; +} + +@page { + margin: 0; +} + +#printContainer { + display: none; +} + +@media print { + /* Rules for browsers that don't support mozPrintCallback. */ + #sidebarContainer, .toolbar, #loadingBox, #errorWrapper, .textLayer { + display: none; + } + + #mainContainer, #viewerContainer, .page, .page canvas { + position: static; + padding: 0; + margin: 0; + } + + .page { + float: left; + display: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + + .page[data-loaded] { + display: block; + } + + /* Rules for browsers that support mozPrintCallback */ + body[data-mozPrintCallback] #outerContainer { + display: none; + } + body[data-mozPrintCallback] #printContainer { + display: block; + } + #printContainer canvas { + position: relative; + top: 0; + left: 0; + } +} + +@media all and (max-width: 950px) { + html[dir='ltr'] #outerContainer.sidebarMoving .outerCenter, + html[dir='ltr'] #outerContainer.sidebarOpen .outerCenter { + float: left; + left: 180px; + } + html[dir='rtl'] #outerContainer.sidebarMoving .outerCenter, + html[dir='rtl'] #outerContainer.sidebarOpen .outerCenter { + float: right; + right: 180px; + } +} + +@media all and (max-width: 770px) { + #sidebarContainer { + top: 33px; + z-index: 100; + } + #sidebarContent { + top: 32px; + background-color: hsla(0,0%,0%,.7); + } + + html[dir='ltr'] #outerContainer.sidebarOpen > #mainContainer { + left: 0px; + } + html[dir='rtl'] #outerContainer.sidebarOpen > #mainContainer { + right: 0px; + } + + html[dir='ltr'] .outerCenter { + float: left; + left: 180px; + } + html[dir='rtl'] .outerCenter { + float: right; + right: 180px; + } +} + +@media all and (max-width: 600px) { + #toolbarViewerRight, #findbar, #viewFind { + display: none; + } +} + +@media all and (max-width: 500px) { + #scaleSelectContainer, #pageNumberLabel { + display: none; + } +} + diff --git a/common/static/js/vendor/jquery-pdfdoc.js b/common/static/js/vendor/jquery-pdfdoc.js new file mode 100644 index 0000000000..9625958feb --- /dev/null +++ b/common/static/js/vendor/jquery-pdfdoc.js @@ -0,0 +1,283 @@ +/** + * jQuery PDF-DOC Plugin + * + * LICENSE + * + * This source file is subject to the Apache Licence, Version 2.0 that is bundled + * with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://dev.funkynerd.com/projects/hazaar/wiki/licence + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@funkynerd.com so we can send you a copy immediately. + * + * @copyright Copyright (c) 2012 Jamie Carl (http://www.funkynerd.com) + * @license http://dev.funkynerd.com/projects/hazaar/wiki/licence Apache Licence, Version 2.0 + * @version 0.7 + */ + +//PDFJS.workerSrc = 'hazaar/js/pdf.js'; + +PDFJS.disableWorker = true; + +(function ( $ ){ + $.fn.PDFDoc = function( options ) { + + renderPage = function (pdf, the_page, canvas, scale){ + + // Using promise to fetch the page + pdf.getPage(the_page).then(function(page) { + + var viewport = page.getViewport(scale); + + var context = canvas.getContext('2d'); + + canvas.height = viewport.height; + + canvas.width = viewport.width; + + page.render( { canvasContext: context, viewport: viewport } ); + + $('#h-page-input').val(the_page); + + }); + + } + + var settings = $.extend( { + 'page' : 1, + 'scale' : 1 + }, options); + + if(!settings.source){ + + $.error('No PDF document source was given'); + + return this; + + } + + var mydoc = this; + + var page_count = 0; + + mydoc.addClass('h-pdf-container'); + + var canvas_container = $('
', { 'class' : 'h-pdf-canvas-container' } ); + + var canvas = $('', { 'class' : 'h-pdf-canvas'}); + + canvas.dblclick(function(event){ + + var scale = mydoc.data('scale'); + + scale += 0.5; + + mydoc.data('scale', scale); + + renderPage(mydoc.data('pdf'), mydoc.data('current_page'), $(this).get()[0], scale); + + $('#page-zoom').val(scale); + + }); + + + /* + *Create the toolbar layouts + */ + var toolbar = $('
', { 'class' : 'h-pdf-toolbar'}); + + var toolbar_left = $('
', { 'class' : 'h-pdf-toolbar-left' } ); + + var toolbar_right = $('
', { 'class' : 'h-pdf-toolbar-right' } ); + + var toolbar_center = $('
').addClass('h-pdf-toolbar-center'); + + toolbar.append(toolbar_left).append(toolbar_right).append(toolbar_center); + + mydoc.append(toolbar); + + /* + * Create the nav buttons + */ + var but_next = $('
', { 'class' : 'h-pdf-button h-pdf-next', 'title' : 'Next Page' } ).click(function(){ + + var current_page = mydoc.data('current_page'); + + if(current_page < page_count){ + + current_page++; + + renderPage(mydoc.data('pdf'), current_page, canvas.get()[0], mydoc.data('scale')); + + } + + mydoc.data('current_page', current_page); + + }); + + var but_prev = $('
', { 'class' : 'h-pdf-button h-pdf-prev', 'title' : 'Previous Page' } ).click(function(){ + + var current_page = mydoc.data('current_page'); + + if(current_page > 1){ + + current_page--; + + renderPage(mydoc.data('pdf'), current_page, canvas.get()[0], mydoc.data('scale')); + + } + + mydoc.data('current_page', current_page); + + }); + + /* + * Create the page input + */ + var page_text = $('', { 'class' : 'h-pdf-pagetext', 'html' : 'Page:' } ); + + var page_input = $('', { 'type' : 'text', 'class' : 'h-pdf-pageinput', 'value' : settings.page, 'id' : 'h-page-input' } ); + + page_input.keypress(function(event){ + + if(event.which == 13){ + + current_page = $(this).val(); + + renderPage(mydoc.data('pdf'), current_page, canvas.get()[0], mydoc.data('scale')); + + mydoc.data('current_page', current_page); + + }else if((event.which < 48 || event.which > 57) && ( event.which != 8 && event.which != 0)){ + + return false; + + } + + }); + + var of_text = $('', { 'class' : 'h-pdf-pagetext', 'html' : 'of ' }); + + var pages_text = $('', { 'class' : 'h-pdf-pagecount', 'html' : page_count, 'id' : 'pagecount' }); + + /* + * Create the zoom droplist + */ + var zoomModes = { 3 : '300%', 2 : '200%', 1.5 : '150%', 1 : 'Actual Size', 0.5 : 'Half Size', 0.25 : '25%', 0.1 : '10%' }; + + var zoom = $('', { 'class' : 'h-pdf-zoom' } ); + + var zoom_select = $('