MCPcopy Create free account
hub / github.com/firebase/codelab-friendlychat-web / displayMessage

Function displayMessage

web/src/index.js:353–381  ·  view source on GitHub ↗
(id, timestamp, name, text, picUrl, imageUrl)

Source from the content-addressed store, hash-verified

351
352 // Displays a Message in the UI.
353 function displayMessage(id, timestamp, name, text, picUrl, imageUrl) {
354 var div = document.getElementById(id) || createAndInsertMessage(id, timestamp);
355
356 // profile picture
357 if (picUrl) {
358 div.querySelector('.pic').style.backgroundImage = 'url(' + addSizeToGoogleProfilePic(picUrl) + ')';
359 }
360
361 div.querySelector('.name').textContent = name;
362 var messageElement = div.querySelector('.message');
363
364 if (text) { // If the message is text.
365 messageElement.textContent = text;
366 // Replace all line breaks by <br>.
367 messageElement.innerHTML = messageElement.innerHTML.replace(/\n/g, '<br>');
368 } else if (imageUrl) { // If the message is an image.
369 var image = document.createElement('img');
370 image.addEventListener('load', function() {
371 messageListElement.scrollTop = messageListElement.scrollHeight;
372 });
373 image.src = imageUrl + '&' + new Date().getTime();
374 messageElement.innerHTML = '';
375 messageElement.appendChild(image);
376 }
377 // Show the card fading-in and scroll to view the new message.
378 setTimeout(function() {div.classList.add('visible')}, 1);
379 messageListElement.scrollTop = messageListElement.scrollHeight;
380 messageInputElement.focus();
381 }
382
383 // Enables or disables the submit button depending on the values of the input
384 // fields.

Callers 1

loadMessagesFunction · 0.70

Calls 2

createAndInsertMessageFunction · 0.70

Tested by

no test coverage detected