_renderItem()

in dialogflow-prebuilt-agents/client_side_messenger/retail_assistant/retail_assistant.js [269:323]


    _renderItem(itemPayload) {
      let item = document.createElement('div');
      item.classList.add('item');
  
      console.log(itemPayload);
      const itemData = itemPayload.product;
      // console.log(itemData);
  
      let title = document.createElement('h2');
      title.classList.add('item-title');
      title.textContent = itemData.title;
  
      let imageWrapper = document.createElement('div');
  
      let image = document.createElement('img');
      image.classList.add('item-image');
      image.src = itemData.images[0].uri;
  
      imageWrapper.appendChild(image);
  
      let price = document.createElement('div');
      price.classList.add('item-price');
      if (itemData.priceInfo) {
        price.textContent = `${itemData.priceInfo.price} ${
            itemData.priceInfo.currencyCode || '$'}`;
      }
  
      let description;
      if (itemData.description) {
        description = document.createElement('div');
        description.classList.add('item-description');
        description.textContent = itemData.description;
      }
  
      let details;
      if (itemData.categories) {
        details = document.createElement('div');
        details.classList.add('item-details');
        details.textContent = itemData.categories;
      }
  
      item.appendChild(title);
      item.appendChild(imageWrapper);
      // if (itemData.description) {
      // item.appendChild(description); // uncomment to show the description
      // }
      if (itemData.categories) {
        item.appendChild(details);
      }
      if (itemData.priceInfo) {
        item.appendChild(price);
      }
      // item.appendChild(infoLink);
      return item;
    }