in dialogflow-prebuilt-agents/client_side_messenger/retail_assistant/retail_assistant.js [471:500]
_renderItem(itemPayload, numReviews) {
const item = document.createElement('div');
console.log(itemPayload);
// Clone our template node, replace the values, and re-insert into DOM.
let revTemplate =
document.getElementById('review-template').cloneNode(true);
revTemplate.id = '';
revTemplate.style.display = 'block';
item.appendChild(revTemplate);
let userAvatar = revTemplate.getElementsByClassName('user-avatar')[0];
userAvatar.textContent = itemPayload.user[0];
let userName = revTemplate.getElementsByClassName('user-name')[0];
userName.textContent = itemPayload.user;
let userRating = revTemplate.getElementsByClassName('rating-score')[0];
userRating.textContent = '(' + itemPayload.rating + '/5)';
let userDesc = revTemplate.getElementsByClassName('review-text')[0];
userDesc.textContent = itemPayload.desc;
let prodTitle = revTemplate.getElementsByClassName('review-title')[0];
prodTitle.textContent = 'Item: ' + itemPayload.title;
let stars = revTemplate.getElementsByClassName('stars')[0];
let numFilled = itemPayload.rating;
let numEmpty = 5 - numFilled;
for (let i = 0; i < itemPayload.rating; i++) {
stars.textContent += '★';
}
for (let i = 0; i < numEmpty; i++) {
stars.textContent += '☆';
}
return item;
}