diff options
Diffstat (limited to 'StoneIsland/www/js/lib/products/GalleryView.js')
| -rwxr-xr-x | StoneIsland/www/js/lib/products/GalleryView.js | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/StoneIsland/www/js/lib/products/GalleryView.js b/StoneIsland/www/js/lib/products/GalleryView.js index 1428aca9..bc8ddbac 100755 --- a/StoneIsland/www/js/lib/products/GalleryView.js +++ b/StoneIsland/www/js/lib/products/GalleryView.js @@ -9,6 +9,7 @@ var GalleryView = View.extend({ // "touchstart .gallery": "touchstart", // "touchmove .gallery": "touchmove", // "touchend .gallery": "touchend", + "click": "click", }, initialize: function(){ @@ -22,21 +23,27 @@ var GalleryView = View.extend({ populate: function(code, image_ids){ var valid_styles = {} + var large_styles = this.large_styles = {} image_ids.forEach(function(id){ if (id.indexOf("_") == -1) return var partz = id.split("_") var size = parseInt(partz[0]), style = partz[1] + + if (! large_styles[style] || large_styles[style] < size) { + large_styles[style] = size + } if (size > 13) return; if (! valid_styles[style] || valid_styles[style] < size) { valid_styles[style] = size } }) + Object.keys(valid_styles).sort(sort_image_styles).forEach(function(style){ var id = valid_styles[style] + "_" + style var t = this.template.replace(/{{image}}/, sdk.image(code, id)) this.$el.append(t) }.bind(this)) - + this.gallery = new Flickity( "#gallery", { selector: '.item', cellAlign: 'center', @@ -50,7 +57,21 @@ var GalleryView = View.extend({ draggable: true, }) }, - + click: function(e){ + var currentImage = this.gallery.selectedElement.style.backgroundImage.replace("url(","").replace(")","") + var partz = currentImage.split("_") + var head = partz[0] + var size = partz[1] + var tail = partz[2] + var end_partz = tail.split(/\./) + var style = end_partz[0] + var largest_size = this.large_styles[style] + var hiresImage = [head, largest_size, tail].join("_") + console.log(currentImage, hiresImage) + var viewer = ImageViewer({ + }) + viewer.show(currentImage, hiresImage) + }, touchstart: function(e){ }, touchmove: function(e){ |
