Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.20 KB | None | 0 0
  1. var vm = this;
  2.  
  3. //vm.data = bucketlist.data.data || [];
  4. vm.bucketlist = bucketlist.data.data || [];
  5. vm.wishlist = wishlist.data.data || [];
  6. vm.data = [];
  7. vm.pagination_links = bucketlist.data.links;
  8. vm.pagination_current_page = 1;
  9. vm.isMobile = WURFL.is_mobile;
  10. vm.itemPerPage = 4;
  11. vm.FilterService = FilterService;
  12.  
  13. vm.remove = remove;
  14. vm.rate = rate;
  15. vm.wish = wish;
  16. vm.nextSlide = nextSlide;
  17. vm.prevSlide = prevSlide;
  18. vm.isWishToggle = false;
  19. vm.toggleWish = toggleWish;
  20.  
  21. init();
  22.  
  23. /////////////
  24.  
  25. function rate(movie, index, user_relation) {
  26. RatingService.rate(movie.tmdb_id, {
  27. rates: {
  28. rate: user_relation.rate
  29. }
  30. })
  31. .success(function (res) {
  32. console.log('rated', res);
  33. vm.remove(movie, index);
  34. })
  35. .error(function (err) {
  36. console.log(err);
  37. });
  38. }
  39.  
  40. function remove(movie, index) {
  41. vm.data.splice((index + ((vm.pagination_current_page - 1) * vm.itemPerPage)), 1); // index & pagination_current_page start at 1 instead of 0
  42. }
  43.  
  44. function wish(id, index) {
  45. if(vm.wishlist) {
  46. var isAlreadyWished = -1;
  47. vm.wishlist.forEach(function (m, i) {
  48. if(m.movie.tmdb_id == id) {
  49. isAlreadyWished = i;
  50. }
  51.  
  52. });
  53. if (isAlreadyWished == -1) {
  54. vm.wishlist.push(vm.data[index]);
  55. }
  56. else vm.wishlist.splice(isAlreadyWished, 1);
  57. }
  58. }
  59.  
  60. function init() {
  61. if (vm.wishlist) {
  62. vm.wishlist.forEach(function (wished){
  63. wished.user_relation = {
  64. blacklist: false,
  65. wishlist: true,
  66. rate: 0
  67. };
  68. });
  69.  
  70. }
  71.  
  72. if (vm.bucketlist) {
  73. vm.bucketlist.forEach(function (bucketed) {
  74. bucketed.user_relation = {
  75. blacklist: false,
  76. wishlist: false,
  77. rate: 0
  78. };
  79. });
  80. }
  81. vm.data = vm.wishlist.concat(vm.bucketlist);
  82.  
  83. if(vm.data.length) {
  84. var data = vm.data.sort(function(a, b) {
  85. return parseInt(a.percentage) - parseInt(b.percentage);
  86. });
  87. vm.data = data.reverse();
  88. var maxReco = vm.data[0].percentage;
  89. vm.data.forEach(function (d,index){
  90. d.percentage = parseInt((parseInt(d.percentage)*parseInt(100))/parseInt(maxReco));
  91. });
  92. }
  93. else vm.data = [];
  94.  
  95. if (vm.isMobile) {
  96. vm.itemPerPage = 1;
  97. }
  98.  
  99. vm.total_page = vm.data.length / vm.itemPerPage;
  100. console.log(vm.total_page);
  101.  
  102. hotkeys.bindTo($scope)
  103. .add({
  104. combo: 'right',
  105. callback: vm.nextSlide
  106. })
  107. .add({
  108. combo: 'left',
  109. callback: vm.prevSlide
  110. });
  111. vm.FilterService.checkOffsetOnScroll();
  112. }
  113.  
  114. function nextSlide() {
  115. if (vm.pagination_current_page < vm.total_page) {
  116. vm.pagination_current_page++;
  117. }
  118. }
  119.  
  120. function prevSlide() {
  121. if (vm.pagination_current_page > 1) {
  122. vm.pagination_current_page--;
  123. }
  124. }
  125.  
  126. function toggleWish() {
  127. vm.isWishToggle = vm.isWishToggle ? false : true;
  128. vm.wishlist = vm.wishlist.sort(function(a, b) {
  129. return parseInt(a.percentage) - parseInt(b.percentage);
  130. });
  131. vm.wishlist = vm.wishlist.reverse();
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement