Advertisement
Guest User

Untitled

a guest
Aug 31st, 2015
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.86 KB | None | 0 0
  1. define function(require){
  2.  
  3. // extend backbone view controller
  4. return ViewController.extend({
  5.  
  6. var numEventCardsShowingInFeed = 0;
  7. var cardsDisplayedList = [];
  8.  
  9. onReady: function () {
  10.  
  11. this.listenTo(this.collection, 'add', this.render);
  12. this._hideElements();
  13. this._startEventFeed();
  14. },
  15.  
  16. _hideElements: function() {
  17. $('.observation-card').hide();
  18. },
  19.  
  20. _offsetDisplayedCards: function(passedCardsDisplayList){
  21. //-----OUTPUT: here the list is not defined------
  22. console.log("passedCardsDisplayList: "+passedCardsDisplayList);
  23. // before showing another card,
  24. // offset down every card already shown
  25. // for (var i = 0; i < numEventCardsShowingInFeed; i++){
  26. for (cardDisplayedId in passedCardsDisplayList){
  27. console.log("thiscarddisplayedid: "+cardDisplayedId);
  28. var cardHeight = 100;
  29. if (cardDisplayedId != null){
  30. var topOffset = $(cardDisplayedId).offset().top;
  31.  
  32. console.log("cards showing in feed: "+numEventCardsShowingInFeed);
  33. // $(cardDisplayedId).offset({top:cardHeight*numEventCardsShowingInFeed*-1});
  34. console.log("displayedCard's top offset is: "+topOffset);
  35. $(cardDisplayedId).offset({top: topOffset + cardHeight *-1});
  36. }
  37. }
  38. },
  39.  
  40. //add new card
  41. _addNewCard: function(i, thisCardId, offsetCardsCallback){
  42. var feedCardSchedule = [1000,2000,3000,4000];
  43.  
  44. setTimeout(function(){
  45.  
  46. // if (typeof(offsetCardsCallback) === "function"){
  47. // console.log("callback");
  48. // offsetCardsCallback();
  49. // }
  50.  
  51. // show the new card
  52. $(thisCardId).show();
  53.  
  54. // add this card to the cardsDisplayedList.
  55. cardsDisplayedList.push(thisCardId);
  56.  
  57. //-----OUTPUT: here the list is defined-----
  58. console.log("cardsDisplayedList: "+cardsDisplayedList);
  59.  
  60. // increment event cards showed counter
  61. numEventCardsShowingInFeed++;
  62.  
  63. // call offsetCardsCallback
  64. if (typeof(offsetCardsCallback) === "function"){
  65. console.log("callback");
  66. var passedCardsDisplayList = cardsDisplayedList.slice();
  67. offsetCardsCallback(passedCardsDisplayList);
  68. }
  69.  
  70. }, feedCardSchedule[i]);
  71.  
  72. },
  73.  
  74. _startEventFeed: function() {
  75.  
  76. // var cardsDisplayedList = [];
  77. var eventCardFeedQueue = ["#observation-card1", "#observation-card2", "#observation-card3"];
  78.  
  79. var numEventCards = eventCardFeedQueue.length;
  80. console.log("num of event cards in queue: "+numEventCards);
  81.  
  82. // while there are still feed item / event cards unshown,
  83. // progressively show them as per the hardcoded schedule.
  84. // will eventually depend on JSON data.
  85. // TODO: replace hardcoded schedule with JSON.
  86.  
  87. // while(eventFeedCardQueue.length > 0){
  88.  
  89. // loop through card queue
  90. for (var i = 0; i < numEventCards; i++) {
  91.  
  92. // console.log("#"+eventCardFeedQueue[i]);
  93. var thisCardId = eventCardFeedQueue[i];
  94. console.log(thisCardId);
  95. var offsetCardsCallback = this._offsetDisplayedCards();
  96. console.log(typeof offsetCardsCallback);
  97. this._addNewCard(i, thisCardId, offsetCardsCallback);
  98. if($(thisCardId).is(":visible")){
  99. console.log(thisCardId + " is visible");
  100. }
  101. } // end card loop
  102. }, // end feed function,
  103. });
  104. });
  105.  
  106. num of event cards in queue: 3
  107. #observation-card1
  108. passedCardsDisplayList: undefined
  109. undefined
  110. #observation-card2
  111. passedCardsDisplayList: undefined
  112. undefined
  113. #observation-card3
  114. passedCardsDisplayList: undefined
  115. undefined
  116. cardsDisplayedList: #observation-card1
  117. cardsDisplayedList: #observation-card1,#observation-card2
  118. cardsDisplayedList: #observation-card1,#observation-card2,#observation-card3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement