ris riferimenti, in progress

This commit is contained in:
cesare 2025-03-17 18:29:24 +01:00
parent 739d7a5262
commit 6d0dc88adf
3 changed files with 98 additions and 61 deletions

View File

@ -61,6 +61,7 @@ $(document).ready(function() {
/*var commentsArray = [] /*var commentsArray = []
var commentsJson = {}*/ var commentsJson = {}*/
var commentsSQL = {} var commentsSQL = {}
var resultcommentsSQL = {}
/*var resultSentences = new Set()*/ /*var resultSentences = new Set()*/
const cantiche = ["Inferno", "Purgatorio", "Paradiso"] const cantiche = ["Inferno", "Purgatorio", "Paradiso"]
var loadedCanti = new Set(); var loadedCanti = new Set();
@ -581,7 +582,7 @@ $(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) { if (telive.length > 0) {
@ -606,16 +607,16 @@ $(document).ready(function() {
forma = formeterza; forma = formeterza;
numeroCantica = 3; numeroCantica = 3;
} }
if (!(loadedCanti.has(cid))) { if (!(loadedCanti.has(cid))) {
showCanto(forma, '1', parcid[1]) showCanto(forma, '1', parcid[1])
loadedCanti.add(cid) loadedCanti.add(cid)
} }
for (var tel of telive) { for (var tel of telive) {
var telId = tel.split("_"); var telId = tel.split("_");
var commento = "#Commento_"+numeroCantica+"_" + telId[2] + "_" + telId[3]; var commento = "#Commento_" + numeroCantica + "_" + telId[2] + "_" + telId[3];
telId = "#" + telId[0] + telId[1] + "_" + telId[2]; telId = "#" + telId[0] + telId[1] + "_" + telId[2];
$(commento).addClass("risultato ") $(commento).addClass("risultato ")
$(telId + " #" + tel.replace('|', '')).addClass("mark ") $(telId + " #" + tel.replace('|', '')).addClass("mark ")
@ -1022,7 +1023,12 @@ $(document).ready(function() {
} }
} }
var noteAdded; var noteAdded;
jQuery(document).delegate(' .showcomments', 'click', function() { jQuery(document).delegate(' .showcomments', 'click', function() {
if (cantoDisplayed.includes('#vistaFrasi')) {
showCommentsInResult($(this).attr('id'), $(this).attr('class'))
return
}
var cid = $(this).attr('id'); var cid = $(this).attr('id');
var queryComment = false; var queryComment = false;
var idClass = $(this).attr('class'); var idClass = $(this).attr('class');
@ -1129,6 +1135,35 @@ $(document).ready(function() {
}) })
function showCommentsInResult(tmpcid, tmpclass) {
var queryComment = false;
var myid=tmpcid.split('_')
//var parentClass = $(this).parent().attr('class');
filterOn = true;
if (tmpclass.includes("filterRiferimentiOn")) {
filterOn = true;
} else {
if (tmpclass.includes("filterRiferimentiOff")) {
filterOn = false;
}
}
var tmpresu = getRisultatiRiferimenti()
var resultComments = Object.groupBy(tmpresu, ({ Cantica }) => Cantica);
var tcantica='Inferno'
if (myid=='2')
tcantica='Purgatorio'
if (myid=='3')
tcantica='Paradiso'
if (! tcantica in resultComments)
return
var tmpCanti=resultComments[tcantica]
var cantiComments=Object.groupBy(tmpresu, ({ Canto }) => Canto);
}
function createNoteGroup(cantica, canto, versi, id, len, queryComment) { function createNoteGroup(cantica, canto, versi, id, len, queryComment) {
var noteGroupCard = $('<div class="card card-body noteCardGroup well well-sm mx-1 my-2 p-0" id="noteGroupCard' + id + '">'); var noteGroupCard = $('<div class="card card-body noteCardGroup well well-sm mx-1 my-2 p-0" id="noteGroupCard' + id + '">');
var commentHeader = $('<div class="d-flex align-content-start flex-nowrap text-muted" id="commentoGruppoVersi' + id + '">') var commentHeader = $('<div class="d-flex align-content-start flex-nowrap text-muted" id="commentoGruppoVersi' + id + '">')
@ -1655,7 +1690,7 @@ $(document).ready(function() {
//var latestPhraseId = ""; //var latestPhraseId = "";
var telive = getListaRis() var telive = getListaRis()
var numeroCantica; var numeroCantica;
for (var ve of telive) { for (var ve of telive) {
//let idve = ve //let idve = ve
var telId = ve.split("_"); var telId = ve.split("_");
@ -1667,14 +1702,14 @@ $(document).ready(function() {
case "Paradiso": numeroCantica = 3; case "Paradiso": numeroCantica = 3;
break; break;
} }
var commento = "#Commento_"+numeroCantica+"_" + telId[2] + "_" + telId[3]; var commento = "#Commento_" + numeroCantica + "_" + telId[2] + "_" + telId[3];
$(commento).removeClass("risultato ") $(commento).removeClass("risultato ")
if (ve[0]!='#') if (ve[0] != '#')
ve='#'+ve ve = '#' + ve
$(ve).removeClass("mark ") $(ve).removeClass("mark ")
minim.contents().find(ve.replace('|', '')).removeClass("mark ") minim.contents().find(ve.replace('|', '')).removeClass("mark ")
} }
const tmplistaidcomm = getListaIdCommenti() const tmplistaidcomm = getListaIdCommenti()
for (var idco of tmplistaidcomm) { for (var idco of tmplistaidcomm) {
//$('[name="' + cantica + 'Canto ' + k + '"]') //$('[name="' + cantica + 'Canto ' + k + '"]')
@ -1721,7 +1756,7 @@ $(document).ready(function() {
listaRisultatiCommenti = await queryRiferimentimul(jsonQuery, cantoDisplayed) listaRisultatiCommenti = await queryRiferimentimul(jsonQuery, cantoDisplayed)
} }
//carico i commenti risultato della query //carico i commenti risultato della query
showRisultatiCommenti(listaRisultatiCommenti) showRisultatiCommenti(listaRisultatiCommenti)
return return
} }
@ -1864,24 +1899,24 @@ $(document).ready(function() {
$("#vistaFrasi").attr('style', 'display: d-flex;'); $("#vistaFrasi").attr('style', 'display: d-flex;');
cantoDisplayed = "#vistaFrasi"; cantoDisplayed = "#vistaFrasi";
} }
var uniq_res = [...new Set(listaRisultatiCommenti)]; var uniq_res = [...new Set(listaRisultatiCommenti)];
var risLen = uniq_res.length; var risLen = uniq_res.length;
var risultato='' var risultato = ''
var setVersicontesto = new Set() var setVersicontesto = new Set()
for (var j = start; j < start + offset && j < risLen; j++) { for (var j = start; j < start + offset && j < risLen; j++) {
numeroRisultato++ numeroRisultato++
commentoRisultato = uniq_res[j].replace('#','').split("_") commentoRisultato = uniq_res[j].replace('#', '').split("_")
risultato=uniq_res[j] risultato = uniq_res[j]
if (setVersicontesto.has(commentoRisultato[0]+'_Canto_'+commentoRisultato[2]+'_'+commentoRisultato[3]+'_sp')) if (setVersicontesto.has(commentoRisultato[0] + '_Canto_' + commentoRisultato[2] + '_' + commentoRisultato[3] + '_sp'))
continue continue
var cre = getVersoContext(commentoRisultato, 3) var cre = getVersoContext(commentoRisultato, 3)
//console.log(cre) //console.log(cre)
var divVerso = '' var divVerso = ''
var elementoversospan='' var elementoversospan = ''
var numeroCantica = 0 var numeroCantica = 0
var canto = 0 var canto = 0
var versiIniziali = $('<div class="versiFrase mt-3" />') var versiIniziali = $('<div class="versiFrase mt-3" />')
@ -1889,7 +1924,7 @@ $(document).ready(function() {
listaVersi.attr('id', "Frase" + numeroRisultato); listaVersi.attr('id', "Frase" + numeroRisultato);
versiIniziali.attr('id', "versiFrase" + numeroRisultato); versiIniziali.attr('id', "versiFrase" + numeroRisultato);
if(commentoRisultato[3]!='Proemio'){ if (commentoRisultato[3] != 'Proemio') {
var numeroVersi = 0; var numeroVersi = 0;
for (var forma of cre) { for (var forma of cre) {
@ -1897,32 +1932,32 @@ $(document).ready(function() {
numeroCantica = forma.cantica numeroCantica = forma.cantica
canto = forma.canto canto = forma.canto
} }
if (!setVersicontesto.has(forma.cantica+'_Canto_'+forma.canto+'_'+forma.verso+'_sp')) { if (!setVersicontesto.has(forma.cantica + '_Canto_' + forma.canto + '_' + forma.verso + '_sp')) {
divVerso = createDivVersoGenericLi(forma.cantica, forma.verso+'_res', 'Canto_'+forma.canto) divVerso = createDivVersoGenericLi(forma.cantica, forma.verso + '_res', 'Canto_' + forma.canto)
elementoversospan = $('<span />') elementoversospan = $('<span />')
elementoversospan.attr('id', forma.cantica + "_" + 'Canto_'+forma.canto + "_" + forma.verso + '_sp_res') elementoversospan.attr('id', forma.cantica + "_" + 'Canto_' + forma.canto + "_" + forma.verso + '_sp_res')
divVerso.append(elementoversospan) divVerso.append(elementoversospan)
versiIniziali.append(divVerso) versiIniziali.append(divVerso)
listaVersi.append(versiIniziali) listaVersi.append(versiIniziali)
elencoRiferimenti.append(listaVersi) elencoRiferimenti.append(listaVersi)
setVersicontesto.add(forma.cantica+'_Canto_'+forma.canto+'_'+forma.verso+'_sp') setVersicontesto.add(forma.cantica + '_Canto_' + forma.canto + '_' + forma.verso + '_sp')
numeroVersi++; numeroVersi++;
} }
createSpanFormeNew(forma.testo, forma.catg, 'e' + forma.posizione, forma.periodo, forma.funzperiodo, elementoversospan) createSpanFormeNew(forma.testo, forma.catg, 'e' + forma.posizione, forma.periodo, forma.funzperiodo, elementoversospan)
} }
} }
else{ else {
divVerso = createDivVersoGenericLi(commentoRisultato[0], '0_res', 'Canto_'+commentoRisultato[2]) divVerso = createDivVersoGenericLi(commentoRisultato[0], '0_res', 'Canto_' + commentoRisultato[2])
elementoversospan = $('<span />') elementoversospan = $('<span />')
elementoversospan.attr('id', commentoRisultato[0] + "_" + 'Canto_'+commentoRisultato[2] + '_0_sp_res') elementoversospan.attr('id', commentoRisultato[0] + "_" + 'Canto_' + commentoRisultato[2] + '_0_sp_res')
divVerso.append(elementoversospan) divVerso.append(elementoversospan)
versiIniziali.append(divVerso) versiIniziali.append(divVerso)
listaVersi.append(versiIniziali) listaVersi.append(versiIniziali)
elencoRiferimenti.append(listaVersi) elencoRiferimenti.append(listaVersi)
setVersicontesto.add(commentoRisultato[0]+'P') setVersicontesto.add(commentoRisultato[0] + 'P')
numeroVersi++; numeroVersi++;
var testoProemio = commentoRisultato[0]+", Canto "+commentoRisultato[2]+" Proemio" var testoProemio = commentoRisultato[0] + ", Canto " + commentoRisultato[2] + " Proemio"
createSpanFormeNew(testoProemio, '* ', 'e0', '*', '*', elementoversospan) createSpanFormeNew(testoProemio, '* ', 'e0', '*', '*', elementoversospan)
} }
var comandi = $('<div class=" comandi col flex-nowrap d-inline justify-content-between pl-1 pb-2 ml-2 mb-2 border-bottom"/>') var comandi = $('<div class=" comandi col flex-nowrap d-inline justify-content-between pl-1 pb-2 ml-2 mb-2 border-bottom"/>')
@ -1930,8 +1965,8 @@ $(document).ready(function() {
var comandiGrp = $('<div />') var comandiGrp = $('<div />')
comandiGrp.attr('class', 'btn-group flex-nowrap d-inline pr-3 mt-1 mr-3 align-text-bottom'); comandiGrp.attr('class', 'btn-group flex-nowrap d-inline pr-3 mt-1 mr-3 align-text-bottom');
comandiGrp.attr('role', "group") comandiGrp.attr('role', "group")
var citazioneDiv = $('<div class=" text-right flex-nowrap d-inline ml-3 px-3 py-0"/>') var citazioneDiv = $('<div class=" text-right flex-nowrap d-inline ml-3 px-3 py-0"/>')
var citazione = $('<span class= " pl-3 citazioneFrase align-text-top"/>') var citazione = $('<span class= " pl-3 citazioneFrase align-text-top"/>')
@ -1941,37 +1976,37 @@ $(document).ready(function() {
citazione.appendTo(citazioneDiv); citazione.appendTo(citazioneDiv);
citazioneDiv.appendTo(comandi); citazioneDiv.appendTo(comandi);
comandi.appendTo(elencoRiferimenti); comandi.appendTo(elencoRiferimenti);
} }
//ottimizzare //ottimizzare
// evidenzio i versi con almeno un risultato // evidenzio i versi con almeno un risultato
for (var tres of uniq_res){ for (var tres of uniq_res) {
if (tres.includes('Proemio')) if (tres.includes('Proemio'))
tres=tres.replace('Proemio','0') tres = tres.replace('Proemio', '0')
$('#' + tres+'_res').addClass("mark ") $('#' + tres + '_res').addClass("mark ")
} }
//metto l'icona anche ai versi che hanno riferimenti ma che non sono nel resultset //metto l'icona anche ai versi che hanno riferimenti ma che non sono nel resultset
var versicontesto = [...setVersicontesto]; var versicontesto = [...setVersicontesto];
for (var elverso of versicontesto){ for (var elverso of versicontesto) {
if (versoCommentato (elverso)){ if (versoCommentato(elverso)) {
var tresa=elverso.split('_') var tresa = elverso.split('_')
var tcantica='1' var tcantica = '1'
if (tresa[0]=='Purgatorio') if (tresa[0] == 'Purgatorio')
tcantica='2' tcantica = '2'
if (tresa[0]=='Paradiso') if (tresa[0] == 'Paradiso')
tcantica='3' tcantica = '3'
var tverso= tresa[3] var tverso = tresa[3]
var aidCommento = "CommentoRes_" + tcantica + "_" + tresa[2] + '_'+tverso; var aidCommento = "CommentoRes_" + tcantica + "_" + tresa[2] + '_' + tverso;
var apio = $("#" + aidCommento ) var apio = $("#" + aidCommento)
if (apio.length) if (apio.length)
continue; continue;
var myverso = $('#'+elverso.replace('sp', 'res')) var myverso = $('#' + elverso.replace('sp', 'res'))
createCommentSpan(aidCommento, myverso, 1) createCommentSpan(aidCommento, myverso, 1)
} }
} }
@ -2164,9 +2199,9 @@ $(document).ready(function() {
var spanoccorrenza = $('<button />') var spanoccorrenza = $('<button />')
spanoccorrenza.attr('id', idVerso) spanoccorrenza.attr('id', idVerso)
//btn-sm btn-outline-secondary //btn-sm btn-outline-secondary
if (idVerso.startsWith("CommentoRes_")){ if (idVerso.startsWith("CommentoRes_")) {
spanoccorrenza.attr('class', 'btn btn-sm btn-outline-primary risultato showcomments bg-light border-0 rounded text-primary px-1 pt-1 pb-0 ml-1'); spanoccorrenza.attr('class', 'btn btn-sm btn-outline-primary risultato showcomments bg-light border-0 rounded text-primary px-1 pt-1 pb-0 ml-1');
}else{ } else {
spanoccorrenza.attr('class', 'btn btn-sm btn-outline-primary showcomments bg-light border-0 rounded text-primary px-1 pt-1 pb-0 ml-1'); spanoccorrenza.attr('class', 'btn btn-sm btn-outline-primary showcomments bg-light border-0 rounded text-primary px-1 pt-1 pb-0 ml-1');
} }
@ -2271,7 +2306,7 @@ $(document).ready(function() {
var elementoverso = $('<li />') var elementoverso = $('<li />')
/*var elementoversospan=$('<span />')*/ /*var elementoversospan=$('<span />')*/
//elementoverso.append(spannum) //elementoverso.append(spannum)
elementoverso.attr("value", num) elementoverso.attr("value", num)
//elementoverso.attr("style", "line-height: 1.0em") //elementoverso.attr("style", "line-height: 1.0em")

View File

@ -12,6 +12,7 @@ var listaidversi = []
var listaversicommentati=[] var listaversicommentati=[]
var listaidcommenti = [] var listaidcommenti = []
var listarisriferimenti = [] var listarisriferimenti = []
var listariferimentirisultato=[]
const cantobadgeclassBis = 'badge badge-outline-warning badge-pill' const cantobadgeclassBis = 'badge badge-outline-warning badge-pill'
const JSDELIVR_BUNDLES = duckdb.getJsDelivrBundles(); const JSDELIVR_BUNDLES = duckdb.getJsDelivrBundles();
@ -121,8 +122,8 @@ export function versoCommentato(rif) {
} }
export function getRisultatiRiferimenti() { export function getRisultatiRiferimenti() {
listarisriferimenti=[... new Set(listarisriferimenti)] //listarisriferimenti=[... new Set(listarisriferimenti)]
return listarisriferimenti; return listariferimentirisultato;
} }
export function getListaRis() { export function getListaRis() {
return listaidversi; return listaidversi;
@ -134,6 +135,7 @@ export function cleanListaRis() {
listaidversi = []; listaidversi = [];
listaidcommenti = []; listaidcommenti = [];
listarisriferimenti = []; listarisriferimenti = [];
listariferimentirisultato=[]
} }
export function getFontiS() { export function getFontiS() {
@ -196,18 +198,18 @@ async function getCitazioniInVerso(canticapar = '', cantopar = '', versovar='')
RCC as RapportoCommentoCommentatoreText, RSO as RapportoSoggettoOggetto, RCC as RapportoCommentoCommentatoreText, RSO as RapportoSoggettoOggetto,
Aut as NomeAutoreCitazione, TiFo as TitoloFonteCitazione, Verso as VersoCitazione, CA as AreaTematica, Aut as NomeAutoreCitazione, TiFo as TitoloFonteCitazione, Verso as VersoCitazione, CA as AreaTematica,
TiCi as TipoCitazione, CEP as CitEpisodi, CIM as CitImmagini, CTE as CitTeorie, TiCi as TipoCitazione, CEP as CitEpisodi, CIM as CitImmagini, CTE as CitTeorie,
CMO as CitMotivi, CST as CitStilemi, CTO as CitTopografie, CPER as CitPersonaggi, IdRiferimento, n1, n2, n3 CMO as CitMotivi, CST as CitStilemi, CTO as CitTopografie, CPER as CitPersonaggi, IdRiferimento, Cantica, Canto n1, n2, n3
from riferimenti from riferimenti
where Cantica='${canticapar}' and Canto='${cantopar}' and Verso='${versovar}' order by n1, n2, n3; where Cantica='${canticapar}' and Canto='${cantopar}' and Verso='${versovar}' order by n1, n2, n3;
`); `);
var resultvc = table.toArray().map((row) => row.toJSON()); var resultvc = table.toArray().map((row) => row.toJSON());
listarisriferimenti=listarisriferimenti.concat(resultvc) listariferimentirisultato=listariferimentirisultato.concat(resultvc)
await tconn.close(); await tconn.close();
return resultvc //return resultvc
} }

View File

@ -76,7 +76,7 @@
value: defaultEditorQuery value: defaultEditorQuery
}, },
requestConfig : { requestConfig : {
endpoint : "https://lida.dantenetwork.it/fuseki/commedia/query" endpoint : "https://hdnlab1.isti.cnr.it/fuseki/commedia/query"
}, },
copyEndpointOnNewTab : false, copyEndpointOnNewTab : false,
resizeable : true, resizeable : true,