Advertisement
Guest User

Untitled

a guest
Aug 24th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const courseTableBody = document.getElementById('table-body');
  2. const permButton = document.getElementById('permission');
  3. const firstDayButton = document.getElementById('first-day');
  4. const courseInfo = document.getElementById('course-info');
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11. // create element and render cafe
  12.  function renderCourse(doc){
  13.      let tr = document.createElement('tr');
  14.      let numsection = document.createElement('td');
  15.      let name = document.createElement('td');
  16.      let days = document.createElement('td');
  17.      let time = document.createElement('td');
  18.      let instructor = document.createElement('td');
  19.      let infoButton = document.createElement('td');
  20.  
  21.  
  22.      tr.setAttribute('course-id', doc.data().courseid);
  23.      numsection.textContent = doc.data().numsection;
  24.      name.textContent = doc.data().name;
  25.      days.textContent = doc.data().days;
  26.      time.textContent = doc.data().time;
  27.      instructor.textContent = doc.data().instructor;
  28.  
  29.      // button
  30.     //  var btn = document.createElement('input');
  31.     //  btn.type = "button";
  32.     //  btn.value = "Info";
  33.  
  34.     //  btn.addEventListener('click', displayInfo(doc));
  35.  
  36.     //  infoButton.appendChild(btn);
  37.  
  38.      tr.appendChild(numsection);
  39.      tr.appendChild(name);
  40.      tr.appendChild(days);
  41.      tr.appendChild(time);
  42.      tr.appendChild(instructor);
  43.     //  tr.appendChild(infoButton);
  44.    
  45.  
  46.      courseTableBody.appendChild(tr);
  47.     //  console.log(`Course {courseid} is added`);
  48.  
  49.  }
  50.  
  51.  
  52. // deleting table rows
  53. function deleteCourseRows() {
  54.     while(courseTableBody.rows.length > 0) {
  55.         courseTableBody.deleteRow(0);
  56.       }
  57.  
  58. }
  59.  
  60. function renderPermCourse() {
  61.     db.collection('fall19').where("permission", "==", false).orderBy('numsection').get().then((snapshot) => {
  62.         snapshot.docs.forEach(doc => {
  63.              renderCourse(doc);
  64.         })
  65.     })
  66.     console.log("rendered Perm");
  67. }
  68.  
  69.  
  70. function renderFirstDayCourse() {
  71.     db.collection('fall19').where("firstday", "==", false).orderBy('numsection').get().then((snapshot) => {
  72.         snapshot.docs.forEach(doc => {
  73.              renderCourse(doc);
  74.         })
  75.     })
  76.     console.log("rendered First Day");
  77. }
  78.  
  79.  
  80.  
  81. // getting data (default option as the site loads)
  82. db.collection('fall19').orderBy('numsection').get().then((snapshot) => {
  83.     snapshot.docs.forEach(doc => {
  84.          renderCourse(doc);
  85.     })
  86. })
  87.  
  88. // eventlistener for the permission button
  89. permButton.addEventListener('click', e => {
  90.     e.preventDefault();
  91.     console.log("Permission button clicked");
  92.    
  93.     deleteCourseRows();
  94.     renderPermCourse();
  95. })
  96.  
  97.  
  98. firstDayButton.addEventListener('click', e => {
  99.     e.preventDefault();
  100.     console.log("First Day button clicked");
  101.    
  102.     deleteCourseRows();
  103.     renderFirstDayCourse();
  104. })
  105.  
  106.  
  107.  
  108. // saving data
  109. // form.addEventListener('submit', (e) => {
  110. //     e.preventDefault();
  111.  
  112. //     db.collection('cafes').add({
  113. //         name: form.name.value,
  114. //         city: form.city.value
  115. //     });
  116.  
  117. //     form.name.value = '';
  118. //     form.city.value = '';
  119. // })
  120.  
  121. // real-time listener
  122.  
  123. // db.collection('cafes').orderBy('city').onSnapshot(snapshot => {
  124. //     let changes = snapshot.docChanges();
  125. //     changes.forEach(change => {
  126. //         if(change.type == 'added') {
  127. //             renderCafe(change.doc);
  128. //         } else if (change.type == 'removed') {
  129. //             let li = cafeList.querySelector('[data-id=' + change.doc.id + ']');
  130. //             cafeList.removeChild(li)
  131. //         }
  132. //     })
  133. // })
  134.  
  135.  
  136. // display course info in a div below
  137.  
  138. const displayInfo = function(doc) {
  139.     {
  140.         // clearing past selection
  141.         courseInfo.innerHTML = '';
  142.  
  143.         let courseFullTitle = document.createElement('h3')
  144.         let courseInstructor = document.createElement('h4');
  145.         let courseRoom = document.createElement('span')
  146.  
  147.  
  148.         console.log(`Button is clicked`);
  149.        
  150.         courseFullTitle.textContent = doc.data().numsection + " " + doc.data().name;
  151.         courseInstructor.textContent = doc.data().instructor;
  152.         courseRoom.textContent = doc.data().room;
  153.  
  154.    
  155.    
  156.    
  157.         courseInfo.appendChild(courseFullTitle);
  158.         courseInfo.appendChild(courseInstructor);
  159.         courseInfo.appendChild(courseRoom);
  160.    
  161.     }
  162. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement