Advertisement
Guest User

canchas.js

a guest
Nov 18th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $(document).ready(function(){
  2.     getCanchas();
  3. });
  4.  
  5. function getCanchas() {
  6.     $.ajax({
  7.         url: "/api/",
  8.         success: function (canchas) {
  9.             // result = [{"nombre":"cuarta amarilla","direccion":"av calchaqui 3240","id":1},{"nombre":"la roca","direccion":"av irigoyen 23","id":3},{"nombre":"complejo SOS","direccion":"av calchaqui 3460","id":5},{"nombre":"sol de bosques","direccion":"ruta nacional 2 km 56","id":9},{"nombre":"stadio","direccion":"av san martin 3360","id":18},{"nombre":"planeta futbol","direccion":"miguel cane 330","id":24},{"nombre":"Cancha 5","direccion":"Francia 2622","id":25}];
  10.             canchas.forEach(function (cancha) {
  11.                 // row = {"nombre":"cuarta amarilla","direccion":"av calchaqui 3240","id":1};
  12.                 agregarFila(cancha);
  13.             });
  14.         }
  15.     });
  16. }
  17.  
  18. function agregarFila(cancha) {
  19.     // esta función, recibe la row, es decir, {"nombre":"cuarta amarilla","direccion":"av calchaqui 3240","id":1}
  20.     var fila = getFilaDeCancha(cancha);
  21.     $("#tabla-canchas").append(fila);
  22. }
  23.  
  24. function getFilaDeCancha(cancha) {
  25.     // lo importante acá, es que el id de cada fila, va a ser el id de la cancha. Así la podemos manipular después.
  26.     return "<tr id='" + cancha.id + "'>" +
  27.                 "<td class='cancha-id'>" + cancha.id + "</td>" +
  28.                 "<td class='cancha-nombre'>" + cancha.nombre + "</td>" +
  29.                 "<td class='cancha-direccion'>" + cancha.direccion + "</td>" +
  30.             "</tr>";
  31. }
  32.  
  33. function templateBotonesDeAccion(id) {
  34.     return "<td>" +
  35.             "<span class='glyphicon glyphicon-trash' onclick=borrarCancha(" + id + ")></span>" +
  36.             "<span class='glyphicon glyphicon-pencil' onclick=editarCancha(" + id + ")></span>" +
  37.         "</td>";
  38. }
  39.  
  40. function editarCancha(id){
  41.     // Primero obtenemos la fila que queremos editar por el id.
  42.     var fila = $("#" + id);
  43.  
  44.     // Dentro de la fila, buscamos por el nombre de la cancha, por la clase, y agarramos el texto.
  45.     var nombre = fila.find(".cancha-nombre").text();
  46.     var direccion = fila.find(".cancha-direccion").text();
  47.  
  48.     $("#nombre").val(nombre);
  49.     $("#direccion").val(nombre);
  50.  
  51.     $("#cancha-modal").modal("show");
  52. }
  53.  
  54. function guardarCancha() {
  55.     var cancha = {
  56.         nombre: $("#nombre").val(),
  57.         direccion: $("#direccion").val(),
  58.         id: $("#id").val()
  59.     };
  60.  
  61.     $.ajax({
  62.         url: "/api/cancha",
  63.         type: "PUT",
  64.         data: cancha,
  65.         success: function (resultado) {
  66.             limpiarFormulario();
  67.  
  68.             // Llamamos a getCanchas para que nos refresque el listado de canchas (podrías hacerte el pija y actualizar la fila así no hace un request)
  69.             getCanchas();
  70.  
  71.             // cerramos el modal
  72.             $("#canchas-modal").modal("hide");
  73.         }
  74.     });
  75. }
  76.  
  77. function limpiarFormulario() {
  78.     // limpiamos cada input del formulario
  79.     $("#nombre").val("");
  80.     $("#direccion").val("");
  81.     $("#id").val("");
  82. }
  83.  
  84. function crearCancha() {
  85.     // armamos un objeto con los valores requeridos por la api, levantando los valores de los inputs del modal.
  86.     var cancha = {
  87.         nombre: $("#nombre").val(),
  88.         direccion: $("#direccion").val()
  89.     };
  90.  
  91.     $.ajax({
  92.         url: "/api/cancha",
  93.         type: "POST",
  94.         data: cancha,
  95.         success: function (resultado) {
  96.             // se supone que el resultado, debería ser el id de la cancha creada.
  97.             cancha.id = resultado;
  98.  
  99.             // agregamos la cancha que recién creamos
  100.             agregarFila(cancha);
  101.  
  102.             limpiarFormulario();
  103.  
  104.             // cerramos el modal
  105.             $("#canchas-modal").modal("hide");
  106.         }
  107.     });
  108. }
  109.  
  110. function borrarCancha(id) {
  111.     // es una llamada ajax pedorra.
  112.     $.ajax({
  113.         url: "/api/cancha/" + id,
  114.         type: "DELETE",
  115.         success: function (result) {
  116.             // Si la llamada fue exitosa, borro la fila entera con el método remove.
  117.             $("#" + id).remove();
  118.         }
  119.     });
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement