Advertisement
YavorJS

2. Fisher Game

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