RJSDemoApp = {}; RJSDemoApp.getInputValue = function (inputId) { return $("#" + inputId).val(); }; RJSDemoApp.setModuleContainerHeight = function () { $("#epub-reader-container").css({ "height" : $(window).height() * 0.85 + "px" }); }; RJSDemoApp.addLibraryList = function ($ulElementContainer, libraryJson) { _.each(libraryJson.library_epubs, function (currEpub) { var $currLi = $('
  • ' + currEpub.title + '
  • '); $currLi.on("click", function () { RJSDemoApp.loadAndRenderEpub(currEpub.url_to_package_doc); }); $ulElementContainer.append($currLi); }); }; // This function will retrieve a package document and load an EPUB RJSDemoApp.loadAndRenderEpub = function (packageDocumentURL) { // Set a fixed height for the epub viewer container RJSDemoApp.setModuleContainerHeight(); var that = this; var jsLibDir = './lib/'; var elementToBindReaderTo = $("#epub-reader-container"); $(elementToBindReaderTo).html(""); // Clear the viewer, if it has been defined -> to load a new epub RJSDemoApp.epubViewer = undefined; RJSDemoApp.readium = new Readium(elementToBindReaderTo, packageDocumentURL, jsLibDir, function (epubViewer) { RJSDemoApp.epubViewer = epubViewer; RJSDemoApp.epubViewer.openBook(); // Change layout stuff RJSDemoApp.epubViewer.updateSettings({ "columnGap" : 20}); }); // These are application specific handlers that wire the HTML to the SimpleReadiumJs module API // Set handlers for click events $("#previous-page-btn").unbind("click"); $("#previous-page-btn").on("click", function () { RJSDemoApp.epubViewer.openPageLeft(); }); $("#next-page-btn").unbind("click"); $("#next-page-btn").on("click", function () { RJSDemoApp.epubViewer.openPageRight(); }); $("#toggle-synthetic-btn").unbind("click"); $("#toggle-synthetic-btn").on("click", function () { if (RJSDemoApp.currLayoutIsSynthetic) { RJSDemoApp.epubViewer.updateSettings({ "isSyntheticSpread" : false }); RJSDemoApp.currLayoutIsSynthetic = false; $("#toggle-synthetic-btn").removeClass('synthetic-page-ico'); $("#toggle-synthetic-btn").addClass('single-page-ico'); } else { RJSDemoApp.epubViewer.updateSettings({ "isSyntheticSpread" : true }); RJSDemoApp.currLayoutIsSynthetic = true; $("#toggle-synthetic-btn").removeClass('single-page-ico'); $("#toggle-synthetic-btn").addClass('synthetic-page-ico'); } }); }; // When the document is ready, choose an EPUB to show. $(document).ready(function () { RJSDemoApp.currLayoutIsSynthetic = true; // "epub_content/moby_dick/OPS/package.opf" // Load Moby Dick by default RJSDemoApp.loadAndRenderEpub("epub_content/page-blanche/EPUB/package.opf"); // Generate the library $.getJSON('epub_content/epub_library.json', function (data) { $(".show-on-load").hide(); $("#library-list").html(""); RJSDemoApp.addLibraryList($("#library-list"), data); $(".show-on-load").show(); }).fail(function (result) { console.log("The library could not be loaded"); }); });