Advertisement
braveheart1989

students

Nov 26th, 2016
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let authorization = "Basic " + btoa("guest" + ":" + "guest");
  2. let baseUrl = "https://baas.kinvey.com/appdata/kid_BJXTsSi-e/students";
  3.  
  4. $('#createStudents').click(createStudent);
  5.  
  6. function extractStudents() {
  7.     let requestHeaders = {
  8.         "Authorization": authorization,
  9.         "Content-Type": "application/json"
  10.     };
  11.     let request = {
  12.         method: "GET",
  13.         url: baseUrl,
  14.         headers: requestHeaders,
  15.         success: renderStudents,
  16.         error: renderError
  17.     };
  18.     $.ajax(request);
  19.  
  20.     function renderStudents(data) {
  21.  
  22.         let students = data.sort((a, b) => {
  23.             return (a.ID) - (b.ID);
  24.         });
  25.         $('#results').empty();
  26.         let th = `<tr>
  27.         <th>ID</th>
  28.         <th>First Name</th>
  29.         <th>Last Name</th>
  30.         <th>Faculty Number</th>
  31.         <th>Grade</th>
  32.         <th>Action</th>
  33.     </tr>`;
  34.         $('#results').append($('<tbody>').append(th))
  35.         for (let student of students) {
  36.             let tr = $('<tr>').attr('data-id', student._id);
  37.             let studentId = $('<td>').text(student.ID);
  38.             let FirstName = $('<td>').text(student.FirstName);
  39.             let LastName = $('<td>').text(student.LastName);
  40.             let FacultyNumber = $('<td>').text(student.FacultyNumber);
  41.             let Grade = $('<td>').text(student.Grade);
  42.             let action = $('<td>')
  43.                 .append($(('<button>[Delete]</button>'))
  44.                     .click(deleteRow));
  45.             tr
  46.                 .append(studentId)
  47.                 .append(FirstName)
  48.                 .append(LastName)
  49.                 .append(FacultyNumber)
  50.                 .append(Grade)
  51.                 .append(action);
  52.             $('#results').append(tr)
  53.         }
  54.     }
  55.  
  56.     function deleteRow() {
  57.         let id = $(this).parent().parent().attr("data-id");
  58.         let requestHeaders = {
  59.             "Authorization": authorization,
  60.             "Content-Type": "application/json"
  61.         };
  62.         let request = {
  63.             method: "DELETE",
  64.             url: baseUrl + "/" + id,
  65.             headers: requestHeaders,
  66.             success: function () {
  67.                 extractStudents()
  68.             },
  69.             error: renderError
  70.         };
  71.         $.ajax(request);
  72.     }
  73. }
  74. function renderError(data) {
  75.     alert(JSON.stringify(data))
  76. }
  77. function createStudent() {
  78.     let studentID = $('#studentID').val();
  79.     let firstName = $('#firstName').val();
  80.     let lastName = $('#lastName').val();
  81.     let facultyNumber = $('#facultyNumber').val();
  82.     let grade = $('#grade').val();
  83.     let requestHeaders = {
  84.         "Authorization": authorization,
  85.         "Content-Type": "application/json"
  86.     };
  87.     let id = Number(studentID);
  88.     let gradeD = Number(grade);
  89.     let facultyRegex = /^\d+$/g;
  90.     if (studentID !== ''
  91.         && firstName !== ''
  92.         && lastName !== ''
  93.         && facultyRegex.test(facultyNumber)
  94.         && grade !== '') {
  95.  
  96.         let request = {
  97.             method: "POST",
  98.             url: baseUrl,
  99.             headers: requestHeaders,
  100.             data: JSON.stringify({
  101.                 ID: id,
  102.                 FirstName: firstName,
  103.                 LastName: lastName,
  104.                 FacultyNumber: facultyNumber,
  105.                 Grade: gradeD
  106.             }),
  107.             success: function () {
  108.                 extractStudents();
  109.             },
  110.             error: renderError
  111.         };
  112.         $.ajax(request);
  113.     }
  114.     $('#studentID').val('');
  115.     $('#firstName').val('');
  116.     $('#lastName').val('');
  117.     $('#facultyNumber').val('');
  118.     $('#grade').val('');
  119.  
  120.  
  121. }
  122. extractStudents();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement