Files
edx-platform/lms/templates/staticbook.html
David Ormsbee 3cde783bdf Display the last top level element in the Table of Contents as expandable.
This isn't a great fix, but I'm confused what's going on. It's something
in JQuery.TreeView. We write out the HTML correctly, but the lastExpandable
style causes the list item to not be expandable. This didn't bite us in
6.002x because the last item was an appendix that isn't expandable anyway.
It does affect 6.00x, where the last item is Chapter 5 at the moment.
2012-09-19 17:37:15 -04:00

125 lines
3.5 KiB
HTML

<%inherit file="main.html" />
<%namespace name='static' file='static_content.html'/>
<%block name="title"><title>${course.number} Textbook</title></%block>
<%block name="headextra">
<%static:css group='course'/>
<%static:js group='courseware'/>
</%block>
<%block name="js_extra">
<script type="text/javascript" src="${static.url('js/jquery.treeview.js')}"></script>
<script>
var page=${ page };
$(document).ready(function(){
if(!page) {
cookie_page = $.cookie("book_page");
if(cookie_page) {
goto_page(cookie_page);
}
}
$("#booknav").treeview({collapsed:true, unique:true/*, cookieId: "treeview-book-nav", persist: "cookie"*/});
});
function goto_page(n) {
log_event("book", {"type":"gotopage","old":page,"new":n});
page=n;
var prefix = "";
if(n<100) {
prefix="0";
}
if(n<10) {
prefix="00";
}
$("#bookpage").attr("src","${ book_url }p"+prefix+n+".png");
$.cookie("book_page", n, {'expires':3650, 'path':'/'});
};
function prev_page() {
var newpage=page-1;
if(newpage< ${start_page}) newpage=${start_page};
goto_page(newpage);
log_event("book", {"type":"prevpage","new":page});
}
function next_page() {
var newpage=page+1;
if(newpage> ${end_page}) newpage=${end_page};
goto_page(newpage);
log_event("book", {"type":"nextpage","new":page});
}
$("#open_close_accordion a").click(function(){
if ($(".book-wrapper").hasClass("closed")){
$(".book-wrapper").removeClass("closed");
} else {
$(".book-wrapper").addClass("closed");
}
});
</script>
</%block>
<%include file="/courseware/course_navigation.html" args="active_page='textbook/{0}'.format(book_index)" />
<section class="container">
<div class="book-wrapper">
<section aria-label="Textbook Navigation" class="book-sidebar">
<header id="open_close_accordion">
<a href="#">close</a>
</header>
<ul id="booknav" class="treeview-booknav">
<%def name="print_entry(entry)">
<li>
<a href="javascript:goto_page(${entry.get('page')})">
<span class="chapter">
%if entry.get('chapter'):
<span class="chapter-number">${entry.get('chapter')}.</span> ${entry.get('name')}
%else:
${entry.get('name')}
%endif
</span>
<span class="page-number">${entry.get('page_label')}</span>
</a>
% if len(entry) > 0:
<ul>
% for child in entry:
${print_entry(child)}
% endfor
</ul>
% endif
</li>
</%def>
% for entry in table_of_contents:
${print_entry(entry)}
% endfor
## Don't delete this empty list item. Without it, Jquery.TreeView won't
## render the last list item as expandable.
<li></li>
</ul>
</section>
<section class="book">
<section class="page">
<nav>
<ul>
<li class="last">
<a href="javascript:prev_page()">Previous page</a>
</li>
<li class="next">
<a href="javascript:next_page()">Next page</a>
</li>
</ul>
</nav>
<img id="bookpage" src="${ book_url }p${ "%03i"%(page) }.png">
</section>
</section>
</div>
</section>