_renderItem()

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;
    }