static_pdfbook.html 4.8 KB
Newer Older
1
<%! from django.utils.translation import ugettext as _ %>
2

Brian Wilson committed
3 4
<%inherit file="main.html" />
<%namespace name='static' file='static_content.html'/>
5
<%block name="title">
6 7
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
Chris Dodge committed
8
<title>${_('{course_number} Textbook').format(course_number=course.display_number_with_default) | h}</title>
9
</%block>
Brian Wilson committed
10 11 12 13

<%block name="headextra">
<%static:css group='course'/>
<%static:js group='courseware'/>
14 15 16
<link rel="stylesheet" href="/static/css/pdfviewer.css"/>
<script type="text/javascript" src="/static/js/vendor/pdfjs/pdf.js"></script>
<script type="text/javascript" src="/static/js/pdfviewer.js"></script>
Brian Wilson committed
17 18 19
</%block>

<%block name="js_extra">
20
<script type="text/javascript">
Brian Wilson committed
21

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
$(document).ready(function() {
  var options = {};
  %if 'url' in textbook:
  options.url = "${textbook['url']}";
  %endif
  %if 'chapters' in textbook:
  var chptrs = [];
  %for chap in textbook['chapters']:
  chptrs.push("${chap['url']}");
  %endfor
  options.chapters = chptrs;
  %endif
  %if chapter is not None:
  options.chapterNum = ${chapter};
  %endif
  %if page is not None:
  options.pageNum = ${page};
  %endif
40

41 42 43
  $('#outerContainer').PDFViewer(options);
});
</script>
Brian Wilson committed
44 45
</%block>

46
<%include file="/courseware/course_navigation.html" args="active_page='pdftextbook/{0}'.format(book_index)" />
Brian Wilson committed
47

48 49
<div id="outerContainer">
  <div id="mainContainer" class="book-wrapper">
50

51 52 53 54 55 56 57 58 59
    <div class="toolbar">
      <div id="toolbarContainer">
        <div id="toolbarViewer">
          <div id="toolbarViewerLeft">
            <label id="pageNumberLabel" class="toolbarLabel" for="pageNumber">${_('Page:')} </label>
            <input type="number" id="pageNumber" class="toolbarField pageNumber" value="1" size="4" min="1" tabindex="7">
          </input>
          <span id="numPages" class="toolbarLabel"></span>
        </div>
60

61 62 63 64 65 66 67 68 69 70 71 72 73
        <div class="outerCenter">
          <div class="innerCenter" id="toolbarViewerMiddle">
            <div class="splitToolbarButton">
              <button class="toolbarButton zoomOut" id="zoom_out" title="${_('Zoom Out')}" tabindex="8">
                <span>${_('Zoom Out')}</span>
              </button>
              <div class="splitToolbarButtonSeparator"></div>
              <button class="toolbarButton zoomIn" id="zoom_in" title="${_('Zoom In')}" tabindex="9">
                <span>${_('Zoom In')}</span>
              </button>
            </div>
            <span id="scaleSelectContainer" class="dropdownToolbarButton">
             <select id="scaleSelect" title="${_('Zoom')}" oncontextmenu="return false;" tabindex="10">
74
<!--
75 76 77 78 79 80 81 82 83 84 85 86 87 88
                    <option id="pageAutoOption" value="auto" selected="selected">${_('Automatic Zoom')}</option>
                    <option id="pageActualOption" value="page-actual">${_('Actual Size')}</option>
                    <option id="pageFitOption" value="page-fit">${_('Fit Page')}</option>
                    <option id="pageWidthOption" value="page-width">${_('Full Width')}</option>
                  -->
                  <option id="customScaleOption" value="custom"></option>
                  <option value="0.5">50%</option>
                  <option value="0.75">75%</option>
                  <option value="1">100%</option>
                  <option value="1.25">125%</option>
                  <option value="1.5">150%</option>
                  <option value="2">200%</option>
                </select>
              </span>
89 90 91
            </div>
          </div>
        </div>
92 93
      </div>
    </div>
94

95 96 97 98 99 100 101 102 103 104 105 106
    %if 'chapters' in textbook:
    <div class="pdfbook-wrap">
      <div class="pdfbook-wrap-inner">
        <section aria-label="${_('Textbook Navigation')}" class="book-sidebar">
          <ul id="booknav" class="treeview-booknav">
            <%def name="print_entry(entry, index_value)">
            <li id="pdfchapter-${index_value}">
            <a class="chapter">
            ${entry.get('title')}
            </a>
            </li>
            </%def>
107

108 109 110 111 112
            % for (index, entry) in enumerate(textbook['chapters']):
            ${print_entry(entry, index+1)}
            % endfor
          </ul>
        </section>
113

114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
        <section id="viewerContainer" class="book">
          <section class="page">
            <!-- use same page-turning as used in image-based textbooks -->
            <nav>
              <ul>
                <li class="last">
                  <a id="previous">${_('Previous page')}</a>
                </li>
                <li class="next">
                  <a id="next">${_('Next page')}</a>
                </li>
              </ul>
            </nav>
            <div id="viewer" contextmenu="viewerContextMenu"></div>
          </section>
        </section>
      </div> <!-- pdfbook-wrap-inner -->
    </div> <!-- pdfbook-wrap -->
    %endif
  </div> <!-- mainContainer -->
134

135
</div> <!-- outerContainer -->