toExport.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. import {processData, processOccData} from './processData.js'
  2. import {flask_be_address} from './config.js'
  3. export function getData(endpoint, queryDTO){
  4. let url = flask_be_address.concat(endpoint);
  5. // This seems to work and it's definitely better than previous version
  6. return $.ajax(
  7. {
  8. url: url,
  9. type: 'POST',
  10. contentType: 'application/json; charset=utf-8',
  11. dataType: 'json',
  12. data: JSON.stringify(queryDTO),
  13. }
  14. );
  15. }
  16. export let queryDTO = {};
  17. export function funzioneRicerca(){
  18. $("#result").html("");
  19. $("#single-context-box").css("display", "none");
  20. $("#loader").css("display", "block");
  21. $('.table-responsive').css("width", "100%");
  22. $('#navPagination').css("display", "none");
  23. let collection_elementoDaRicercare = document.getElementsByClassName("barraDiRicerca");
  24. var collection_types = document.getElementsByClassName("flViewBy");
  25. var collection_lenght = collection_elementoDaRicercare.length;
  26. let distanza = document.getElementById("distanza").value;
  27. let queryList = [];
  28. var periodo = 0;
  29. var ordinate = 0;
  30. var i = 0;
  31. for (i; i < collection_lenght; i++) {
  32. let elementoDaRicercare = collection_elementoDaRicercare[i].value;
  33. let word = elementoDaRicercare;
  34. var tipo = "";
  35. var espansa = 0;
  36. var raddoppiata = 0;
  37. var noLemma = 0;
  38. var formeLemmi = 0;
  39. var check_tipo = collection_types[i].value;
  40. //NOLEMMA DEVE ESSERE CONVERTITO IN TIPO (TIPO = 0, 1, 2), TIPO = 2 SE NOLEMMA è SELEZIONATO
  41. if ($('#occ_' + i + ' .ricercaEx').prop("checked"))
  42. {
  43. espansa = 1;
  44. }
  45. if ($('#occ_' + i + ' .raddoppiata').prop("checked"))
  46. {
  47. raddoppiata = 1;
  48. }
  49. if ($('#occ_' + i + ' .showOther').prop("checked"))
  50. {
  51. formeLemmi = 1;
  52. }
  53. if ($('#occ_' + i + ' .lemmatizzata').prop("checked"))
  54. {
  55. noLemma = 1;
  56. }
  57. if ((check_tipo == "forma") && (formeLemmi == 0)) {
  58. tipo = "forma";
  59. }
  60. else if ((check_tipo == "forma") && (formeLemmi == 1)) {
  61. tipo = "formaLemma";
  62. }
  63. else if ((check_tipo == "lemma") && (noLemma == 1)) {
  64. tipo = "soloLemmatizzate";
  65. }
  66. else if ((check_tipo == "lemma") && (formeLemmi == 0)) {
  67. tipo = "lemma";
  68. }
  69. else if ((check_tipo == "lemma") && (formeLemmi == 1)) {
  70. tipo = "lemmaForma";
  71. }
  72. queryList.push( {"stringa": word, "espansa": espansa, "raddoppiata": raddoppiata, "tipo": tipo} );
  73. //$("#params").append("I tuoi parametri: " + word + "; " + tipo + "; " + espansa + "; " + raddoppiata + "; " + formeLemmi);
  74. }
  75. if ($('#periodo').prop("checked"))
  76. {
  77. periodo = 1;
  78. }
  79. if ($('#ordinate').prop("checked"))
  80. {
  81. ordinate = 1;
  82. }
  83. let cooccorrenze = {"distanza": distanza, "stesso_periodo": periodo, "ordinate": ordinate};
  84. let numb = document.getElementById("search_form").childElementCount;
  85. if (numb < 2) {
  86. queryDTO = {
  87. queryList: queryList
  88. }
  89. getData('/simple_get_query', queryDTO)
  90. // After request finishes, process response data
  91. .done(response => processData(response))
  92. .fail(err => {
  93. console.log(err);
  94. $("#loader").css("display", "none");
  95. alert('Something went wrong!');
  96. });
  97. } else {
  98. queryDTO = {
  99. queryList: queryList,
  100. cooccorrenze: cooccorrenze
  101. }
  102. getData('/simple_get_query', queryDTO)
  103. // After request finishes, process response data
  104. .done(response => processOccData(response))
  105. .fail(err => {
  106. console.log(err);
  107. $("#loader").css("display", "none");
  108. alert('Something went wrong!');
  109. });
  110. }
  111. console.log(queryDTO);
  112. $("#lauchSearchContext").css("display", "flex");
  113. }