Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. function attachEvents() {
  2. const kinveyAppId = "kid_BJ_Ke8hZg";
  3. const postVenueIdUrl = "https://baas.kinvey.com/rpc/kid_BJ_Ke8hZg/custom/calendar?query=";
  4. const getVenuesUrl = "https://baas.kinvey.com/appdata/" + kinveyAppId;
  5. const kinveyUsername = "guest";
  6. const kinveyPassword = "pass";
  7. const base64auth = btoa(kinveyUsername + ":" + kinveyPassword);
  8. const authHeaders = { "Authorization": "Basic " + base64auth };
  9.  
  10.  
  11. $('#getVenues').click(() => $.ajax({
  12. method: "POST",
  13. url: postVenueIdUrl + "23-11",
  14. headers: authHeaders
  15. }).then(getVenuesInfo).catch(error));
  16.  
  17. function getVenuesInfo(IDs) {
  18. $('#venue-info').empty();
  19. for (let ID of IDs){
  20. $.get({
  21. url: getVenuesUrl + "/venues/" + ID,
  22. headers: authHeaders
  23. })
  24. .then(displayVenue)
  25. .catch(error);
  26.  
  27. function displayVenue(venue) {
  28. let venueMainDiv =$('<div>');
  29. venueMainDiv.attr('id', ID);
  30. let span = ($('<span>').addClass("venue-name"));
  31. let infoButton = $('<input>').addClass("info").attr('type','button').val("More info");
  32. span.append(infoButton);
  33. span.append(venue.name);
  34. venueMainDiv.append(span);
  35.  
  36. let venueDetailsDiv = $('<div>').addClass('venue-details').css('display', 'none');
  37. infoButton.click(function(){
  38. if(venueDetailsDiv.css('display') == "none") {
  39. venueDetailsDiv.css('display', 'block');
  40. }
  41. else{
  42. venueDetailsDiv.css('display', 'none');
  43. }
  44. });
  45.  
  46. let table = $('<table>');
  47.  
  48. let firstTr = $("<tr><th>Ticket Price</th><th>Quantity</th><th></th></tr>");
  49. table.append(firstTr);
  50.  
  51. let secondTr = $('<tr>');
  52. let venuePriceTd = $('<td>').addClass('venue-price').text(venue.price +" lv");
  53. venuePriceTd.appendTo(secondTr);
  54. let selectTd = $('<td>');
  55. let select = $('<select>').addClass("quantity");
  56. select
  57. .append($('<option value="1">1</option>'))
  58. .append($('<option value="2">2</option>'))
  59. .append($('<option value="3">3</option>'))
  60. .append($('<option value="4">4</option>'))
  61. .append($('<option value="5">5</option>'));
  62.  
  63. let purchaseButtonTd = $('<td>');
  64. let purchaseButton = $('<input>');
  65. purchaseButton.addClass('purchase').attr('type','button').val("Purchase");
  66.  
  67. purchaseButton.click(function () {
  68. loadPurchasePage(venue, IDs, ID);
  69. });
  70.  
  71. purchaseButton.appendTo(purchaseButtonTd);
  72. purchaseButtonTd.appendTo(secondTr);
  73. select.appendTo(selectTd);
  74. selectTd.appendTo(secondTr);
  75. secondTr.appendTo(table);
  76. venueDetailsDiv.append(table);
  77.  
  78. venueDetailsDiv
  79. .append($('<span>').addClass( "head").text("Venue Description"))
  80. .append($('<p>').addClass("description").text(venue.description))
  81. .append($('<p>').addClass("description").text("Starting time: " + venue.startingHour));
  82.  
  83. venueDetailsDiv.appendTo(venueMainDiv);
  84. venueMainDiv.appendTo($('#venue-info'));
  85. }
  86. }
  87. }
  88.  
  89. function loadPurchasePage(venue, IDs, ID) {
  90. for (let id of IDs){
  91. $(`#${id}`).hide();
  92. }
  93.  
  94. let numberOfTickets = $(`#${ID} option:selected`).val();
  95.  
  96.  
  97.  
  98. $('#venue-info').append($('<span class="head">Confirm purchase</span>'));
  99.  
  100. let purchaseInfoDiv = $('<div>').addClass("purchase-info");
  101. purchaseInfoDiv
  102. .append($('<span>').text(venue.name))
  103. .append($('<span>').text(numberOfTickets + "x" + venue.price))
  104. .append($('<span>').text("Total: " + (numberOfTickets*venue.price) + " lv"))
  105. .append($("<input>").attr('type','button').val("Confirm"));
  106.  
  107. purchaseInfoDiv.appendTo($('#venue-info'))
  108. }
  109.  
  110. function error(err) {
  111. alert(err.statusText)
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement