Browse Source

Add cooccorrenze features to interface

Alessia 2 years ago
parent
commit
55767de523
4 changed files with 140 additions and 18 deletions
  1. BIN
      flask_be/.DS_Store
  2. 4 1
      flask_be/engine/test/test_occorrenzario_pandas.py
  3. 7 6
      site2/index.html
  4. 129 11
      site2/js/ricerca.js

BIN
flask_be/.DS_Store


+ 4 - 1
flask_be/engine/test/test_occorrenzario_pandas.py

@@ -137,7 +137,10 @@ def findbib(contexts, path):
 
 #funzione contesti multipli
 
-def contestimultipli (tipo_ricerca, ricerca, listOcc, path):
+def contestimultipli (tipo_ricerca, entry, path):
+    listOcc = get_tables_occ(path)
+    ricerca=ricercalemmi(interpreter(entry), path, 1, 0)
+
     textlist = findtexts(tipo_ricerca, ricerca, listOcc, path)
     contexts = findcontexts (textlist,listOcc, path)
     bibliocontexts = findbib (contexts, path)

+ 7 - 6
site2/index.html

@@ -11,6 +11,7 @@
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
 <script src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
 <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <header>
       <!-- Navbar -->
       <nav class="navbar navbar-expand-lg navbar-light bg-white">
@@ -59,7 +60,7 @@
                <div class="row choose_param">
                   <div class="col-6">
                      <div class="input-group form-check">
-                        <input class="barraDiRicerca" type="text" class="form-control" aria-label="Text input with dropdown button">
+                        <input class="barraDiRicerca form-control" type="text" aria-label="Text input with dropdown button">
                            <select class="flViewBy">
                            <option value="forma" selected="selected">Forma</option>
                            <option value="lemma">Lemma</option>
@@ -68,7 +69,7 @@
                   </div>
                   <div class="col">
                      <div class="form-check">
-                        <input class="ricercaEx" value="ricerca_espansa" class="form-check-input" type="checkbox" name="espansa" >
+                        <input class="ricercaEx form-check-input" value="ricerca_espansa" type="checkbox" name="espansa" >
                         <label class="form-check-label" for="checkbox1">
                         Ricerca espansa
                         </label>
@@ -76,7 +77,7 @@
                   </div>
                   <div class="col">
                      <div class="form-check">
-                        <input class="raddoppiata" value="raddoppiata" class="form-check-input" type="checkbox" name="raddoppiata">
+                        <input class="raddoppiata form-check-input" value="raddoppiata" type="checkbox" name="raddoppiata">
                         <label class="form-check-label" for="checkbox2">
                         Raddoppiata
                         </label>
@@ -84,7 +85,7 @@
                   </div>
                   <div class="col">
                      <div class="form-check">
-                        <input class="showOther" value="mostra" class="form-check-input" type="checkbox" name="altro">
+                        <input class="showOther form-check-input" value="mostra" type="checkbox" name="altro">
                         <label class="form-check-label" for="showOther">
                         Mostra <span id="mostraFormaLemma">lemmi</span>
                         </label>
@@ -114,7 +115,7 @@
             <div class="form-check">
                <div class="input-group mb-3">
                   <span class="input-group-text" id="distanza_label">Distanza</span>
-                  <input type="number" id="distanza" value="2" class="form-control" id="basic-url" aria-describedby="distanza">
+                  <input type="number" id="distanza" value="1" class="form-control" id="basic-url" aria-describedby="distanza">
                 </div>
             </div>
          </div>
@@ -142,7 +143,7 @@
 
       <span id="params"></span><br />
       <div id="result"></div>
-      <button id="lauchSearchContext" class="btn btn-primary" onclick="checkContext()">Vai ai contesti</button>
+      <button id="lauchSearchContext" class="btn btn-primary" style="display:none;" onclick="checkContext()">Vai ai contesti</button>
 
    </div>
 

+ 129 - 11
site2/js/ricerca.js

@@ -102,13 +102,15 @@ function funzioneRicerca(){
   queryDTO = {
       queryList: queryList,
       cooccorrenze: cooccorrenze
-  }
+  } 
 
   console.log(queryDTO);
 
   getData(queryDTO)
     // After request finishes, process response data
     .done(response => processData(response));
+
+  $("#lauchSearchContext").css("display", "flex");
   
 } 
 
@@ -152,8 +154,6 @@ $( document ).ready(function() {
   });
 
   var occ = 0;
-  
-  const node = document.getElementsByClassName("search_params")[0];
 
   $("#btnGroupAddon").click(function() {
     $("#cooccorrenze_options").css("display", "flex");
@@ -164,18 +164,124 @@ $( document ).ready(function() {
     else {
       occ = occ + 1;
       
-      var new_id = "occ_" + occ;
-      var new_par = document.createElement('div');
-      new_par.className = "row height d-flex justify-content-center align-items-center";
-      new_par.id = new_id;
-      const clone = node.cloneNode(true);
-      new_par.append(clone);
-      $("#search_form").append(new_par);
+      createNewCC(occ);
+      
     }
   });
 
 });
 
+function createNewCC(occ) {
+  
+  var new_id = "occ_" + occ;
+  var new_par = document.createElement('div');
+  new_par.className = "row height d-flex justify-content-center align-items-center";
+  new_par.id = new_id;
+  
+  var search_params = document.createElement('div');
+  search_params.className = "col search_params";
+
+  var choose_param = document.createElement('div');
+  choose_param.className = "row choose_param";
+
+  var col_6 = document.createElement('div');
+  col_6.className = "col-6";
+
+  var input_group = document.createElement('div');
+  input_group.className = "input-group form-check";
+
+  var inputSel = document.createElement('input');
+  inputSel.className = "barraDiRicerca form-control";
+  inputSel.type = "text";
+
+  //Create and append select list
+  var selectList = document.createElement("select");
+  selectList.className = "flViewBy";
+
+  //Create and append the options
+  var optionForma = document.createElement("option");
+  optionForma.value = "forma";
+  optionForma.text = "Forma";
+  optionForma.selected = "selected";
+  selectList.appendChild(optionForma);
+
+  var optionLemma = document.createElement("option");
+  optionLemma.value = "lemma";
+  optionLemma.text = "Lemma";
+  selectList.appendChild(optionLemma);
+
+  var col_form = document.createElement("div");
+  col_form.className = "col";
+
+  var form_check = document.createElement("div");
+  form_check.className = "form-check";
+
+  var input_ricerca_espansa = document.createElement("input");
+  input_ricerca_espansa.className = "ricercaEx form-check-input";
+  input_ricerca_espansa.value = "ricerca_espansa";
+  input_ricerca_espansa.type = "checkbox";
+  input_ricerca_espansa.name = "espansa";
+
+  var label_ricerca_espansa = document.createElement("label");
+  label_ricerca_espansa.className = "form-check-label";
+  label_ricerca_espansa.innerHTML = "Ricerca espansa";
+
+  var col_form2 = document.createElement("div");
+  col_form2.className = "col";
+
+  var form_check2 = document.createElement("div");
+  form_check2.className = "form-check";
+
+  var input_ricerca_raddoppiata = document.createElement("input");
+  input_ricerca_raddoppiata.className = "raddoppiata form-check-input";
+  input_ricerca_raddoppiata.value = "raddoppiata";
+  input_ricerca_raddoppiata.type = "checkbox";
+  input_ricerca_raddoppiata.name = "raddoppiata";
+
+  var label_ricerca_raddoppiata = document.createElement("label");
+  label_ricerca_raddoppiata.className = "form-check-label";
+  label_ricerca_raddoppiata.innerHTML = "Raddoppiata";
+
+  var col_form3 = document.createElement("div");
+  col_form3.className = "col";
+
+  var form_check3 = document.createElement("div");
+  form_check3.className = "form-check deleteCC";
+  form_check3.id = occ;
+
+  var trash_button = document.createElement("button");
+  trash_button.className = "btn";
+  var trash_icon = document.createElement("i");
+  trash_icon.className = "fa fa-trash";
+
+  input_group.appendChild(inputSel);
+  input_group.appendChild(selectList);
+  col_6.appendChild(input_group);
+
+  form_check.appendChild(input_ricerca_espansa);
+  form_check.appendChild(label_ricerca_espansa);
+  col_form.appendChild(form_check);
+
+  form_check2.appendChild(input_ricerca_raddoppiata);
+  form_check2.appendChild(label_ricerca_raddoppiata);
+  col_form2.appendChild(form_check2);
+
+  trash_button.appendChild(trash_icon);
+  form_check3.appendChild(trash_button);
+  col_form3.appendChild(form_check3);
+
+  choose_param.appendChild(col_6);
+  choose_param.appendChild(col_form);
+  choose_param.appendChild(col_form2);
+  choose_param.appendChild(col_form3);
+
+  search_params.appendChild(choose_param);
+
+  new_par.appendChild(search_params);
+
+  $("#search_form").append(new_par);
+}
+
 function changeFL(word) {
   $("#mostraFormaLemma").html(word);
 }
@@ -291,4 +397,16 @@ function createRow(num, elem) {
   $("#result").append(row);
 
 
-}
+}
+
+$(document).on("click", ".deleteCC", function (ev) {
+  var deleteID = "occ_" + this.id;
+  const element = document.getElementById(deleteID);
+  element.remove();
+
+  let numb = document.getElementById("search_form").childElementCount;
+  if (numb < 2) {
+    $("#cooccorrenze_options").css("display", "none");
+  }
+
+});