Advertisement
Guest User

Versió final comparator

a guest
May 26th, 2016
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function compare(ips) {
  2.     $('#comparison').html(""); // Delete all content inside div comparison
  3.     var finalHtml = "<h4>Comparación con otros mediacloud ordenado por precio</h4>";
  4.     var selected = [];
  5.     $('#checkBoxes input:checked').each(function () {
  6.         selected.push($(this).attr('data-name'));
  7.     });
  8.  
  9.     if (selected.length != 1) {
  10.         alert("Select exactly ONE item to compare");
  11.         return;
  12.     }
  13.  
  14.     var item = selected[0];
  15.     if (!item) {
  16.         alert("Internal ERROR when comparing"); // Shouldn't arrive here
  17.         return;
  18.     }
  19.  
  20.     var requests = [];
  21.     for (var i = 0; i < ips.length; i++) {
  22.         requests.push(
  23.             $.ajax({
  24.                 url: "http://" + ips[i] + ":8080/api/items/",
  25.             })
  26.         );
  27.         requests.push(
  28.             $.ajax({
  29.                 url: "http://" + ips[i] + ":8080/api/comments/",
  30.             })
  31.         );
  32.     }
  33.     var itemList = [];
  34.     $.when.apply($, requests).done(function () {
  35.         console.log(arguments);
  36.         var allItems;
  37.         for (var i = 0; i < arguments.length; i+=2) {
  38.             allItems = arguments[i][0]["results"];
  39.             var found = false;
  40.             var comments;
  41.             for (var j = 0; j < allItems.length && !found; j++) {
  42.                 comments = arguments[i+1][0]["results"];
  43.                 if (allItems[j]["name"] === item) {
  44.                     itemList.push([ips[i/2], allItems[j]["price"], allItems[j]["description"], arguments[i+1][0]["results"]]);
  45.                     found = true;
  46.                 }
  47.             }
  48.         }
  49.         itemList.sort(function f(a, b) {
  50.             return (a[1] - b[1]);
  51.         });
  52.  
  53.         var comments;
  54.         for (var i = 0; i < itemList.length; i++) {
  55.             finalHtml += "Ítem de: " + itemList[i][0] + "<br>" +
  56.                 "&#8195;Precio: " + itemList[i][1] + "<br>" +
  57.                 "&#8195;Descripción: " + itemList[i][2] + "<br>" +
  58.                 "&#8195;Comentarios: <br>";
  59.                 comments = itemList[i][3];
  60.                 for (var j=0; j<comments.length; j++){
  61.                     finalHtml += "&#8195;&#8195;" + comments[j]["text"] + "<br>";
  62.                 }
  63.             finalHtml +="<br>"
  64.         }
  65.         $('#comparison').html(finalHtml);
  66.     });
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement