From: Vincent Vanwaelscappel Date: Thu, 22 Jun 2017 16:46:33 +0000 (+0200) Subject: wip #1490 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=ff522788a95f6ddb52862227f9ed110a3a9dc816;p=fluidbook-html5.git wip #1490 @1 --- diff --git a/js/libs/fluidbook/fluidbook.nav.js b/js/libs/fluidbook/fluidbook.nav.js index 80adbb7a..f2781d1f 100644 --- a/js/libs/fluidbook/fluidbook.nav.js +++ b/js/libs/fluidbook/fluidbook.nav.js @@ -23,13 +23,15 @@ FluidbookNav.prototype = { if ($("#nav").find('#' + id).length > 0) { return; } - var l = this.getLink(name, href, id, help, c); + var l = $(this.getLink(name, href, id, help, c)); if (before == undefined) { $("#nav").append(l); } else { $("#nav #" + before).before(l); } + return l; }, + getLink: function (name, href, id, help, className, icon) { if (icon == undefined) { icon = true; @@ -80,8 +82,16 @@ FluidbookNav.prototype = { } - for (var e in this.fluidbook.datas.navOrder) { - var icon = this.fluidbook.datas.navOrder[e]; + + var all = "index,chapters,print,friend,bookmark,archives,basket,fullscreen,sound,3d,help".split(","); + var hide = all.diff(this.fluidbook.datas.navOrder); + var loop = [].concat(this.fluidbook.datas.navOrder).concat(hide); + + for (var e in loop) { + var icon = loop[e]; + var visible = hide.indexOf(icon) == -1; + var link; + if (icon == 'home' && !skipHome) { var homeURL = this.fluidbook.datas.home; @@ -93,7 +103,7 @@ FluidbookNav.prototype = { } try { if (homeURL != '') { - this.addLink('nav-home', homeURL, 'home', 'home'); + link = this.addLink('nav-home', homeURL, 'home', 'home'); } } catch (err) { @@ -108,18 +118,18 @@ FluidbookNav.prototype = { return false; }) } else if (icon == 'index') { - this.addLink('nav-index', '#/index', 'index', 'overview'); + link = this.addLink('nav-index', '#/index', 'index', 'overview'); } else if (icon == 'chapters') { if (this.fluidbook.datas.displayChaptersIcon) { if (this.fluidbook.datas.chaptersPage != '') { - this.addLink('nav-sommaire', '#/page/' + this.fluidbook.datas.chaptersPage, 'chapters', 'chapters'); + link = this.addLink('nav-sommaire', '#/page/' + this.fluidbook.datas.chaptersPage, 'chapters', 'chapters'); } else if (this.fluidbook.datas.chapters.length > 0) { - this.addLink('nav-sommaire', '#/chapters', 'chapters', 'chapters'); + link = this.addLink('nav-sommaire', '#/chapters', 'chapters', 'chapters'); } } } else if (icon == 'friend') { if (this.fluidbook.datas.share) { - this.addLink('nav-friend', '#/share', 'share', 'share'); + link = this.addLink('nav-friend', '#/share', 'share', 'share'); $("#share").click(function () { if ($this.fluidbook.datas.phonegap != 'android') { return true; @@ -130,7 +140,7 @@ FluidbookNav.prototype = { } } else if (icon == 'bookmark') { if (this.fluidbook.datas.bookmark) { - this.addLink('nav-bookmark', '#/bookmark', 'bookmarks', 'bookmarks'); + link = this.addLink('nav-bookmark', '#/bookmark', 'bookmarks', 'bookmarks'); $("#bookmarks").click(function () { if (!$this.fluidbook.bookmarks.hasBookmarkedPages()) { var message = $this.fluidbook.l10n.__("you don't have any bookmarks"); @@ -146,7 +156,7 @@ FluidbookNav.prototype = { } } else if (icon == 'pdf' || icon == 'print') { if ($("#print").length == 0 && (this.fluidbook.datas.print || this.fluidbook.datas.pdf)) { - this.addLink('nav-print', '#', 'print', '!' + this.fluidbook.l10n.__('print') + ' | ' + this.fluidbook.l10n.__('download pdf')); + link = this.addLink('nav-print', '#', 'print', '!' + this.fluidbook.l10n.__('print') + ' | ' + this.fluidbook.l10n.__('download pdf')); $("#print").on('click', function () { $this.fluidbook.print(); return false; @@ -154,19 +164,19 @@ FluidbookNav.prototype = { } } else if (icon == 'lang') { if (this.fluidbook.l10n.multilangEnabled) { - this.addMultilangLink(); + link = this.addMultilangLink(); } } else if (icon == 'archives') { if (this.fluidbook.datas.archivesLink != '') { - this.addLink('nav-archives', this.fluidbook.datas.archivesLink, 'archives', '!' + this.fluidbook.datas.archivesLabel); + link = this.addLink('nav-archives', this.fluidbook.datas.archivesLink, 'archives', '!' + this.fluidbook.datas.archivesLabel); } else if (this.fluidbook.datas.externalArchives != '') { - this.addLink('nav-archives', '#/archives', 'archives', '!' + this.fluidbook.datas.archivesLabel); + link = this.addLink('nav-archives', '#/archives', 'archives', '!' + this.fluidbook.datas.archivesLabel); } } else if (icon == 'help') { - this.addLink('nav-help', '#', 'help', ''); + link = this.addLink('nav-help', '#', 'help', ''); } else if (icon == 'zoom' && !this.fluidbook.support.isMobile) { - this.addLink('nav-zoomin', '#', 'zoomin', 'zoom in'); - this.addLink('nav-zoomout', '#', 'zoomout', 'zoom out'); + link = this.addLink('nav-zoomin', '#', 'zoomin', 'zoom in'); + link = this.addLink('nav-zoomout', '#', 'zoomout', 'zoom out'); $("#zoomin").click(function (e) { $this.fluidbook.desktop.clickZoom(e, 'in'); @@ -178,12 +188,18 @@ FluidbookNav.prototype = { return false; }); } else if (icon == 'fullscreen' && Modernizr.fullscreen && !DATAS.phonegap) { - this.addLink('nav-fullscreen', '#', 'fullscreen', 'switch between fullscreen and normal'); + link = this.addLink('nav-fullscreen', '#', 'fullscreen', 'switch between fullscreen and normal'); $("#fullscreen").click(function () { screenfull.toggle(); return false; }) } + + console.log(link); + console.log(visible); + if (!visible) { + $(link).addClass('hidden'); + } } if (this.fluidbook.datas.search) { @@ -204,6 +220,8 @@ FluidbookNav.prototype = { $("#nav").append(l); $("#nav #locales").css('background-image', 'url("images/flags/' + flag + '.png")'); + + return l; }, setSearch: function () { var $this = this; @@ -254,4 +272,5 @@ FluidbookNav.prototype = { $(document).on('click', '#next', goNextPage); $(document).on('click', '#previous', goPreviousPage); } -}; \ No newline at end of file +}; + diff --git a/style/variables.less b/style/variables.less index 98baff6a..9319fbaa 100644 --- a/style/variables.less +++ b/style/variables.less @@ -1,13 +1,11 @@ @import "book-variables"; -.menu-button-overlay() when not (@menu-background = #ffffff) { - @menu-button-background: overlay(@menu-background, #c0c0c0); -} +@max: 45; -.menu-button-overlay() when (@menu-background = #ffffff) { - @menu-button-background: screen(@menu-text, #c0c0c0); -} +@menu-background-green: max(@max, min(255-@max, green(@menu-background))); +@menu-background-red: max(@max, min(255-@max, red(@menu-background))); +@menu-background-blue: max(@max, min(255-@max, blue(@menu-background))); -.menu-button-overlay(); +@menu-button-background: overlay(rgb(@menu-background-red, @menu-background-green, @menu-background-blue), #c0c0c0); @font: 'Open Sans', Arial, Helvetica, sans-serif; \ No newline at end of file