git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@52 0f545695-f87b-41b6-9a03-7f16563b5454
This commit is contained in:
+19
-54
@@ -6,10 +6,7 @@ define(['jquery', 'underscore', 'backbone', 'text!modules/item/itemViewTemplate.
|
||||
collIngredienti: null,
|
||||
fetchedRicetta: false,
|
||||
fetchedIngredienti: false,
|
||||
IMG_WIDTH: 500,
|
||||
currentImg: 0,
|
||||
maxImages: 3,
|
||||
speed: 500,
|
||||
galleryWall: null,
|
||||
//initialize template
|
||||
template: _.template(itemViewTemplate),
|
||||
initialize: function (options) {
|
||||
@@ -58,14 +55,24 @@ define(['jquery', 'underscore', 'backbone', 'text!modules/item/itemViewTemplate.
|
||||
);
|
||||
},
|
||||
onShowed: function(){
|
||||
var self = this;
|
||||
$('body').scrollTop(0);
|
||||
|
||||
this.$el.find("#Gallery").swipe({
|
||||
triggerOnTouchEnd: true,
|
||||
swipeStatus: this._swipeStatus,
|
||||
allowPageScroll: "vertical",
|
||||
threshold: 75
|
||||
});
|
||||
this.galleryWall = new Freewall("#Gallery");
|
||||
this.galleryWall.reset({
|
||||
selector: '.brick',
|
||||
animate: true,
|
||||
cellW: 150,
|
||||
cellH: 'auto',
|
||||
onResize: function() {
|
||||
self.galleryWall.fitWidth();
|
||||
}
|
||||
});
|
||||
|
||||
var images = this.galleryWall.container.find('.brick');
|
||||
images.find('img').load(function() {
|
||||
self.galleryWall.fitWidth();
|
||||
});
|
||||
},
|
||||
//render the content into div of view
|
||||
render: function () {
|
||||
@@ -76,8 +83,6 @@ define(['jquery', 'underscore', 'backbone', 'text!modules/item/itemViewTemplate.
|
||||
|
||||
var ric = self.collRicetta.toJSON()[0];
|
||||
|
||||
this.maxImages = ric.foto.length;
|
||||
|
||||
Profile.existRicettaBloccoNote(ric.ricetta_id,
|
||||
function (exist) {
|
||||
self.$el.append(self.template({
|
||||
@@ -125,48 +130,6 @@ define(['jquery', 'underscore', 'backbone', 'text!modules/item/itemViewTemplate.
|
||||
return this;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Catch each phase of the swipe.
|
||||
* move : we drag the div
|
||||
* cancel : we animate back to where we were
|
||||
* end : we animate to the next image
|
||||
*/
|
||||
_swipeStatus: function (event, phase, direction, distance) {
|
||||
//If we are moving before swipe, and we are going L or R in X mode, or U or D in Y mode then drag.
|
||||
if (phase == "move" && (direction == "left" || direction == "right")) {
|
||||
var duration = 0;
|
||||
if (direction == "left") {
|
||||
scrollImages((this.IMG_WIDTH * this.currentImg) + distance, duration);
|
||||
} else if (direction == "right") {
|
||||
scrollImages((this.IMG_WIDTH * this.currentImg) - distance, duration);
|
||||
}
|
||||
} else if (phase == "cancel") {
|
||||
scrollImages(this.IMG_WIDTH * this.currentImg, this.speed);
|
||||
} else if (phase == "end") {
|
||||
if (direction == "right") {
|
||||
self._previousImage();
|
||||
} else if (direction == "left") {
|
||||
self._nextImage();
|
||||
}
|
||||
}
|
||||
},
|
||||
_previousImage: function () {
|
||||
this.currentImg = Math.max(this.currentImg - 1, 0);
|
||||
scrollImages(this.IMG_WIDTH * this.currentImg, this.speed);
|
||||
},
|
||||
_nextImage: function() {
|
||||
this.currentImg = Math.min(this.currentImg + 1, this.maxImages - 1);
|
||||
this._scrollImages(this.IMG_WIDTH * this.currentImg, this.speed);
|
||||
},
|
||||
/**
|
||||
* Manually update the position of the imgs on drag
|
||||
*/
|
||||
_scrollImages: function (distance, duration) {
|
||||
imgs.css("transition-duration", (duration / 1000).toFixed(1) + "s");
|
||||
//inverse the number we set in the css
|
||||
var value = (distance < 0 ? "" : "-") + Math.abs(distance).toString();
|
||||
imgs.css("transform", "translate(" + value + "px,0)");
|
||||
},
|
||||
goToContent: function (newIndex)
|
||||
{
|
||||
if (this.$arrayContent.length > newIndex && newIndex >= 0)
|
||||
@@ -174,6 +137,8 @@ define(['jquery', 'underscore', 'backbone', 'text!modules/item/itemViewTemplate.
|
||||
this.scrollPositions[this.indexContent] = $('body').scrollTop();
|
||||
this.indexContent = newIndex;
|
||||
this.switchContent();
|
||||
if(this.indexContent == 2)
|
||||
this.galleryWall.fitWidth();
|
||||
$('body').scrollTop(this.scrollPositions[this.indexContent]);
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user