UNPKG

unserver-unify

Version:

91 lines (88 loc) 2.54 kB
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); }) } }); } }); } });