]> _ Git - fluidbook-html5.git/commitdiff
wip #2657 @6
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 2 May 2019 16:48:01 +0000 (18:48 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 2 May 2019 16:48:01 +0000 (18:48 +0200)
js/libs/fluidbook/fluidbook.mobilefirst.js
js/libs/fluidbook/fluidbook.pagetransitions.js
style/fluidbook.less
style/mobilefirst.less

index d00d094144562a9c304138143127504139ebfe1c..1d035550a04b50896d64eb673734d17dc08bf50b 100644 (file)
@@ -16,9 +16,15 @@ FluidbookMobileFirst.prototype = {
         this.fluidbook.datas.soundTheme = '';
     },
 
+    triggerTransition: function (page) {
+        this.fluidbook.pagetransitions.getTurningPages(page);
+
+    },
+
     beforeTransition: function (page) {
+        $('#pages .mf-nav').css({opacity: 0});
+        var $this = this;
         var dimensions = this.fluidbook.loader.getPageDimensions(page);
-        $('#pages .mf-nav').css('opacity', 0);
         var max = Math.max(dimensions.height, $("#currentDoublePage").outerHeight());
         $("#nextDoublePage .page, #nextDoublePage").css({
             height: dimensions.height,
@@ -27,7 +33,13 @@ FluidbookMobileFirst.prototype = {
 
         $("#pages,#fluidbook").css({height: max, maxHeight: max});
 
-        TweenLite.to("#scroll", this.fluidbook.pagetransitions.getTransitionDuration(page), {scrollTo: 0});
+        setTimeout(function () {
+            TweenLite.to("#scroll", $this.fluidbook.pagetransitions.getTransitionDuration(page), {
+                scrollTo: 0,
+                ease: Power2.easeInOut
+            });
+        }, 10);
+
     },
 
     afterTransition: function (page) {
index f21eba19e456751d1dec1c02d91dbb3374647e6a..2b8de5d783f11a4e374e1d40cf7940bbc3cc88b0 100644 (file)
@@ -339,6 +339,11 @@ FluidbookPageTransition.prototype = {
     },
     pageTransition2DPortrait: function (pageNr) {
         this.transitionning = true;
+
+        if (this.fluidbook.mobilefirst.enabled) {
+            this.fluidbook.mobilefirst.triggerTransition(pageNr);
+        }
+
         var $this = this;
         var turning = this.getTurningPages(pageNr);
         $("#pages").append('<div id="nextDoublePage" class="doublePage _2d axis_' + this.transitionAxis + ' ' + turning.nextFromClass + '"></div>');
@@ -357,7 +362,7 @@ FluidbookPageTransition.prototype = {
                 $this.beforeTransition(pageNr, 2, turning);
                 $("#currentDoublePage").addClass('axis_' + $this.transitionAxis).addClass('_2d').addClass(turning.currentToClass);
                 $(doublePage).removeClass(turning.nextFromClass).one($this.fluidbook.support.getTransitionEndEvent(), function () {
-                    if ($this.transitionning == false) {
+                    if ($this.transitionning === false) {
                         return;
                     }
                     $("#currentDoublePage").remove();
index 6bea8c2ce2895b26728a1dd42b343560055cec8f..8133b108161b1c1d2c15b3ecf10b55f020b464cf 100644 (file)
@@ -327,10 +327,83 @@ body, html {
 
 /* Espaces forcés */
 
+.portrait #pages, .portrait .doublePage.page, .page, .doublePage._3d {
+  width: @book-page-width;
+  max-width: @book-page-width;
+  height: @book-page-height;
+  max-height: @book-page-height
+}
+
+@book-page-width-double: @book-page-width*2;
+
+.doublePage, #pages, #links, #searchHighlights {
+  width: @book-page-width-double;
+  max-width: @book-page-width-double;
+  height: @book-page-height;
+  max-height: @book-page-height;
+
+  .mobilefirst & {
+    width: @book-page-width;
+    max-width: @book-page-width;
+  }
+}
+
+.landscape {
+  .doublePage {
+    &._2d.axis_x {
+      &.next {
+        transform: translate3d(@book-page-width-double, 0, 0, 0);
+      }
+
+      &.prev {
+        transform: translate3d(-@book-page-width-double, 0, 0, 0);
+      }
+    }
+  }
+}
+
+.portrait {
+  .doublePage {
+    &._2d.axis_x {
+      &.next {
+        transform: translate3d(@book-page-width, 0, 0);
+      }
+
+      &.prev {
+        transform: translate3d(-@book-page-width, 0, 0);
+      }
+    }
+  }
+}
+
+.doublePage {
+  &._2d.axis_y {
+    &.next {
+      transform: translate3d(0, @book-page-height, 0);
+    }
+
+    &.prev {
+      transform: translate3d(0, -@book-page-height, 0);
+    }
+  }
+}
+
+.doublePage._3d {
+  left: @book-page-width;
+}
+
+#links.right {
+  left: -@book-page-width;
+}
+
 #currentDoublePage {
   pointer-events: none;
 }
 
+.landscape .page.right {
+  left: @book-page-width
+}
+
 .page {
   overflow: hidden;
   position: absolute;
@@ -885,6 +958,10 @@ footer, header, #interface {
     z-index: 0;
   }
 
+  .mobilefirst & {
+    display: none;
+  }
+
 }
 
 a.bookmark {
index f487a348071dfaf6a717a985e1e5ee5cdd13ae57..bf159e3f2971b9c1df510fa2bc092f05e089adc3 100644 (file)
       touch-action: none !important;
     }
   }
+
+  .page {
+    overflow: visible;
+  }
+
+  .doublePage {
+    box-shadow: 0 0 30px rgba(0, 0, 0, @shadow-opacity*0.6);
+  }
+
+  #pages {
+    overflow: visible;
+  }
+
+  .portrait {
+    .doublePage {
+      &._2d.axis_x {
+        opacity: 0;
+        @transition-margin: 200;
+        transition-timing-function: ease-in-out;
+
+        &.next {
+          transform: translate3d(unit(@book-page-width+@transition-margin, px), 0, 0);
+        }
+
+        &.prev {
+          transform: translate3d(unit(-1*(@book-page-width+@transition-margin), px), 0, 0);
+        }
+      }
+    }
+  }
 }
 
+
 .mf-nav {
   position: absolute;
   left: 0;
@@ -32,7 +63,7 @@
   color: @page-number-color;
   font-size: unit(20*@css-scale, px);
   font-weight: 600;
-  transition: opacity 0.25s;
+  transition: opacity 0.1s;
   opacity: 0;
 
   @media @small {