Add next/prev links for non-swipable devices.
authorMichael J. Rubinsky <mrubinsk@horde.org>
Sat, 8 Jan 2011 00:29:38 +0000 (19:29 -0500)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Sat, 8 Jan 2011 00:29:38 +0000 (19:29 -0500)
Also, standardize a bit on id names

ansel/js/mobile.js
ansel/templates/mobile/gallery.html.php
ansel/templates/mobile/image.html.php

index e1bada3..a2f32d8 100644 (file)
@@ -83,12 +83,12 @@ var AnselMobile = {
     toImage: function(index)
     {
         var i = $('<img>').attr({ 'src': ((AnselMobile.currentGallery.tiny) ? 'http://i.tinysrc.mobi/' : '') + AnselMobile.currentImages[index].screen });
-        
+
         AnselMobile.currentImage = index;
         $('#anselimageview').empty();
         $('#anselimageview').append(i);
         $('#imageview h1').text(AnselMobile.currentImages[index].fn)
-        $('#imagebackbutton .ui-btn-text').text(AnselMobile.currentGallery.n);
+        $('#ansel-image-back .ui-btn-text').text(AnselMobile.currentGallery.n);
 
         if ($.mobile.activePage.attr('id') != 'imageview') {
             $.mobile.changePage('imageview', 'slide', false, true);
@@ -127,11 +127,11 @@ var AnselMobile = {
             $.mobile.changePage('galleryview', 'slide', false, true);
         }
         if (r.p) {
-            $('#gallerybackbutton .ui-btn-text').text(r.pn);
-            $('#gallerybackbutton').attr({ 'action': 'gallery', 'gallery-id': r.p });
+            $('#ansel-gallery-back .ui-btn-text').text(r.pn);
+            $('#ansel-gallery-back').attr({ 'action': 'gallery', 'gallery-id': r.p });
         } else {
-            $('#gallerybackbutton .ui-btn-text').text($.mobile.page.prototype.options.backBtnText);
-            $('#gallerybackbutton').attr({ 'action': 'home', 'gallery-id': null });
+            $('#ansel-gallery-back .ui-btn-text').text($.mobile.page.prototype.options.backBtnText);
+            $('#ansel-gallery-back').attr({ 'action': 'home', 'gallery-id': null });
         }
         AnselMobile.centerGrid();
     },
@@ -167,26 +167,34 @@ var AnselMobile = {
         var elt = $(e.target), id;
 
         while (elt && elt != window.document && elt.parent().length) {
-
             // Navigate to a gallery
             if (elt.hasClass('ansel-gallery')) {
                 AnselMobile.toGallery(elt.attr('ansel-gallery-id'));
-            }
-
-            if (elt.attr('image-key')) {
+                return;
+            } else if (elt.attr('image-key')) {
                 AnselMobile.toImage(elt.attr('image-key'));
+                return;
             }
-            if (elt.attr('id') == 'gallerybackbutton') {
-                switch (elt.attr('action')) {
-                case 'home':
-                    $.mobile.changePage('gallerylist', 'slide', true, true);
-                    break;
-                case 'gallery':
-                    AnselMobile.toGallery(elt.attr('gallery-id'));
-                }
-            }
-            if (elt.attr('id') == 'imagebackbutton') {
-                window.history.back();
+
+            switch (elt.attr('id')) {
+                case 'ansel-image-prev':
+                    AnselMobile.prevImage();
+                    return;
+                case 'ansel-image-next':
+                    AnselMobile.nextImage();
+                    return;
+                case 'ansel-gallery-back':
+                    switch (elt.attr('action')) {
+                    case 'home':
+                        $.mobile.changePage('gallerylist', 'slide', true, true);
+                        break;
+                    case 'gallery':
+                        AnselMobile.toGallery(elt.attr('gallery-id'));
+                    }
+                    return;
+                case 'ansel-image-back':
+                    window.history.back();
+                    return;
             }
             elt = elt.parent();
         }
@@ -202,15 +210,26 @@ var AnselMobile = {
             return;
         }
         if (map.type == 'swipeleft') {
-            AnselMobile.currentImage++;
-            if (AnselMobile.currentImage >= AnselMobile.currentImages.length) {
-                AnselMobile.currentImage = 0;
-            }
+            AnselMobile.nextImage();
         } else if (map.type == 'swiperight') {
-            AnselMobile.currentImage--;
-            if (AnselMobile.currentImage < 0) {
-                AnselMobile.currentImage = AnselMobile.currentImages.length - 1;
-            }
+            AnselMobile.prevImage();
+        }
+    },
+
+    nextImage: function()
+    {
+        AnselMobile.currentImage++;
+        if (AnselMobile.currentImage >= AnselMobile.currentImages.length) {
+            AnselMobile.currentImage = 0;
+        }
+        AnselMobile.toImage(AnselMobile.currentImage);
+    },
+
+    prevImage: function()
+    {
+        AnselMobile.currentImage--;
+        if (AnselMobile.currentImage < 0) {
+            AnselMobile.currentImage = AnselMobile.currentImages.length - 1;
         }
         AnselMobile.toImage(AnselMobile.currentImage);
     },
index bfa434e..56731ca 100644 (file)
@@ -1,6 +1,6 @@
 <div data-role="page" data-theme="h" id="galleryview">
   <div data-role="header">
-    <a data-role="button" data-icon="arrow-l" href="#" id="gallerybackbutton"></a>
+    <a data-role="button" data-icon="arrow-l" href="#" id="ansel-gallery-back"></a>
     <h1></h1>
   </div>
   <div id="anselgalleryview">
index 2c6f27c..71d0391 100644 (file)
@@ -1,7 +1,13 @@
 <div data-role="page" data-theme="h" id="imageview">
   <div data-role="header">
-    <a data-role="button" data-icon="arrow-l" href="#" id="imagebackbutton"></a>
+    <a data-role="button" data-icon="arrow-l" href="#" id="ansel-image-back"></a>
     <h1></h1>
   </div>
   <div id="anselimageview"></div>
+  <div data-role="footer" class="ui-bar">
+    <div data-role="controlgroup" data-type="horizontal">
+      <a href="#" id="ansel-image-prev" data-role="button" data-icon="arrow-l"><?php echo _("Previous") ?></a>
+      <a href="#" id="ansel-image-next" data-role="button" data-icon="arrow-r"><?php echo _("Next") ?></a>
+    </div>
+  </div>
 </div>
\ No newline at end of file