Advertisement
EntropyStarRover

01. Christmas Gifts Delivery

Feb 17th, 2021
670
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solution() {
  2.  let cards=Array.from(document.getElementsByClassName("card"));
  3.  console.log(cards)
  4.  let addCard=cards[0];
  5.  let listCard=cards[1];
  6.  let sentCard=cards[2];
  7.  let disCard=cards[3];
  8.  let giftsListUl=listCard.querySelector('ul');
  9.  let sentListUl=sentCard.querySelector('ul');
  10.  let discListUl=disCard.querySelector('ul');
  11.  
  12.  let addInput=addCard.querySelector('input');
  13.  console.log(addInput);
  14.  let addBtn=addCard.querySelector('button');
  15.  console.log(addBtn);
  16.  addBtn.addEventListener("click", addGift);
  17.  
  18.  function addGift(e){
  19.      let parentDiv=e.target.parentNode;
  20.      console.log(parentDiv);
  21.      let inputField=parentDiv.querySelector('input')
  22.      console.log(inputField);
  23.      let giftName=inputField.value;
  24.      if (giftName.length>0){
  25.          let giftLi=document.createElement("li");
  26.          giftLi.className="gift";
  27.         giftLi.textContent=giftName;
  28.  
  29.         let sendBtn=document.createElement("button");
  30.         sendBtn.id="sendButton";
  31.         sendBtn.textContent="Send";
  32.         sendBtn.addEventListener("click",sendGift);
  33.         giftLi.appendChild(sendBtn);
  34.  
  35.         let discBtn=document.createElement("button");
  36.         discBtn.id="discardButton";
  37.         discBtn.textContent="Discard";
  38.         discBtn.addEventListener("click",discardGift)
  39.         giftLi.appendChild(discBtn);
  40.  
  41.         giftsListUl.appendChild(giftLi);
  42.         sortUl(giftsListUl);
  43.         inputField.value="";
  44.      }
  45.  }
  46.  
  47.  function sendGift(e){
  48.     console.log(e.target.parentNode);
  49.     let gn=e.target.parentNode.childNodes[0].textContent;
  50.     let sentLi=document.createElement('li');
  51.     sentLi.className="gift";
  52.     sentLi.textContent=gn;
  53.     sentListUl.appendChild(sentLi);
  54.     giftsListUl.removeChild(e.target.parentNode);
  55.  }
  56.  function discardGift(e){
  57.     console.log(e.target.parentNode);
  58.     let gn=e.target.parentNode.childNodes[0].textContent;
  59.     let discLi=document.createElement("li");
  60.     discLi.className="gift";
  61.     discLi.textContent=gn;
  62.     discListUl.appendChild(discLi);
  63.     giftsListUl.removeChild(e.target.parentNode);
  64.    
  65.  }
  66.  
  67.  
  68.  function sortUl(ul){
  69.      let lis=Array.from(ul.querySelectorAll('li'));
  70.      let sortedLis=lis.sort((a,b)=>a.textContent.localeCompare(b.textContent));
  71.      ul.innerHtml="";
  72.      sortedLis.forEach(l=>ul.appendChild(l));
  73.  }
  74. }
Advertisement
RAW Paste Data Copied
Advertisement