From 5dab45036552bcc1787dd39d9f810a26bfb88cb1 Mon Sep 17 00:00:00 2001 From: infojunkie Date: Tue, 10 Feb 2015 14:50:36 -0800 Subject: [PATCH] Fix URL query parsing in reader --- build/reader.js | 2 +- build/reader.min.js | 2 +- build/reader.min.map | 2 +- reader/js/reader.min.js | 2 +- reader_src/reader.js | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build/reader.js b/build/reader.js index bd3a743ce..2105811c7 100644 --- a/build/reader.js +++ b/build/reader.js @@ -55,7 +55,7 @@ EPUBJS.Reader = function(bookPath, _options) { var split = p.split("="); var name = split[0]; var value = split[1] || ''; - reader.settings[name] = value; + reader.settings[name] = decodeURIComponent(value); }); } diff --git a/build/reader.min.js b/build/reader.min.js index 2e4da341f..68c563624 100644 --- a/build/reader.min.js +++ b/build/reader.min.js @@ -1,2 +1,2 @@ -EPUBJS.reader={},EPUBJS.reader.plugins={},function(a){var b=a.ePubReader||{},c=a.ePubReader=function(a,b){return new EPUBJS.Reader(a,b)};_.extend(c,{noConflict:function(){return a.ePubReader=b,this}}),"function"==typeof define&&define.amd?define(function(){return Reader}):"undefined"!=typeof module&&module.exports&&(module.exports=c)}(window,jQuery),EPUBJS.Reader=function(a,b){var c,d,e,f=this,g=$("#viewer"),h=window.location.search;this.settings=_.defaults(b||{},{bookPath:a,restore:!0,reload:!1,bookmarks:null,annotations:null,contained:null,bookKey:null,styles:null,sidebarReflow:!1,generatePagination:!1,history:!0}),h&&(e=h.slice(1).split("&"),e.forEach(function(a){var b=a.split("="),c=b[0],d=b[1]||"";f.settings[c]=d})),this.setBookKey(this.settings.bookPath),this.settings.restore&&this.isSaved()&&this.applySavedSettings(),this.settings.styles=this.settings.styles||{fontSize:"100%"},this.book=c=new EPUBJS.Book({bookPath:this.settings.bookPath,restore:this.settings.restore,reload:this.settings.reload,contained:this.settings.contained,bookKey:this.settings.bookKey,styles:this.settings.styles}),this.settings.previousLocationCfi&&c.gotoCfi(this.settings.previousLocationCfi),this.offline=!1,this.sidebarOpen=!1,this.settings.bookmarks||(this.settings.bookmarks=[]),this.settings.annotations||(this.settings.annotations=[]),this.settings.generatePagination&&c.generatePagination(g.width(),g.height()),c.renderTo("viewer"),f.ReaderController=EPUBJS.reader.ReaderController.call(f,c),f.SettingsController=EPUBJS.reader.SettingsController.call(f,c),f.ControlsController=EPUBJS.reader.ControlsController.call(f,c),f.SidebarController=EPUBJS.reader.SidebarController.call(f,c),f.BookmarksController=EPUBJS.reader.BookmarksController.call(f,c),f.NotesController=EPUBJS.reader.NotesController.call(f,c);for(d in EPUBJS.reader.plugins)EPUBJS.reader.plugins.hasOwnProperty(d)&&(f[d]=EPUBJS.reader.plugins[d].call(f,c));return c.ready.all.then(function(){f.ReaderController.hideLoader()}),c.getMetadata().then(function(a){f.MetaController=EPUBJS.reader.MetaController.call(f,a)}),c.getToc().then(function(a){f.TocController=EPUBJS.reader.TocController.call(f,a)}),window.addEventListener("beforeunload",this.unload.bind(this),!1),window.addEventListener("hashchange",this.hashChanged.bind(this),!1),document.addEventListener("keydown",this.adjustFontSize.bind(this),!1),c.on("renderer:keydown",this.adjustFontSize.bind(this)),c.on("renderer:keydown",f.ReaderController.arrowKeys.bind(this)),c.on("renderer:selected",this.selectedRange.bind(this)),this},EPUBJS.Reader.prototype.adjustFontSize=function(a){var b,c=2,d=187,e=189,f=48,g=a.ctrlKey||a.metaKey;this.settings.styles&&(this.settings.styles.fontSize||(this.settings.styles.fontSize="100%"),b=parseInt(this.settings.styles.fontSize.slice(0,-1)),g&&a.keyCode==d&&(a.preventDefault(),this.book.setStyle("fontSize",b+c+"%")),g&&a.keyCode==e&&(a.preventDefault(),this.book.setStyle("fontSize",b-c+"%")),g&&a.keyCode==f&&(a.preventDefault(),this.book.setStyle("fontSize","100%")))},EPUBJS.Reader.prototype.addBookmark=function(a){var b=this.isBookmarked(a);b>-1||(this.settings.bookmarks.push(a),this.trigger("reader:bookmarked",a))},EPUBJS.Reader.prototype.removeBookmark=function(a){var b=this.isBookmarked(a);-1!==b&&(delete this.settings.bookmarks[b],this.trigger("reader:unbookmarked",b))},EPUBJS.Reader.prototype.isBookmarked=function(a){var b=this.settings.bookmarks;return b.indexOf(a)},EPUBJS.Reader.prototype.clearBookmarks=function(){this.settings.bookmarks=[]},EPUBJS.Reader.prototype.addNote=function(a){this.settings.annotations.push(a)},EPUBJS.Reader.prototype.removeNote=function(a){var b=this.settings.annotations.indexOf(a);-1!==b&&delete this.settings.annotations[b]},EPUBJS.Reader.prototype.clearNotes=function(){this.settings.annotations=[]},EPUBJS.Reader.prototype.setBookKey=function(a){return this.settings.bookKey||(this.settings.bookKey="epubjsreader:"+EPUBJS.VERSION+":"+window.location.host+":"+a),this.settings.bookKey},EPUBJS.Reader.prototype.isSaved=function(){var a;return localStorage?(a=localStorage.getItem(this.settings.bookKey),null===a?!1:!0):!1},EPUBJS.Reader.prototype.removeSavedSettings=function(){return localStorage?void localStorage.removeItem(this.settings.bookKey):!1},EPUBJS.Reader.prototype.applySavedSettings=function(){var a;if(!localStorage)return!1;try{a=JSON.parse(localStorage.getItem(this.settings.bookKey))}catch(b){return!1}return a?(this.settings=_.defaults(this.settings,a),!0):!1},EPUBJS.Reader.prototype.saveSettings=function(){return this.book&&(this.settings.previousLocationCfi=this.book.getCurrentLocationCfi()),localStorage?void localStorage.setItem(this.settings.bookKey,JSON.stringify(this.settings)):!1},EPUBJS.Reader.prototype.unload=function(){this.settings.restore&&localStorage&&this.saveSettings()},EPUBJS.Reader.prototype.hashChanged=function(){var a=window.location.hash.slice(1);this.book.goto(a)},EPUBJS.Reader.prototype.selectedRange=function(a){var b=new EPUBJS.EpubCFI,c=b.generateCfiFromRangeAnchor(a,this.book.renderer.currentChapter.cfiBase),d="#"+c;this.settings.history&&window.location.hash!=d&&(history.pushState({},"",d),this.currentLocationCfi=c)},RSVP.EventTarget.mixin(EPUBJS.Reader.prototype),EPUBJS.reader.BookmarksController=function(){var a=this.book,b=$("#bookmarksView"),c=b.find("#bookmarks"),d=document.createDocumentFragment(),e=function(){b.show()},f=function(){b.hide()},g=0,h=function(b){var c=document.createElement("li"),d=document.createElement("a");return c.id="bookmark-"+g,c.classList.add("list_item"),d.textContent=b,d.href=b,d.classList.add("bookmark_link"),d.addEventListener("click",function(b){var c=this.getAttribute("href");a.gotoCfi(c),b.preventDefault()},!1),c.appendChild(d),g++,c};return this.settings.bookmarks.forEach(function(a){var b=h(a);d.appendChild(b)}),c.append(d),this.on("reader:bookmarked",function(a){var b=h(a);c.append(b)}),this.on("reader:unbookmarked",function(a){var b=$("#bookmark-"+a);b.remove()}),{show:e,hide:f}},EPUBJS.reader.ControlsController=function(a){var b=this,c=($("#store"),$("#fullscreen")),d=($("#fullscreenicon"),$("#cancelfullscreenicon"),$("#slider")),e=($("#main"),$("#sidebar"),$("#setting")),f=$("#bookmark"),g=function(){b.offline=!1},h=function(){b.offline=!0},i=!1;return a.on("book:online",g),a.on("book:offline",h),d.on("click",function(){b.sidebarOpen?(b.SidebarController.hide(),d.addClass("icon-menu"),d.removeClass("icon-right")):(b.SidebarController.show(),d.addClass("icon-right"),d.removeClass("icon-menu"))}),c.on("click",function(){screenfull.toggle($("#container")[0])}),screenfull&&document.addEventListener(screenfull.raw.fullscreenchange,function(){i=screenfull.isFullscreen,i?c.addClass("icon-resize-small").removeClass("icon-resize-full"):c.addClass("icon-resize-full").removeClass("icon-resize-small")}),e.on("click",function(){b.SettingsController.show()}),f.on("click",function(){var a=b.book.getCurrentLocationCfi(),c=b.isBookmarked(a);-1===c?(b.addBookmark(a),f.addClass("icon-bookmark").removeClass("icon-bookmark-empty")):(b.removeBookmark(a),f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"))}),a.on("renderer:locationChanged",function(a){var c="#"+a,d=b.isBookmarked(a);-1===d?f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"):f.addClass("icon-bookmark").removeClass("icon-bookmark-empty"),b.currentLocationCfi=a,b.settings.history&&window.location.hash!=c&&history.pushState({},"",c)}),a.on("book:pageChanged",function(){}),{}},EPUBJS.reader.MetaController=function(a){var b=a.bookTitle,c=a.creator,d=$("#book-title"),e=$("#chapter-title"),f=$("#title-seperator");document.title=b+" – "+c,d.html(b),e.html(c),f.show()},EPUBJS.reader.NotesController=function(){var a=this.book,b=this,c=$("#notesView"),d=$("#notes"),e=$("#note-text"),f=$("#note-anchor"),g=b.settings.annotations,h=a.renderer,i=[],j=new EPUBJS.EpubCFI,k=function(){c.show()},l=function(){c.hide()},m=function(c){var d,g,h,i,k,l=a.renderer.doc;if(l.caretPositionFromPoint?(d=l.caretPositionFromPoint(c.clientX,c.clientY),g=d.offsetNode,h=d.offset):l.caretRangeFromPoint&&(d=l.caretRangeFromPoint(c.clientX,c.clientY),g=d.startContainer,h=d.startOffset),3!==g.nodeType)for(var p=0;pm/2.5&&(o=m/2.5,pop_content.style.maxHeight=o+"px"),popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),k-popRect.width<=0?(b.style.left=k+"px",b.classList.add("left")):b.classList.remove("left"),k+popRect.width/2>=n?(b.style.left=k-300+"px",popRect=b.getBoundingClientRect(),b.style.left=k-popRect.width+"px",popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),b.classList.add("right")):b.classList.remove("right")},f=function(){i[d].classList.add("on")},g=function(){i[d].classList.remove("on")},j=function(){setTimeout(function(){i[d].classList.remove("show")},100)},l=function(){b.ReaderController.slideOut(),k()};a.addEventListener("mouseover",e,!1),a.addEventListener("mouseout",j,!1),a.addEventListener("click",l,!1)};return f.on("click",function(){f.text("Cancel"),e.prop("disabled","true"),a.on("renderer:click",m)}),g.forEach(function(a){n(a)}),h.registerHook("beforeChapterDisplay",function(a,b){var c=b.currentChapter;g.forEach(function(a){var b=j.parse(a.anchor);if(b.spinePos===c.spinePos)try{o(a)}catch(d){console.log("anchoring failed",a.anchor)}}),a()},!0),{show:k,hide:l}},EPUBJS.reader.ReaderController=function(a){var b=$("#main"),c=$("#divider"),d=$("#loader"),e=$("#next"),f=$("#prev"),g=this,a=this.book,h=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.removeClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.removeClass("closed")},i=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.addClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.addClass("closed")},j=function(){d.show(),m()},k=function(){d.hide()},l=function(){c.addClass("show")},m=function(){c.removeClass("show")},n=!1,o=function(b){37==b.keyCode&&("rtl"===a.metadata.direction?a.nextPage():a.prevPage(),f.addClass("active"),n=!0,setTimeout(function(){n=!1,f.removeClass("active")},100),b.preventDefault()),39==b.keyCode&&("rtl"===a.metadata.direction?a.prevPage():a.nextPage(),e.addClass("active"),n=!0,setTimeout(function(){n=!1,e.removeClass("active")},100),b.preventDefault())};return document.addEventListener("keydown",o,!1),e.on("click",function(b){"rtl"===a.metadata.direction?a.prevPage():a.nextPage(),b.preventDefault()}),f.on("click",function(b){"rtl"===a.metadata.direction?a.nextPage():a.prevPage(),b.preventDefault()}),a.on("renderer:spreads",function(a){a?l():m()}),{slideOut:i,slideIn:h,showLoader:j,hideLoader:k,showDivider:l,hideDivider:m,arrowKeys:o}},EPUBJS.reader.SettingsController=function(){var a=(this.book,this),b=$("#settings-modal"),c=$(".overlay"),d=function(){b.addClass("md-show")},e=function(){b.removeClass("md-show")},f=$("#sidebarReflow");return f.on("click",function(){a.settings.sidebarReflow=!a.settings.sidebarReflow}),b.find(".closer").on("click",function(){e()}),c.on("click",function(){e()}),{show:d,hide:e}},EPUBJS.reader.SidebarController=function(){var a=this,b=$("#sidebar"),c=$("#panels"),d="Toc",e=function(b){var e=b+"Controller";d!=b&&"undefined"!=typeof a[e]&&(a[d+"Controller"].hide(),a[e].show(),d=b,c.find(".active").removeClass("active"),c.find("#show-"+b).addClass("active"))},f=function(){return d},g=function(){a.sidebarOpen=!0,a.ReaderController.slideOut(),b.addClass("open")},h=function(){a.sidebarOpen=!1,a.ReaderController.slideIn(),b.removeClass("open")};return c.find(".show_view").on("click",function(a){var b=$(this).data("view");e(b),a.preventDefault()}),{show:g,hide:h,getActivePanel:f,changePanelTo:e}},EPUBJS.reader.TocController=function(a){var b=this.book,c=$("#tocView"),d=document.createDocumentFragment(),e=!1,f=function(a,b){var c=document.createElement("ul");return b||(b=1),a.forEach(function(a){var d=document.createElement("li"),e=document.createElement("a");toggle=document.createElement("a");var g;d.id="toc-"+a.id,d.classList.add("list_item"),e.textContent=a.label,e.href=a.href,e.classList.add("toc_link"),d.appendChild(e),a.subitems.length>0&&(b++,g=f(a.subitems,b),toggle.classList.add("toc_toggle"),d.insertBefore(toggle,e),d.appendChild(g)),c.appendChild(d)}),c},g=function(){c.show()},h=function(){c.hide()},i=function(a){{var b=a.id,d=c.find("#toc-"+b),f=c.find(".currentChapter");c.find(".openChapter")}d.length&&(d!=f&&d.has(e).length>0&&f.removeClass("currentChapter"),d.addClass("currentChapter"),d.parents("li").addClass("openChapter"))};b.on("renderer:chapterDisplayed",i);var j=f(a);return d.appendChild(j),c.append(d),c.find(".toc_link").on("click",function(a){var d=this.getAttribute("href");a.preventDefault(),b.goto(d),c.find(".currentChapter").addClass("openChapter").removeClass("currentChapter"),$(this).parent("li").addClass("currentChapter")}),c.find(".toc_toggle").on("click",function(a){var b=$(this).parent("li"),c=b.hasClass("openChapter");a.preventDefault(),c?b.removeClass("openChapter"):b.addClass("openChapter")}),{show:g,hide:h}}; +EPUBJS.reader={},EPUBJS.reader.plugins={},function(a){var b=a.ePubReader||{},c=a.ePubReader=function(a,b){return new EPUBJS.Reader(a,b)};_.extend(c,{noConflict:function(){return a.ePubReader=b,this}}),"function"==typeof define&&define.amd?define(function(){return Reader}):"undefined"!=typeof module&&module.exports&&(module.exports=c)}(window,jQuery),EPUBJS.Reader=function(a,b){var c,d,e,f=this,g=$("#viewer"),h=window.location.search;this.settings=_.defaults(b||{},{bookPath:a,restore:!0,reload:!1,bookmarks:null,annotations:null,contained:null,bookKey:null,styles:null,sidebarReflow:!1,generatePagination:!1,history:!0}),h&&(e=h.slice(1).split("&"),e.forEach(function(a){var b=a.split("="),c=b[0],d=b[1]||"";f.settings[c]=decodeURIComponent(d)})),this.setBookKey(this.settings.bookPath),this.settings.restore&&this.isSaved()&&this.applySavedSettings(),this.settings.styles=this.settings.styles||{fontSize:"100%"},this.book=c=new EPUBJS.Book({bookPath:this.settings.bookPath,restore:this.settings.restore,reload:this.settings.reload,contained:this.settings.contained,bookKey:this.settings.bookKey,styles:this.settings.styles}),this.settings.previousLocationCfi&&c.gotoCfi(this.settings.previousLocationCfi),this.offline=!1,this.sidebarOpen=!1,this.settings.bookmarks||(this.settings.bookmarks=[]),this.settings.annotations||(this.settings.annotations=[]),this.settings.generatePagination&&c.generatePagination(g.width(),g.height()),c.renderTo("viewer"),f.ReaderController=EPUBJS.reader.ReaderController.call(f,c),f.SettingsController=EPUBJS.reader.SettingsController.call(f,c),f.ControlsController=EPUBJS.reader.ControlsController.call(f,c),f.SidebarController=EPUBJS.reader.SidebarController.call(f,c),f.BookmarksController=EPUBJS.reader.BookmarksController.call(f,c),f.NotesController=EPUBJS.reader.NotesController.call(f,c);for(d in EPUBJS.reader.plugins)EPUBJS.reader.plugins.hasOwnProperty(d)&&(f[d]=EPUBJS.reader.plugins[d].call(f,c));return c.ready.all.then(function(){f.ReaderController.hideLoader()}),c.getMetadata().then(function(a){f.MetaController=EPUBJS.reader.MetaController.call(f,a)}),c.getToc().then(function(a){f.TocController=EPUBJS.reader.TocController.call(f,a)}),window.addEventListener("beforeunload",this.unload.bind(this),!1),window.addEventListener("hashchange",this.hashChanged.bind(this),!1),document.addEventListener("keydown",this.adjustFontSize.bind(this),!1),c.on("renderer:keydown",this.adjustFontSize.bind(this)),c.on("renderer:keydown",f.ReaderController.arrowKeys.bind(this)),c.on("renderer:selected",this.selectedRange.bind(this)),this},EPUBJS.Reader.prototype.adjustFontSize=function(a){var b,c=2,d=187,e=189,f=48,g=a.ctrlKey||a.metaKey;this.settings.styles&&(this.settings.styles.fontSize||(this.settings.styles.fontSize="100%"),b=parseInt(this.settings.styles.fontSize.slice(0,-1)),g&&a.keyCode==d&&(a.preventDefault(),this.book.setStyle("fontSize",b+c+"%")),g&&a.keyCode==e&&(a.preventDefault(),this.book.setStyle("fontSize",b-c+"%")),g&&a.keyCode==f&&(a.preventDefault(),this.book.setStyle("fontSize","100%")))},EPUBJS.Reader.prototype.addBookmark=function(a){var b=this.isBookmarked(a);b>-1||(this.settings.bookmarks.push(a),this.trigger("reader:bookmarked",a))},EPUBJS.Reader.prototype.removeBookmark=function(a){var b=this.isBookmarked(a);-1!==b&&(delete this.settings.bookmarks[b],this.trigger("reader:unbookmarked",b))},EPUBJS.Reader.prototype.isBookmarked=function(a){var b=this.settings.bookmarks;return b.indexOf(a)},EPUBJS.Reader.prototype.clearBookmarks=function(){this.settings.bookmarks=[]},EPUBJS.Reader.prototype.addNote=function(a){this.settings.annotations.push(a)},EPUBJS.Reader.prototype.removeNote=function(a){var b=this.settings.annotations.indexOf(a);-1!==b&&delete this.settings.annotations[b]},EPUBJS.Reader.prototype.clearNotes=function(){this.settings.annotations=[]},EPUBJS.Reader.prototype.setBookKey=function(a){return this.settings.bookKey||(this.settings.bookKey="epubjsreader:"+EPUBJS.VERSION+":"+window.location.host+":"+a),this.settings.bookKey},EPUBJS.Reader.prototype.isSaved=function(){var a;return localStorage?(a=localStorage.getItem(this.settings.bookKey),null===a?!1:!0):!1},EPUBJS.Reader.prototype.removeSavedSettings=function(){return localStorage?void localStorage.removeItem(this.settings.bookKey):!1},EPUBJS.Reader.prototype.applySavedSettings=function(){var a;if(!localStorage)return!1;try{a=JSON.parse(localStorage.getItem(this.settings.bookKey))}catch(b){return!1}return a?(this.settings=_.defaults(this.settings,a),!0):!1},EPUBJS.Reader.prototype.saveSettings=function(){return this.book&&(this.settings.previousLocationCfi=this.book.getCurrentLocationCfi()),localStorage?void localStorage.setItem(this.settings.bookKey,JSON.stringify(this.settings)):!1},EPUBJS.Reader.prototype.unload=function(){this.settings.restore&&localStorage&&this.saveSettings()},EPUBJS.Reader.prototype.hashChanged=function(){var a=window.location.hash.slice(1);this.book["goto"](a)},EPUBJS.Reader.prototype.selectedRange=function(a){var b=new EPUBJS.EpubCFI,c=b.generateCfiFromRangeAnchor(a,this.book.renderer.currentChapter.cfiBase),d="#"+c;this.settings.history&&window.location.hash!=d&&(history.pushState({},"",d),this.currentLocationCfi=c)},RSVP.EventTarget.mixin(EPUBJS.Reader.prototype),EPUBJS.reader.BookmarksController=function(){var a=this.book,b=$("#bookmarksView"),c=b.find("#bookmarks"),d=document.createDocumentFragment(),e=function(){b.show()},f=function(){b.hide()},g=0,h=function(b){var c=document.createElement("li"),d=document.createElement("a");return c.id="bookmark-"+g,c.classList.add("list_item"),d.textContent=b,d.href=b,d.classList.add("bookmark_link"),d.addEventListener("click",function(b){var c=this.getAttribute("href");a.gotoCfi(c),b.preventDefault()},!1),c.appendChild(d),g++,c};return this.settings.bookmarks.forEach(function(a){var b=h(a);d.appendChild(b)}),c.append(d),this.on("reader:bookmarked",function(a){var b=h(a);c.append(b)}),this.on("reader:unbookmarked",function(a){var b=$("#bookmark-"+a);b.remove()}),{show:e,hide:f}},EPUBJS.reader.ControlsController=function(a){var b=this,c=($("#store"),$("#fullscreen")),d=($("#fullscreenicon"),$("#cancelfullscreenicon"),$("#slider")),e=($("#main"),$("#sidebar"),$("#setting")),f=$("#bookmark"),g=function(){b.offline=!1},h=function(){b.offline=!0},i=!1;return a.on("book:online",g),a.on("book:offline",h),d.on("click",function(){b.sidebarOpen?(b.SidebarController.hide(),d.addClass("icon-menu"),d.removeClass("icon-right")):(b.SidebarController.show(),d.addClass("icon-right"),d.removeClass("icon-menu"))}),c.on("click",function(){screenfull.toggle($("#container")[0])}),screenfull&&document.addEventListener(screenfull.raw.fullscreenchange,function(){i=screenfull.isFullscreen,i?c.addClass("icon-resize-small").removeClass("icon-resize-full"):c.addClass("icon-resize-full").removeClass("icon-resize-small")}),e.on("click",function(){b.SettingsController.show()}),f.on("click",function(){var a=b.book.getCurrentLocationCfi(),c=b.isBookmarked(a);-1===c?(b.addBookmark(a),f.addClass("icon-bookmark").removeClass("icon-bookmark-empty")):(b.removeBookmark(a),f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"))}),a.on("renderer:locationChanged",function(a){var c="#"+a,d=b.isBookmarked(a);-1===d?f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"):f.addClass("icon-bookmark").removeClass("icon-bookmark-empty"),b.currentLocationCfi=a,b.settings.history&&window.location.hash!=c&&history.pushState({},"",c)}),a.on("book:pageChanged",function(){}),{}},EPUBJS.reader.MetaController=function(a){var b=a.bookTitle,c=a.creator,d=$("#book-title"),e=$("#chapter-title"),f=$("#title-seperator");document.title=b+" – "+c,d.html(b),e.html(c),f.show()},EPUBJS.reader.NotesController=function(){var a=this.book,b=this,c=$("#notesView"),d=$("#notes"),e=$("#note-text"),f=$("#note-anchor"),g=b.settings.annotations,h=a.renderer,i=[],j=new EPUBJS.EpubCFI,k=function(){c.show()},l=function(){c.hide()},m=function(c){var d,g,h,i,k,l=a.renderer.doc;if(l.caretPositionFromPoint?(d=l.caretPositionFromPoint(c.clientX,c.clientY),g=d.offsetNode,h=d.offset):l.caretRangeFromPoint&&(d=l.caretRangeFromPoint(c.clientX,c.clientY),g=d.startContainer,h=d.startOffset),3!==g.nodeType)for(var p=0;pm/2.5&&(o=m/2.5,pop_content.style.maxHeight=o+"px"),popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),k-popRect.width<=0?(b.style.left=k+"px",b.classList.add("left")):b.classList.remove("left"),k+popRect.width/2>=n?(b.style.left=k-300+"px",popRect=b.getBoundingClientRect(),b.style.left=k-popRect.width+"px",popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),b.classList.add("right")):b.classList.remove("right")},f=function(){i[d].classList.add("on")},g=function(){i[d].classList.remove("on")},j=function(){setTimeout(function(){i[d].classList.remove("show")},100)},l=function(){b.ReaderController.slideOut(),k()};a.addEventListener("mouseover",e,!1),a.addEventListener("mouseout",j,!1),a.addEventListener("click",l,!1)};return f.on("click",function(){f.text("Cancel"),e.prop("disabled","true"),a.on("renderer:click",m)}),g.forEach(function(a){n(a)}),h.registerHook("beforeChapterDisplay",function(a,b){var c=b.currentChapter;g.forEach(function(a){var b=j.parse(a.anchor);if(b.spinePos===c.spinePos)try{o(a)}catch(d){console.log("anchoring failed",a.anchor)}}),a()},!0),{show:k,hide:l}},EPUBJS.reader.ReaderController=function(a){var b=$("#main"),c=$("#divider"),d=$("#loader"),e=$("#next"),f=$("#prev"),g=this,a=this.book,h=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.removeClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.removeClass("closed")},i=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.addClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.addClass("closed")},j=function(){d.show(),m()},k=function(){d.hide()},l=function(){c.addClass("show")},m=function(){c.removeClass("show")},n=!1,o=function(b){37==b.keyCode&&("rtl"===a.metadata.direction?a.nextPage():a.prevPage(),f.addClass("active"),n=!0,setTimeout(function(){n=!1,f.removeClass("active")},100),b.preventDefault()),39==b.keyCode&&("rtl"===a.metadata.direction?a.prevPage():a.nextPage(),e.addClass("active"),n=!0,setTimeout(function(){n=!1,e.removeClass("active")},100),b.preventDefault())};return document.addEventListener("keydown",o,!1),e.on("click",function(b){"rtl"===a.metadata.direction?a.prevPage():a.nextPage(),b.preventDefault()}),f.on("click",function(b){"rtl"===a.metadata.direction?a.nextPage():a.prevPage(),b.preventDefault()}),a.on("renderer:spreads",function(a){a?l():m()}),{slideOut:i,slideIn:h,showLoader:j,hideLoader:k,showDivider:l,hideDivider:m,arrowKeys:o}},EPUBJS.reader.SettingsController=function(){var a=(this.book,this),b=$("#settings-modal"),c=$(".overlay"),d=function(){b.addClass("md-show")},e=function(){b.removeClass("md-show")},f=$("#sidebarReflow");return f.on("click",function(){a.settings.sidebarReflow=!a.settings.sidebarReflow}),b.find(".closer").on("click",function(){e()}),c.on("click",function(){e()}),{show:d,hide:e}},EPUBJS.reader.SidebarController=function(){var a=this,b=$("#sidebar"),c=$("#panels"),d="Toc",e=function(b){var e=b+"Controller";d!=b&&"undefined"!=typeof a[e]&&(a[d+"Controller"].hide(),a[e].show(),d=b,c.find(".active").removeClass("active"),c.find("#show-"+b).addClass("active"))},f=function(){return d},g=function(){a.sidebarOpen=!0,a.ReaderController.slideOut(),b.addClass("open")},h=function(){a.sidebarOpen=!1,a.ReaderController.slideIn(),b.removeClass("open")};return c.find(".show_view").on("click",function(a){var b=$(this).data("view");e(b),a.preventDefault()}),{show:g,hide:h,getActivePanel:f,changePanelTo:e}},EPUBJS.reader.TocController=function(a){var b=this.book,c=$("#tocView"),d=document.createDocumentFragment(),e=!1,f=function(a,b){var c=document.createElement("ul");return b||(b=1),a.forEach(function(a){var d=document.createElement("li"),e=document.createElement("a");toggle=document.createElement("a");var g;d.id="toc-"+a.id,d.classList.add("list_item"),e.textContent=a.label,e.href=a.href,e.classList.add("toc_link"),d.appendChild(e),a.subitems.length>0&&(b++,g=f(a.subitems,b),toggle.classList.add("toc_toggle"),d.insertBefore(toggle,e),d.appendChild(g)),c.appendChild(d)}),c},g=function(){c.show()},h=function(){c.hide()},i=function(a){{var b=a.id,d=c.find("#toc-"+b),f=c.find(".currentChapter");c.find(".openChapter")}d.length&&(d!=f&&d.has(e).length>0&&f.removeClass("currentChapter"),d.addClass("currentChapter"),d.parents("li").addClass("openChapter"))};b.on("renderer:chapterDisplayed",i);var j=f(a);return d.appendChild(j),c.append(d),c.find(".toc_link").on("click",function(a){var d=this.getAttribute("href");a.preventDefault(),b["goto"](d),c.find(".currentChapter").addClass("openChapter").removeClass("currentChapter"),$(this).parent("li").addClass("currentChapter")}),c.find(".toc_toggle").on("click",function(a){var b=$(this).parent("li"),c=b.hasClass("openChapter");a.preventDefault(),c?b.removeClass("openChapter"):b.addClass("openChapter")}),{show:g,hide:h}}; //# sourceMappingURL=reader.min.map \ No newline at end of file diff --git a/build/reader.min.map b/build/reader.min.map index 638df5f1f..1e978dca4 100644 --- a/build/reader.min.map +++ b/build/reader.min.map @@ -1 +1 @@ -{"version":3,"file":"reader.min.js","sources":["reader.js"],"names":["EPUBJS","reader","plugins","root","previousReader","ePubReader","path","options","Reader","_","extend","noConflict","this","define","amd","module","exports","window","jQuery","bookPath","_options","book","plugin","parameters","$viewer","$","search","location","settings","defaults","restore","reload","bookmarks","annotations","contained","bookKey","styles","sidebarReflow","generatePagination","history","slice","split","forEach","p","name","value","setBookKey","isSaved","applySavedSettings","fontSize","Book","previousLocationCfi","gotoCfi","offline","sidebarOpen","width","height","renderTo","ReaderController","call","SettingsController","ControlsController","SidebarController","BookmarksController","NotesController","hasOwnProperty","ready","all","then","hideLoader","getMetadata","meta","MetaController","getToc","toc","TocController","addEventListener","unload","bind","hashChanged","document","adjustFontSize","on","arrowKeys","selectedRange","prototype","e","interval","PLUS","MINUS","ZERO","MOD","ctrlKey","metaKey","parseInt","keyCode","preventDefault","setStyle","addBookmark","cfi","present","isBookmarked","push","trigger","removeBookmark","bookmark","indexOf","clearBookmarks","addNote","note","removeNote","index","clearNotes","identifier","VERSION","host","storedSettings","localStorage","getItem","removeSavedSettings","removeItem","stored","JSON","parse","saveSettings","getCurrentLocationCfi","setItem","stringify","hash","goto","range","epubcfi","EpubCFI","generateCfiFromRangeAnchor","renderer","currentChapter","cfiBase","cfiFragment","pushState","currentLocationCfi","RSVP","EventTarget","mixin","$bookmarks","$list","find","docfrag","createDocumentFragment","show","hide","counter","createBookmarkItem","listitem","createElement","link","id","classList","add","textContent","href","event","getAttribute","appendChild","append","item","$item","remove","$fullscreen","$slider","$settings","$bookmark","goOnline","goOffline","fullscreen","addClass","removeClass","screenfull","toggle","raw","fullscreenchange","isFullscreen","bookmarked","title","bookTitle","author","creator","$title","$author","$dash","html","$notesView","$notes","$text","$anchor","popups","insertAtPoint","textNode","offset","annotation","doc","caretPositionFromPoint","clientX","clientY","offsetNode","caretRangeFromPoint","startContainer","startOffset","nodeType","i","childNodes","length","generateCfiFromTextNode","annotatedAt","Date","anchor","body","val","addAnnotation","placeMarker","text","prop","off","innerHTML","onclick","marker","mark","style","verticalAlign","lineHeight","padding","backgroundColor","borderRadius","cursor","core","uuid","addMarker","markerEvents","txt","showPop","pop","itemRect","left","top","iheight","iwidth","maxHeight","setAttribute","pop_content","render","onPop","offPop","hidePop","getBoundingClientRect","popRect","setTimeout","openSidebar","slideOut","registerHook","callback","chapter","spinePos","console","log","$main","$divider","$loader","$next","$prev","slideIn","currentPosition","one","showLoader","hideDivider","showDivider","keylock","metadata","direction","nextPage","prevPage","bool","$overlay","$sidebarReflowSetting","$sidebar","$panels","activePanel","changePanelTo","viewName","controllerName","getActivePanel","view","data","generateTocItems","level","container","subitems","label","insertBefore","onShow","onHide","chapterChange","$current","has","parents","tocitems","url","parent","$el","open","hasClass"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"reader.min.js","sources":["reader.js"],"names":["EPUBJS","reader","plugins","root","previousReader","ePubReader","path","options","Reader","_","extend","noConflict","this","define","amd","module","exports","window","jQuery","bookPath","_options","book","plugin","parameters","$viewer","$","search","location","settings","defaults","restore","reload","bookmarks","annotations","contained","bookKey","styles","sidebarReflow","generatePagination","history","slice","split","forEach","p","name","value","decodeURIComponent","setBookKey","isSaved","applySavedSettings","fontSize","Book","previousLocationCfi","gotoCfi","offline","sidebarOpen","width","height","renderTo","ReaderController","call","SettingsController","ControlsController","SidebarController","BookmarksController","NotesController","hasOwnProperty","ready","all","then","hideLoader","getMetadata","meta","MetaController","getToc","toc","TocController","addEventListener","unload","bind","hashChanged","document","adjustFontSize","on","arrowKeys","selectedRange","prototype","e","interval","PLUS","MINUS","ZERO","MOD","ctrlKey","metaKey","parseInt","keyCode","preventDefault","setStyle","addBookmark","cfi","present","isBookmarked","push","trigger","removeBookmark","bookmark","indexOf","clearBookmarks","addNote","note","removeNote","index","clearNotes","identifier","VERSION","host","storedSettings","localStorage","getItem","removeSavedSettings","removeItem","stored","JSON","parse","saveSettings","getCurrentLocationCfi","setItem","stringify","hash","range","epubcfi","EpubCFI","generateCfiFromRangeAnchor","renderer","currentChapter","cfiBase","cfiFragment","pushState","currentLocationCfi","RSVP","EventTarget","mixin","$bookmarks","$list","find","docfrag","createDocumentFragment","show","hide","counter","createBookmarkItem","listitem","createElement","link","id","classList","add","textContent","href","event","getAttribute","appendChild","append","item","$item","remove","$fullscreen","$slider","$settings","$bookmark","goOnline","goOffline","fullscreen","addClass","removeClass","screenfull","toggle","raw","fullscreenchange","isFullscreen","bookmarked","title","bookTitle","author","creator","$title","$author","$dash","html","$notesView","$notes","$text","$anchor","popups","insertAtPoint","textNode","offset","annotation","doc","caretPositionFromPoint","clientX","clientY","offsetNode","caretRangeFromPoint","startContainer","startOffset","nodeType","i","childNodes","length","generateCfiFromTextNode","annotatedAt","Date","anchor","body","val","addAnnotation","placeMarker","text","prop","off","innerHTML","onclick","marker","mark","style","verticalAlign","lineHeight","padding","backgroundColor","borderRadius","cursor","core","uuid","addMarker","markerEvents","txt","showPop","pop","itemRect","left","top","iheight","iwidth","maxHeight","setAttribute","pop_content","render","onPop","offPop","hidePop","getBoundingClientRect","popRect","setTimeout","openSidebar","slideOut","registerHook","callback","chapter","spinePos","console","log","$main","$divider","$loader","$next","$prev","slideIn","currentPosition","one","showLoader","hideDivider","showDivider","keylock","metadata","direction","nextPage","prevPage","bool","$overlay","$sidebarReflowSetting","$sidebar","$panels","activePanel","changePanelTo","viewName","controllerName","getActivePanel","view","data","generateTocItems","level","container","subitems","label","insertBefore","onShow","onHide","chapterChange","$current","has","parents","tocitems","url","parent","$el","open","hasClass"],"mappings":"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"} \ No newline at end of file diff --git a/reader/js/reader.min.js b/reader/js/reader.min.js index 2e4da341f..68c563624 100644 --- a/reader/js/reader.min.js +++ b/reader/js/reader.min.js @@ -1,2 +1,2 @@ -EPUBJS.reader={},EPUBJS.reader.plugins={},function(a){var b=a.ePubReader||{},c=a.ePubReader=function(a,b){return new EPUBJS.Reader(a,b)};_.extend(c,{noConflict:function(){return a.ePubReader=b,this}}),"function"==typeof define&&define.amd?define(function(){return Reader}):"undefined"!=typeof module&&module.exports&&(module.exports=c)}(window,jQuery),EPUBJS.Reader=function(a,b){var c,d,e,f=this,g=$("#viewer"),h=window.location.search;this.settings=_.defaults(b||{},{bookPath:a,restore:!0,reload:!1,bookmarks:null,annotations:null,contained:null,bookKey:null,styles:null,sidebarReflow:!1,generatePagination:!1,history:!0}),h&&(e=h.slice(1).split("&"),e.forEach(function(a){var b=a.split("="),c=b[0],d=b[1]||"";f.settings[c]=d})),this.setBookKey(this.settings.bookPath),this.settings.restore&&this.isSaved()&&this.applySavedSettings(),this.settings.styles=this.settings.styles||{fontSize:"100%"},this.book=c=new EPUBJS.Book({bookPath:this.settings.bookPath,restore:this.settings.restore,reload:this.settings.reload,contained:this.settings.contained,bookKey:this.settings.bookKey,styles:this.settings.styles}),this.settings.previousLocationCfi&&c.gotoCfi(this.settings.previousLocationCfi),this.offline=!1,this.sidebarOpen=!1,this.settings.bookmarks||(this.settings.bookmarks=[]),this.settings.annotations||(this.settings.annotations=[]),this.settings.generatePagination&&c.generatePagination(g.width(),g.height()),c.renderTo("viewer"),f.ReaderController=EPUBJS.reader.ReaderController.call(f,c),f.SettingsController=EPUBJS.reader.SettingsController.call(f,c),f.ControlsController=EPUBJS.reader.ControlsController.call(f,c),f.SidebarController=EPUBJS.reader.SidebarController.call(f,c),f.BookmarksController=EPUBJS.reader.BookmarksController.call(f,c),f.NotesController=EPUBJS.reader.NotesController.call(f,c);for(d in EPUBJS.reader.plugins)EPUBJS.reader.plugins.hasOwnProperty(d)&&(f[d]=EPUBJS.reader.plugins[d].call(f,c));return c.ready.all.then(function(){f.ReaderController.hideLoader()}),c.getMetadata().then(function(a){f.MetaController=EPUBJS.reader.MetaController.call(f,a)}),c.getToc().then(function(a){f.TocController=EPUBJS.reader.TocController.call(f,a)}),window.addEventListener("beforeunload",this.unload.bind(this),!1),window.addEventListener("hashchange",this.hashChanged.bind(this),!1),document.addEventListener("keydown",this.adjustFontSize.bind(this),!1),c.on("renderer:keydown",this.adjustFontSize.bind(this)),c.on("renderer:keydown",f.ReaderController.arrowKeys.bind(this)),c.on("renderer:selected",this.selectedRange.bind(this)),this},EPUBJS.Reader.prototype.adjustFontSize=function(a){var b,c=2,d=187,e=189,f=48,g=a.ctrlKey||a.metaKey;this.settings.styles&&(this.settings.styles.fontSize||(this.settings.styles.fontSize="100%"),b=parseInt(this.settings.styles.fontSize.slice(0,-1)),g&&a.keyCode==d&&(a.preventDefault(),this.book.setStyle("fontSize",b+c+"%")),g&&a.keyCode==e&&(a.preventDefault(),this.book.setStyle("fontSize",b-c+"%")),g&&a.keyCode==f&&(a.preventDefault(),this.book.setStyle("fontSize","100%")))},EPUBJS.Reader.prototype.addBookmark=function(a){var b=this.isBookmarked(a);b>-1||(this.settings.bookmarks.push(a),this.trigger("reader:bookmarked",a))},EPUBJS.Reader.prototype.removeBookmark=function(a){var b=this.isBookmarked(a);-1!==b&&(delete this.settings.bookmarks[b],this.trigger("reader:unbookmarked",b))},EPUBJS.Reader.prototype.isBookmarked=function(a){var b=this.settings.bookmarks;return b.indexOf(a)},EPUBJS.Reader.prototype.clearBookmarks=function(){this.settings.bookmarks=[]},EPUBJS.Reader.prototype.addNote=function(a){this.settings.annotations.push(a)},EPUBJS.Reader.prototype.removeNote=function(a){var b=this.settings.annotations.indexOf(a);-1!==b&&delete this.settings.annotations[b]},EPUBJS.Reader.prototype.clearNotes=function(){this.settings.annotations=[]},EPUBJS.Reader.prototype.setBookKey=function(a){return this.settings.bookKey||(this.settings.bookKey="epubjsreader:"+EPUBJS.VERSION+":"+window.location.host+":"+a),this.settings.bookKey},EPUBJS.Reader.prototype.isSaved=function(){var a;return localStorage?(a=localStorage.getItem(this.settings.bookKey),null===a?!1:!0):!1},EPUBJS.Reader.prototype.removeSavedSettings=function(){return localStorage?void localStorage.removeItem(this.settings.bookKey):!1},EPUBJS.Reader.prototype.applySavedSettings=function(){var a;if(!localStorage)return!1;try{a=JSON.parse(localStorage.getItem(this.settings.bookKey))}catch(b){return!1}return a?(this.settings=_.defaults(this.settings,a),!0):!1},EPUBJS.Reader.prototype.saveSettings=function(){return this.book&&(this.settings.previousLocationCfi=this.book.getCurrentLocationCfi()),localStorage?void localStorage.setItem(this.settings.bookKey,JSON.stringify(this.settings)):!1},EPUBJS.Reader.prototype.unload=function(){this.settings.restore&&localStorage&&this.saveSettings()},EPUBJS.Reader.prototype.hashChanged=function(){var a=window.location.hash.slice(1);this.book.goto(a)},EPUBJS.Reader.prototype.selectedRange=function(a){var b=new EPUBJS.EpubCFI,c=b.generateCfiFromRangeAnchor(a,this.book.renderer.currentChapter.cfiBase),d="#"+c;this.settings.history&&window.location.hash!=d&&(history.pushState({},"",d),this.currentLocationCfi=c)},RSVP.EventTarget.mixin(EPUBJS.Reader.prototype),EPUBJS.reader.BookmarksController=function(){var a=this.book,b=$("#bookmarksView"),c=b.find("#bookmarks"),d=document.createDocumentFragment(),e=function(){b.show()},f=function(){b.hide()},g=0,h=function(b){var c=document.createElement("li"),d=document.createElement("a");return c.id="bookmark-"+g,c.classList.add("list_item"),d.textContent=b,d.href=b,d.classList.add("bookmark_link"),d.addEventListener("click",function(b){var c=this.getAttribute("href");a.gotoCfi(c),b.preventDefault()},!1),c.appendChild(d),g++,c};return this.settings.bookmarks.forEach(function(a){var b=h(a);d.appendChild(b)}),c.append(d),this.on("reader:bookmarked",function(a){var b=h(a);c.append(b)}),this.on("reader:unbookmarked",function(a){var b=$("#bookmark-"+a);b.remove()}),{show:e,hide:f}},EPUBJS.reader.ControlsController=function(a){var b=this,c=($("#store"),$("#fullscreen")),d=($("#fullscreenicon"),$("#cancelfullscreenicon"),$("#slider")),e=($("#main"),$("#sidebar"),$("#setting")),f=$("#bookmark"),g=function(){b.offline=!1},h=function(){b.offline=!0},i=!1;return a.on("book:online",g),a.on("book:offline",h),d.on("click",function(){b.sidebarOpen?(b.SidebarController.hide(),d.addClass("icon-menu"),d.removeClass("icon-right")):(b.SidebarController.show(),d.addClass("icon-right"),d.removeClass("icon-menu"))}),c.on("click",function(){screenfull.toggle($("#container")[0])}),screenfull&&document.addEventListener(screenfull.raw.fullscreenchange,function(){i=screenfull.isFullscreen,i?c.addClass("icon-resize-small").removeClass("icon-resize-full"):c.addClass("icon-resize-full").removeClass("icon-resize-small")}),e.on("click",function(){b.SettingsController.show()}),f.on("click",function(){var a=b.book.getCurrentLocationCfi(),c=b.isBookmarked(a);-1===c?(b.addBookmark(a),f.addClass("icon-bookmark").removeClass("icon-bookmark-empty")):(b.removeBookmark(a),f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"))}),a.on("renderer:locationChanged",function(a){var c="#"+a,d=b.isBookmarked(a);-1===d?f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"):f.addClass("icon-bookmark").removeClass("icon-bookmark-empty"),b.currentLocationCfi=a,b.settings.history&&window.location.hash!=c&&history.pushState({},"",c)}),a.on("book:pageChanged",function(){}),{}},EPUBJS.reader.MetaController=function(a){var b=a.bookTitle,c=a.creator,d=$("#book-title"),e=$("#chapter-title"),f=$("#title-seperator");document.title=b+" – "+c,d.html(b),e.html(c),f.show()},EPUBJS.reader.NotesController=function(){var a=this.book,b=this,c=$("#notesView"),d=$("#notes"),e=$("#note-text"),f=$("#note-anchor"),g=b.settings.annotations,h=a.renderer,i=[],j=new EPUBJS.EpubCFI,k=function(){c.show()},l=function(){c.hide()},m=function(c){var d,g,h,i,k,l=a.renderer.doc;if(l.caretPositionFromPoint?(d=l.caretPositionFromPoint(c.clientX,c.clientY),g=d.offsetNode,h=d.offset):l.caretRangeFromPoint&&(d=l.caretRangeFromPoint(c.clientX,c.clientY),g=d.startContainer,h=d.startOffset),3!==g.nodeType)for(var p=0;pm/2.5&&(o=m/2.5,pop_content.style.maxHeight=o+"px"),popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),k-popRect.width<=0?(b.style.left=k+"px",b.classList.add("left")):b.classList.remove("left"),k+popRect.width/2>=n?(b.style.left=k-300+"px",popRect=b.getBoundingClientRect(),b.style.left=k-popRect.width+"px",popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),b.classList.add("right")):b.classList.remove("right")},f=function(){i[d].classList.add("on")},g=function(){i[d].classList.remove("on")},j=function(){setTimeout(function(){i[d].classList.remove("show")},100)},l=function(){b.ReaderController.slideOut(),k()};a.addEventListener("mouseover",e,!1),a.addEventListener("mouseout",j,!1),a.addEventListener("click",l,!1)};return f.on("click",function(){f.text("Cancel"),e.prop("disabled","true"),a.on("renderer:click",m)}),g.forEach(function(a){n(a)}),h.registerHook("beforeChapterDisplay",function(a,b){var c=b.currentChapter;g.forEach(function(a){var b=j.parse(a.anchor);if(b.spinePos===c.spinePos)try{o(a)}catch(d){console.log("anchoring failed",a.anchor)}}),a()},!0),{show:k,hide:l}},EPUBJS.reader.ReaderController=function(a){var b=$("#main"),c=$("#divider"),d=$("#loader"),e=$("#next"),f=$("#prev"),g=this,a=this.book,h=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.removeClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.removeClass("closed")},i=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.addClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.addClass("closed")},j=function(){d.show(),m()},k=function(){d.hide()},l=function(){c.addClass("show")},m=function(){c.removeClass("show")},n=!1,o=function(b){37==b.keyCode&&("rtl"===a.metadata.direction?a.nextPage():a.prevPage(),f.addClass("active"),n=!0,setTimeout(function(){n=!1,f.removeClass("active")},100),b.preventDefault()),39==b.keyCode&&("rtl"===a.metadata.direction?a.prevPage():a.nextPage(),e.addClass("active"),n=!0,setTimeout(function(){n=!1,e.removeClass("active")},100),b.preventDefault())};return document.addEventListener("keydown",o,!1),e.on("click",function(b){"rtl"===a.metadata.direction?a.prevPage():a.nextPage(),b.preventDefault()}),f.on("click",function(b){"rtl"===a.metadata.direction?a.nextPage():a.prevPage(),b.preventDefault()}),a.on("renderer:spreads",function(a){a?l():m()}),{slideOut:i,slideIn:h,showLoader:j,hideLoader:k,showDivider:l,hideDivider:m,arrowKeys:o}},EPUBJS.reader.SettingsController=function(){var a=(this.book,this),b=$("#settings-modal"),c=$(".overlay"),d=function(){b.addClass("md-show")},e=function(){b.removeClass("md-show")},f=$("#sidebarReflow");return f.on("click",function(){a.settings.sidebarReflow=!a.settings.sidebarReflow}),b.find(".closer").on("click",function(){e()}),c.on("click",function(){e()}),{show:d,hide:e}},EPUBJS.reader.SidebarController=function(){var a=this,b=$("#sidebar"),c=$("#panels"),d="Toc",e=function(b){var e=b+"Controller";d!=b&&"undefined"!=typeof a[e]&&(a[d+"Controller"].hide(),a[e].show(),d=b,c.find(".active").removeClass("active"),c.find("#show-"+b).addClass("active"))},f=function(){return d},g=function(){a.sidebarOpen=!0,a.ReaderController.slideOut(),b.addClass("open")},h=function(){a.sidebarOpen=!1,a.ReaderController.slideIn(),b.removeClass("open")};return c.find(".show_view").on("click",function(a){var b=$(this).data("view");e(b),a.preventDefault()}),{show:g,hide:h,getActivePanel:f,changePanelTo:e}},EPUBJS.reader.TocController=function(a){var b=this.book,c=$("#tocView"),d=document.createDocumentFragment(),e=!1,f=function(a,b){var c=document.createElement("ul");return b||(b=1),a.forEach(function(a){var d=document.createElement("li"),e=document.createElement("a");toggle=document.createElement("a");var g;d.id="toc-"+a.id,d.classList.add("list_item"),e.textContent=a.label,e.href=a.href,e.classList.add("toc_link"),d.appendChild(e),a.subitems.length>0&&(b++,g=f(a.subitems,b),toggle.classList.add("toc_toggle"),d.insertBefore(toggle,e),d.appendChild(g)),c.appendChild(d)}),c},g=function(){c.show()},h=function(){c.hide()},i=function(a){{var b=a.id,d=c.find("#toc-"+b),f=c.find(".currentChapter");c.find(".openChapter")}d.length&&(d!=f&&d.has(e).length>0&&f.removeClass("currentChapter"),d.addClass("currentChapter"),d.parents("li").addClass("openChapter"))};b.on("renderer:chapterDisplayed",i);var j=f(a);return d.appendChild(j),c.append(d),c.find(".toc_link").on("click",function(a){var d=this.getAttribute("href");a.preventDefault(),b.goto(d),c.find(".currentChapter").addClass("openChapter").removeClass("currentChapter"),$(this).parent("li").addClass("currentChapter")}),c.find(".toc_toggle").on("click",function(a){var b=$(this).parent("li"),c=b.hasClass("openChapter");a.preventDefault(),c?b.removeClass("openChapter"):b.addClass("openChapter")}),{show:g,hide:h}}; +EPUBJS.reader={},EPUBJS.reader.plugins={},function(a){var b=a.ePubReader||{},c=a.ePubReader=function(a,b){return new EPUBJS.Reader(a,b)};_.extend(c,{noConflict:function(){return a.ePubReader=b,this}}),"function"==typeof define&&define.amd?define(function(){return Reader}):"undefined"!=typeof module&&module.exports&&(module.exports=c)}(window,jQuery),EPUBJS.Reader=function(a,b){var c,d,e,f=this,g=$("#viewer"),h=window.location.search;this.settings=_.defaults(b||{},{bookPath:a,restore:!0,reload:!1,bookmarks:null,annotations:null,contained:null,bookKey:null,styles:null,sidebarReflow:!1,generatePagination:!1,history:!0}),h&&(e=h.slice(1).split("&"),e.forEach(function(a){var b=a.split("="),c=b[0],d=b[1]||"";f.settings[c]=decodeURIComponent(d)})),this.setBookKey(this.settings.bookPath),this.settings.restore&&this.isSaved()&&this.applySavedSettings(),this.settings.styles=this.settings.styles||{fontSize:"100%"},this.book=c=new EPUBJS.Book({bookPath:this.settings.bookPath,restore:this.settings.restore,reload:this.settings.reload,contained:this.settings.contained,bookKey:this.settings.bookKey,styles:this.settings.styles}),this.settings.previousLocationCfi&&c.gotoCfi(this.settings.previousLocationCfi),this.offline=!1,this.sidebarOpen=!1,this.settings.bookmarks||(this.settings.bookmarks=[]),this.settings.annotations||(this.settings.annotations=[]),this.settings.generatePagination&&c.generatePagination(g.width(),g.height()),c.renderTo("viewer"),f.ReaderController=EPUBJS.reader.ReaderController.call(f,c),f.SettingsController=EPUBJS.reader.SettingsController.call(f,c),f.ControlsController=EPUBJS.reader.ControlsController.call(f,c),f.SidebarController=EPUBJS.reader.SidebarController.call(f,c),f.BookmarksController=EPUBJS.reader.BookmarksController.call(f,c),f.NotesController=EPUBJS.reader.NotesController.call(f,c);for(d in EPUBJS.reader.plugins)EPUBJS.reader.plugins.hasOwnProperty(d)&&(f[d]=EPUBJS.reader.plugins[d].call(f,c));return c.ready.all.then(function(){f.ReaderController.hideLoader()}),c.getMetadata().then(function(a){f.MetaController=EPUBJS.reader.MetaController.call(f,a)}),c.getToc().then(function(a){f.TocController=EPUBJS.reader.TocController.call(f,a)}),window.addEventListener("beforeunload",this.unload.bind(this),!1),window.addEventListener("hashchange",this.hashChanged.bind(this),!1),document.addEventListener("keydown",this.adjustFontSize.bind(this),!1),c.on("renderer:keydown",this.adjustFontSize.bind(this)),c.on("renderer:keydown",f.ReaderController.arrowKeys.bind(this)),c.on("renderer:selected",this.selectedRange.bind(this)),this},EPUBJS.Reader.prototype.adjustFontSize=function(a){var b,c=2,d=187,e=189,f=48,g=a.ctrlKey||a.metaKey;this.settings.styles&&(this.settings.styles.fontSize||(this.settings.styles.fontSize="100%"),b=parseInt(this.settings.styles.fontSize.slice(0,-1)),g&&a.keyCode==d&&(a.preventDefault(),this.book.setStyle("fontSize",b+c+"%")),g&&a.keyCode==e&&(a.preventDefault(),this.book.setStyle("fontSize",b-c+"%")),g&&a.keyCode==f&&(a.preventDefault(),this.book.setStyle("fontSize","100%")))},EPUBJS.Reader.prototype.addBookmark=function(a){var b=this.isBookmarked(a);b>-1||(this.settings.bookmarks.push(a),this.trigger("reader:bookmarked",a))},EPUBJS.Reader.prototype.removeBookmark=function(a){var b=this.isBookmarked(a);-1!==b&&(delete this.settings.bookmarks[b],this.trigger("reader:unbookmarked",b))},EPUBJS.Reader.prototype.isBookmarked=function(a){var b=this.settings.bookmarks;return b.indexOf(a)},EPUBJS.Reader.prototype.clearBookmarks=function(){this.settings.bookmarks=[]},EPUBJS.Reader.prototype.addNote=function(a){this.settings.annotations.push(a)},EPUBJS.Reader.prototype.removeNote=function(a){var b=this.settings.annotations.indexOf(a);-1!==b&&delete this.settings.annotations[b]},EPUBJS.Reader.prototype.clearNotes=function(){this.settings.annotations=[]},EPUBJS.Reader.prototype.setBookKey=function(a){return this.settings.bookKey||(this.settings.bookKey="epubjsreader:"+EPUBJS.VERSION+":"+window.location.host+":"+a),this.settings.bookKey},EPUBJS.Reader.prototype.isSaved=function(){var a;return localStorage?(a=localStorage.getItem(this.settings.bookKey),null===a?!1:!0):!1},EPUBJS.Reader.prototype.removeSavedSettings=function(){return localStorage?void localStorage.removeItem(this.settings.bookKey):!1},EPUBJS.Reader.prototype.applySavedSettings=function(){var a;if(!localStorage)return!1;try{a=JSON.parse(localStorage.getItem(this.settings.bookKey))}catch(b){return!1}return a?(this.settings=_.defaults(this.settings,a),!0):!1},EPUBJS.Reader.prototype.saveSettings=function(){return this.book&&(this.settings.previousLocationCfi=this.book.getCurrentLocationCfi()),localStorage?void localStorage.setItem(this.settings.bookKey,JSON.stringify(this.settings)):!1},EPUBJS.Reader.prototype.unload=function(){this.settings.restore&&localStorage&&this.saveSettings()},EPUBJS.Reader.prototype.hashChanged=function(){var a=window.location.hash.slice(1);this.book["goto"](a)},EPUBJS.Reader.prototype.selectedRange=function(a){var b=new EPUBJS.EpubCFI,c=b.generateCfiFromRangeAnchor(a,this.book.renderer.currentChapter.cfiBase),d="#"+c;this.settings.history&&window.location.hash!=d&&(history.pushState({},"",d),this.currentLocationCfi=c)},RSVP.EventTarget.mixin(EPUBJS.Reader.prototype),EPUBJS.reader.BookmarksController=function(){var a=this.book,b=$("#bookmarksView"),c=b.find("#bookmarks"),d=document.createDocumentFragment(),e=function(){b.show()},f=function(){b.hide()},g=0,h=function(b){var c=document.createElement("li"),d=document.createElement("a");return c.id="bookmark-"+g,c.classList.add("list_item"),d.textContent=b,d.href=b,d.classList.add("bookmark_link"),d.addEventListener("click",function(b){var c=this.getAttribute("href");a.gotoCfi(c),b.preventDefault()},!1),c.appendChild(d),g++,c};return this.settings.bookmarks.forEach(function(a){var b=h(a);d.appendChild(b)}),c.append(d),this.on("reader:bookmarked",function(a){var b=h(a);c.append(b)}),this.on("reader:unbookmarked",function(a){var b=$("#bookmark-"+a);b.remove()}),{show:e,hide:f}},EPUBJS.reader.ControlsController=function(a){var b=this,c=($("#store"),$("#fullscreen")),d=($("#fullscreenicon"),$("#cancelfullscreenicon"),$("#slider")),e=($("#main"),$("#sidebar"),$("#setting")),f=$("#bookmark"),g=function(){b.offline=!1},h=function(){b.offline=!0},i=!1;return a.on("book:online",g),a.on("book:offline",h),d.on("click",function(){b.sidebarOpen?(b.SidebarController.hide(),d.addClass("icon-menu"),d.removeClass("icon-right")):(b.SidebarController.show(),d.addClass("icon-right"),d.removeClass("icon-menu"))}),c.on("click",function(){screenfull.toggle($("#container")[0])}),screenfull&&document.addEventListener(screenfull.raw.fullscreenchange,function(){i=screenfull.isFullscreen,i?c.addClass("icon-resize-small").removeClass("icon-resize-full"):c.addClass("icon-resize-full").removeClass("icon-resize-small")}),e.on("click",function(){b.SettingsController.show()}),f.on("click",function(){var a=b.book.getCurrentLocationCfi(),c=b.isBookmarked(a);-1===c?(b.addBookmark(a),f.addClass("icon-bookmark").removeClass("icon-bookmark-empty")):(b.removeBookmark(a),f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"))}),a.on("renderer:locationChanged",function(a){var c="#"+a,d=b.isBookmarked(a);-1===d?f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"):f.addClass("icon-bookmark").removeClass("icon-bookmark-empty"),b.currentLocationCfi=a,b.settings.history&&window.location.hash!=c&&history.pushState({},"",c)}),a.on("book:pageChanged",function(){}),{}},EPUBJS.reader.MetaController=function(a){var b=a.bookTitle,c=a.creator,d=$("#book-title"),e=$("#chapter-title"),f=$("#title-seperator");document.title=b+" – "+c,d.html(b),e.html(c),f.show()},EPUBJS.reader.NotesController=function(){var a=this.book,b=this,c=$("#notesView"),d=$("#notes"),e=$("#note-text"),f=$("#note-anchor"),g=b.settings.annotations,h=a.renderer,i=[],j=new EPUBJS.EpubCFI,k=function(){c.show()},l=function(){c.hide()},m=function(c){var d,g,h,i,k,l=a.renderer.doc;if(l.caretPositionFromPoint?(d=l.caretPositionFromPoint(c.clientX,c.clientY),g=d.offsetNode,h=d.offset):l.caretRangeFromPoint&&(d=l.caretRangeFromPoint(c.clientX,c.clientY),g=d.startContainer,h=d.startOffset),3!==g.nodeType)for(var p=0;pm/2.5&&(o=m/2.5,pop_content.style.maxHeight=o+"px"),popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),k-popRect.width<=0?(b.style.left=k+"px",b.classList.add("left")):b.classList.remove("left"),k+popRect.width/2>=n?(b.style.left=k-300+"px",popRect=b.getBoundingClientRect(),b.style.left=k-popRect.width+"px",popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),b.classList.add("right")):b.classList.remove("right")},f=function(){i[d].classList.add("on")},g=function(){i[d].classList.remove("on")},j=function(){setTimeout(function(){i[d].classList.remove("show")},100)},l=function(){b.ReaderController.slideOut(),k()};a.addEventListener("mouseover",e,!1),a.addEventListener("mouseout",j,!1),a.addEventListener("click",l,!1)};return f.on("click",function(){f.text("Cancel"),e.prop("disabled","true"),a.on("renderer:click",m)}),g.forEach(function(a){n(a)}),h.registerHook("beforeChapterDisplay",function(a,b){var c=b.currentChapter;g.forEach(function(a){var b=j.parse(a.anchor);if(b.spinePos===c.spinePos)try{o(a)}catch(d){console.log("anchoring failed",a.anchor)}}),a()},!0),{show:k,hide:l}},EPUBJS.reader.ReaderController=function(a){var b=$("#main"),c=$("#divider"),d=$("#loader"),e=$("#next"),f=$("#prev"),g=this,a=this.book,h=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.removeClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.removeClass("closed")},i=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.addClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.addClass("closed")},j=function(){d.show(),m()},k=function(){d.hide()},l=function(){c.addClass("show")},m=function(){c.removeClass("show")},n=!1,o=function(b){37==b.keyCode&&("rtl"===a.metadata.direction?a.nextPage():a.prevPage(),f.addClass("active"),n=!0,setTimeout(function(){n=!1,f.removeClass("active")},100),b.preventDefault()),39==b.keyCode&&("rtl"===a.metadata.direction?a.prevPage():a.nextPage(),e.addClass("active"),n=!0,setTimeout(function(){n=!1,e.removeClass("active")},100),b.preventDefault())};return document.addEventListener("keydown",o,!1),e.on("click",function(b){"rtl"===a.metadata.direction?a.prevPage():a.nextPage(),b.preventDefault()}),f.on("click",function(b){"rtl"===a.metadata.direction?a.nextPage():a.prevPage(),b.preventDefault()}),a.on("renderer:spreads",function(a){a?l():m()}),{slideOut:i,slideIn:h,showLoader:j,hideLoader:k,showDivider:l,hideDivider:m,arrowKeys:o}},EPUBJS.reader.SettingsController=function(){var a=(this.book,this),b=$("#settings-modal"),c=$(".overlay"),d=function(){b.addClass("md-show")},e=function(){b.removeClass("md-show")},f=$("#sidebarReflow");return f.on("click",function(){a.settings.sidebarReflow=!a.settings.sidebarReflow}),b.find(".closer").on("click",function(){e()}),c.on("click",function(){e()}),{show:d,hide:e}},EPUBJS.reader.SidebarController=function(){var a=this,b=$("#sidebar"),c=$("#panels"),d="Toc",e=function(b){var e=b+"Controller";d!=b&&"undefined"!=typeof a[e]&&(a[d+"Controller"].hide(),a[e].show(),d=b,c.find(".active").removeClass("active"),c.find("#show-"+b).addClass("active"))},f=function(){return d},g=function(){a.sidebarOpen=!0,a.ReaderController.slideOut(),b.addClass("open")},h=function(){a.sidebarOpen=!1,a.ReaderController.slideIn(),b.removeClass("open")};return c.find(".show_view").on("click",function(a){var b=$(this).data("view");e(b),a.preventDefault()}),{show:g,hide:h,getActivePanel:f,changePanelTo:e}},EPUBJS.reader.TocController=function(a){var b=this.book,c=$("#tocView"),d=document.createDocumentFragment(),e=!1,f=function(a,b){var c=document.createElement("ul");return b||(b=1),a.forEach(function(a){var d=document.createElement("li"),e=document.createElement("a");toggle=document.createElement("a");var g;d.id="toc-"+a.id,d.classList.add("list_item"),e.textContent=a.label,e.href=a.href,e.classList.add("toc_link"),d.appendChild(e),a.subitems.length>0&&(b++,g=f(a.subitems,b),toggle.classList.add("toc_toggle"),d.insertBefore(toggle,e),d.appendChild(g)),c.appendChild(d)}),c},g=function(){c.show()},h=function(){c.hide()},i=function(a){{var b=a.id,d=c.find("#toc-"+b),f=c.find(".currentChapter");c.find(".openChapter")}d.length&&(d!=f&&d.has(e).length>0&&f.removeClass("currentChapter"),d.addClass("currentChapter"),d.parents("li").addClass("openChapter"))};b.on("renderer:chapterDisplayed",i);var j=f(a);return d.appendChild(j),c.append(d),c.find(".toc_link").on("click",function(a){var d=this.getAttribute("href");a.preventDefault(),b["goto"](d),c.find(".currentChapter").addClass("openChapter").removeClass("currentChapter"),$(this).parent("li").addClass("currentChapter")}),c.find(".toc_toggle").on("click",function(a){var b=$(this).parent("li"),c=b.hasClass("openChapter");a.preventDefault(),c?b.removeClass("openChapter"):b.addClass("openChapter")}),{show:g,hide:h}}; //# sourceMappingURL=reader.min.map \ No newline at end of file diff --git a/reader_src/reader.js b/reader_src/reader.js index 10173b0d5..915cd79b1 100644 --- a/reader_src/reader.js +++ b/reader_src/reader.js @@ -55,7 +55,7 @@ EPUBJS.Reader = function(bookPath, _options) { var split = p.split("="); var name = split[0]; var value = split[1] || ''; - reader.settings[name] = value; + reader.settings[name] = decodeURIComponent(value); }); }