|
'use strict';
/**
* @ngdoc function
* @name domainManagerApp.controller:AboutCtrl
* @description
* # AboutCtrl
* Controller of the domainManagerApp
*/
angular.module('goApp.slideshow', ['ngFx', 'ngAnimate', 'goApp.data'])
.controller('SlideshowController',['$scope', '$rootScope', '$famous', '$timeline', '$location', '$route', '$timeout', 'Data', function ($scope, $rootScope, $famous, $timeline, $location, $route, $timeout, Data) {
console.log('> Loading Slideshow')
// Get Page Data
var link = $location.url()
$scope.pageData = Data.getPageData(link);
$rootScope.$on('data:loaded', function(data) {
if(!$scope.$$phase) {
$scope.$apply(function(){
$scope.pageData = Data.getPageData(link);
$scope.showSlider();
});
}
});
// FadeIn
$timeout(function(){
$scope.showView = true;
},100);
// FadeOut
$scope.fadeOut = function() {
$scope.showView = false;
$timeout(function(){
$scope.showView = false;
$location.path("/");
},800);
}
$scope.index = 0;
$scope.images = [];
$scope.showSlider = function() {
var show = false;
if($scope.pageData.slides != undefined) {
if($scope.pageData.slides.length > 0) {
show = true;
for (var i = 0; i < $scope.pageData.slides.length; i++) {
$scope.images.push($scope.pageData.slides[i].url);
}
} else {
show = false;
}
if(!$scope.$$phase) {
$scope.$apply(function(){
$scope.slider = show;
});
} else {
$scope.slider = show;
}
$timeout(function(){
//$scope.resizeImages();
},250);
}
}
// callbacks for change in slides
$scope.updateTsPrevious = function() {
$scope.tsPrevious = +new Date();
//$scope.resizeImages();
};
$scope.updateTsNext = function() {
$scope.tsNext = +new Date();
//$scope.resizeImages();
};
$scope.resizeImages = function() {
var allImages = [];
var clientHeight = document.getElementById('slider').clientHeight;
$('img').each(function(idx, img) {
allImages.push(img)
});
console.log('> Starting image resize process (resizing to ' + clientHeight + 'px)')
for(var i = 0, max = allImages.length; i < max; i++){
console.log('> resizing image');
allImages[i].style.height = (clientHeight-25) + 'px';
allImages[i].style.maxHeight = 'none';
allImages[i].style.width = 'auto';
}
}
$scope.showSlider();
}]);
|