]> _ Git - fluidbook-html5.git/commitdiff
(no commit message)
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 10 Sep 2013 16:44:41 +0000 (16:44 +0000)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 10 Sep 2013 16:44:41 +0000 (16:44 +0000)
12 files changed:
_index.html
js/libs/fluidbook/fluidbook.bookmarks.js
js/libs/fluidbook/fluidbook.help.js
js/libs/fluidbook/fluidbook.js
js/libs/fluidbook/fluidbook.l10n.js
js/libs/fluidbook/fluidbook.loader.js
js/libs/fluidbook/fluidbook.nav.js
js/libs/fluidbook/fluidbook.resize.js
js/libs/fluidbook/views/fluidbook.chapters.js
js/libs/fluidbook/views/fluidbook.index.js
js/main.js
style/fluidbook.css

index 01ec7eb8d770ccedf2ea4bad9f0d600f5693816b..8579ab54fc06e1382ebb14c9f790ecff1ce7c0fd 100644 (file)
@@ -24,7 +24,7 @@
                        <div id="interface"></div>\r
                        <div id="helpView"></div>\r
                        <div id="fluidbook">\r
-                               <div id="shadow"></div>\r
+                               <div id="shadow"><div class="left"></div><div class="right"></div></div>\r
                                <div id="pagesnumbers"><div class="left"></div><div class="right"></div></div>\r
                                <div id="pages" class="double">\r
                                        <div id="currentDoublePage" class="doublePage"></div>\r
                <div id="pagesContents"><!-- $pagesContents --></div>\r
                <div id="op"></div>\r
                <div id="ol"></div>\r
-               <div id="fontsLoader">\r
-                       <div class="silkscreen"></div>\r
-                       <div class="puritan"></div>\r
-                       <div class="puritanbold"></div>\r
-               </div>\r
 \r
                <div id="coquillette"></div>\r
                <div id="hiddencontents"><!-- $hiddenContents --></div>\r
index dbc5d56bc9939fb5affd444228dd73c80bec9a7e..4926326a227e482799fbfa61197fa2e42abf186c 100644 (file)
@@ -351,6 +351,9 @@ FluidbookBookmarks.prototype = {
                                        side = 'right';
                                } else {
                                        side = (i % 2 == 0) ? 'left' : 'right';
+                                       if (this.fluidbook.l10n.dir == 'rtl') {
+                                               side = side == 'left' ? 'right' : 'left';
+                                       }
                                }
 
                                bookmarks += "<a href=\"#\" class=\"bookmark " + side + "\" data-page=\"" + i + "\"";
index ae41e3d48d050afd88c1ced712771e3eeb44c13c..6ec93841aceedee83280d539ef17431293e98f3d 100644 (file)
@@ -49,13 +49,22 @@ FluidbookHelp.prototype = {
                        preserve: true\r
                });\r
                var h = 40 + ($("#nav a[data-tooltip]").length - 1) * 25;\r
