From: Vincent Vanwaelscappel Date: Fri, 5 May 2017 16:44:04 +0000 (+0200) Subject: wip #1388 @3 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=244771af96fdb377cbc54ed2ea612ca4e73f3240;p=fluidbook-html5.git wip #1388 @3 --- diff --git a/js/libs/fluidbook/fluidbook.js b/js/libs/fluidbook/fluidbook.js index 76188f01..8aba2646 100644 --- a/js/libs/fluidbook/fluidbook.js +++ b/js/libs/fluidbook/fluidbook.js @@ -25,6 +25,7 @@ Fluidbook.prototype = { this.datas = datas; this.junk = datas.cacheDate; this.zoom = new FluidbookZoom(this); + this.menu = new FluidbookMenu(this); this.zoom.resetZoom(); this.cache = new FluidbookCache(datas); this.service = new FluidbookService(this, datas.id); @@ -131,7 +132,7 @@ Fluidbook.prototype = { this.ready(); $("#main").css('visibility', 'visible'); this.hideLoader(0, true); - + if (this.support.transitions2d) { $("#splash").css('opacity', 0).one(this.support.getTransitionEndEvent(true), function () { $(this).remove(); @@ -303,7 +304,7 @@ Fluidbook.prototype = { } $($this).trigger('changePage', [page]); - this.closeView(function () { + this.menu.closeView(function () { $this.pageTransition(page); $this.zoom.resetZoom(); $this.stats.track(0, page); @@ -311,7 +312,7 @@ Fluidbook.prototype = { }, true); } else { - this.openView(args[1], args[2], args[3], function () { + this.menu.openView(args[1], args[2], args[3], function () { $this.hideSplash(); }); this.zoom.resetZoom(); @@ -658,17 +659,7 @@ Fluidbook.prototype = { } this.wopen(this.datas.url_link, '_blank'); }, - viewMode: function () { - return $("#view .mview").length > 0; - }, - openView: function (view, param1, param2, callback) { - var $this = this; - this.displayLoader(); - this.resetWaiters(); - setTimeout(function () { - $this._openView(view, param1, param2, callback); - }, 20); - }, + addWaiter: function (reset) { if (reset == undefined) { reset = false; @@ -686,433 +677,15 @@ Fluidbook.prototype = { resetWaiters: function () { this.waiters = []; }, - _openView: function (view, param1, param2, callback) { - var $this = this; - var preload = { - index: 'thumbnails', - search: 'thumbnails', - bookmark: 'thumbnails', - video: 'extras' - }; - if (!OFFLINEAPP && this.gal != null && preload[view] != undefined) { - var w = this.addWaiter(true); - this.gal.downloadAndCall(preload[view], function () { - if ($this.waiterActive(w)) { - $this.__openView(view, param1, param2, callback); - } - }); - } else { - this.__openView(view, param1, param2, callback); - } - }, - __openView: function (view, param1, param2, callback) { - var $this = this; - var camelView = view.charAt(0).toUpperCase() + view.substr(1); - var cb = function () { - $this.openingView(callback); - }; - if (view == 'index') { - this.openIndex(this.l10n.__('overview'), undefined, true, cb); - } else if (view == 'search') { - this.searchString = param1; - var group = param2; - $("#q").val(param1); - this.search.find(param1, function (r) { - $this.displayResults(r, group, cb); - }); - if (group == undefined) { - this.stats.track(1, 0, param1); - } - } else if (view == 'video') { - this.openVideo(param1, cb); - } else if (view == 'audio') { - this.openAudio(param1, cb); - } else if (view == 'webvideo') { - this.openWebVideo(param1, param2, cb); - } else if (view == 'multimedia') { - this.openMultimedia(param1, cb); - } else if (view == 'chapters') { - this.openChapters(cb); - } else if (view == 'archives') { - this.openArchives($("#nav #archives").data('tooltip'), cb); - } else { - this['open' + camelView](param1, param2, cb); - } - }, - openingView: function (callback) { - var $this = this; - this.resize.resizeView(); - this.tooltip.hideTooltip(); - var mview = $('#view .mview:last'); - if (this.support.transitions2d) { - var vertFrom = { - translateY: $(window).height() + 'px' - }; - var vertTo = { - translateY: '0px' - }; - var horiFrom = { - translateX: $(window).width() + 'px' - }; - var horiTo = { - translateX: '0px' - }; - var from = vertFrom; - var to = vertTo; - if ($(mview).hasClass('hori')) { - from = horiFrom; - to = horiTo; - } - - $(mview).show().removeClass('animate').transform(from); - setTimeout(function () { - $(mview).one($this.support.getTransitionEndEvent(), function () { - $("#main").hide(); - $('body').addClass('view'); - $(mview).removeClass('animate'); - callback(); - $this.hideLoader(); - resize(); - }).addClass('animate').transform(to); - }, 50); - } else { - $("#main").hide(); - $('body').addClass('view'); - $(mview).show(); - callback(); - this.hideLoader(); - resize(); - } - }, - displayResults: function (data, group, callback) { - var $this = this; - var results = data.results; - var hideNoResults = !this.datas.searchShowNoResultsPages; - if (data.total <= 0) { - alert(this.l10n.__('no result found')); - window.location = "#/page/" + this.currentPage; - return; - } - - this.openIndex(this.l10n.__('search results for') + ' « ' + this.searchString + " »", group, false, function () { - var hits = []; - for (var i = 0; i <= $this.datas.pages; i++) { - hits[i] = 0; - } - - $.each(results, function (k, v) { - hits[k] += v; - }); - var e = encodeURIComponent($this.searchString); - $(".doubleThumb").each(function () { - var pages = $(this).data('pages').toString().split(','); - var hitsp = 0; - var pagesWithHits = []; - for (var i in pages) { - var n = parseInt(pages[i]); - if (hits[n] > 0) { - hitsp += hits[n]; - pagesWithHits.push(pages[i]); - } - } - - if ($(this)) - if ($(this).find('.hits').length > 0) { - return; - } - - if (hitsp == 0) { - if (hideNoResults) { - $(this).remove(); - return; - } - $(this).append('
'); - $(this).append('
' + $this.l10n.__('no result found') + '
'); - } else { - $(this).append('
' + hitsp + ' ' + $this.l10n.__('hit(s)') + '
'); - if ($this.pad.enabled) { - if (pagesWithHits.length == 1) { - $(this).find('a').attr('href', '#/page/' + pagesWithHits[0]); - } else { - $(this).find('a').attr('href', '#/search/' + e + '/' + $(this).attr('page')); - } - } else { - $(this).find('a').attr('href', '#/page/' + $(this).attr('page')); - } - } - }); - $this.termsToHighlight = data.terms; - if (callback != undefined) { - callback(); - } - }); - }, - openMultimedia: function (multimedia, callback) { - var a = $('a[href="#/multimedia/' + multimedia + '"]'); - var markup = decodeURIComponent($(a).attr('data-multimedia')); - var view = '
' + this.l10n.__('back') + '
'; - view += '
'; - view += markup; - view += '
'; - $("#view").append('
' + view + '
'); - if (callback != undefined) { - callback(); - } - }, - openVideo: function (video, callback) { - var a = $('a[href="#/video/' + video + '"]'); - var markup = decodeURIComponent($(a).attr('data-video')); - var view = '
' + this.l10n.__('back') + '
'; - view += '
'; - view += markup; - view += '
'; - $("#view").append('
' + view + '
'); - this.stats.track(11); - this.initVideos(); - var $this = this; - var times = [250, 500, 750, 1000, 1250]; - $.each(times, function (k, v) { - setTimeout(function () { - $this.resize.resizePopupVideos(); - }, v); - }); - if (callback != undefined) { - callback(); - } - this.hideLoader(5); - }, - openAudio: function (audio, callback) { - var a = $('a[href="#/audio/' + audio + '"]'); - var markup = decodeURIComponent($(a).attr('data-audio')); - var view = '
' + this.l10n.__('back') + '
'; - view += '
'; - view += markup; - view += '
'; - $("#view").append('
' + view + '
'); - this.stats.track(11); - var $this = this; - var times = [250, 500, 750, 1000, 1250]; - $.each(times, function (k, v) { - setTimeout(function () { - $this.resize.resizePopupAudios(); - }, v); - }); - if (callback != undefined) { - callback(); - } - }, - openWebVideo: function (service, video, callback) { - - var view = '
' + this.l10n.__('back') + '
'; - view += '
'; - var h = this.resize.getPopupWebVideoHeight(); - if (service == 'youtube') { - view += ''; - } else if (service == 'dailymotion') { - view += '' - } else if (service == 'brightcove') { - view += '' - } - view += '
'; - $("#view").append('
' + view + '
'); - $("#view .mview:last iframe").each(function () { - $(this).attr('height', h); - $(this).css('height', h); - }); - this.stats.track(11); - if (callback != undefined) { - callback(); - } - }, - openLocales: function (p1, p2, callback) { - var view = '
' + this.l10n.__('back') + '

Select language

'; - view += '
'; - view += ''; - view += '
'; - $("#view").append('
' + view + '
'); - if (callback != undefined) { - callback(); - } - }, - openShare: function (p1, p2, callback) { - var view = '
' + this.l10n.__('back') + '

' + this.l10n.__('share') + '

'; - view += '
'; - view += ''; - view += '
'; - $("#view").append('
' + view + '
'); - if (callback != undefined) { - callback(); - } - }, - openBookmark: function (p1, p2, callback) { - var view = this.bookmarks.getView(); - if (view !== false) { - $("#view").append('
' + view + '
'); - if (callback != undefined) { - callback(); - } - } else { - var message = this.l10n.__("you don't have any bookmarks"); - if (this.datas.phonegap) { - navigator.notification.alert(message, function () { - - }, this.l10n.__('bookmarks')); - } else { - window.alert(message); - window.history.back(); - } - this.hideLoader(); - } - }, - openChapters: function (callback) { - if (this.chapters == undefined) { - this.chapters = new FluidbookChapters(this, this.datas.chapters); - } - - var view = '
' + this.l10n.__('back') + '

' + this.l10n.__('chapters') + '

'; - view += '
'; - view += this.chapters.getView(); - view += '
'; - $("#view").append('
' + view + '
'); - if (callback != undefined) { - callback(); - } - }, - openIndex: function (title, group, closeAll, callback) { - var c = !closeAll ? ' one' : ''; - var index = '
' + this.l10n.__('back') + '

' + title + '

'; - index += this.index.getView(group); - $("#view").append('
' + index + '
'); - this.bookmarks.updateBookmarks(); - if (callback != undefined) { - callback(); - } - }, - openArchives: function (title, callback) { - var archives = '
' + this.l10n.__('back') + '

' + title + '

'; - archives += '
'; - $("#view").append('
' + archives + '
'); - if (callback != undefined) { - callback(); - } - }, physicalToVirtual: function (page) { return this.datas.numerotation[page - 1]; }, virtualToPhysical: function (page) { return this.datas.numerotation.indexOf(page) + 1; }, - closeView: function (callback, all, animate) { - var $this = this; - if (all == undefined) { - all = false; - } - if (animate == undefined) { - animate = true; - } - - $('video').each(function () { - this.pause(); - }); - - if ($('.mview').scrollTop() > 0) { - $('.mview').scrollTo(0, 500, function () { - $this.closeView(callback, all, animate); - }); - return; - } - all = all || ($("#view .mview").length <= 1); - if (!this.viewMode()) { - callback(); - return; - } - - this.video.pauseAllVideos(); - - var mview = $("#view .mview:last"); - if (all) { - var s = $("#view .mview:not(:last)"); - this.video.killVideosIn(s); - $(s).remove(); - } - - - var to = { - translateY: $(window).height() + 'px' - }; - if ($(mview).hasClass('hori')) { - to = {translateX: $(window).width() + 'px'} - } - - if (animate && this.support.transitions2d) { - setTimeout(function () { - $(mview).one($this.support.getTransitionEndEvent(), function () { - $this.video.killVideosIn(this); - $(this).remove(); - callback(); - }).addClass('animate').transform(to); - }, 50); - } else { - this.video.killVideosIn(mview); - $(mview).remove() - callback(); - } - if (all) { - $("#main").show(); - $('body').removeClass('view'); - } - resize(); - }, getSearchHints: function (q) { var $this = this; diff --git a/js/libs/fluidbook/fluidbook.links.js b/js/libs/fluidbook/fluidbook.links.js index 0930ea87..17efc1a0 100644 --- a/js/libs/fluidbook/fluidbook.links.js +++ b/js/libs/fluidbook/fluidbook.links.js @@ -111,7 +111,7 @@ FluidbookLinks.prototype = { parent = $link.closest('.link'), linkId = $(parent).attr('id').split('_', 2)[1], maxZoom = parseInt($link.data('maxzoom')) || 2, - zoomImage = 'data/links/zoom_' + linkId + '.png', + zoomImage = 'data/links/zoom_' + linkId + '.jpg', x, y, zoomWidth, diff --git a/js/libs/fluidbook/fluidbook.loader.js b/js/libs/fluidbook/fluidbook.loader.js index f964709c..fb5d3740 100644 --- a/js/libs/fluidbook/fluidbook.loader.js +++ b/js/libs/fluidbook/fluidbook.loader.js @@ -229,7 +229,7 @@ FluidbookLoader.prototype = { return; } - var $this=this; + var $this = this; if (this.texts[pageNr] != undefined) { $("#page_" + pageNr + ' .texts').append(this.texts[pageNr]); @@ -244,9 +244,6 @@ FluidbookLoader.prototype = { _loadTexts: function (pageNr, callback) { var w = this.fluidbook.datas.width / 0.75; var h = this.fluidbook.datas.height / 0.75; - - console.log('_load texts ' + pageNr); - this.texts[pageNr] = this.loadImage(this.getTextsURL(pageNr), w, h, 'image/svg+xml', callback); }, loadDatas: function (pageNr, callback) { @@ -265,7 +262,6 @@ FluidbookLoader.prototype = { if (callback && typeof callback == 'function') { $(img).one('load', function () { setTimeout(function () { - console.log('loaded '+src); callback(); }, 10); }); @@ -273,7 +269,6 @@ FluidbookLoader.prototype = { $(img).on('error', function () { $this.imagesErrors.push(this); setTimeout(function () { - console.log('error'); callback(); }, 10); }); @@ -289,7 +284,6 @@ FluidbookLoader.prototype = { } if (callback && typeof callback == 'function' && (img.complete || img.readyState == 'complete' || img.readyState == 4)) { setTimeout(function () { - console.log('complete'); callback(); }, 10); } diff --git a/js/libs/fluidbook/fluidbook.menu.js b/js/libs/fluidbook/fluidbook.menu.js new file mode 100644 index 00000000..7bbe122c --- /dev/null +++ b/js/libs/fluidbook/fluidbook.menu.js @@ -0,0 +1,415 @@ +function FluidbookMenu(fluidbook) { + this.fluidbook = fluidbook; + this.init(); +} + +FluidbookMenu.prototype = { + init: function () { + + }, + + viewMode: function () { + return $("#view .mview").length > 0; + }, + openView: function (view, param1, param2, callback) { + var $this = this; + this.fluidbook.displayLoader(); + this.fluidbook.resetWaiters(); + setTimeout(function () { + $this._openView(view, param1, param2, callback); + }, 20); + }, + + _openView: function (view, param1, param2, callback) { + var $this = this; + var preload = { + index: 'thumbnails', + search: 'thumbnails', + bookmark: 'thumbnails', + video: 'extras' + }; + if (!OFFLINEAPP && this.fluidbook.gal != null && preload[view] != undefined) { + var w = this.fluidbook.addWaiter(true); + this.fluidbook.gal.downloadAndCall(preload[view], function () { + if ($this.fluidbook.waiterActive(w)) { + $this.__openView(view, param1, param2, callback); + } + }); + } else { + this.__openView(view, param1, param2, callback); + } + }, + __openView: function (view, param1, param2, callback) { + var $this = this; + var camelView = view.charAt(0).toUpperCase() + view.substr(1); + var cb = function () { + $this.openingView(callback); + }; + if (view == 'index') { + this.openIndex(this.fluidbook.l10n.__('overview'), undefined, true, cb); + } else if (view == 'search') { + this.searchString = param1; + var group = param2; + $("#q").val(param1); + this.fluidbook.search.find(param1, function (r) { + $this.displayResults(r, group, cb); + }); + if (group == undefined) { + this.fluidbook.stats.track(1, 0, param1); + } + } else if (view == 'video') { + this.openVideo(param1, cb); + } else if (view == 'audio') { + this.openAudio(param1, cb); + } else if (view == 'webvideo') { + this.openWebVideo(param1, param2, cb); + } else if (view == 'multimedia') { + this.openMultimedia(param1, cb); + } else if (view == 'chapters') { + this.openChapters(cb); + } else if (view == 'archives') { + this.openArchives($("#nav #archives").data('tooltip'), cb); + } else { + this['open' + camelView](param1, param2, cb); + } + }, + openingView: function (callback) { + var $this = this; + this.fluidbook.resize.resizeView(); + this.fluidbook.tooltip.hideTooltip(); + var mview = $('#view .mview:last'); + + $(mview).show(); + TweenMax.from($(mview), 0.5, {autoAlpha: 0}, { + autoAlpha: 1, onComplete: function () { + callback(); + $this.fluidbook.hideLoader(); + resize(); + } + }); + }, + + displayResults: function (data, group, callback) { + var $this = this; + var results = data.results; + var hideNoResults = !this.fluidbook.datas.searchShowNoResultsPages; + if (data.total <= 0) { + alert(this.fluidbook.l10n.__('no result found')); + window.location = "#/page/" + this.currentPage; + return; + } + + this.openIndex(this.fluidbook.l10n.__('search results for') + ' « ' + this.searchString + " »", group, false, function () { + var hits = []; + for (var i = 0; i <= $this.fluidbook.datas.pages; i++) { + hits[i] = 0; + } + + $.each(results, function (k, v) { + hits[k] += v; + }); + var e = encodeURIComponent($this.searchString); + $(".doubleThumb").each(function () { + var pages = $(this).data('pages').toString().split(','); + var hitsp = 0; + var pagesWithHits = []; + for (var i in pages) { + var n = parseInt(pages[i]); + if (hits[n] > 0) { + hitsp += hits[n]; + pagesWithHits.push(pages[i]); + } + } + + if ($(this)) + if ($(this).find('.hits').length > 0) { + return; + } + + if (hitsp == 0) { + if (hideNoResults) { + $(this).remove(); + return; + } + $(this).append('
'); + $(this).append('
' + $this.fluidbook.l10n.__('no result found') + '
'); + } else { + $(this).append('
' + hitsp + ' ' + $this.fluidbook.l10n.__('hit(s)') + '
'); + if ($this.fluidbook.pad.enabled) { + if (pagesWithHits.length == 1) { + $(this).find('a').attr('href', '#/page/' + pagesWithHits[0]); + } else { + $(this).find('a').attr('href', '#/search/' + e + '/' + $(this).attr('page')); + } + } else { + $(this).find('a').attr('href', '#/page/' + $(this).attr('page')); + } + } + }); + $this.termsToHighlight = data.terms; + if (callback != undefined) { + callback(); + } + }); + }, + openMultimedia: function (multimedia, callback) { + var a = $('a[href="#/multimedia/' + multimedia + '"]'); + var markup = decodeURIComponent($(a).attr('data-multimedia')); + var view = '
' + this.fluidbook.l10n.__('back') + '
'; + view += '
'; + view += markup; + view += '
'; + $("#view").append('
' + view + '
'); + if (callback != undefined) { + callback(); + } + }, + openVideo: function (video, callback) { + var a = $('a[href="#/video/' + video + '"]'); + var markup = decodeURIComponent($(a).attr('data-video')); + var view = '
' + this.fluidbook.l10n.__('back') + '
'; + view += '
'; + view += markup; + view += '
'; + $("#view").append('
' + view + '
'); + this.fluidbook.stats.track(11); + this.fluidbook.initVideos(); + var $this = this; + var times = [250, 500, 750, 1000, 1250]; + $.each(times, function (k, v) { + setTimeout(function () { + $this.fluidbook.resize.resizePopupVideos(); + }, v); + }); + if (callback != undefined) { + callback(); + } + this.fluidbook.hideLoader(5); + }, + openAudio: function (audio, callback) { + var a = $('a[href="#/audio/' + audio + '"]'); + var markup = decodeURIComponent($(a).attr('data-audio')); + var view = '
' + this.fluidbook.l10n.__('back') + '
'; + view += '
'; + view += markup; + view += '
'; + $("#view").append('
' + view + '
'); + this.fluidbook.stats.track(11); + var $this = this; + var times = [250, 500, 750, 1000, 1250]; + $.each(times, function (k, v) { + setTimeout(function () { + $this.fluidbook.resize.resizePopupAudios(); + }, v); + }); + if (callback != undefined) { + callback(); + } + }, + openWebVideo: function (service, video, callback) { + + var view = '
' + this.fluidbook.l10n.__('back') + '
'; + view += '
'; + + var h = this.fluidbook.resize.getPopupWebVideoHeight(); + + if (service == 'youtube') { + view += ''; + } else if (service == 'dailymotion') { + view += '' + } else if (service == 'brightcove') { + view += '' + } + view += '
'; + $("#view").append('
' + view + '
'); + $("#view .mview:last iframe").each(function () { + $(this).attr('height', h); + $(this).css('height', h); + }); + this.fluidbook.stats.track(11); + if (callback != undefined) { + callback(); + } + }, + openLocales: function (p1, p2, callback) { + var view = '
' + this.fluidbook.l10n.__('back') + '

Select language

'; + view += '
'; + view += ''; + view += '
'; + $("#view").append('
' + view + '
'); + if (callback != undefined) { + callback(); + } + }, + openShare: function (p1, p2, callback) { + var view = '
' + this.fluidbook.l10n.__('back') + '

' + this.fluidbook.l10n.__('share') + '

'; + view += '
'; + view += ''; + view += '
'; + $("#view").append('
' + view + '
'); + if (callback != undefined) { + callback(); + } + }, + openBookmark: function (p1, p2, callback) { + var view = this.fluidbook.bookmarks.getView(); + if (view !== false) { + $("#view").append('
' + view + '
'); + if (callback != undefined) { + callback(); + } + } else { + var message = this.fluidbook.l10n.__("you don't have any bookmarks"); + if (this.fluidbook.datas.phonegap) { + navigator.notification.alert(message, function () { + + }, this.fluidbook.l10n.__('bookmarks')); + } else { + window.alert(message); + window.history.back(); + } + this.fluidbook.hideLoader(); + } + }, + openChapters: function (callback) { + if (this.fluidbook.chapters == undefined) { + this.fluidbook.chapters = new FluidbookChapters(this.fluidbook, this.fluidbook.datas.chapters); + } + + var view = '
' + this.fluidbook.l10n.__('back') + '

' + this.fluidbook.l10n.__('chapters') + '

'; + view += '
'; + view += this.fluidbook.chapters.getView(); + view += '
'; + $("#view").append('
' + view + '
'); + if (callback != undefined) { + callback(); + } + }, + openIndex: function (title, group, closeAll, callback) { + var c = !closeAll ? ' one' : ''; + var index = '
' + this.fluidbook.l10n.__('back') + '

' + title + '

'; + index += this.fluidbook.index.getView(group); + $("#view").append('
' + index + '
'); + this.fluidbook.bookmarks.updateBookmarks(); + if (callback != undefined) { + callback(); + } + }, + openArchives: function (title, callback) { + var archives = '
' + this.fluidbook.l10n.__('back') + '

' + title + '

'; + archives += '
'; + $("#view").append('
' + archives + '
'); + if (callback != undefined) { + callback(); + } + }, + closeView: function (callback, all, animate) { + var $this = this; + if (all == undefined) { + all = false; + } + if (animate == undefined) { + animate = true; + } + + $('video').each(function () { + this.pause(); + }); + + if ($('.mview').scrollTop() > 0) { + $('.mview').scrollTo(0, 500, function () { + $this.closeView(callback, all, animate); + }); + return; + } + + all = all || ($("#view .mview").length <= 1); + if (!this.viewMode()) { + callback(); + return; + } + + this.fluidbook.video.pauseAllVideos(); + + var mview = $("#view .mview:last"); + if (all) { + var s = $("#view .mview:not(:last)"); + this.fluidbook.video.killVideosIn(s); + $(s).remove(); + } + + + var to = { + translateY: $(window).height() + 'px' + }; + if ($(mview).hasClass('hori')) { + to = {translateX: $(window).width() + 'px'} + } + + if (animate && this.fluidbook.support.transitions2d) { + setTimeout(function () { + $(mview).one($this.fluidbook.support.getTransitionEndEvent(), function () { + $this.fluidbook.video.killVideosIn(this); + $(this).remove(); + callback(); + }).addClass('animate').transform(to); + }, 50); + } else { + this.fluidbook.video.killVideosIn(mview); + $(mview).remove() + callback(); + } + if (all) { + $("#main").show(); + $('body').removeClass('view'); + } + resize(); + }, +}; \ No newline at end of file diff --git a/js/libs/fluidbook/fluidbook.video.js b/js/libs/fluidbook/fluidbook.video.js index 7c0e00af..3be5ab23 100644 --- a/js/libs/fluidbook/fluidbook.video.js +++ b/js/libs/fluidbook/fluidbook.video.js @@ -45,7 +45,6 @@ function FluidbookVideo(fluidbook) { this.videoFormats = $.merge(probably, maybe, not); this.preferedFormat = this.videoFormats[0]; - fb("Video prefered format : " + this.preferedFormat + " (" + this.videoFormats.join(', ') + ")"); } FluidbookVideo.prototype = { diff --git a/js/libs/fluidbook/fluidbook.zoom.js b/js/libs/fluidbook/fluidbook.zoom.js index 9cf1f288..80733010 100644 --- a/js/libs/fluidbook/fluidbook.zoom.js +++ b/js/libs/fluidbook/fluidbook.zoom.js @@ -43,7 +43,7 @@ FluidbookZoom.prototype = { } zoom = Math.max(Math.min(zoom, this.max), 1); - if (this.fluidbook.viewMode()) { + if (this.fluidbook.menu.viewMode()) { zoom = 1; } if (this.zoom == zoom) { diff --git a/js/libs/fluidbook/menu/fluidbook.chapters.js b/js/libs/fluidbook/menu/fluidbook.chapters.js new file mode 100644 index 00000000..30c0a50f --- /dev/null +++ b/js/libs/fluidbook/menu/fluidbook.chapters.js @@ -0,0 +1,123 @@ +function FluidbookChapters(fluidbook, chapters) { + this.fluidbook = fluidbook; + this.chapters = chapters; + this.style = 'classic'; + if (this.fluidbook.datas.mobileChaptersStyle) { + this.style = this.fluidbook.datas.mobileChaptersStyle; + } + this.html = ''; + this.lastColor; +} + +FluidbookChapters.prototype = { + getView: function() { + if (this.html == '') { + this.makeView(); + } + return this.html; + }, + makeView: function() { + this.makeClassicMenu(); + if (this.fluidbook.datas.chaptersCascade) { + this.makeCascadeMenu(); + } + }, + makeCascadeMenu: function() { + var h = $(this.html); + + for (var i = 3; i >= 0; i--) { + $(h).find('li[data-level=' + i + ']').each(function() { + var siblings = $(this).nextUntil('li[data-level!=' + (i + 1) + ']', 'li[data-level=' + (i + 1) + ']'); + if (siblings.length > 0) { + $(this).append(''); + var nav = $(this).find('ul'); + $(nav).append(siblings); + $(nav).hide(); + } + }); + } + this.html = $(h).get(0).outerHTML; + + if (this.style == 'ina') { + $(document).on('click', 'ul.chapters a .right', function(e) { + var p = $(this).data('page'); + if (p != '') { + $this.fluidbook.setCurrentPage(p); + e.stopImmediatePropagation(); + e.stopPropagation(); + e.preventDefault(); + return false; + } + }); + } + + $(document).on('click', 'ul.chapters a', function() { + var li = $(this).parent(); + var subnav = $(li).children('ul'); + if ($(subnav).length) { + $(subnav).slideToggle(); + return false; + } else { + return true; + } + }); + }, + makeClassicMenu: function() { + var $this = this; + this.html = ''; + }, + addItem: function(chapter) { + if (chapter.label == '--' || chapter.label == '++') { + return ""; + } + var color = chapter.color; + if (color == '') { + if (this.lastColor != undefined) { + color = this.lastColor; + } + } + if (color != '') { + this.lastColor = color; + } + + if (chapter.label.substr(0, 3) == '!!!') { + chapter.label = chapter.label.substring(3); + chapter.level = '-1'; + } + + var p = (this.fluidbook.virtualToPhysical(chapter.page)); + + var res = ''; + if (this.style == 'classic') { + res += '
  • '; + } else if (this.style == 'ina') { + res += '
  • '; + } + res += chapter.label; + res += '
    '; + + if (this.style == 'classic') { + if (color == '') { + if (chapter.page != '') { + res += '' + chapter.page + ''; + } + } else { + res += '
    '; + } + } else { + if (chapter.page != '') { + res += '' + chapter.page + ''; + } + res += '
    '; + } + res += '
    ' + res += '
  • '; + + return res; + } +}; + diff --git a/js/libs/fluidbook/menu/fluidbook.index.js b/js/libs/fluidbook/menu/fluidbook.index.js new file mode 100644 index 00000000..d66c02bd --- /dev/null +++ b/js/libs/fluidbook/menu/fluidbook.index.js @@ -0,0 +1,87 @@ +function FluidbookIndex(fluidbook) { + this.fluidbook = fluidbook; + this.init(); +} + +FluidbookIndex.prototype = { + init: function() { + this.normalHTML = ''; + this.padHTML = ''; + }, + getView: function(group) { + if (this.fluidbook.pad.enabled) { + return this.getPadView(group); + } else { + return this.getNormalView(); + } + }, + getPadView: function(group) { + return this.fluidbook.bookmarks.getIndex(true, group); + }, + getNormalView: function() { + + if (this.normalHTML == '') { + this.normalHTML += '
    '; + var j = 0; + var ix1 = '', ix2 = '', ix = ''; + var c = ''; + var s1, s2; + + for (var i = 0; i <= this.fluidbook.datas.pages; i += 2) { + var pages = []; + j = i + 1; + ix1 = ''; + ix2 = ''; + c = ''; + + if (this.fluidbook.l10n.dir == 'ltr') { + s1 = 'left'; + s2 = 'right' + } else { + s1 = 'right'; + s2 = 'left' + } + + if (i > 0) { + ix1 += '
    ' + this.fluidbook.loader.getImage('data/thumbnails/p' + i + '.jpg') + '' + this.fluidbook.physicalToVirtual(i) + ''; + if (this.fluidbook.bookmarks.enabled) { + ix1 += this.fluidbook.bookmarks.getBookmarkForPage(i, true); + } + pages.push(i); + ix1 += '
    '; + + } else { + c = ' simple ' + s2; + } + + if (this.fluidbook.l10n.dir == 'rtl') { + s1 = 'left'; + s2 = 'right' + } else { + s1 = 'right'; + s2 = 'left' + } + + if (j < this.fluidbook.datas.pages) { + ix2 += '
    ' + this.fluidbook.loader.getImage('data/thumbnails/p' + j + '.jpg') + '' + this.fluidbook.physicalToVirtual(j) + ''; + if (this.fluidbook.bookmarks.enabled) { + ix2 += this.fluidbook.bookmarks.getBookmarkForPage(j, true); + } + ix2 += '
    '; + pages.push(j); + } else { + c = ' simple ' + s2; + } + ix = ix1 + ix2; + this.normalHTML += '
    ' + ix; + this.normalHTML += '
    '; + } + for (i = 0; i < 5; i++) { + this.normalHTML += '
    '; + } + this.normalHTML += '
    '; + } + + return this.normalHTML; + } +} diff --git a/js/libs/fluidbook/views/fluidbook.chapters.js b/js/libs/fluidbook/views/fluidbook.chapters.js deleted file mode 100644 index 0dbe0fd0..00000000 --- a/js/libs/fluidbook/views/fluidbook.chapters.js +++ /dev/null @@ -1,123 +0,0 @@ -function FluidbookChapters(fluidbook, chapters) { - this.fluidbook = fluidbook; - this.chapters = chapters; - this.style = 'classic'; - if (this.fluidbook.datas.mobileChaptersStyle) { - this.style = this.fluidbook.datas.mobileChaptersStyle; - } - this.html = ''; - this.lastColor; -} - -FluidbookChapters.prototype = { - getView: function() { - if (this.html == '') { - this.makeView(); - } - return this.html; - }, - makeView: function() { - this.makeClassicMenu(); - if (this.fluidbook.datas.chaptersCascade) { - this.makeCascadeMenu(); - } - }, - makeCascadeMenu: function() { - var h = $(this.html); - - for (var i = 3; i >= 0; i--) { - $(h).find('li[data-level=' + i + ']').each(function() { - var siblings = $(this).nextUntil('li[data-level!=' + (i + 1) + ']', 'li[data-level=' + (i + 1) + ']'); - if (siblings.length > 0) { - $(this).append(''); - var nav = $(this).find('ul'); - $(nav).append(siblings); - $(nav).hide(); - } - }); - } - this.html = $(h).get(0).outerHTML; - - if (this.style == 'ina') { - $(document).on('click', 'ul.chapters a .right', function(e) { - var p = $(this).data('page'); - if (p != '') { - $this.fluidbook.setCurrentPage(p); - e.stopImmediatePropagation(); - e.stopPropagation(); - e.preventDefault(); - return false; - } - }); - } - - $(document).on('click', 'ul.chapters a', function() { - var li = $(this).parent(); - var subnav = $(li).children('ul'); - if ($(subnav).length) { - $(subnav).slideToggle(); - return false; - } else { - return true; - } - }); - }, - makeClassicMenu: function() { - var $this = this; - this.html = ''; - }, - addItem: function(chapter) { - if (chapter.label == '--' || chapter.label == '++') { - return ""; - } - var color = chapter.color; - if (color == '') { - if (this.lastColor != undefined) { - color = this.lastColor; - } - } - if (color != '') { - this.lastColor = color; - } - - if (chapter.label.substr(0, 3) == '!!!') { - chapter.label = chapter.label.substring(3); - chapter.level = '-1'; - } - - var p = (this.fluidbook.virtualToPhysical(chapter.page)); - - var res = ''; - if (this.style == 'classic') { - res += '
  • '; - } else if (this.style == 'ina') { - res += '
  • '; - } - res += chapter.label; - res += '
    '; - - if (this.style == 'classic') { - if (color == '') { - if (chapter.page != '') { - res += '' + chapter.page + ''; - } - } else { - res += '
    '; - } - } else { - if (chapter.page != '') { - res += '' + chapter.page + ''; - } - res += '
    '; - } - res += '
    ' - res += '
  • '; - - return res; - } -}; - diff --git a/js/libs/fluidbook/views/fluidbook.index.js b/js/libs/fluidbook/views/fluidbook.index.js deleted file mode 100644 index d66c02bd..00000000 --- a/js/libs/fluidbook/views/fluidbook.index.js +++ /dev/null @@ -1,87 +0,0 @@ -function FluidbookIndex(fluidbook) { - this.fluidbook = fluidbook; - this.init(); -} - -FluidbookIndex.prototype = { - init: function() { - this.normalHTML = ''; - this.padHTML = ''; - }, - getView: function(group) { - if (this.fluidbook.pad.enabled) { - return this.getPadView(group); - } else { - return this.getNormalView(); - } - }, - getPadView: function(group) { - return this.fluidbook.bookmarks.getIndex(true, group); - }, - getNormalView: function() { - - if (this.normalHTML == '') { - this.normalHTML += '
    '; - var j = 0; - var ix1 = '', ix2 = '', ix = ''; - var c = ''; - var s1, s2; - - for (var i = 0; i <= this.fluidbook.datas.pages; i += 2) { - var pages = []; - j = i + 1; - ix1 = ''; - ix2 = ''; - c = ''; - - if (this.fluidbook.l10n.dir == 'ltr') { - s1 = 'left'; - s2 = 'right' - } else { - s1 = 'right'; - s2 = 'left' - } - - if (i > 0) { - ix1 += '
    ' + this.fluidbook.loader.getImage('data/thumbnails/p' + i + '.jpg') + '' + this.fluidbook.physicalToVirtual(i) + ''; - if (this.fluidbook.bookmarks.enabled) { - ix1 += this.fluidbook.bookmarks.getBookmarkForPage(i, true); - } - pages.push(i); - ix1 += '
    '; - - } else { - c = ' simple ' + s2; - } - - if (this.fluidbook.l10n.dir == 'rtl') { - s1 = 'left'; - s2 = 'right' - } else { - s1 = 'right'; - s2 = 'left' - } - - if (j < this.fluidbook.datas.pages) { - ix2 += '
    ' + this.fluidbook.loader.getImage('data/thumbnails/p' + j + '.jpg') + '' + this.fluidbook.physicalToVirtual(j) + ''; - if (this.fluidbook.bookmarks.enabled) { - ix2 += this.fluidbook.bookmarks.getBookmarkForPage(j, true); - } - ix2 += '
    '; - pages.push(j); - } else { - c = ' simple ' + s2; - } - ix = ix1 + ix2; - this.normalHTML += '
    ' + ix; - this.normalHTML += '
    '; - } - for (i = 0; i < 5; i++) { - this.normalHTML += '
    '; - } - this.normalHTML += '
    '; - } - - return this.normalHTML; - } -} diff --git a/style/fluidbook.less b/style/fluidbook.less index ebf2da94..1bde3d84 100644 --- a/style/fluidbook.less +++ b/style/fluidbook.less @@ -1,11 +1,5 @@ @import "variables"; -@import "book-variables"; -@menu-button-background: overlay(@menu-background, #c0c0c0); - -.dkdkdkdkd { - color: @menu-button-background; -} /* Screenshot */ .screenshot .mview { diff --git a/style/variables.less b/style/variables.less index d7742036..29ab5cfc 100644 --- a/style/variables.less +++ b/style/variables.less @@ -1 +1,4 @@ +@import "book-variables"; + +@menu-button-background: overlay(@menu-background, #c0c0c0); @font: 'Open Sans', Arial, Helvetica, sans-serif; \ No newline at end of file