gestione risultato vuoto, in progress

This commit is contained in:
cesare 2025-03-21 10:43:46 +01:00
parent f067e254b6
commit a03677f59e
1 changed files with 96 additions and 83 deletions

View File

@ -570,7 +570,7 @@ $(document).ready(function() {
//rimuove il grafo sintattico se c'è' //rimuove il grafo sintattico se c'è'
resetGraphStr() resetGraphStr()
emptyStructCard() emptyStructCard()
$(".filterRiferimentiOn").css('display', 'none'); $(".filterRiferimentiOn").css('display', 'none');
$(".filterRiferimentiOff").css('display', 'none'); $(".filterRiferimentiOff").css('display', 'none');
@ -580,12 +580,12 @@ $(document).ready(function() {
const cid = $(this).attr('name').replace(" ", "_"); const cid = $(this).attr('name').replace(" ", "_");
var telive = getListaRis() var telive = getListaRis()
cantoDisplayed = "#" + cid; cantoDisplayed = "#" + cid;
if(!telive.length > 0 || !showingComments){ if (!telive.length > 0 || !showingComments) {
$('#displaynote').empty(); $('#displaynote').empty();
$('#displaynote').append($(emptyNoteList)) $('#displaynote').append($(emptyNoteList))
} }
showingComments = false; showingComments = false;
if (telive.length > 0) { if (telive.length > 0) {
@ -1028,7 +1028,7 @@ $(document).ready(function() {
var noteAdded; var noteAdded;
jQuery(document).delegate(' .showcomments', 'click', function() { jQuery(document).delegate(' .showcomments', 'click', function() {
var cid = $(this).attr('id'); var cid = $(this).attr('id');
var filterOn = true; var filterOn = true;
var risultato; var risultato;
@ -1044,63 +1044,63 @@ $(document).ready(function() {
case "3": cantica = "Paradiso"; case "3": cantica = "Paradiso";
} }
if (idsRisultato.length > 0) { if (idsRisultato.length > 0) {
risultato = true; risultato = true;
} else { } else {
risultato = false; risultato = false;
} }
idRisultato = cantica + "_Canto_" + parcid[2] + "_" + parcid[3] + "_sp"; idRisultato = cantica + "_Canto_" + parcid[2] + "_" + parcid[3] + "_sp";
if (idsRisultato.includes(idRisultato)){ if (idsRisultato.includes(idRisultato)) {
risultato = true; risultato = true;
}else{ } else {
risultato = false; risultato = false;
} }
switch (parcid[0]) { switch (parcid[0]) {
case "Commento": case "Commento":
case "CommentoRes": case "CommentoRes":
if (risultato){ if (risultato) {
$(".filterRiferimentiOn").css('display', 'none'); $(".filterRiferimentiOn").css('display', 'none');
$(".filterRiferimentiOff").css('display', 'inline-block'); $(".filterRiferimentiOff").css('display', 'inline-block');
filterOn = true; filterOn = true;
}else{ } else {
$(".filterRiferimentiOn").css('display', 'none'); $(".filterRiferimentiOn").css('display', 'none');
$(".filterRiferimentiOff").css('display', 'none'); $(".filterRiferimentiOff").css('display', 'none');
filterOn = false; filterOn = false;
} }
break; break;
case "CommentoQuery": case "CommentoQuery":
if(parcid[4] == "On"){ if (parcid[4] == "On") {
$(".filterRiferimentiOn").css('display','none'); $(".filterRiferimentiOn").css('display', 'none');
$(".filterRiferimentiOff").css('display','inline-block'); $(".filterRiferimentiOff").css('display', 'inline-block');
filterOn = true; filterOn = true;
}else{ } else {
$(".filterRiferimentiOn").css('display','inline-block'); $(".filterRiferimentiOn").css('display', 'inline-block');
$(".filterRiferimentiOff").css('display','none'); $(".filterRiferimentiOff").css('display', 'none');
filterOn = false; filterOn = false;
} }
break; break;
} }
if (cantoDisplayed.includes('#vistaFrasi')) { if (cantoDisplayed.includes('#vistaFrasi')) {
commentsSQL=getCommentsInResult($(this).attr('id'), $(this).attr('class')) commentsSQL = getCommentsInResult($(this).attr('id'), $(this).attr('class'))
if (commentsSQL.length==0) if (commentsSQL.length == 0)
return return
} }
if (!cantoDisplayed.includes('#vistaFrasi') && !hasCommentsJson(cid)) { if (!cantoDisplayed.includes('#vistaFrasi') && !hasCommentsJson(cid)) {
return return
} }
var commentArea = $('#displaynote'); var commentArea = $('#displaynote');
var idCommento = "CommentoQuery_" + parcid[1] + "_" + parcid[2] + "_" + parcid[3]; var idCommento = "CommentoQuery_" + parcid[1] + "_" + parcid[2] + "_" + parcid[3];
$(".filterRiferimentiOn").attr("id", idCommento+"_On") $(".filterRiferimentiOn").attr("id", idCommento + "_On")
$(".filterRiferimentiOff").attr("id", idCommento+"_Off") $(".filterRiferimentiOff").attr("id", idCommento + "_Off")
commentArea.empty() commentArea.empty()
if ($('#noteCard0').length) { if ($('#noteCard0').length) {
$("#noteCard0")[0].remove(); $("#noteCard0")[0].remove();
@ -1112,7 +1112,7 @@ $(document).ready(function() {
var currentGroup; var currentGroup;
allGrouplKeys.sort().some(function(k) { allGrouplKeys.sort().some(function(k) {
if (k == id || k.startsWith(id + '-')) { if (k == id || k.startsWith(id + '-')) {
gruppoVersi = k gruppoVersi = k
if (gruppoVersi.includes("-")) { if (gruppoVersi.includes("-")) {
versText = ", Versi " + gruppoVersi; versText = ", Versi " + gruppoVersi;
@ -1125,53 +1125,53 @@ $(document).ready(function() {
currentGroup.append(createNoteEntry(value, k, i, filterOn, risultato)) currentGroup.append(createNoteEntry(value, k, i, filterOn, risultato))
}); });
commentArea.append(currentGroup); commentArea.append(currentGroup);
if (!noteAdded && filterOn) { if (!noteAdded && filterOn) {
currentGroup.css('display', 'none'); currentGroup.css('display', 'none');
} }
} }
$('#tab-list #vis0-tab').tab('show') $('#tab-list #vis0-tab').tab('show')
}) })
}) })
function getCommentsInResult(tmpcid, tmpclass) { function getCommentsInResult(tmpcid, tmpclass) {
var versicomments=[] var versicomments = []
var myid=tmpcid.split('_') var myid = tmpcid.split('_')
var tmpresu = getRisultatiRiferimenti() var tmpresu = getRisultatiRiferimenti()
var resultComments = Object.groupBy(tmpresu, ({ Cantica }) => Cantica); var resultComments = Object.groupBy(tmpresu, ({ Cantica }) => Cantica);
var tcantica='Inferno' var tcantica = 'Inferno'
switch (myid[1]) { switch (myid[1]) {
case "2": tcantica = "Purgatorio"; case "2": tcantica = "Purgatorio";
break; break;
case "3": tcantica = "Paradiso"; case "3": tcantica = "Paradiso";
} }
if (! tcantica in resultComments) if (!tcantica in resultComments)
return versicomments return versicomments
var tmpCanti=resultComments[tcantica] var tmpCanti = resultComments[tcantica]
var cantiComments=Object.groupBy(tmpCanti, ({ Canto }) => Canto); var cantiComments = Object.groupBy(tmpCanti, ({ Canto }) => Canto);
if (myid[2].length==1) if (myid[2].length == 1)
myid[2]='0'+myid[2] myid[2] = '0' + myid[2]
if (! myid[2] in cantiComments) if (!myid[2] in cantiComments)
return versicomments return versicomments
var tmpversi=cantiComments[myid[2]] var tmpversi = cantiComments[myid[2]]
var isin=false var isin = false
versicomments=Object.groupBy(tmpversi, ({ VersoCitazione }) => VersoCitazione); versicomments = Object.groupBy(tmpversi, ({ VersoCitazione }) => VersoCitazione);
for (const [keyt, value] of Object.entries(versicomments)) { for (const [keyt, value] of Object.entries(versicomments)) {
if (keyt == myid[3] || keyt.startsWith(myid[3] + '-')) { if (keyt == myid[3] || keyt.startsWith(myid[3] + '-')) {
isin= true isin = true
break break
} }
} }
if (!isin) if (!isin)
versicomments=[] versicomments = []
return versicomments return versicomments
} }
function createNoteGroup(cantica, canto, versi, id, len) { function createNoteGroup(cantica, canto, versi, id, len) {
@ -1213,11 +1213,11 @@ $(document).ready(function() {
function createNoteEntry(comments, id, pos, filterOn, risultato) { function createNoteEntry(comments, id, pos, filterOn, risultato) {
var idref = comments.IdRiferimento var idref = comments.IdRiferimento
var noteCard = $('<div class="card card-body well well-sm mx-1 mb-1 mt-0 p-0 border-lida08" id="noteCard' + id + '_' + pos + '"' + ' name= "' + idref + '">'); var noteCard = $('<div class="card card-body well well-sm mx-1 mb-1 mt-0 p-0 border-lida08" id="noteCard' + id + '_' + pos + '"' + ' name= "' + idref + '">');
if(risultato){ if (risultato) {
if (isCommentInResult(idref)) { if (isCommentInResult(idref)) {
var noteCard = $('<div class="card card-body bg-light border-success well well-sm mx-1 mb-1 mt-0 p-0" id="noteCard' + id + '_' + pos + '"' + ' name= "' + idref + '">'); var noteCard = $('<div class="card card-body bg-light border-success well well-sm mx-1 mb-1 mt-0 p-0" id="noteCard' + id + '_' + pos + '"' + ' name= "' + idref + '">');
noteAdded = true; noteAdded = true;
}else{ } else {
if (filterOn) { if (filterOn) {
noteCard.css("display", "none"); noteCard.css("display", "none");
} else { } else {
@ -1225,7 +1225,7 @@ $(document).ready(function() {
} }
} }
} }
var collapseCardBody = $('<div class="card-body px-0 py-1 mx-3 my-0 border-top rounded" >'); var collapseCardBody = $('<div class="card-body px-0 py-1 mx-3 my-0 border-top rounded" >');
var divCampiSingoli = $('<div class="d-flex align-content-start flex-wrap text-muted">'); var divCampiSingoli = $('<div class="d-flex align-content-start flex-wrap text-muted">');
//createNoteHeader(noteCard, comments, id, pos, cantica, parcid, saveVersoCitazione); //createNoteHeader(noteCard, comments, id, pos, cantica, parcid, saveVersoCitazione);
@ -1275,7 +1275,7 @@ $(document).ready(function() {
} }
collapseCardBody.appendTo(collapseNote); collapseCardBody.appendTo(collapseNote);
collapseNote.appendTo(noteCard); collapseNote.appendTo(noteCard);
return noteCard; return noteCard;
} }
@ -1857,7 +1857,7 @@ $(document).ready(function() {
managePage(); managePage();
//$("#loader").fadeOut(300); //$("#loader").fadeOut(300);
//$("#cantica0").trigger("click"); //$("#cantica0").trigger("click");
} else { } else {
return; return;
} }
@ -1883,7 +1883,7 @@ $(document).ready(function() {
filterButton1.appendTo(cardRiferimenti) filterButton1.appendTo(cardRiferimenti)
filterBottonAdded = true; filterBottonAdded = true;
} }
$("#collapseZero").collapse('show'); $("#collapseZero").collapse('show');
$("#collapseInferno").collapse('hide'); $("#collapseInferno").collapse('hide');
$("#collapsePurgatorio").collapse('hide'); $("#collapsePurgatorio").collapse('hide');
@ -2009,9 +2009,9 @@ $(document).ready(function() {
var flagRisultato; var flagRisultato;
for (var elverso of versicontesto) { for (var elverso of versicontesto) {
if (versoCommentato(elverso)) { if (versoCommentato(elverso)) {
if (uniq_res.includes(elverso)){ if (uniq_res.includes(elverso)) {
flagRisultato = true; flagRisultato = true;
}else{ } else {
flagRisultato = false; flagRisultato = false;
} }
var tresa = elverso.split('_') var tresa = elverso.split('_')
@ -2025,9 +2025,9 @@ $(document).ready(function() {
var apio = $("#" + aidCommento) var apio = $("#" + aidCommento)
if (apio.length) if (apio.length)
continue; continue;
elverso=elverso.replace('_Proemio', '_0') elverso = elverso.replace('_Proemio', '_0')
var myverso = $('#' + elverso.replace('sp', 'res')) var myverso = $('#' + elverso.replace('sp', 'res'))
createCommentSpan(aidCommento, myverso, 1 ,flagRisultato) createCommentSpan(aidCommento, myverso, 1, flagRisultato)
} }
} }
/*var tmpresu=getRisultatiRiferimenti() /*var tmpresu=getRisultatiRiferimenti()
@ -2091,8 +2091,11 @@ $(document).ready(function() {
var ultimaFormaCanto; var ultimaFormaCanto;
let numeroPeriodo = 1; let numeroPeriodo = 1;
showingComments = false; showingComments = false;
let startindex=800*(parseInt(canto)-1)
formecantica.map(function(item) { let reformecantica=formecantica.slice(startindex)
//formecantica.map(function(item) {
reformecantica.map(function(item) {
formaItem = item.split("_"); formaItem = item.split("_");
var sentenceid = idcantica + "_" + formaItem[1] + "_s_" + formaItem[5] var sentenceid = idcantica + "_" + formaItem[1] + "_s_" + formaItem[5]
if (formaItem[1] == canto) { if (formaItem[1] == canto) {
@ -2209,7 +2212,7 @@ $(document).ready(function() {
spanoccorrenza.appendTo(elementoverso) spanoccorrenza.appendTo(elementoverso)
} }
function createCommentSpan(idVerso, elementoverso, numberOfComments, flagRisultato=false) { function createCommentSpan(idVerso, elementoverso, numberOfComments, flagRisultato = false) {
var spanoccorrenza = $('<button />') var spanoccorrenza = $('<button />')
spanoccorrenza.attr('id', idVerso) spanoccorrenza.attr('id', idVerso)
//btn-sm btn-outline-secondary //btn-sm btn-outline-secondary
@ -2317,7 +2320,7 @@ $(document).ready(function() {
if (digits == 2) if (digits == 2)
spannum.append('\xa0') spannum.append('\xa0')
spannum.append(num + '. ')*/ spannum.append(num + '. ')*/
var elementoverso = $('<li />') var elementoverso = $('<li class="f6 mb-0 text-muted text-nowrap font-weight-lighter "/>')
/*var elementoversospan=$('<span />')*/ /*var elementoversospan=$('<span />')*/
//elementoverso.append(spannum) //elementoverso.append(spannum)
@ -2325,7 +2328,7 @@ $(document).ready(function() {
//elementoverso.attr("style", "line-height: 1.0em") //elementoverso.attr("style", "line-height: 1.0em")
elementoverso.attr('class', 'f6 mb-0 text-muted text-nowrap font-weight-lighter ')//+cantica+' '+canto) //elementoverso.attr('class', 'f6 mb-0 text-muted text-nowrap font-weight-lighter ')//+cantica+' '+canto)
//elementoverso.attr('class', 'text-nowrap ')//+cantica+' '+canto) //elementoverso.attr('class', 'text-nowrap ')//+cantica+' '+canto)
elementoverso.attr('id', cantica + "_" + canto + "_" + num) elementoverso.attr('id', cantica + "_" + canto + "_" + num)
@ -2514,9 +2517,18 @@ $(document).ready(function() {
var listaclausole = Array.from(resultClauses) var listaclausole = Array.from(resultClauses)
listaPeriodiRisultato = [] listaPeriodiRisultato = []
listaClausoleRisultato = [] listaClausoleRisultato = []
listaClausoleRisultatoContesti = [] listaClausoleRisultatoContesti = []
//controllo se ci sono risultati
if (listarisultati.length == 0 && listaclausole.length == 0) {
$("#loader").fadeOut(300);
console.log("Nessun risultato!")
return
}
//Unità di ricerca è 'frase' //Unità di ricerca è 'frase'
if ((!listarisultati.length && unitaRicerca == 'forme') || unitaRicerca == 'frase' || unitaRicerca == 'verso') { if ((!listarisultati.length && unitaRicerca == 'forme') || unitaRicerca == 'frase' || unitaRicerca == 'verso') {
@ -2525,6 +2537,7 @@ $(document).ready(function() {
resultsInCantica = [] resultsInCantica = []
resultsInCanto = [] resultsInCanto = []
//listaPeriodiRisultato = [] //listaPeriodiRisultato = []
if (listaclausole.length) { if (listaclausole.length) {
for (var frase of listaclausole) { for (var frase of listaclausole) {
var fraseItems = frase.split('-'); var fraseItems = frase.split('-');