+               var ww = $(window).width();\r
+\r
                $("#nav a[data-tooltip]").each(function() {\r
                        var text = $(this).data('tooltip');\r
                        if (text == null || text == undefined || text == '') {\r
                                return;\r
                        }\r
                        var offset = $(this).offset();\r
-                       var left = offset.left + ($(this).width() / 2);\r
+                       var left;\r
+\r
+                       if ($this.fluidbook.l10n.dir == 'ltr') {\r
+                               left = offset.left + ($(this).width() / 2);\r
+                       } else {\r
+                               left = (ww - offset.left - ($(this).width() / 2)) * -1;\r
+                       }\r
+\r
                        var c = 'nav';\r
                        if ($(this).parents("#afterSearch").length > 0) {\r
                                c = 'afterSearch';\r
@@ -80,10 +89,10 @@ FluidbookHelp.prototype = {
                }\r
 \r
                help += '<div class="interface">';\r
-               help += '<div class="next">' + next + '<hr /></div>';\r
-               help += '<div class="last">' + this.fluidbook.l10n.__('last page') + '<hr /></div>';\r
-               help += '<div class="previous"><hr />' + previous + '</div>';\r
-               help += '<div class="first"><hr />' + this.fluidbook.l10n.__('frontpage') + '</div>';\r
+               help += '<div class="next">' + next + '</div>';\r
+               help += '<div class="last">' + this.fluidbook.l10n.__('last page') + '</div>';\r
+               help += '<div class="previous">' + previous + '</div>';\r
+               help += '<div class="first">' + this.fluidbook.l10n.__('frontpage') + '</div>';\r
                help += '</div>';\r
 \r
                if (this.fluidbook.pad.enabled) {\r
@@ -240,6 +249,8 @@ FluidbookHelp.prototype = {
                        if (this.fluidbook.pad.enabled) {\r
                                this.fluidbook.pad.displayInterface();\r
                        }\r
+               } else {\r
+                       this.fluidbook.hideUnnecessaryButtons();\r
                }\r
        }\r
 };\r
index 3b3f245b7e7b558be79fb1a3dfab50136b4c3acb..e5ec71f6430be16f8e2b51de78d77c68985c11a1 100644 (file)
@@ -181,7 +181,6 @@ Fluidbook.prototype = {
 \r
                $("#links").removeClass('left').removeClass('right').addClass(lClass).html(this.datas.links[pageNr]).show();\r
                if (this.datas.bookmark) {\r
-\r
                        $("#links").append(this.bookmarks.getBookmarkForPage(pageNr));\r
                }\r
                $("#links").prepend('<a href="#" class="nonlinkarea"></a>');\r
@@ -399,53 +398,22 @@ Fluidbook.prototype = {
                        return;\r
                }\r
                this.transitionning = true;\r
-               var nextFromClass;\r
                var $this = this;\r
-               if (pageNr > this.currentPage) {\r
-                       nextFromClass = 'next';\r
-               } else {\r
-                       nextFromClass = 'prev';\r
-               }\r
 \r
-               $("#pages").prepend('<div id="nextDoublePage" class="_3d doublePage ' + nextFromClass + 'start"></div>');\r
+               var turning = this.getTurningPages(pageNr);\r
+\r
+               $("#pages").prepend('<div id="nextDoublePage" class="_3d doublePage ' + turning.nextFromClass + 'start"></div>');\r
                var doublePage = $("#nextDoublePage");\r
                var currentDoublePage = $("#currentDoublePage");\r
 \r
-               var currentLeft = this.currentPage - this.currentPage % 2;\r
-               var currentRight = currentLeft + 1;\r
-\r
-               var dir = 1;\r
-               if (pageNr < this.currentPage) {\r
-                       dir = -1;\r
-               }\r
-\r
-\r
-               var preload = [pageNr, pageNr + 1];\r
-\r
                this.displayLoader();\r
 \r
-               this.loader.preloadPagesBeforeTransition(preload, function() {\r
-                       var pages;\r
+               this.loader.preloadPagesBeforeTransition([turning.currentLeft, turning.currentRight], function() {\r
                        $("#pages").addClass('_3dtransition');\r
-                       // Set contents of flat part\r
-                       if (dir == 1) {\r
-                               pages = [currentLeft, pageNr + 1];\r
-                       } else {\r
-                               pages = [pageNr, currentRight];\r
-                       }\r
-                       $this.loader.setContentsInDoublePage(currentDoublePage, pages, true, function() {\r
-                               // Set the contents of fliping part\r
-                               if (dir == 1) {\r
-                                       pages = [pageNr, currentRight];\r
-                               } else {\r
-                                       pages = [currentLeft, pageNr + 1];\r
-                               }\r
-\r
-                               $this.loader.setContentsInDoublePage(doublePage, pages, true, function() {\r
+                       $this.loader.setContentsInDoublePage(currentDoublePage, turning.flat, true, function() {\r
+                               $this.loader.setContentsInDoublePage(doublePage, turning.flip, true, function() {\r
                                        $this.beforeTransition(pageNr);\r
-                                       // Do the transition\r
-\r
-                                       $(doublePage).addClass(nextFromClass + 'end').one($this.support.getTransitionEndEvent(), function() {\r
+                                       $(doublePage).addClass(turning.nextFromClass + 'end').one($this.support.getTransitionEndEvent(), function() {\r
                                                if ($this.transitionning == false) {\r
                                                        return;\r
                                                }\r
@@ -456,8 +424,8 @@ Fluidbook.prototype = {
                                                }\r
 \r
                                                // Set the flat contents with the new page\r
-                                               $this.loader.setContentsInDoublePage(doublePage, [pageNr, pageNr + 1], false, function() {\r
-                                                       $(doublePage).removeClass('_3d').removeClass(nextFromClass + 'start').removeClass(nextFromClass + 'end');\r
+                                               $this.loader.setContentsInDoublePage(doublePage, turning.end, false, function() {\r
+                                                       $(doublePage).removeClass('_3d').removeClass(turning.nextFromClass + 'start').removeClass(turning.nextFromClass + 'end');\r
                                                        // Remove former part\r
                                                        $("#currentDoublePage").remove();\r
                                                        $(doublePage).attr('id', 'currentDoublePage');\r
@@ -472,6 +440,49 @@ Fluidbook.prototype = {
                        });\r
                });\r
        },\r
+       getTurningPages: function(newPage) {\r
+               var res = {};\r
+\r
+               res.dir = 1;\r
+               if (newPage < this.currentPage) {\r
+                       res.dir = -1;\r
+               }\r
+\r
+               if (this.l10n.dir == 'ltr') {\r
+                       res.currentLeft = this.currentPage - this.currentPage % 2;\r
+                       res.currentRight = res.currentLeft + 1;\r
+                       if (res.dir == 1) {\r
+                               res.currentToClass = 'prev';\r
+                               res.nextFromClass = 'next';\r
+                               res.flat = [res.currentLeft, newPage + 1];\r
+                               res.flip = [newPage, res.currentRight];\r
+                       } else {\r
+                               res.currentToClass = 'next';\r
+                               res.nextFromClass = 'prev';\r
+                               res.flat = [newPage, res.currentRight];\r
+                               res.flip = [res.currentLeft, newPage + 1];\r
+                       }\r
+                       res['end'] = [newPage, newPage + 1];\r
+               } else {\r
+                       res.currentRight = this.currentPage - this.currentPage % 2;\r
+                       res.currentLeft = res.currentRight + 1;\r
+\r
+                       if (res.dir == 1) {\r
+                               res.currentToClass = 'next';\r
+                               res.nextFromClass = 'prev';\r
+                               res.flat = [newPage + 1, res.currentRight];\r
+                               res.flip = [res.currentLeft, newPage];\r
+                       } else {\r
+                               res.currentToClass = 'prev';\r
+                               res.nextFromClass = 'next';\r
+                               res.flat = [res.currentLeft, newPage];\r
+                               res.flip = [newPage + 1, res.currentRight];\r
+                       }\r
+                       res.end = [newPage + 1, newPage];\r
+               }\r
+               res.loading = [res.currentLeft, res.currentRight];\r
+               return JSON.parse(JSON.stringify(res));\r
+       },\r
        reloadCurrentPage: function() {\r
                this.pageTransition(this.currentPage);\r
        },\r
@@ -510,7 +521,6 @@ Fluidbook.prototype = {
                        } else {\r
                                $("#next").removeClass('hidden');\r
                        }\r
-\r
                } else {\r
                        $("#previous,#next").removeClass('hidden');\r
 \r
@@ -527,48 +537,33 @@ Fluidbook.prototype = {
                        }\r
                }\r
 \r
-               if (page <= 1) {\r
-                       $("#shadow").removeClass('double');\r
-                       $("#shadow").removeClass('left');\r
-                       $("#shadow").addClass('right');\r
-                       $("#shadow").addClass('single');\r
-               } else if (page >= this.datas.pages) {\r
-                       $("#shadow").removeClass('double');\r
-                       $("#shadow").removeClass('right');\r
-                       $("#shadow").addClass('left');\r
-                       $("#shadow").addClass('single');\r
+               if ((page <= 1 && this.l10n.dir == 'ltr') || (page >= this.datas.pages && this.l10n.dir == 'rtl')) {\r
+                       $("#shadow").removeClass('double').removeClass('left').addClass('right').addClass('single');\r
+               } else if ((page <= 1 && this.l10n.dir == 'rtl') || (page >= this.datas.pages && this.l10n.dir == 'ltr')) {\r
+                       $("#shadow").removeClass('double').removeClass('right').addClass('left').addClass('single');\r
                }\r
                else {\r
-                       $("#shadow").removeClass('single');\r
-                       $("#shadow").addClass('double');\r
+                       $("#shadow").removeClass('single').addClass('double');\r
                }\r
-\r
        },\r
        showAllButtons: function() {\r
                $("#next,#previous").addClass('help').show();\r
        },\r
        pageTransition2D: function(pageNr) {\r
                this.transitionning = true;\r
-               var currentFromClass, currentToClass;\r
                var $this = this;\r
-               if (pageNr > this.currentPage) {\r
-                       currentToClass = 'prev';\r
-                       nextFromClass = 'next';\r
-               }\r
-               else {\r
-                       currentToClass = 'next';\r
-                       nextFromClass = 'prev';\r
-               }\r
 \r
+               var turning = this.getTurningPages(pageNr);\r
+               fb(turning);\r
 \r
-               $("#pages").append('<div id="nextDoublePage" class="doublePage _2d axis_' + this.transitionAxis + ' ' + nextFromClass + '"></div>');\r
+               $("#pages").append('<div id="nextDoublePage" class="doublePage _2d axis_' + this.transitionAxis + ' ' + turning.nextFromClass + '"></div>');\r
                var doublePage = $("#nextDoublePage");\r
                this.displayLoader();\r
-               this.loader.preloadPagesBeforeTransition([pageNr, pageNr + 1], function() {\r
-                       $this.loader.setContentsInDoublePage(doublePage, [pageNr, pageNr + 1], true, function() {\r
+               this.loader.preloadPagesBeforeTransition(turning.end, function() {\r
+                       $this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() {\r
                                $this.beforeTransition(pageNr);\r
-                               $("#currentDoublePage").addClass('_2d').addClass('axis_' + $this.transitionAxis).addClass(currentToClass);\r
-                               $(doublePage).removeClass(nextFromClass).one($this.support.getTransitionEndEvent(), function(event) {\r
+                               $("#currentDoublePage").addClass('_2d').addClass('axis_' + $this.transitionAxis).addClass(turning.currentToClass);\r
+                               $(doublePage).removeClass(turning.nextFromClass).one($this.support.getTransitionEndEvent(), function(event) {\r
                                        if ($this.transitionning == false) {\r
                                                return;\r
                                        }\r
@@ -581,19 +576,11 @@ Fluidbook.prototype = {
        },\r
        pageTransition2DPortrait: function(pageNr) {\r
                this.transitionning = true;\r
-               var currentFromClass, currentToClass;\r
                var $this = this;\r
-               if (pageNr > this.currentPage) {\r
-                       currentToClass = 'prev';\r
-                       nextFromClass = 'next';\r
-               }\r
-               else {\r
-                       currentToClass = 'next';\r
-                       nextFromClass = 'prev';\r
-               }\r
 \r
+               var turning = this.getTurningPages(pageNr);\r
 \r
-               $("#pages").append('<div id="nextDoublePage" class="doublePage _2d axis_' + this.transitionAxis + ' ' + nextFromClass + '"></div>');\r
+               $("#pages").append('<div id="nextDoublePage" class="doublePage _2d axis_' + this.transitionAxis + ' ' + turning.nextFromClass + '"></div>');\r
                var doublePage = $("#nextDoublePage");\r
 \r
                if (this.displayOnePage) {\r
@@ -601,11 +588,11 @@ Fluidbook.prototype = {
                }\r
 \r
                this.displayLoader();\r
-               this.loader.preloadPagesBeforeTransition([pageNr, pageNr + 1], function() {\r
-                       $this.loader.setContentsInDoublePage(doublePage, [pageNr, pageNr + 1], true, function() {\r
+               this.loader.preloadPagesBeforeTransition(turning.end, function() {\r
+                       $this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() {\r
                                $this.beforeTransition(pageNr);\r
-                               $("#currentDoublePage").addClass('axis_' + $this.transitionAxis).addClass('_2d').addClass(currentToClass);\r
-                               $(doublePage).removeClass(nextFromClass).one($this.support.getTransitionEndEvent(), function() {\r
+                               $("#currentDoublePage").addClass('axis_' + $this.transitionAxis).addClass('_2d').addClass(turning.currentToClass);\r
+                               $(doublePage).removeClass(turning.nextFromClass).one($this.support.getTransitionEndEvent(), function() {\r
                                        if ($this.transitionning == false) {\r
                                                return;\r
                                        }\r
@@ -624,8 +611,9 @@ Fluidbook.prototype = {
                if (this.displayOnePage) {\r
                        this.hidePage('right');\r
                }\r
+               var turning = this.getTurningPages(pageNr);\r
                this.beforeTransition(pageNr);\r
-               this.loader.setContentsInDoublePage(doublePage, [page, page + 1], true, function() {\r
+               this.loader.setContentsInDoublePage(doublePage, turning.end, true, function() {\r
                        $this.afterTransition(page);\r
                });\r
 \r
@@ -680,21 +668,30 @@ Fluidbook.prototype = {
        },\r
        setPageNumbers: function() {\r
                var page = this.currentPage;\r
+\r
+               var min, max;\r
+\r
+\r
                if (page > 0) {\r
-                       $("#pagesnumbers .left").html(this.physicalToVirtual(page));\r
+                       min = this.physicalToVirtual(page);\r
                } else {\r
-                       $("#pagesnumbers .left").html('');\r
+                       min;\r
                }\r
 \r
-               if (!this.displayOnePage) {\r
-                       page++;\r
-                       if (page <= this.datas.pages) {\r
-                               $("#pagesnumbers .right").html(this.physicalToVirtual(page));\r
-                               $("#pagesnumbers .right").show();\r
-                       } else {\r
-                               $("#pagesnumbers .right").html('');\r
-                               $("#pagesnumbers .right").hide();\r
-                       }\r
+               page++;\r
+               if (page <= this.datas.pages) {\r
+                       max = this.physicalToVirtual(page);\r
+               } else {\r
+                       max = '';\r
+               }\r
+\r
+\r
+               if (this.displayOnePage || this.l10n.dir == 'ltr') {\r
+                       $("#pagesnumbers .left").html(min);\r
+                       $("#pagesnumbers .right").html(max);\r
+               } else {\r
+                       $("#pagesnumbers .right").html(min);\r
+                       $("#pagesnumbers .left").html(max);\r
                }\r
        },\r
        clickLogo: function() {\r
index 599666e1859a3c2ed4f29bdc4231def79b9ad46d..baf500691896a9e587b4688e103ae72f967cb7f1 100644 (file)
@@ -15,6 +15,14 @@ FluidbookL10N.prototype = {
                }
                this.lang = lang;
 
+               this.dir = (this.getActiveLang() == 'ar' || this.getActiveLang() == 'he') ? 'rtl' : 'ltr';
+               $('html').attr('dir', this.dir);
+               if (this.dir == 'rtl') {
+                       $('html').removeClass('ltr').addClass('rtl');
+               } else {
+                       $("html").removeClass('rtl').addClass('ltr');
+               }
+
                this.translations = this.fluidbook.datas.l10n[lang];
                this.updateTranslations();
        },
@@ -91,7 +99,7 @@ FluidbookL10N.prototype = {
 
                if (this.translations[str] == undefined || this.translations[str] == null || this.translations[str] == '') {
                        if (markupIfNonAvailable == undefined || markupIfNonAvailable) {
-                               return '<i class="l10n" str="' + str + '">~ ' + str + ' ~</i>';
+                               return '~ ' + str + ' ~';
                        } else {
                                return str;
                        }
index 9105a741522732d341b3934cefd2e79609d92ba1..e1278f43f2a24467f230c8f3f1af38ccec67fb26 100644 (file)
@@ -14,13 +14,14 @@ function FluidbookLoader(fluidbook) {
 FluidbookLoader.prototype = {
        preloadPagesBeforeTransition: function(pages, callback) {
                var $this = this;
-               if (pages.length == 0) {
+               var $pages= pages.slice(0);
+               if ($pages.length == 0) {
                        callback();
                        return;
                }
-               var $pages = pages;
+
                var $callback = callback;
-               var $page = pages.shift();
+               var $page = $pages.shift();
                if ($page > this.fluidbook.datas.pages || $page < 1) {
                        $this.preloadPagesBeforeTransition($pages, $callback);
                        return;
@@ -91,8 +92,7 @@ FluidbookLoader.prototype = {
                if (!immediate) {
                        this.loadLeftPage(leftPage, $(doublePage), function() {
                                $this.loadRightPage(rightPage, $(doublePage), callback);
-                       })
-
+                       });
                } else {
                        this.loadLeftPage(leftPage, $(doublePage), function() {
                        })
@@ -160,7 +160,7 @@ FluidbookLoader.prototype = {
                $(page).children(".shade").html(this.loadImage('images/' + shade, this.fluidbook.datas.width / 4, this.fluidbook.datas.height));
        },
        loadLeftPage: function(page, doublePage, callback) {
-               if (page > 0) {
+               if (page > 0 && page <= this.fluidbook.datas.pages) {
                        this.loadPage(page, doublePage, 'left', callback);
                } else {
                        $(doublePage).find('.left').remove();
@@ -168,7 +168,7 @@ FluidbookLoader.prototype = {
                }
        },
        loadRightPage: function(page, doublePage, callback) {
-               if (!this.fluidbook.displayOnePage && page <= this.fluidbook.datas.pages) {
+               if (!this.fluidbook.displayOnePage && page <= this.fluidbook.datas.pages && page > 0) {
                        this.loadPage(page, doublePage, 'right', callback);
                } else {
                        $(doublePage).find('.right').remove();
index 4ddeb8e5a7a0d3cd2a12a1648ccd8a8bebb7ba30..5e900b0cc7f375243f905d3fa5f60d10a77a43aa 100644 (file)
@@ -3,7 +3,7 @@ function FluidbookNav(fluidbook) {
        this._dimensions = this.fluidbook.datas.iconsDimensions;
        this._inited = false;
        this.setNav();
-       
+
 }
 
 FluidbookNav.prototype = {
@@ -30,7 +30,10 @@ FluidbookNav.prototype = {
                        $("#nav #" + before).before(l);
                }
        },
-       getLink: function(name, href, id, help, className) {
+       getLink: function(name, href, id, help, className, icon) {
+               if (icon == undefined) {
+                       icon = true;
+               }
                var res = '<a href="' + href + '"';
                if (id != undefined) {
                        res += ' id="' + id + '"';
@@ -42,7 +45,9 @@ FluidbookNav.prototype = {
                        res += ' data-tooltip="' + this.fluidbook.l10n.__(help) + '"';
                }
                res += '>';
-               res += this.getIcon(name);
+               if (icon) {
+                       res += this.getIcon(name);
+               }
                res += '</a>';
                return res;
        },
@@ -110,7 +115,7 @@ FluidbookNav.prototype = {
                                        });
                                }
                        } else if (icon == 'pdf' || icon == 'print') {
-                               if ($("#print").length==0 && (this.fluidbook.datas.print || this.fluidbook.datas.pdf)) {
+                               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'));
                                        $("#print").on('click', function() {
                                                $this.fluidbook.print();
@@ -213,8 +218,8 @@ FluidbookNav.prototype = {
        },
        setInterface: function() {
 
-               var res = this.getLink('interface-previous', '#', 'previous', '', 'hidden');
-               res += this.getLink('interface-next', '#', 'next');
+               var res = this.getLink('interface-previous', '#', 'previous', '', '', false);
+               res += this.getLink('interface-next', '#', 'next', '', '', false);
                $('#interface').append(res);
                $(document).on('click', '#next', goNextPage);
                $(document).on('click', '#previous', goPreviousPage);
index 260ef524b7a02bac547048cb6efcc64311ca16af..863b5d7ffc6d3aed05c4c223b91ab0b4fcccde00 100644 (file)
@@ -65,10 +65,6 @@ FluidbookResize.prototype = {
 \r
                this.resizeView();\r
 \r
-               $("#next").css({\r
-                       right: 0\r
-               });\r
-\r
                var marginY, marginX, marginTop, marginBottom, marginLeft, marginRight;\r
 \r
                if (this.fluidbook.pad.enabled) {\r
index dca8d87f86395b862de39c4cf4346b8bb6f56475..0dbe0fd0b09f3ef29bf9dfbfa2f6c67e131eb131 100644 (file)
@@ -73,7 +73,6 @@ FluidbookChapters.prototype = {
        addItem: function(chapter) {\r
                if (chapter.label == '--' || chapter.label == '++') {\r
                        return "";\r
-\r
                }\r
                var color = chapter.color;\r
                if (color == '') {\r
@@ -85,7 +84,6 @@ FluidbookChapters.prototype = {
                        this.lastColor = color;\r
                }\r
 \r
-\r
                if (chapter.label.substr(0, 3) == '!!!') {\r
                        chapter.label = chapter.label.substring(3);\r
                        chapter.level = '-1';\r
@@ -121,7 +119,5 @@ FluidbookChapters.prototype = {
 \r
                return res;\r
        }\r
-\r
-\r
 };\r
 \r
index 1cdbb569b135bb7f650065ef559924a4093e7e89..d66c02bd83d6f8d8b2dd837aa4ada7a5577bf82b 100644 (file)
@@ -23,36 +23,56 @@ FluidbookIndex.prototype = {
                if (this.normalHTML == '') {
                        this.normalHTML += '<div class="content"><div id="indexView">';
                        var j = 0;
-                       var ix = '';
+                       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;
-                               ix = '';
+                               ix1 = '';
+                               ix2 = '';
                                c = '';
+
+                               if (this.fluidbook.l10n.dir == 'ltr') {
+                                       s1 = 'left';
+                                       s2 = 'right'
+                               } else {
+                                       s1 = 'right';
+                                       s2 = 'left'
+                               }
+
                                if (i > 0) {
-                                       ix += '<div class="thumb left"><a href="#/page/' + i + '">' + this.fluidbook.loader.getImage('data/thumbnails/p' + i + '.jpg') + '</a><span class="number">' + this.fluidbook.physicalToVirtual(i) + '</span>';
+                                       ix1 += '<div class="thumb ' + s1 + '"><a href="#/page/' + i + '">' + this.fluidbook.loader.getImage('data/thumbnails/p' + i + '.jpg') + '</a><span class="number">' + this.fluidbook.physicalToVirtual(i) + '</span>';
                                        if (this.fluidbook.bookmarks.enabled) {
-                                               ix += this.fluidbook.bookmarks.getBookmarkForPage(i, true);
+                                               ix1 += this.fluidbook.bookmarks.getBookmarkForPage(i, true);
                                        }
                                        pages.push(i);
-                                       ix += '</div>';
+                                       ix1 += '</div>';
 
                                } else {
-                                       c = ' simple right';
+                                       c = ' simple ' + s2;
                                }
+
+                               if (this.fluidbook.l10n.dir == 'rtl') {
+                                       s1 = 'left';
+                                       s2 = 'right'
+                               } else {
+                                       s1 = 'right';
+                                       s2 = 'left'
+                               }
+
                                if (j < this.fluidbook.datas.pages) {
-                                       ix += '<div class="thumb right"><a href="#/page/' + j + '">' + this.fluidbook.loader.getImage('data/thumbnails/p' + j + '.jpg') + '</a><span class="number">' + this.fluidbook.physicalToVirtual(j) + '</span>';
+                                       ix2 += '<div class="thumb ' + s1 + '"><a href="#/page/' + j + '">' + this.fluidbook.loader.getImage('data/thumbnails/p' + j + '.jpg') + '</a><span class="number">' + this.fluidbook.physicalToVirtual(j) + '</span>';
                                        if (this.fluidbook.bookmarks.enabled) {
-                                               ix += this.fluidbook.bookmarks.getBookmarkForPage(j, true);
+                                               ix2 += this.fluidbook.bookmarks.getBookmarkForPage(j, true);
                                        }
-                                       ix += '</div>';
+                                       ix2 += '</div>';
                                        pages.push(j);
                                } else {
-                                       c = ' simple left';
+                                       c = ' simple ' + s2;
                                }
-
+                               ix = ix1 + ix2;
                                this.normalHTML += '<div class="doubleThumb' + c + '" page="' + i + '" data-pages="' + pages.join(',') + '">' + ix;
                                this.normalHTML += '</div>';
                        }
index 1e58a8b9ecb4992572038789c93d7a462d8596db..f5d96e84c401cc4dd2b2cd390414e26c059317a3 100644 (file)
@@ -53,9 +53,6 @@ function loadPhonegap() {
                }
        }
 
-       console.log('Load phonegap');
-       console.log(cordova);
-
        loadJSLibrary(
                        cordova
                        , function() {
index f69cec7536eec778863c3c8e5f7594026cbc6a98..a1587719b9516d75e073dd99d73ef089f15e63c3 100644 (file)
@@ -237,6 +237,7 @@ body{
 #fluidbook{\r
        position:absolute;\r
        z-index: 11;\r
+       direction: ltr;\r
 }\r
 \r
 #cache{\r
@@ -274,6 +275,7 @@ body{
        display:block;\r
        opacity:1;\r
        z-index:21;\r
+       background-size: 40px 100px;\r
 }\r
 \r
 #next,#previous,#down,#splash{\r
@@ -299,31 +301,73 @@ body{
        cursor:default;\r
 }\r
 \r
-#next{\r
+.ltr #next{\r
+       background-image: url("../data/images/interface-next.svg");\r
        right:0px;\r
        border-top-left-radius:7px;\r
        border-bottom-left-radius:7px;\r
 }\r
 \r
-#previous{\r
+.ltr #previous{\r
+       background-image: url("../data/images/interface-previous.svg");\r
        left:0px;\r
        border-top-right-radius:7px;\r
        border-bottom-right-radius:7px;\r
 }\r
 \r
+.rtl #previous{\r
+       background-image: url("../data/images/interface-next.svg");\r
+       right:0px;\r
+       border-top-left-radius:7px;\r
+       border-bottom-left-radius:7px;\r
+}\r
+\r
+.rtl #next{\r
+       background-image: url("../data/images/interface-previous.svg");\r
+       left:0px;\r
+       border-top-right-radius:7px;\r
+       border-bottom-right-radius:7px;\r
+}\r
+\r
+.rtl.no-svg #next{\r
+       background-image: url("../data/images/interface-next.png");\r
+}\r
+\r
+.rtl.no-svg #previous{\r
+       background-image: url("../data/images/interface-previous.png");\r
+}\r
+\r
+.rtl.no-svg #previous{\r
+       background-image: url("../data/images/interface-next.png");\r
+}\r
+\r
+.rtl.no-svg #next{\r
+       background-image: url("../data/images/interface-previous.png");\r
+}\r
+\r
 /* Header */\r
 header{position:relative;z-index: 1;}\r
+\r
+\r
 #nav>a{\r
-       margin:0 0 0 20px;\r
        vertical-align: top;\r
 }\r
+\r
+.ltr #nav a{\r
+       margin:0 0 0 20px;\r
+}\r
+\r
+.rtl #nav>a{\r
+       margin:0 20px 0 0;\r
+}\r
+\r
+\r
 #nav>a>img{\r
        padding: 10px 2px 0px 2px;\r
        vertical-align: top;\r
 }\r
 \r
 #nav{\r
-       float:left;\r
        position:relative;\r
        z-index:12;\r
        white-space: nowrap;\r
@@ -354,10 +398,19 @@ header{position:relative;z-index: 1;}
 #search{\r
        position:relative;\r
        display:inline-block;\r
-       margin:8px 0 0 30px;\r
        z-index: 2;\r
        vertical-align: top;\r
 }\r
+\r
+.ltr #search{\r
+       margin:8px 0 0 30px;\r
+}\r
+\r
+.rtl #search{\r
+       margin:8px 30px 0 0;\r
+}\r
+\r
+\r
 #search img{\r
        vertical-align: middle;\r
 }\r
@@ -396,10 +449,19 @@ header{position:relative;z-index: 1;}
 #logo{\r
        position:absolute;\r
        top:0px;\r
-       right:0px;\r
        background-repeat: no-repeat;\r
        z-index: 10;\r
 }\r
+\r
+.ltr #logo{\r
+       right:0px;\r
+}\r
+\r
+.rtl #logo{\r
+       left:0px;\r
+}\r
+\r
+\r
 .portrait #logo{\r
        display:none;\r
 }\r
@@ -410,8 +472,7 @@ footer{
        font-size:8px;\r
        text-transform: uppercase;\r
        position: absolute;\r
-       bottom:0px;\r
-       right:0px;\r
+       bottom:2px;\r
        z-index: 20;\r
 }\r
 footer a{\r
@@ -419,6 +480,14 @@ footer a{
        margin:0 4px 4px 0;\r
 }\r
 \r
+.ltr footer{\r
+       right:2px;\r
+}\r
+\r
+.rtl footer{\r
+       left:2px;\r
+}\r
+\r
 /* Fluidbook zooming */\r
 \r
 footer,header,#interface{\r
@@ -807,6 +876,10 @@ ul.chapters.shareList a.level0 img{
        top:3px;\r
 }\r
 \r
+.rtl ul.chapters.shareList a.level0 img{\r
+       margin:2px 0 0 10px;\r
+}\r
+\r
 /* Help */\r
 #helpView{\r
        background-color: rgba(0,0,0,0.7);\r
@@ -844,6 +917,13 @@ ul.chapters.shareList a.level0 img{
        white-space: nowrap;\r
 }\r
 \r
+.rtl #helpView .icon span{\r
+       position:absolute;\r
+       right:1em;\r
+       display: block;\r
+       margin-top:-1em;\r
+}\r
+\r
 #helpView .interface hr{\r
        width:30px;\r
        height:0px;\r
@@ -870,19 +950,50 @@ ul.chapters.shareList a.level0 img{
        vertical-align: middle;\r
 }\r
 \r
-#helpView .interface .next,\r
-#helpView .interface .last{\r
+.ltr #helpView .interface .next,\r
+.ltr #helpView .interface .last,\r
+.rtl #helpView .interface .first,\r
+.rtl #helpView .interface .previous{\r
        text-align: right;\r
        right:40px;\r
        top:340px;\r
 }\r
 \r
-#helpView .interface .first,\r
-#helpView .interface .previous{\r
+.ltr #helpView .interface .next:after,\r
+.ltr #helpView .interface .last:after,\r
+.rtl #helpView .interface .first:after,\r
+.rtl #helpView .interface .previous:after{\r
+       content:'------------';\r
+       width:100px;\r
+       border-bottom: 1px solid #fff;\r
+       margin:0 10px;\r
+       position:relative;\r
+       top:-0.5em;\r
+       color:transparent;\r
+}\r
+\r
+.rtl #helpView .interface .next,\r
+.rtl #helpView .interface .last,\r
+.ltr #helpView .interface .first,\r
+.ltr #helpView .interface .previous{\r
        left:40px;\r
        top:340px;\r
 }\r
 \r
+.rtl #helpView .interface .next:before,\r
+.rtl #helpView .interface .last:before,\r
+.ltr #helpView .interface .first:before,\r
+.ltr #helpView .interface .previous:before{\r
+       content:'------------';\r
+       width:100px;\r
+       border-bottom: 1px solid #fff;\r
+       margin:0 10px;\r
+       position:relative;\r
+       top:-0.5em;\r
+       color:transparent;\r
+}\r
+\r
+\r
 #helpView .interface .first,\r
 #helpView .interface .last{\r
        margin-top:43px;\r
@@ -896,6 +1007,7 @@ ul.chapters.shareList a.level0 img{
 \r
 #helpView .interface div{\r
        position:absolute;\r
+       direction: ltr;\r
 }\r
 \r
 .portrait #helpView .interface{\r
@@ -1034,7 +1146,11 @@ ul.chapters>li{
 ul.chapters a{\r
        display:block;\r
        text-align: left;\r
-       padding:10px 20px 10px 20px;\r
+       padding:10px 20px;\r
+}\r
+\r
+.rtl ul.chapters a{\r
+       text-align: right;\r
 }\r
 \r
 ul.chapters a.level-1{\r