unserver-unify
Version:
91 lines (88 loc) • 2.54 kB
JavaScript
angular.module('bamboo.course').controller("bookmarkCtrl", function($scope, $stateParams, ApiService, loginService) {
//$scope.fav;
var self = this;
self.cid = $stateParams.cid;
this.favourites = [];
this.subdomain = loginService.subDomain;
switch(self.subdomain){
case 'bamboo':
self.TYPE = 'course';
break;
case 'market':
self.TYPE = 'courseinfo';
break;
default:
self.TYPE = 'course';
}
loadFavourites();
function loadFavourites() {
loginService.getMyProfile(true).then(function(result) {
self.favourites = result.favourites;
console.log("------------------------");
console.log(self.favourites);
angular.forEach(self.favourites, function(val, idx) {
if (val.type == self.TYPE && val.id == self.cid) {
$scope.fav = true;
}
});
},function(res){
console.log("--------error----------------:"+res);
});
};
this.addToFav = function() {
console.log("addToFav");
$scope.fav = true;
var object = {
type: self.TYPE,
id: self.cid
};
var info = {
action: "addfavourite",
object: object
};
ApiService.post("/user", info).then(function(result) {
console.log(result);
if (result.data.success) {
loginService.getMyProfile(true).then(function(result) {
// console.log("-- need to reload ---");
console.log(loginService.user);
console.log(result);
});
}
});
};
this.deleteFromFav = function() {
$scope.fav = false;
deleteFav(self.cid, self.TYPE);
};
function deleteFav(id, type) {
console.log(id, type);
loginService.getMyProfile().then(function(_result) {
// console.log("--- return ---");
var favourites = _result.favourites;
var index = -1;
for (var i = 0; i < favourites.length; i++) {
var item = favourites[i];
if (item.type == type && item.id == id) {
index = i;
break;
}
}
if (index > -1) {
var info = {
action: 'delfavourite',
index: index,
}
console.log(info);
ApiService.post("/user", info).then(function(result) {
console.log(result);
if (result.data.success) {
loginService.getMyProfile(true).then(function(_res) {
console.log(_res);
})
}
});
}
});
}
});