Advertisement
Guest User

FishGame

a guest
Apr 2nd, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function attachEvents() {
  2.     const baseSurviceUrl = "https://baas.kinvey.com/appdata/kid_rkxScVJGe/biggestCatches";
  3.     const kinveyUsername = "guest";
  4.     const kinveyPassword = "guest";
  5.     const base64Auth = btoa(kinveyUsername + ":" + kinveyPassword);
  6.     const authHeaders = {"Authorization":"Basic " + base64Auth};
  7.  
  8.     $('.load').click(loadCatches);
  9.     $('.add').click(addCatch);
  10.    
  11.     function loadCatches() {
  12.         let request = {
  13.             url: baseSurviceUrl,
  14.             method: "GET",
  15.             headers: authHeaders
  16.         };
  17.        
  18.         $.ajax(request)
  19.             .then(displayCatches);
  20.        
  21.         function displayCatches(catches) {
  22.             $('#catches').empty();
  23.  
  24.             for(let catche of catches){
  25.                 $('#catches')
  26.                     .append($('<div>').addClass("catch").attr("data-id", catche._id)
  27.                         .append($('<label>').text("Angler"))
  28.                         .append($('<input>').attr("type", "text").addClass("angler").val(catche.angler))
  29.                         .append($('<label>').text("Weight"))
  30.                         .append($('<input>').attr("type", "number").addClass("weight").val(catche.weight))
  31.                         .append($('<label>').text("Species"))
  32.                         .append($('<input>').attr("type", "text").addClass("species").val(catche.species))
  33.                         .append($('<label>').text("Location"))
  34.                         .append($('<input>').attr("type", "text").addClass("location").val(catche.location))
  35.                         .append($('<label>').text("Bait"))
  36.                         .append($('<input>').attr("type", "text").addClass("bait").val(catche.bait))
  37.                         .append($('<label>').text("Capture Time"))
  38.                         .append($('<input>').attr("type", "number").addClass("captureTime").val(catche.captureTime))
  39.                         .append($('<button>').addClass("update").text("Update").click(updateCatch))
  40.                         .append($('<button>').addClass("delete").text("Delete").click(deleteCatch))
  41.                     );
  42.             }
  43.         }
  44.     }
  45.  
  46.     function addCatch() {
  47.         let inputs = $(this).parent().find('input');
  48.  
  49.         let request = {
  50.             url: baseSurviceUrl,
  51.             method: "POST",
  52.             headers: {"Authorization": "Basic " + base64Auth, "Content-type": "application/json"},
  53.             data: JSON.stringify({
  54.                 angler: $(inputs[0]).val(),
  55.                 weight: Number($(inputs[1]).val()),
  56.                 species: $(inputs[2]).val(),
  57.                 location: $(inputs[3]).val(),
  58.                 bait: $(inputs[4]).val(),
  59.                 captureTime: Number($(inputs[5]).val())
  60.             })
  61.         };
  62.  
  63.         $.ajax(request)
  64.             .then(loadCatches);
  65.  
  66.         for(let input of inputs){
  67.             $(input).val('');
  68.         }
  69.     }
  70.  
  71.     function updateCatch() {
  72.         let inputs = $(this).parent().find('input');
  73.         let catchId = $(this).parent().attr('data-id');
  74.  
  75.         let request = {
  76.             url: baseSurviceUrl + "/" + catchId,
  77.             method: "PUT",
  78.             headers: {"Authorization": "Basic " + base64Auth, "Content-type": "application/json"},
  79.             data: JSON.stringify({
  80.                 angler: $(inputs[0]).val(),
  81.                 weight: $(inputs[1]).val(),
  82.                 species: $(inputs[2]).val(),
  83.                 location: $(inputs[3]).val(),
  84.                 bait: $(inputs[4]).val(),
  85.                 captureTime: $(inputs[5]).val()
  86.             })
  87.         };
  88.  
  89.         $.ajax(request)
  90.             .then(loadCatches)
  91.     }
  92.  
  93.     function deleteCatch() {
  94.         let catchId = $(this).parent().attr('data-id');
  95.  
  96.         let request = {
  97.             url: baseSurviceUrl + "/" + catchId,
  98.             method: "DELETE",
  99.             headers: authHeaders
  100.         }
  101.  
  102.         $.ajax(request)
  103.             .then(loadCatches)
  104.     }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement