init: function (datas) {
this.flags = {};
- this.networkPause = false;
- this.networkPauseTimeout = null;
+ this.networkPauseDate = null;
this.networkPauseQueue = [];
+ this.initNetworkPause();
this.canNavigate = false;
this.initSettings(datas);
this.singleMode = (this.datas.mobileNavigationType === 'portrait');
this.junk = datas.cacheDate;
- this.input=new FluidbookInput(this);
+ this.input = new FluidbookInput(this);
if (this.datas.landingPage != undefined && this.datas.landingPage != '') {
this.landingpage = new FluidbookLandingPage(this);
}
}
,
- pauseNetwork: function (during) {
- clearTimeout(this.networkPauseTimeout);
+ initNetworkPause: function () {
var $this = this;
+ setInterval(function () {
+
+ if ($this.networkPauseDate != null && $this.networkPauseDate < Date.now()) {
+ $this.networkPauseDate = null;
+ $this.flushNetworkQueue();
+ }
+ }, 1000);
+ },
+
+ pauseNetwork: function (during) {
if (during === -1) {
- this.networkPause = false;
+ this.networkPauseDate = null;
this.flushNetworkQueue();
return;
}
- this.networkPause = true;
- this.networkPauseTimeout = setTimeout(function () {
- $this.networkPause = false;
- $this.flushNetworkQueue();
- }, during + 500)
- }
- ,
+
+ var date = Date.now() + during + 500;
+ if (this.networkPauseDate == null) {
+ this.networkPauseDate = date;
+ } else {
+ this.networkPauseDate = Math.max(this.networkPauseDate, date);
+ }
+ },
executeWhenNetwork: function (f) {
- if (this.networkPause) {
+ if (this.networkPauseDate != null) {
this.networkPauseQueue.push(f);
return;
}
f();
- }
- ,
+ },
unlockCurrentPage: function () {
this.contentlock.unlockCurrentPage();
,
flushNetworkQueue: function () {
- if (this.networkPauseQueue.length === 0 || this.networkPause) {
+ if (this.networkPauseQueue.length === 0 || this.networkPauseDate != null) {
return;
}
},
preloadPagesBeforeTransition: function (pages, callback) {
+ if (this.arePreloadedPages(pages)) {
+ callback();
+ return;
+ }
+
var $this = this;
var $pages = pages.slice(0);
if ($pages.length == 0) {
});
} else {
this.loadLeftPage(leftPage, $(doublePage), function () {
- })
+ });
this.loadRightPage(rightPage, $(doublePage), function () {
});
callback();
}
},
pageTransition3D: function (pageNr) {
- console.log(this.transitionning);
+
var $this = this;
if ($("#pages").hasClass('_3dtransition')) {
return;
$("#pages").prepend('<div id="nextDoublePage" class="_3d doublePage"></div>');
var doublePage = $("#nextDoublePage");
-
this.fluidbook.loader.preloadPagesBeforeTransition(turning.end, function () {
$this.flip3d.clean();
$this.flip3d.prepareTurn(turning, function () {
$this.fluidbook.loader.setContentsInDoublePage(currentDoublePage, turning.flat, true, function () {
$this.flip3d.playTurn(turning.dir, function () {
$this.fluidbook.loader.setContentsInDoublePage(doublePage, turning.end, true, function () {
- if ($this.transitionning == false) {
+ if ($this.transitionning === false) {
return;
}
// Remove former part
}, 1000 * (animationDuration + 2))
try {
- this.search.clearHighlights();
+ this.fluidbook.search.clearHighlights();
} catch (err) {
}