From 82db5d04d40f6822f8ee592b02781a64f44deca8 Mon Sep 17 00:00:00 2001 From: Fred Chasen Date: Fri, 12 Sep 2014 08:13:31 -0400 Subject: [PATCH] Fix miss first item in pagination --- examples/basic-dev.html | 2 +- examples/pagination.html | 20 ++++++++++---------- src/render_iframe.js | 1 - src/renderer.js | 19 ++++++++++--------- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/examples/basic-dev.html b/examples/basic-dev.html index 1e4d9c7..6e309dc 100644 --- a/examples/basic-dev.html +++ b/examples/basic-dev.html @@ -107,7 +107,7 @@ diff --git a/examples/pagination.html b/examples/pagination.html index 76d8652..d00c56f 100644 --- a/examples/pagination.html +++ b/examples/pagination.html @@ -119,7 +119,7 @@ @@ -149,17 +149,17 @@ // Load in stored pageList from json or local storage ///* - // EPUBJS.core.request("page_list.json").then(function(storedPageList){ - // pageList = storedPageList; - // console.log(storedPageList) - // book.loadPagination(pageList); - // }); - + EPUBJS.core.request("../books/bkb_9781609949914/page_list.json").then(function(storedPageList){ + pageList = storedPageList; + // console.log(storedPageList) + book.loadPagination(pageList); + }); + // Or generate the pageList on the fly - book.ready.all.then(function(){ - book.generatePagination(); - }); + // book.ready.all.then(function(){ + // book.generatePagination(); + // }); // Wait for the pageList to be ready and then show slider book.pageListReady.then(function(pageList){ diff --git a/src/render_iframe.js b/src/render_iframe.js index 791d75a..d82b034 100644 --- a/src/render_iframe.js +++ b/src/render_iframe.js @@ -49,7 +49,6 @@ EPUBJS.Render.Iframe.prototype.load = function(chapter){ render.bodyEl = render.document.body; render.window = render.iframe.contentWindow; - render.window.addEventListener("resize", render.resized.bind(render), false); //-- Clear Margins diff --git a/src/renderer.js b/src/renderer.js index 25e3e71..4ed628d 100644 --- a/src/renderer.js +++ b/src/renderer.js @@ -564,7 +564,7 @@ EPUBJS.Renderer.prototype.sprint = function(root, func) { EPUBJS.Renderer.prototype.mapPage = function(){ var renderer = this; - var map = [{ start: null, end: null }]; + var map = []; var root = this.render.getBaseElement(); var page = 1; var width = this.layout.colWidth + this.layout.gap; @@ -617,18 +617,18 @@ EPUBJS.Renderer.prototype.mapPage = function(){ if(!pos || (pos.width === 0 && pos.height === 0)) { return; } - if(pos.left + pos.width < limit) { - if(!map[page-1].start){ + if(!map[page-1]){ range.collapse(true); cfi = renderer.currentChapter.cfiFromRange(range); - map[page-1].start = cfi; + // map[page-1].start = cfi; + map.push({ start: cfi, end: null }) } } else { if(prevRange){ prevRange.collapse(true); cfi = renderer.currentChapter.cfiFromRange(prevRange); - map[page-1].end = cfi; + map[map.length-1].end = cfi; } range.collapse(true); @@ -656,18 +656,19 @@ EPUBJS.Renderer.prototype.mapPage = function(){ prevRange.collapse(true); cfi = renderer.currentChapter.cfiFromRange(prevRange); - map[page-1].end = cfi; + map[map.length-1].end = cfi; } // Handle empty map - if(map.length === 1 && !map[0].start) { + if(!map.length) { range = this.doc.createRange(); range.selectNodeContents(root); range.collapse(true); cfi = renderer.currentChapter.cfiFromRange(range); - map[0].start = cfi; - map[0].end = cfi; + + map.push({ start: cfi, end: cfi }) + } // clean up