You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

195 lines
6.0 KiB

angular.module('app.user', ['pascalprecht.translate'])
.controller('UserCtrl', function($scope, $stateParams, $http,
$ionicLoading, $filter, $ionicModal) {
$scope.storageuser = JSON.parse(localStorage.getItem("cim_app_userdata"));
$scope.user = {};
$scope.doRefresh = function() {
$http.get(urlapi + 'users/id/' + $stateParams.userid)
.then(function(data, status, headers, config) {
console.log('data success');
console.log(data); // for browser console
$scope.user = data.data; // for UI
if ($scope.storageuser._id == $scope.user._id) {
localStorage.setItem("cim_app_userdata", JSON.stringify(data.data));
}
$scope.$broadcast('scroll.refreshComplete'); //refresher stop
}, function(data, status, headers, config) {
console.log('data error');
$scope.$broadcast('scroll.refreshComplete'); //refresher stop
});
};
$scope.doRefresh();
$scope.likeUser = function() {
$http({
//url: urlapi + 'users/'+ $stateParams.username+'/fav',
url: urlapi + 'users/id/like/' + $scope.user._id,
method: "POST",
data: {}
})
.then(function(data) {
// success
if (data.data.success == false) {
console.log("failed");
$ionicLoading.show({
template: 'Error on like',
noBackdrop: true,
duration: 2000
});
} else {
$scope.user = data.data; // for UI
}
},
function(response) { // optional
// failed
});
};
$scope.unlikeUser = function() {
$http({
//url: urlapi + 'users/'+ $stateParams.username+'/fav',
url: urlapi + 'users/id/unlike/' + $scope.user._id,
method: "POST",
data: {}
})
.then(function(data) {
// success
if (data.data.success == false) {
console.log("failed");
$ionicLoading.show({
template: 'Error on unlike',
noBackdrop: true,
duration: 2000
});
} else {
$scope.user = data.data; // for UI
}
},
function(response) { // optional
// failed
});
};
$scope.favUser = function() {
$scope.newfav = {
//travelId: $stateParams.travelId,
/*userId: localStorage.getItem("c_userid"),
username: localStorage.getItem("c_username"),
avatar: localStorage.getItem("c_avatar")*/
};
$scope.user.favs.push($scope.newfav); //al unfav no cal fer aquest simulacre pq ja no existeix a l'array i no el resta dos cops en cas de que cliquin dos cops
$http({
//url: urlapi + 'users/'+ $stateParams.username+'/fav',
url: urlapi + 'users/' + $scope.user._id + '/fav',
method: "POST",
data: $scope.newfav
})
.then(function(response) {
// success
console.log("response: ");
console.log(response);
$scope.users = response.data;
localStorage.setItem('c_users', JSON.stringify($scope.users));
$scope.user = $filter('filter')($scope.users, {
username: $stateParams.username
}, true)[0];
},
function(response) { // optional
// failed
});
};
$scope.unfavUser = function() {
console.log("unfav");
$scope.unfav = {
/*userId: localStorage.getItem("c_userid"),
username: localStorage.getItem("c_username"),
avatar: localStorage.getItem("c_avatar")*/
};
$http({
//url: urlapi + 'users/'+ $stateParams.username+'/fav',
url: urlapi + 'users/' + $scope.user._id + '/unfav',
method: "POST",
data: $scope.unfav
})
.then(function(response) {
// success
console.log("response: ");
console.log(response);
$scope.users = response.data;
localStorage.setItem('c_users', JSON.stringify($scope.users));
$scope.user = $filter('filter')($scope.users, {
username: $stateParams.username
}, true)[0];
},
function(response) { // optional
// failed
});
};
$ionicModal.fromTemplateUrl('templates/favsList.html', {
scope: $scope
}).then(function(modal) {
$scope.modalFavsList = modal;
});
$scope.closeModalFavsList = function() {
$scope.modalFavsList.hide();
};
$scope.showFavsList = function() {
$scope.modalFavsList.show();
};
$scope.closeModalAndGoUser = function() {
$scope.modalFavsList.hide();
};
$scope.arrayObjectIndexOf = function(myArray, searchTerm) {
if (myArray) {
for (var i = 0, len = myArray.length; i < len; i++) {
if (myArray[i] === searchTerm) {
return i;
}
}
}
return -1;
};
//show image
$ionicModal.fromTemplateUrl('templates/imgView.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal) {
$scope.modal = modal;
});
$scope.openModal = function() {
$scope.modal.show();
};
$scope.closeModal = function() {
$scope.modal.hide();
};
// Cleanup the modal when we're done with it!
$scope.$on('$destroy', function() {
$scope.modal.remove();
});
// Execute action on hide modal
$scope.$on('modal.hidden', function() {
// Execute action
});
// Execute action on remove modal
$scope.$on('modal.removed', function() {
// Execute action
});
$scope.showImg = function() {
console.log("show image");
$scope.openModal();
};
$scope.openTelegram = function(telegramuser) {
window.open('http://telegram.me/' + telegramuser, '_system', 'location=yes');
return false;
};
});