Guest User

Untitled

a guest
Jul 29th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. function attachEvents() {
  2. const baseUrl = 'https://baas.kinvey.com/appdata/kid_ByuGAyjNQ';
  3. const username = 'Ivaylo';
  4. const password = 'ivaylo';
  5. const base64auth = btoa(username + ':' + password);
  6. const authentication = {
  7. 'Authorization': 'Basic ' + base64auth,
  8. 'Content-type': 'application/json'
  9. };
  10.  
  11. function request(method,endPoint,data) {
  12. return $.ajax({
  13. method:method,
  14. url:baseUrl + endPoint,
  15. headers: authentication,
  16. data: JSON.stringify(data)
  17. })
  18. }
  19.  
  20.  
  21. // LOAD BUTTON -> Get data(load Data)
  22. $('.load').click(loadCatches)
  23. // ADD BUTTON -> Create (POST REQUEST)
  24. $('.add').click(createData)
  25.  
  26. function loadCatches() {
  27. request('GET','/biggestCatches')
  28. .then(displayCatches)
  29. .catch(handleError)
  30. }
  31.  
  32.  
  33. function displayCatches(data) {
  34. let catches = $('#catches');
  35. catches.empty()
  36. for (let el of data){
  37. catches.append($(`<div class="catch" data-id="${el._id}">`)
  38. .append($('<label>Angler</label>'))
  39. .append($(`<input type="text" class="angler" value="${el.angler}"/>`))
  40. .append($('<label>Weight</label>'))
  41. .append($(`<input type="number" class="weight" value="${el.weight}"/>`))
  42. .append($('<label>Species</label>'))
  43. .append($(`<input type="text" class="species" value="${el.species}"/>`))
  44. .append($('<label>Location</label>'))
  45. .append($(`<input type="text" class="location" value="${el.location}"/>`))
  46. .append($('<label>Bait</label>'))
  47. .append($(`<input type="text" class="bait" value="${el.bait}"/>`))
  48. .append($('<label>Capture Time</label>'))
  49. .append($(`<input type="number" class="captureTime" value="${el.captureTime}"/>`))
  50. .append($('<button>Update</button>').click(updateEl))
  51. .append($('<button>Delete</button>').click(deleteEl)))
  52. }
  53. }
  54. // UPDATE CATCHES
  55. function updateEl() {
  56. let catchEl = $(this).parent();
  57. console.log(catchEl.attr('data-id'))
  58. let dataObj = createUpdateJson(catchEl)
  59.  
  60. request('PUT', `/biggestCatches/${catchEl.attr('data-id')}`, dataObj)
  61. .then(loadCatches)
  62. .catch(handleError)
  63. }
  64.  
  65.  
  66.  
  67. // DELETE CATCHES
  68. function deleteEl() {
  69. let catchId = $(this).parent().attr('data-id')
  70. request('DELETE', `/biggestCatches/${catchId}`)
  71. .then(loadCatches)
  72. .catch(handleError)
  73. }
  74. // Create Json Object with data for dataBase
  75. function createUpdateJson(catchEl) {
  76. return {
  77. angler: catchEl.find('.angler').val(),
  78. weight: +catchEl.find('.weight').val(),
  79. species: catchEl.find('.species').val(),
  80. location: catchEl.find('.location').val(),
  81. bait: catchEl.find('.bait').val(),
  82. captureTime: +catchEl.find('.captureTime').val()
  83. }
  84. }
  85.  
  86. // CREATE DATA
  87. function createData() {
  88. let catchEl = $('#addForm')
  89. let dataObj = createUpdateJson(catchEl)
  90.  
  91. request('POST', '/biggestCatches', dataObj)
  92. .then(loadCatches)
  93. .catch(handleError)
  94. }
  95.  
  96. function handleError(err) {
  97. console.log(err)
  98. }
  99. }
Add Comment
Please, Sign In to add comment