From 14daaa8ee5f470b80fcc6b0e4f3d88df5feefb09 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Wed, 29 May 2019 12:41:47 +0200 Subject: [PATCH] wip #2807 @1 --- js/libs/fluidbook/fluidbook.bookmarks.js | 47 +++++++++--------------- js/libs/fluidbook/fluidbook.links.js | 14 ++++--- style/fluidbook.less | 10 ++++- 3 files changed, 35 insertions(+), 36 deletions(-) diff --git a/js/libs/fluidbook/fluidbook.bookmarks.js b/js/libs/fluidbook/fluidbook.bookmarks.js index fbcf492e..b11d0861 100644 --- a/js/libs/fluidbook/fluidbook.bookmarks.js +++ b/js/libs/fluidbook/fluidbook.bookmarks.js @@ -348,42 +348,31 @@ FluidbookBookmarks.prototype = { isBookmarked: function (page) { return this.bookmarks.indexOf(page) > -1; }, - getBookmarkForPage: function (pageNr, onlyOne, allwaysAtRight) { - if (onlyOne === undefined) { - onlyOne = false; - } + getBookmarkForPage: function (pageNr, allwaysAtRight) { if (allwaysAtRight === undefined) { allwaysAtRight = false; } - var to = pageNr; - if (!onlyOne) { - to++; - } - var bookmarks = ""; - for (var i = pageNr; i <= to; i++) { - if (i > 0 && i <= this.fluidbook.contentlock.getMaxPage()) { - var side; - if (allwaysAtRight) { - side = 'right'; - } else { - side = (i % 2 === 0) ? 'left' : 'right'; - if (this.fluidbook.l10n.dir === 'rtl') { - side = side === 'left' ? 'right' : 'left'; - } - } - - bookmarks += "'; + var side; + if (allwaysAtRight) { + side = this.fluidbook.l10n.dir === 'ltr' ? 'right' : 'left'; + } else { + side = (pageNr % 2 === 0) ? 'left' : 'right'; + if (this.fluidbook.l10n.dir === 'rtl') { + side = side === 'left' ? 'right' : 'left'; } } + + bookmarks += "'; + return bookmarks; }, getView: function (title, downloadLabel) { diff --git a/js/libs/fluidbook/fluidbook.links.js b/js/libs/fluidbook/fluidbook.links.js index 2dab278d..0edb3b73 100644 --- a/js/libs/fluidbook/fluidbook.links.js +++ b/js/libs/fluidbook/fluidbook.links.js @@ -188,14 +188,18 @@ FluidbookLinks.prototype = { if (this.fluidbook.displayOnePage && pageNr % 2 === 1 && this.fluidbook.l10n.dir === 'ltr') { $(links).addClass('right') } - if (this.fluidbook.datas.bookmark) { - links.append(this.fluidbook.bookmarks.getBookmarkForPage(pageNr, this.fluidbook.displayOnePage, this.fluidbook.displayOnePage)); - } links.prepend('
'); - links.find('.rightContainer').html(this.fluidbook.datas.links[rightPage]); - links.find('.leftContainer').html(this.fluidbook.datas.links[leftPage]); + var rightContainer = links.find('.rightContainer'); + var leftContainer = links.find('.leftContainer'); + rightContainer.html(this.fluidbook.datas.links[rightPage]); + leftContainer.html(this.fluidbook.datas.links[leftPage]); + + if (this.fluidbook.datas.bookmark) { + leftContainer.append(this.fluidbook.bookmarks.getBookmarkForPage(leftPage, this.fluidbook.displayOnePage)); + rightContainer.append(this.fluidbook.bookmarks.getBookmarkForPage(rightPage, this.fluidbook.displayOnePage)); + } if (this.fluidbook.displayOnePage) { if (pageNr !== rightPage) { diff --git a/style/fluidbook.less b/style/fluidbook.less index c77872ac..356cb45a 100644 --- a/style/fluidbook.less +++ b/style/fluidbook.less @@ -1216,6 +1216,12 @@ html.ios body.portrait #interface { background-color: rgba(0, 0, 0, 0.001); } +.rtl .portrait #links { + .leftContainer { + left: 0; + } +} + .rtl #links { .leftContainer { left: 50%; @@ -1338,7 +1344,7 @@ html.ios body.portrait #interface { &.left { left: @bookmark-corner-offset; - .portrait #fluidbook & { + .ltr .portrait #fluidbook & { right: @bookmark-corner-offset+@book-page-width; left: auto; } @@ -1378,7 +1384,7 @@ html.ios body.portrait #interface { } .bookmark.right, -.portrait #fluidbook .bookmark.left { +.ltr .portrait #fluidbook .bookmark.left { right: 0; svg { -- 2.39.5