Dlanir

Untitled

Feb 20th, 2018
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.13 KB | None | 0 0
  1. $(document).ready(function() {
  2.  
  3. // Turbo
  4. var turbo = 1;
  5. var startingHour = "16:20";
  6.  
  7. // Functions
  8. var k = 1/turbo;
  9. function rand(x) {
  10. return x[Math.floor(Math.random() * x.length)]
  11. };
  12. var chatVelocityIndex = 50;
  13.  
  14. // Start Chat - Function
  15. var startChatContainer = function(element) {
  16. setTimeout(function() {
  17. $("#main-wrapper").append('<div id="chat-wrapper"><div id="chat-header"><div class="icon"><i class="fa fa-chevron-left"></i></div><div class="number">11</div><div class="group-picture" style="background-image:url(' + element.groupPicture + ');"></div><div class="info"><div class="group-name">' + element.groupName + '</div><div class="group-label">' + element.label + '</div></div></div><div id="chat-messages-wrapper"></div></div>');
  18. }, 0 * k);
  19. }
  20.  
  21. // Add Message To Chat - Function
  22. var addMessageToChat = function(element, i) {
  23. if (element.direction == "left") {
  24. setTimeout(function() {
  25. $("#chat-messages-wrapper").append('<div class="message-single-user-wrapper message-single-user-wrapper-' + i + '" style="float:left; clear:left;"></div>');
  26. var messageLenght = 0;
  27. for (var j = 0; j < element.messages.length; j++) {
  28. (function() {
  29. var message = element.messages[j];
  30. var htmlMessage = '<div id="message-wrapper" class="message-wrapper-' + j + '"><div class="message-received-name" style="color:' + element.color + ';">' + element.name + '</div><div class="message">' + message + '<div class="message-date">' + element.date + '</div></div></div>';
  31. setTimeout(function() {
  32. $(".message-single-user-wrapper-" + i).append(htmlMessage);
  33. }, ( ( ( element.end - element.start) / element.messages.length * j ) + (75 / element.messages.length) ) * k );
  34. })();
  35. };
  36. }, element.start * k);
  37. } else if (element.direction == "right") {
  38. setTimeout(function() {
  39. $("#chat-messages-wrapper").append('<div class="message-single-user-wrapper message-single-user-wrapper-' + i + '" style="float:right; clear:right;"></div>');
  40. for (var j = 0; j < element.messages.length; j++) {
  41. (function() {
  42. var message = element.messages[j];
  43. var htmlMessage = '<div id="message-wrapper" class="message-wrapper-personal message-wrapper-' + j + '"><div class="message">' + message + '<div class="message-date message-date-right">' + element.date + '</div></div></div>';
  44. setTimeout(function() {
  45. $(".message-single-user-wrapper-" + i).append(htmlMessage);
  46. }, ((element.end - element.start) / element.messages.length * j) * k);
  47. })();
  48. };
  49. }, element.start * k);
  50. }
  51. }
  52.  
  53. var addOrAbandonGroup = function(element) {
  54. setTimeout(function() {
  55. $("#chat-messages-wrapper").append('<div class="add-or-abandon"><span>' + element.text + '</span></div>');
  56. }, element.start * k);
  57. }
  58.  
  59. var whatsappNotification = function(element, i) {
  60. var notification = '<div style="top:-60px" class="notification-' + i + ' whatsapp-notification-wrapper"><div class="notification-profile-pic" style="background-image:url(' + element.profilePic + ');"></div><div class="notification-info"><div class="notification-sender">' + element.sender + '</div><div class="notification-text">' + element.text + '</div></div></div>';
  61. $("#main-wrapper").append(notification);
  62. setTimeout(function() {
  63. $(".notification-" + i).animate({
  64. top: 0
  65. });
  66. }, element.start * k)
  67. setTimeout(function() {
  68. $(".notification-" + i).animate({
  69. top: "-60px"
  70. });
  71. }, element.end * k)
  72. }
  73.  
  74. // Add Vocal Message To Chat - Function
  75. var addVocalMessageToChat = function(element, i) {
  76. if (element.direction == "left") {
  77.  
  78. setTimeout(function() {
  79. $("#chat-messages-wrapper").append('<div class="message-single-user-wrapper message-single-user-wrapper-' + i + '" style="float:left; clear:left;"></div>');
  80. var htmlMessage = '<div style="padding-bottom: 0;" id="message-wrapper" class="message-wrapper-' + j + '"><div class="message-received-name" style="color:' + element.color + ';">' + element.name + '</div><div class="message" style="float:left;"><div class="vocal-message-wrapper"><i class="fa fa-play"></i><div class="vocal-message-bar"></div><div class="vocal-text"><div class="message-vocale-duration">' + element.vocalDuration + '</div><div class="message-date">' + element.date + '</div></div></div></div><div class="vocalProfileImage" style="background-image:url(' + element.vocalProfileImage + ')"></div></div>';
  81. $(".message-single-user-wrapper-" + i).append(htmlMessage);
  82. }, element.start * k);
  83.  
  84. } else if (element.direction == "right") {
  85. setTimeout(function() {
  86. $("#chat-messages-wrapper").append('<div class="message-single-user-wrapper message-single-user-wrapper-' + i + '" style="float:right; clear:right;"></div>');
  87. var htmlMessage = '<div style="padding-bottom: 0; padding-top: 12px;" id="message-wrapper" class="message-wrapper-personal message-wrapper-' + j + '"><div class="vocalProfileImage" style="top: -5px; margin-left: 3px; background-image:url(' + element.vocalProfileImage + ')"></div><div class="message" style="float:left;"><div class="vocal-message-wrapper"><i class="fa fa-play"></i><div class="vocal-message-bar" style="background-color: #cacaca;"></div><div class="vocal-text"><div class="message-vocale-duration">' + element.vocalDuration + '</div><div class="message-date message-date-right">' + element.date + '</div></div></div></div></div>';
  88. $(".message-single-user-wrapper-" + i).append(htmlMessage);
  89. }, element.start * k);
  90.  
  91. }
  92. }
  93.  
  94. function updateScroll(){
  95. $("#chat-messages-wrapper").animate({
  96. scrollTop: document.getElementById("chat-messages-wrapper").scrollHeight
  97. }, 600);
  98. }
  99. var time = setInterval(updateScroll,600);
  100.  
  101. // Main function
  102. var createChat = function(chat) {
  103. var totalDuration = 0;
  104. for (var i = 0; i < chat.length; i++) {
  105. var element = chat[i];
  106. if (element.action == "startChatContainer") {
  107. startChatContainer(element);
  108. } else if (element.action == "addMessageToChat") {
  109. addMessageToChat(element, i);
  110. } else if (element.action == "addOrAbandonGroup") {
  111. addOrAbandonGroup(element);
  112. } else if (element.action == "whatsappNotification") {
  113. whatsappNotification(element, i);
  114. } else if (element.action == "pause") {
  115. // setPause(element.duration);
  116. } else if (element.action == "addVocalMessageToChat") {
  117. addVocalMessageToChat(element, i);
  118. }
  119. };
  120. };
  121. // Set time
  122. var chat2 = [];
  123. var totalDuration = 0;
  124. for (var i = 0; i < chat.length; i++) {
  125. console.log(totalDuration);
  126. var chatElement = chat[i];
  127. if (chatElement.action == "addMessageToChat") {
  128. if (chatElement.hasOwnProperty("forcedDuration")) {
  129. chatElement["start"] = totalDuration;
  130. chatElement["end"] = totalDuration + chatElement.forcedDuration;
  131. chatElement["date"] = startingHour.split(":")[0] + ":" + (parseInt(startingHour.split(":")[1]) + Math.floor(Math.round(totalDuration / 15000)));
  132. totalDuration += chatElement.forcedDuration + 250;
  133. } else {
  134. var messagesLenght = 0;
  135. for (var j= 0; j < chatElement.messages.length; j++) {
  136. if (chatElement.messages[j].substring(0,4) == '<img') {
  137. messagesLenght += 20;
  138. } else {
  139. messagesLenght += chatElement.messages[j].length;
  140. }
  141. };
  142. chatElement["start"] = totalDuration;
  143. chatElement["end"] = totalDuration + (messagesLenght * chatVelocityIndex) + (chatElement.messages.length * 75);
  144. chatElement["date"] = startingHour.split(":")[0] + ":" + (parseInt(startingHour.split(":")[1]) + Math.floor(Math.round(totalDuration / 15000)));
  145. totalDuration += messagesLenght * chatVelocityIndex + 250;
  146. }
  147. } else if (chatElement.action == "pause") {
  148. totalDuration += chatElement.duration;
  149. } else if (chatElement.action == "addOrAbandonGroup") {
  150. chatElement["start"] = totalDuration;
  151. totalDuration += 1000;
  152. } else if (chatElement.action == "whatsappNotification") {
  153. chatElement["start"] = totalDuration;
  154. chatElement["end"] = totalDuration + 2000;
  155. totalDuration += 2250;
  156. } else if (chatElement.action == "addVocalMessageToChat") {
  157. if (chatElement.hasOwnProperty("forcedDuration")) {
  158. chatElement["start"] = totalDuration;
  159. chatElement["end"] = totalDuration + chatElement.forcedDuration;
  160. chatElement["date"] = startingHour.split(":")[0] + ":" + (parseInt(startingHour.split(":")[1]) + Math.floor(Math.round(totalDuration / 15000)));
  161. totalDuration += chatElement.forcedDuration + 250;
  162. } else {
  163. chatElement["start"] = totalDuration;
  164. chatElement["end"] = totalDuration + 1000;
  165. chatElement["date"] = startingHour.split(":")[0] + ":" + (parseInt(startingHour.split(":")[1]) + Math.floor(Math.round(totalDuration / 15000)));
  166. totalDuration += 1250;
  167. }
  168. }
  169. chat2.push(chatElement);
  170. }
  171. console.log(chat2);
  172. createChat(chat2);
  173. });
Add Comment
Please, Sign In to add comment