+support interfaces tactiles.
authorBenoît Pin <pin@cri.ensmp.fr>
Fri, 11 Jul 2014 13:37:22 +0000 (15:37 +0200)
committerBenoît Pin <pin@cri.ensmp.fr>
Fri, 11 Jul 2014 13:37:22 +0000 (15:37 +0200)
bugfixes css.

skins/photo_film_viewer.js
skins/portfolio_style.css.dtml

index 226e6dd..9bbf5ef 100644 (file)
@@ -73,11 +73,16 @@ FilmSlider = function(filmBar, slider, ctxInfos, image, toolbar, breadcrumbs) {
                                           'out' :      function(evt){thisSlider.mouseOutHandler(evt);}
                                          };
 
-       this.resizeSlider();
+       if (browser.isMobile) {
+               this.rail.className = 'hidden';
+       }
+       else { 
+               this.resizeSlider();
+       }
        this.addEventListeners();
 };
 
-
+if (!browser.isMobile) {
 FilmSlider.prototype.resizeSlider = function(evt) {
        var filmBarWidth = this.filmBarWidth;
        if (!filmBarWidth) { return; }
@@ -105,6 +110,11 @@ FilmSlider.prototype.resizeSlider = function(evt) {
                this.initialized = true;
        }
 };
+}
+
+else {
+       FilmSlider.prototype.resizeSlider = function(evt) {};
+}
 
 FilmSlider.prototype._checkSizeAfterLoad = function(evt) {
        this._barSizes = [];
@@ -261,6 +271,11 @@ FilmSlider.prototype.addEventListeners = function() {
        else if (browser.isIE6up) {
                addListener(this.filmBar, 'mousewheel', function(evt){thisSlider.mouseWheelHandler(evt);});
        }
+       if (browser.isMobile) {
+               this.filmBar.addEventListener('touchstart', function(evt){thisSlider.touchStartHandler(evt);}, false);
+               this.filmBar.addEventListener('touchmove', function(evt){thisSlider.touchMoveHandler(evt);}, false);
+               this.filmBar.addEventListener('touchend', function(evt){thisSlider.touchEndHandler(evt);}, false);
+       }
        
        addListener(document, 'keydown', function(evt){thisSlider.keyDownHandler(evt);});
        addListener(document, 'keypress', function(evt){thisSlider.keyPressHandler(evt);});
@@ -564,6 +579,21 @@ else if (browser.isIE6up) {
        };
 }
 
+FilmSlider.prototype.touchStartHandler = function(evt) {
+       this.filmStartX = parseInt(this.film.style.left, 10);
+       this.touchStartX = evt.pageX;
+};
+
+FilmSlider.prototype.touchMoveHandler = function(evt) {
+       var delta = this.touchStartX - evt.pageX;
+       this.film.style.left = String(this.filmStartX - delta) + 'px';
+};
+
+FilmSlider.prototype.touchEndHandler = function(evt) {
+       this.touchStartX = undefined;
+};
+
+
 FilmSlider.prototype.keyDownHandler = function(evt) {
        evt = getEventObject(evt);
        switch (evt.keyCode) {
index 4d62859..13a6782 100755 (executable)
@@ -364,7 +364,7 @@ div.lightbox {
   overflow:hidden;
   position:relative;
   width:100%;
-  height: <dtml-var expr="thumb_size/2 + 12">px;;
+  height: <dtml-var expr="thumb_size/2 + 12">px;
 }
 
 #film_bar table {
@@ -378,8 +378,8 @@ div.lightbox {
 }
 
 #film_bar a {
-  width: <dtml-var expr="thumb_size/2 + 10">px;;
-  height: <dtml-var expr="thumb_size/2 + 10">px;;
+  width: <dtml-var expr="thumb_size/2 + 10">px;
+  height: <dtml-var expr="thumb_size/2 + 10">px;
   display:block;
   text-align:center;
   vertical-align:middle;
@@ -428,7 +428,7 @@ div.lightbox {
 }
 
 #cart_slide[id] {
-  background:no-repeat url(&dtml-portal_url;/cart-slide-background.png);;
+  background:no-repeat url(&dtml-portal_url;/cart-slide-background.png);
 }
 
 .wdgt-buyable-items {
@@ -484,7 +484,7 @@ input.add-to-cart-btn {
   border:none;
   filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='&dtml-portal_url;/add_to_cart.png');
   left:<dtml-var expr="slide_size - 47">px;
-  top:2.5em;;
+  top:2.5em;
 }
 
 input.add-to-cart-btn[class] {