From b3ad5cc3c984028f6813e78f99499ea7d7c981ad Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 10 Jan 2019 17:02:53 +0100 Subject: [PATCH] wip #2502 @2 --- js/libs/fluidbook/fluidbook.js | 36 ++++++++++++++----- .../fluidbook/fluidbook.pagetransitions.js | 4 +++ js/libs/fluidbook/fluidbook.slider.js | 2 +- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/js/libs/fluidbook/fluidbook.js b/js/libs/fluidbook/fluidbook.js index 24e99922..33a10867 100644 --- a/js/libs/fluidbook/fluidbook.js +++ b/js/libs/fluidbook/fluidbook.js @@ -24,6 +24,7 @@ Fluidbook.prototype = { this.networkPause = false; this.networkPauseTimeout = null; this.networkPauseQueue = []; + this.canNavigate = false; this.datas = datas; this.singleMode = (this.datas.mobileNavigationType === 'portrait'); @@ -187,6 +188,7 @@ Fluidbook.prototype = { }, __hideSplash: function () { + $("#main,#viewOverlay,#view").css('visibility', 'visible'); this.resize.resize(false, true); this.hideLoader(0, true); @@ -201,9 +203,19 @@ Fluidbook.prototype = { }) } + this.allowChangePage(1.5); $(this).trigger('fluidbook.splash.hide'); }, + allowChangePage: function (timeout) { + var $this = this; + setTimeout(function () { + console.log('can change page'); + $this.canNavigate = true; + $($this).trigger('fluidbook.navigation.cannavigate'); + }, timeout * 1000); + }, + ready: function () { if (this.isReady) { return; @@ -257,6 +269,14 @@ Fluidbook.prototype = { hidePage: function (position) { $("#pages ." + position).hide(); }, + canChangePage: function () { + try { + return this.pagetransitions.canChangePage(); + } catch (e) { + + } + return false; + }, initVideos: function () { var $this = this; $(".videoContainer").each(function () { @@ -272,28 +292,28 @@ Fluidbook.prototype = { return offset; }, goNextPage: function () { - if (this.pagetransitions.transitionning) { + if (!this.pagetransitions.canChangePage()) { return; } this.transitionAxis = 'x'; this.setCurrentPage(this.normalizePage(this.currentPage) + this.getNextOffset()); }, goFirstPage: function () { - if (this.pagetransitions.transitionning) { + if (!this.pagetransitions.canChangePage()) { return; } this.transitionAxis = 'x'; this.setCurrentPage(1); }, goPreviousPage: function () { - if (this.pagetransitions.transitionning) { + if (!this.pagetransitions.canChangePage()) { return; } this.transitionAxis = 'x'; this.setCurrentPage(this.normalizePage(this.currentPage) - this.getNextOffset()); }, goLastPage: function () { - if (this.pagetransitions.transitionning) { + if (!this.pagetransitions.canChangePage()) { console.log('golastpage skip'); return; } @@ -301,7 +321,7 @@ Fluidbook.prototype = { this.setCurrentPage(this.contentlock.getMaxPage()); }, goNextChapter: function () { - if (this.pagetransitions.transitionning) { + if (!this.pagetransitions.canChangePage()) { return; } var next = this.bookmarks.getNextGroupCover(this.currentPage); @@ -312,7 +332,7 @@ Fluidbook.prototype = { this.setCurrentPage(this.normalizePage(next)); }, goPreviousChapter: function () { - if (this.pagetransitions.transitionning) { + if (!this.pagetransitions.canChangePage()) { return; } var prev = this.bookmarks.getPreviousGroupCover(this.currentPage); @@ -323,7 +343,7 @@ Fluidbook.prototype = { this.setCurrentPage(this.normalizePage(prev)); }, goNextChapterPage: function () { - if (this.pagetransitions.transitionning) { + if (!this.pagetransitions.canChangePage()) { return; } @@ -335,7 +355,7 @@ Fluidbook.prototype = { this.setCurrentPage(this.normalizePage(next)); }, goPreviousChapterPage: function () { - if (this.pagetransitions.transitionning) { + if (!this.pagetransitions.canChangePage()) { return; } diff --git a/js/libs/fluidbook/fluidbook.pagetransitions.js b/js/libs/fluidbook/fluidbook.pagetransitions.js index 0119a51e..1064cccb 100644 --- a/js/libs/fluidbook/fluidbook.pagetransitions.js +++ b/js/libs/fluidbook/fluidbook.pagetransitions.js @@ -381,4 +381,8 @@ FluidbookPageTransition.prototype = { $(this.fluidbook).trigger('fluidbook.page.change.end', [this.fluidbook.currentPage]); }, + + canChangePage: function () { + return this.fluidbook.canNavigate && !this.transitionning; + }, } \ No newline at end of file diff --git a/js/libs/fluidbook/fluidbook.slider.js b/js/libs/fluidbook/fluidbook.slider.js index df5c4e91..a8de41b7 100644 --- a/js/libs/fluidbook/fluidbook.slider.js +++ b/js/libs/fluidbook/fluidbook.slider.js @@ -84,7 +84,7 @@ FluidbookSlider.prototype = { } var page = this.getPageByX(pos) - if (gotoPage) { + if (gotoPage && this.fluidbook.canChangePage()) { this.fluidbook.setCurrentPage(page); } if (updateCursor) { -- 2.39.5