ricerca.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797
  1. // Config data -- could be whatever
  2. // should be moved to a different file if/when there's a lot of it
  3. const flask_be_address = 'http://127.0.0.1:5000'
  4. // Separate function to handle HTTP requests -- could be moved to different file (a service)
  5. function getData(endpoint, queryDTO){
  6. let url = flask_be_address.concat(endpoint);
  7. // This seems to work and it's definitely better than previous version
  8. return $.ajax(
  9. {
  10. url: url,
  11. type: 'POST',
  12. contentType: 'application/json; charset=utf-8',
  13. dataType: 'json',
  14. data: JSON.stringify(queryDTO),
  15. }
  16. );
  17. // // This seems to work too (but it's missing the 'return' statement, I'm not sure what 'fetch' returns)
  18. // fetch(url,
  19. // {
  20. // method: 'POST',
  21. // headers: {
  22. // 'Content-Type': 'application/json'
  23. // },
  24. // body: JSON.stringify(queryDTO)
  25. // }
  26. // );
  27. // // THE OLD, STUPID WAY
  28. // // This is a stupid way of handling the JSON data, but it works;
  29. // // trying to send application/json data causes Flask to complain and I can't understand why!
  30. // return $.post(url, {stringifiedDTO: JSON.stringify(queryDTO)});
  31. }
  32. let arrayResponse = [];
  33. // Separate function to handle response data -- could be moved to different file (a service)
  34. function processData(response){
  35. console.log(response);
  36. $("#loader").css("display", "none");
  37. if(response.length==0){
  38. alert('No results!')
  39. }
  40. else {
  41. arrayResponse = response;
  42. var keys = Object.keys(response[0]);
  43. createFirstRow(keys);
  44. var ll = response.length;
  45. for (var i=0; i<ll; i++) {
  46. let newRow = response[i];
  47. createRow(i, newRow);
  48. }
  49. }
  50. //$("#result").append(response);
  51. }
  52. function processOccData(response){
  53. console.log(response);
  54. $("#loader").css("display", "none");
  55. if(response.length==0){
  56. alert('No results!')
  57. }
  58. else {
  59. arrayResponse = response;
  60. var keys = Object.keys(response[0]);
  61. createFirstRowOcc(keys);
  62. var ll = response.length;
  63. for (var i=0; i<ll; i++) {
  64. let newRow = response[i];
  65. createOccRow(i, newRow);
  66. }
  67. }
  68. //$("#result").append(response);
  69. }
  70. //Funzione per gestire i contesti
  71. function processSingleContext(response){
  72. if(response.length==0){
  73. alert('No results!')
  74. }
  75. else {
  76. console.log(response);
  77. createPage(response[0]);
  78. }
  79. }
  80. let queryDTO = {};
  81. function funzioneRicerca(){
  82. $("#result").html("");
  83. $("#loader").css("display", "block");
  84. let collection_elementoDaRicercare = document.getElementsByClassName("barraDiRicerca");
  85. var collection_types = document.getElementsByClassName("flViewBy");
  86. var collection_lenght = collection_elementoDaRicercare.length;
  87. let distanza = document.getElementById("distanza").value;
  88. let queryList = [];
  89. var periodo = 0;
  90. var ordinate = 0;
  91. var i = 0;
  92. for (i; i < collection_lenght; i++) {
  93. elementoDaRicercare = collection_elementoDaRicercare[i].value;
  94. let word = elementoDaRicercare;
  95. var tipo = "";
  96. var espansa = 0;
  97. var raddoppiata = 0;
  98. var noLemma = 0;
  99. var formeLemmi = 0;
  100. var check_tipo = collection_types[i].value;
  101. //NOLEMMA DEVE ESSERE CONVERTITO IN TIPO (TIPO = 0, 1, 2), TIPO = 2 SE NOLEMMA è SELEZIONATO
  102. if ($('#occ_' + i + ' .ricercaEx').prop("checked"))
  103. {
  104. espansa = 1;
  105. }
  106. if ($('#occ_' + i + ' .raddoppiata').prop("checked"))
  107. {
  108. raddoppiata = 1;
  109. }
  110. if ($('#occ_' + i + ' .showOther').prop("checked"))
  111. {
  112. formeLemmi = 1;
  113. }
  114. if ($('#occ_' + i + ' .lemmatizzata').prop("checked"))
  115. {
  116. noLemma = 1;
  117. }
  118. if ((check_tipo == "forma") && (formeLemmi == 0)) {
  119. tipo = "forma";
  120. }
  121. else if ((check_tipo == "forma") && (formeLemmi == 1)) {
  122. tipo = "formaLemma";
  123. }
  124. else if ((check_tipo == "lemma") && (noLemma == 1)) {
  125. tipo = "soloLemmatizzate";
  126. }
  127. else if ((check_tipo == "lemma") && (formeLemmi == 0)) {
  128. tipo = "lemma";
  129. }
  130. else if ((check_tipo == "lemma") && (formeLemmi == 1)) {
  131. tipo = "lemmaForma";
  132. }
  133. queryList.push( {"stringa": word, "espansa": espansa, "raddoppiata": raddoppiata, "tipo": tipo} );
  134. //$("#params").append("I tuoi parametri: " + word + "; " + tipo + "; " + espansa + "; " + raddoppiata + "; " + formeLemmi);
  135. }
  136. if ($('#periodo').prop("checked"))
  137. {
  138. periodo = 1;
  139. }
  140. if ($('#ordinate').prop("checked"))
  141. {
  142. ordinate = 1;
  143. }
  144. let cooccorrenze = {"distanza": distanza, "stesso_periodo": periodo, "ordinate": ordinate};
  145. let numb = document.getElementById("search_form").childElementCount;
  146. if (numb < 2) {
  147. queryDTO = {
  148. queryList: queryList
  149. }
  150. getData('/simple_get_query', queryDTO)
  151. // After request finishes, process response data
  152. .done(response => processData(response))
  153. .fail(err => {
  154. console.log(err);
  155. $("#loader").css("display", "none");
  156. alert('Something went wrong!');
  157. });
  158. } else {
  159. queryDTO = {
  160. queryList: queryList,
  161. cooccorrenze: cooccorrenze
  162. }
  163. getData('/simple_get_query', queryDTO)
  164. // After request finishes, process response data
  165. .done(response => processOccData(response))
  166. .fail(err => {
  167. console.log(err);
  168. $("#loader").css("display", "none");
  169. alert('Something went wrong!');
  170. });
  171. }
  172. console.log(queryDTO);
  173. $("#lauchSearchContext").css("display", "flex");
  174. }
  175. function checkContext() {
  176. let resulTable = document.getElementById("result");
  177. const checkBoxes = resulTable.querySelectorAll('input[type="checkbox"]');
  178. let arrayContesti = [];
  179. var selected = [];
  180. $('#result input:checked').each(function() {
  181. //selected.push($(this).attr('id'));
  182. var checkNum = $(this).attr('id');
  183. selected.push(checkNum);
  184. });
  185. for (var i=0; i<arrayResponse.length; i++) {
  186. for (var j=0; j<selected.length; j++) {
  187. if (arrayResponse[i]["cod"] == selected[j]) {
  188. arrayResponse[i]["selected"] = true;
  189. arrayContesti.push(arrayResponse[i]);
  190. }
  191. }
  192. }
  193. queryDTO["listResults"] = arrayContesti;
  194. console.log(queryDTO);
  195. $("#result").html("");
  196. $("#loader").css("display", "block");
  197. getData('/get_context', queryDTO)
  198. // After request finishes, process response data
  199. .done(response => processOccData(response))
  200. .fail(err => {
  201. console.log(err);
  202. $("#loader").css("display", "none");
  203. alert('Something went wrong!');
  204. });
  205. // .always(response => console.log(response));
  206. }
  207. $( document ).ready(function() {
  208. $("select").on("change", function(event) {
  209. var e = this.value;
  210. var word = "";
  211. if (e == "forma") {
  212. word = "lemmi";
  213. var parent = this.parentElement.parentElement.parentElement.parentElement.parentElement;
  214. var pp = parent.getElementsByClassName("lemmatizzata");
  215. console.log(pp[0]);
  216. }
  217. else {
  218. word = "forme";
  219. }
  220. $("#mostraFormaLemma").html(word);
  221. });
  222. var occ = 0;
  223. $("#btnGroupAddon").click(function() {
  224. $("#cooccorrenze_options").css("display", "flex");
  225. $("#inner_altro").css("display", "none");
  226. $("#inner_lemmatizzato").css("display", "flex");
  227. if (occ > 8) {
  228. alert("Hai esaurito i parametri a disposizione");
  229. }
  230. else {
  231. occ = occ + 1;
  232. createNewCC(occ);
  233. }
  234. });
  235. });
  236. function createNewCC(occ) {
  237. var new_id = "occ_" + occ;
  238. var new_par = document.createElement('div');
  239. new_par.className = "row height d-flex justify-content-center align-items-center";
  240. new_par.id = new_id;
  241. var search_params = document.createElement('div');
  242. search_params.className = "col search_params";
  243. var choose_param = document.createElement('div');
  244. choose_param.className = "row choose_param";
  245. var col_6 = document.createElement('div');
  246. col_6.className = "col-5";
  247. var input_group = document.createElement('div');
  248. input_group.className = "input-group form-check";
  249. var inputSel = document.createElement('input');
  250. inputSel.className = "barraDiRicerca form-control";
  251. inputSel.type = "text";
  252. //Create and append select list
  253. var selectList = document.createElement("select");
  254. selectList.className = "flViewBy";
  255. //Create and append the options
  256. var optionForma = document.createElement("option");
  257. optionForma.value = "forma";
  258. optionForma.text = "Forma";
  259. optionForma.selected = "selected";
  260. selectList.appendChild(optionForma);
  261. var optionLemma = document.createElement("option");
  262. optionLemma.value = "lemma";
  263. optionLemma.text = "Lemma";
  264. selectList.appendChild(optionLemma);
  265. var col_form = document.createElement("div");
  266. col_form.className = "col-2";
  267. var form_check = document.createElement("div");
  268. form_check.className = "form-check";
  269. var input_ricerca_espansa = document.createElement("input");
  270. input_ricerca_espansa.className = "ricercaEx form-check-input";
  271. input_ricerca_espansa.value = "ricerca_espansa";
  272. input_ricerca_espansa.type = "checkbox";
  273. input_ricerca_espansa.name = "espansa";
  274. var label_ricerca_espansa = document.createElement("label");
  275. label_ricerca_espansa.className = "form-check-label";
  276. label_ricerca_espansa.innerHTML = "Ricerca espansa";
  277. var col_form2 = document.createElement("div");
  278. col_form2.className = "col-2";
  279. var form_check2 = document.createElement("div");
  280. form_check2.className = "form-check";
  281. var input_ricerca_raddoppiata = document.createElement("input");
  282. input_ricerca_raddoppiata.className = "raddoppiata form-check-input";
  283. input_ricerca_raddoppiata.value = "raddoppiata";
  284. input_ricerca_raddoppiata.type = "checkbox";
  285. input_ricerca_raddoppiata.name = "raddoppiata";
  286. var label_ricerca_raddoppiata = document.createElement("label");
  287. label_ricerca_raddoppiata.className = "form-check-label";
  288. label_ricerca_raddoppiata.innerHTML = "Raddoppiata";
  289. var col_form3 = document.createElement("div");
  290. col_form3.className = "col-2";
  291. var form_check3 = document.createElement("div");
  292. form_check3.className = "form-check";
  293. var input_ricerca_lemmatizzata = document.createElement("input");
  294. input_ricerca_lemmatizzata.className = "lemmatizzata form-check-input";
  295. input_ricerca_lemmatizzata.value = "lemmatizzata";
  296. input_ricerca_lemmatizzata.type = "checkbox";
  297. input_ricerca_lemmatizzata.name = "lemmatizzata";
  298. input_ricerca_lemmatizzata.disabled = "true";
  299. var label_ricerca_lemmatizzata = document.createElement("label");
  300. label_ricerca_lemmatizzata.className = "form-check-label";
  301. label_ricerca_lemmatizzata.innerHTML = "Cerca solo lemmatizzate";
  302. var col_form4 = document.createElement("div");
  303. col_form4.className = "col-1";
  304. var form_check4 = document.createElement("div");
  305. form_check4.className = "form-check deleteCC";
  306. form_check4.id = occ;
  307. var trash_button = document.createElement("button");
  308. trash_button.className = "btn";
  309. var trash_icon = document.createElement("i");
  310. trash_icon.className = "fa fa-trash";
  311. input_group.appendChild(inputSel);
  312. input_group.appendChild(selectList);
  313. col_6.appendChild(input_group);
  314. form_check.appendChild(input_ricerca_espansa);
  315. form_check.appendChild(label_ricerca_espansa);
  316. col_form.appendChild(form_check);
  317. form_check2.appendChild(input_ricerca_raddoppiata);
  318. form_check2.appendChild(label_ricerca_raddoppiata);
  319. col_form2.appendChild(form_check2);
  320. form_check3.appendChild(input_ricerca_lemmatizzata);
  321. form_check3.appendChild(label_ricerca_lemmatizzata);
  322. col_form3.appendChild(form_check3);
  323. trash_button.appendChild(trash_icon);
  324. form_check4.appendChild(trash_button);
  325. col_form4.appendChild(form_check4);
  326. choose_param.appendChild(col_6);
  327. choose_param.appendChild(col_form);
  328. choose_param.appendChild(col_form2);
  329. choose_param.appendChild(col_form3);
  330. choose_param.appendChild(col_form4);
  331. search_params.appendChild(choose_param);
  332. new_par.appendChild(search_params);
  333. $("#search_form").append(new_par);
  334. }
  335. function changeFL(word) {
  336. $("#mostraFormaLemma").html(word);
  337. }
  338. function createFirstRow(param) {
  339. var row = document.createElement('div');
  340. row.className = "row height d-flex justify-content-center align-items-center";
  341. row.id = "first_row";
  342. if (param.includes("forma")) {
  343. var colForma = document.createElement('div');
  344. colForma.className = "col formaCol";
  345. colForma.append("Forma");
  346. row.append(colForma);
  347. }
  348. if (param.includes("lemma")) {
  349. var colLemma = document.createElement('div');
  350. colLemma.className = "col lemmaCol";
  351. colLemma.append("Lemma");
  352. row.append(colLemma);
  353. }
  354. if (param.includes("cat_gr")) {
  355. var categoria = document.createElement('div');
  356. categoria.className = "col cat_gr";
  357. categoria.append("Categoria Grammaticale");
  358. row.append(categoria);
  359. }
  360. if (param.includes("disambiguatore")) {
  361. var colDis = document.createElement('div');
  362. colDis.className = "col disambiguatore";
  363. colDis.append("Disambiguatore");
  364. row.append(colDis);
  365. }
  366. if (param.includes("occ")) {
  367. var colOcc = document.createElement('div');
  368. colOcc.className = "col occorrenze";
  369. colOcc.append("Occorrenze");
  370. row.append(colOcc);
  371. }
  372. var colSel = document.createElement('div');
  373. colSel.className = "col seleziona_elemento";
  374. colSel.append("Seleziona");
  375. row.append(colSel);
  376. $("#result").append(row);
  377. }
  378. //Crea prima riga per contesti multipli
  379. function createFirstRowOcc(param) {
  380. var row = document.createElement('div');
  381. row.className = "row height d-flex justify-content-center align-items-center";
  382. row.id = "first_row";
  383. if (param.includes("Titolo Abbreviato")) {
  384. var colTitolo = document.createElement('div');
  385. colTitolo.className = "col-2 abbrCol";
  386. colTitolo.append("Titolo Abbreviato");
  387. row.append(colTitolo);
  388. }
  389. if (param.includes("Rif_organico")) {
  390. var colRif = document.createElement('div');
  391. colRif.className = "col rifCol";
  392. colRif.append("Rif organico");
  393. row.append(colRif);
  394. }
  395. if (param.includes("pag")) {
  396. var colPag = document.createElement('div');
  397. colPag.className = "col pag";
  398. colPag.append("Pag");
  399. row.append(colPag);
  400. }
  401. if (param.includes("riga")) {
  402. var colRiga = document.createElement('div');
  403. colRiga.className = "col riga";
  404. colRiga.append("Riga");
  405. row.append(colRiga);
  406. }
  407. if (param.includes("stanza")) {
  408. var colStanza = document.createElement('div');
  409. colStanza.className = "col stanza";
  410. colStanza.append("Stanza");
  411. row.append(colStanza);
  412. }
  413. if (param.includes("tipostanza")) {
  414. var colTipoStanza = document.createElement('div');
  415. colTipoStanza.className = "col tipostanza";
  416. colTipoStanza.append("Tipo stanza");
  417. row.append(colTipoStanza);
  418. }
  419. if (param.includes("verso")) {
  420. var colVerso = document.createElement('div');
  421. colVerso.className = "col verso";
  422. colVerso.append("Verso");
  423. row.append(colVerso);
  424. }
  425. if (param.includes("contesto")) {
  426. var colContesto = document.createElement('div');
  427. colContesto.className = "col-4 contesto";
  428. colContesto.append("Contesto");
  429. row.append(colContesto);
  430. }
  431. $("#result").append(row);
  432. }
  433. //
  434. function createRow(num, elem) {
  435. var cat_gr = elem["cat_gr"];
  436. var disambiguatore = elem["disambiguatore"];
  437. var forma = elem["forma"];
  438. var lemma = elem["lemma"];
  439. var occ = elem["occ"];
  440. var cod = elem["cod"];
  441. var row = document.createElement('div');
  442. row.className = "row height d-flex justify-content-center align-items-center";
  443. row.id = num;
  444. if (elem.hasOwnProperty('forma')) {
  445. var colForma = document.createElement('div');
  446. colForma.className = "col formaCol";
  447. colForma.append(forma);
  448. row.append(colForma);
  449. }
  450. if (elem.hasOwnProperty('lemma')) {
  451. var colLemma = document.createElement('div');
  452. colLemma.className = "col lemmaCol";
  453. colLemma.append(lemma);
  454. row.append(colLemma);
  455. }
  456. if (elem.hasOwnProperty('cat_gr')) {
  457. var categoria = document.createElement('div');
  458. categoria.className = "col cat_gr";
  459. categoria.append(cat_gr);
  460. row.append(categoria);
  461. }
  462. if (elem.hasOwnProperty('disambiguatore')) {
  463. var colDis = document.createElement('div');
  464. colDis.className = "col disambiguatore";
  465. colDis.append(disambiguatore);
  466. row.append(colDis);
  467. }
  468. if (elem.hasOwnProperty('occ')) {
  469. var colOcc = document.createElement('div');
  470. colOcc.className = "col occorrenze";
  471. colOcc.append(occ);
  472. row.append(colOcc);
  473. }
  474. var colSel = document.createElement('div');
  475. colSel.className = "col seleziona_elemento";
  476. var inputSel = document.createElement('input');
  477. inputSel.className = "form-check-selected";
  478. inputSel.id = cod;
  479. inputSel.type = "checkbox";
  480. colSel.append(inputSel);
  481. row.append(colSel);
  482. $("#result").append(row);
  483. }
  484. //Crea tabella cooccorrenze
  485. function createOccRow(num, elem) {
  486. var titolo_abbreviato = elem["Titolo Abbreviato"];
  487. var contesto = elem["contesto"];
  488. contesto = contesto.replace(/\n/g, "<br />");
  489. let words = elem["highlights_combined"];
  490. var rif_organico = elem["Rif_organico"];
  491. var pag = elem["pag"];
  492. var riga = elem["riga"];
  493. var stanza = elem["stanza"];
  494. var tipostanza = elem["tipostanza"];
  495. var verso = elem["verso"];
  496. for (var i=0; i<words.length; i++) {
  497. contesto = contesto.replace(words[i], '<span class="highlight">' + words[i] + '</span>');
  498. }
  499. //contesto = contesto.replace(/\n/g, "<br />");
  500. //let str = contesto.replace(word, '<span style="color:red">' + word + '</span>');
  501. var row = document.createElement('div');
  502. row.className = "row height d-flex justify-content-center align-items-center";
  503. row.id = num;
  504. var onClickCommand = "goToSingleContext(" + num + ", 31, 0, 0)";
  505. row.setAttribute("onclick", onClickCommand);
  506. if (elem.hasOwnProperty('Titolo Abbreviato')) {
  507. var colTitolo = document.createElement('div');
  508. colTitolo.className = "col-2 abbrCol";
  509. colTitolo.append(titolo_abbreviato);
  510. row.append(colTitolo);
  511. }
  512. if (elem.hasOwnProperty('Rif_organico')) {
  513. var colRif = document.createElement('div');
  514. colRif.className = "col rifCol";
  515. colRif.append(rif_organico);
  516. row.append(colRif);
  517. }
  518. if (elem.hasOwnProperty('pag')) {
  519. var colPag = document.createElement('div');
  520. colPag.className = "col pagCol";
  521. colPag.append(pag);
  522. row.append(colPag);
  523. }
  524. if (elem.hasOwnProperty('riga')) {
  525. var colRiga = document.createElement('div');
  526. colRiga.className = "col rigaCol";
  527. colRiga.append(riga);
  528. row.append(colRiga);
  529. }
  530. if (elem.hasOwnProperty('stanza')) {
  531. var colStanza = document.createElement('div');
  532. colStanza.className = "col stanzaCol";
  533. colStanza.append(stanza);
  534. row.append(colStanza);
  535. }
  536. if (elem.hasOwnProperty('tipostanza')) {
  537. var colTipoStanza = document.createElement('div');
  538. colTipoStanza.className = "col tipostanzaCol";
  539. colTipoStanza.append(tipostanza);
  540. row.append(colTipoStanza);
  541. }
  542. if (elem.hasOwnProperty('verso')) {
  543. var colVerso = document.createElement('div');
  544. colVerso.className = "col versoCol";
  545. colVerso.append(verso);
  546. row.append(colVerso);
  547. }
  548. if (elem.hasOwnProperty('contesto')) {
  549. var colContesto = document.createElement('div');
  550. colContesto.className = "col-4 contestoCol";
  551. colContesto.innerHTML = contesto;
  552. row.append(colContesto);
  553. }
  554. $("#result").append(row);
  555. }
  556. //
  557. //START GET SINGLE CONTEXT
  558. function goToSingleContext(num, parole, periodi, brani) {
  559. let params = {"indice": num, "parole": parole, "periodi": periodi, "brani": brani};
  560. let queryGSC = {
  561. elem: arrayResponse[num],
  562. params: params
  563. }
  564. getData('/get_single_context', queryGSC)
  565. // After request finishes, process response data
  566. .done(response => processSingleContext(response))
  567. .fail(err => {
  568. console.log(err);
  569. $("#loader").css("display", "none");
  570. alert('Something went wrong!');
  571. });
  572. }
  573. //CREATE NEW PAGE FOR SINGLE CONTEXT
  574. function createPage(elem) {
  575. var contesto = elem['contesto'];
  576. /*
  577. var contesto = elem['contesto'];
  578. var annoF = elem["Anno finale"];
  579. var anniI = elem["Anno iniziale"];
  580. var area_generica = elem["Area generica"];
  581. var area_specifica = elem["Area specifica"];
  582. var autore = elem["Autore"];
  583. var curatore = Curatore;
  584. var data_cod = Data codificata;
  585. var data_des = descrittiva
  586. var forma = Forma
  587. var genere = Genere
  588. var iq = IQ
  589. var rif_organico = Rif_organico
  590. var rig = Rig_completo
  591. var tipo = Tipo
  592. var titolo = Titolo
  593. var titolo_abb = Titolo Abbreviato
  594. var cat_gr
  595. var cod
  596. var col
  597. var disambiguatore
  598. var elemlen
  599. var formattazione
  600. var highlight
  601. var highlights_combined
  602. var lemma
  603. var links
  604. var mappa
  605. var ntx
  606. var numbrano
  607. var numorg
  608. var numperiod
  609. var pag
  610. var pfin
  611. var piniz
  612. var pitxt
  613. var riga
  614. var sigla
  615. var stanza
  616. var tipostanza
  617. var verso
  618. var vol
  619. var note = "";
  620. var testo_associato = "";*/
  621. console.log(elem);
  622. // if (elem.hasOwnProperty('contesto')) {
  623. // contesto = elem["contesto"];
  624. // }
  625. //var opened = window.open("pages/singleContext.html");
  626. //opened.write("<h2>" + contesto + "</h2>");
  627. var win = window.open("");
  628. win.document.body.innerHTML = "<p>" + contesto + "</p>";
  629. }
  630. $(document).on("click", ".deleteCC", function (ev) {
  631. var deleteID = "occ_" + this.id;
  632. const element = document.getElementById(deleteID);
  633. element.remove();
  634. let numb = document.getElementById("search_form").childElementCount;
  635. if (numb < 2) {
  636. $("#cooccorrenze_options").css("display", "none");
  637. $("#inner_altro").css("display", "flex");
  638. $("#inner_lemmatizzato").css("display", "none");
  639. }
  640. });
  641. $(document).on("change", ".flViewBy", function (ev) {
  642. var check_tipo = this.value;
  643. var parent = this.parentElement.parentElement.parentElement.parentElement.parentElement;
  644. var cc = parent.getElementsByClassName("lemmatizzata");
  645. if (check_tipo == "forma") {
  646. cc[0].disabled = true;
  647. cc[0].checked = false;
  648. }
  649. else if (check_tipo == "lemma"){
  650. cc[0].disabled = false;
  651. }
  652. });