]> _ Git - fluidbook-html5.git/commitdiff
wip #1490 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 22 Jun 2017 16:46:33 +0000 (18:46 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 22 Jun 2017 16:46:33 +0000 (18:46 +0200)
js/libs/fluidbook/fluidbook.nav.js
style/variables.less

index 80adbb7a66dd67d8a2d134f3c6964336031a5306..f2781d1f01fd8488659a6b3b83edd86512048b99 100644 (file)
@@ -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
+};
+
index 98baff6aebc6eb59d43747f9f569bd236a80de29..9319fbaa828b494286578b4900bfc79f637fb1d7 100644 (file)
@@ -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