X-Git-Url: http://git.rot13.org/?p=bookreader.git;a=blobdiff_plain;f=BookReader%2FBookReader.js;fp=BookReader%2FBookReader.js;h=de9ed07bad623723d32cc63fa5e169281c8eef00;hp=a8d77ec844abffeba0f4cde2aafc1dbd9e2b9f32;hb=c092c3e7148e0e16899dfdf11cd5ab4febd678c3;hpb=51efa30995026af9556457642c7ee9433b461fe3;ds=sidebyside diff --git a/BookReader/BookReader.js b/BookReader/BookReader.js index a8d77ec..de9ed07 100644 --- a/BookReader/BookReader.js +++ b/BookReader/BookReader.js @@ -1255,7 +1255,21 @@ BookReader.prototype._reduceSort = function(a, b) { // Attempts to jump to page. Returns true if page could be found, false otherwise. BookReader.prototype.jumpToPage = function(pageNum) { - var pageIndex = this.getPageIndex(pageNum); + var pageIndex; + + // Check for special "leaf" + var re = new RegExp('^leaf(\\d+)'); + leafMatch = re.exec(pageNum); + if (leafMatch) { + console.log(leafMatch[1]); + pageIndex = this.leafNumToIndex(parseInt(leafMatch[1],10)); + if (pageIndex === null) { + pageIndex = undefined; // to match return type of getPageIndex + } + + } else { + pageIndex = this.getPageIndex(pageNum); + } if ('undefined' != typeof(pageIndex)) { var leafTop = 0; @@ -4282,7 +4296,7 @@ BookReader.prototype.updateFromParams = function(params) { this.jumpToPage(params.page); } } - + // $$$ process /region // $$$ process /highlight }