Advertisement
Guest User

homework

a guest
Mar 20th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5.     <meta charset="UTF-8">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.     <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8.     <title>Shopping List Exercise</title>
  9.     <link href="https://fonts.googleapis.com/css?family=Roboto+Condensed" rel="stylesheet">
  10.     <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP" crossorigin="anonymous">
  11.     <link rel="stylesheet" href="assets/css/main.css">
  12. </head>
  13. <body>
  14.    
  15.     <div id="app">
  16.         <div class="shopping-list">
  17.             <header>
  18.                 <h1>My Shopping List</h1>
  19.                 <a href="#" class="loadingButton">
  20.                     Load List <i class="fas fa-angle-down"></i>
  21.                 </a>    
  22.             </header>
  23.             <ul>
  24.                 <template id="shopping-list-item-template">
  25.                 <li>
  26.                     <i class="far fa-check-circle"></i>
  27.                 </li>
  28.                 </template>
  29.             </ul>
  30.         </div>
  31.     </div>
  32.  
  33.     <script src="assets/js/index.js"></script>
  34. </body>
  35. </html>
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. let groceries = [];
  60.  
  61. function loadGroceries() {
  62.   console.log("Load Groceries...");
  63.  
  64.   fetch('assets/data/shopping-list.json')
  65.     .then((response) => {
  66.       return response.json();
  67.     })
  68.     .then((data) => {
  69.         groceries = data;
  70.       displayGroceries();
  71.     })
  72.     .catch((err) => console.error(err));
  73. }
  74.  
  75. function displayGroceries() {
  76.     console.log("Display Groceries...");
  77.  
  78.     if('content' in document.createElement('template')) {
  79.       const container = document.querySelector(".shopping-list");
  80.       groceries.forEach((item) => {
  81.         const tmpl = document.getElementById('shopping-list-item-template').content.cloneNode(true);
  82.         tmpl.querySelector('li').innerText = item.name;
  83.         if(item.completed){
  84.             tmpl.querySelector('li').classList.add('completed');
  85.         }
  86.         container.appendChild(tmpl);
  87.       });
  88.     } else {
  89.       console.error('Your browser does not support templates');
  90.     }
  91.   }
  92.  
  93.   loadGroceries();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement