Guest User

Untitled

a guest
Dec 17th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. let CancelToken = axios.CancelToken;
  2. let cancel;
  3. export default {
  4. data () {
  5. return {
  6. messages: [],
  7. chatHiddenName: null,
  8. chatId: null
  9. }
  10. },
  11. mounted () {
  12. EventBus.$on('CHAT_CLICKED', chat => {
  13. console.log('chat clicked - chat message', chat)
  14. this.messages = []
  15. this.chatId = chat.id
  16. this.chatHiddenName = chat.hidden_name
  17. if (cancel !== undefined) {
  18. cancel();
  19. }
  20. this.fetchMessages()
  21.  
  22. // this.chat = chat
  23. })
  24. },
  25. methods: {
  26. fetchMessages () {
  27. console.log('FETCHING MESSAGES WITH CHAT ID', this.chatId)
  28. axios.get(this.$parent.messagesendpoint, {
  29. cancelToken: new CancelToken(function executor(c) {
  30. // An executor function receives a cancel function as a parameter
  31. cancel = c;
  32. }),
  33. params: {
  34. chat_id: this.chatId,
  35. page: 1,
  36. count: 10,
  37. }
  38. }).then(response => {
  39. // console.log(response)
  40. let messages = []
  41. // console.log(messages,this.chatHiddenName,chatId)
  42.  
  43. response.data.forEach(message => {
  44. // add direct and color of message bubble
  45. message.direction = {
  46. // add offset if user message != of user chat
  47. 'offset-md-5': message.hidden_name !== this.chatHiddenName
  48. }
  49. message.color = {
  50. 'left': message.hidden_name === this.chatHiddenName,
  51. 'right': message.hidden_name !== this.chatHiddenName,
  52. }
  53. messages.push(message)
  54. })
  55. this.messages = messages
  56.  
  57. }).catch(error => {
  58. console.log(error)
  59. }).then(() => {
  60. setTimeout(this.fetchMessages(), 500)
  61. })
  62. }
  63. }
  64. }
Add Comment
Please, Sign In to add comment