From 6d0dc88adf39d368c8e94274f46b195e52448652 Mon Sep 17 00:00:00 2001 From: cesare Date: Mon, 17 Mar 2025 18:29:24 +0100 Subject: [PATCH] ris riferimenti, in progress --- js/browseMgr_5.1.js | 145 +++++++++++++++++++++++++++----------------- js/dataMgr_5.1.js | 12 ++-- yasgui/index.html | 2 +- 3 files changed, 98 insertions(+), 61 deletions(-) diff --git a/js/browseMgr_5.1.js b/js/browseMgr_5.1.js index b59a18a..baf8c38 100644 --- a/js/browseMgr_5.1.js +++ b/js/browseMgr_5.1.js @@ -61,6 +61,7 @@ $(document).ready(function() { /*var commentsArray = [] var commentsJson = {}*/ var commentsSQL = {} + var resultcommentsSQL = {} /*var resultSentences = new Set()*/ const cantiche = ["Inferno", "Purgatorio", "Paradiso"] var loadedCanti = new Set(); @@ -581,7 +582,7 @@ $(document).ready(function() { const cid = $(this).attr('name').replace(" ", "_"); var telive = getListaRis() cantoDisplayed = "#" + cid; - + if (telive.length > 0) { @@ -606,16 +607,16 @@ $(document).ready(function() { forma = formeterza; numeroCantica = 3; } - + if (!(loadedCanti.has(cid))) { showCanto(forma, '1', parcid[1]) loadedCanti.add(cid) } - + for (var tel of telive) { 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]; $(commento).addClass("risultato ") $(telId + " #" + tel.replace('|', '')).addClass("mark ") @@ -1022,7 +1023,12 @@ $(document).ready(function() { } } var noteAdded; + jQuery(document).delegate(' .showcomments', 'click', function() { + if (cantoDisplayed.includes('#vistaFrasi')) { + showCommentsInResult($(this).attr('id'), $(this).attr('class')) + return + } var cid = $(this).attr('id'); var queryComment = false; 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) { var noteGroupCard = $('
'); var commentHeader = $('
') @@ -1655,7 +1690,7 @@ $(document).ready(function() { //var latestPhraseId = ""; var telive = getListaRis() var numeroCantica; - + for (var ve of telive) { //let idve = ve var telId = ve.split("_"); @@ -1667,14 +1702,14 @@ $(document).ready(function() { case "Paradiso": numeroCantica = 3; break; } - var commento = "#Commento_"+numeroCantica+"_" + telId[2] + "_" + telId[3]; + var commento = "#Commento_" + numeroCantica + "_" + telId[2] + "_" + telId[3]; $(commento).removeClass("risultato ") - if (ve[0]!='#') - ve='#'+ve + if (ve[0] != '#') + ve = '#' + ve $(ve).removeClass("mark ") minim.contents().find(ve.replace('|', '')).removeClass("mark ") } - + const tmplistaidcomm = getListaIdCommenti() for (var idco of tmplistaidcomm) { //$('[name="' + cantica + 'Canto ' + k + '"]') @@ -1721,7 +1756,7 @@ $(document).ready(function() { listaRisultatiCommenti = await queryRiferimentimul(jsonQuery, cantoDisplayed) } //carico i commenti risultato della query - + showRisultatiCommenti(listaRisultatiCommenti) return } @@ -1864,24 +1899,24 @@ $(document).ready(function() { $("#vistaFrasi").attr('style', 'display: d-flex;'); cantoDisplayed = "#vistaFrasi"; } - + var uniq_res = [...new Set(listaRisultatiCommenti)]; var risLen = uniq_res.length; - var risultato='' + var risultato = '' var setVersicontesto = new Set() for (var j = start; j < start + offset && j < risLen; j++) { numeroRisultato++ - commentoRisultato = uniq_res[j].replace('#','').split("_") - risultato=uniq_res[j] - - if (setVersicontesto.has(commentoRisultato[0]+'_Canto_'+commentoRisultato[2]+'_'+commentoRisultato[3]+'_sp')) + commentoRisultato = uniq_res[j].replace('#', '').split("_") + risultato = uniq_res[j] + + if (setVersicontesto.has(commentoRisultato[0] + '_Canto_' + commentoRisultato[2] + '_' + commentoRisultato[3] + '_sp')) continue - + var cre = getVersoContext(commentoRisultato, 3) //console.log(cre) - + var divVerso = '' - var elementoversospan='' + var elementoversospan = '' var numeroCantica = 0 var canto = 0 var versiIniziali = $('
') @@ -1889,7 +1924,7 @@ $(document).ready(function() { listaVersi.attr('id', "Frase" + numeroRisultato); versiIniziali.attr('id', "versiFrase" + numeroRisultato); - if(commentoRisultato[3]!='Proemio'){ + if (commentoRisultato[3] != 'Proemio') { var numeroVersi = 0; for (var forma of cre) { @@ -1897,32 +1932,32 @@ $(document).ready(function() { numeroCantica = forma.cantica canto = forma.canto } - if (!setVersicontesto.has(forma.cantica+'_Canto_'+forma.canto+'_'+forma.verso+'_sp')) { - divVerso = createDivVersoGenericLi(forma.cantica, forma.verso+'_res', 'Canto_'+forma.canto) + if (!setVersicontesto.has(forma.cantica + '_Canto_' + forma.canto + '_' + forma.verso + '_sp')) { + divVerso = createDivVersoGenericLi(forma.cantica, forma.verso + '_res', 'Canto_' + forma.canto) elementoversospan = $('') - 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) versiIniziali.append(divVerso) listaVersi.append(versiIniziali) elencoRiferimenti.append(listaVersi) - setVersicontesto.add(forma.cantica+'_Canto_'+forma.canto+'_'+forma.verso+'_sp') + setVersicontesto.add(forma.cantica + '_Canto_' + forma.canto + '_' + forma.verso + '_sp') numeroVersi++; } - + createSpanFormeNew(forma.testo, forma.catg, 'e' + forma.posizione, forma.periodo, forma.funzperiodo, elementoversospan) } } - else{ - divVerso = createDivVersoGenericLi(commentoRisultato[0], '0_res', 'Canto_'+commentoRisultato[2]) + else { + divVerso = createDivVersoGenericLi(commentoRisultato[0], '0_res', 'Canto_' + commentoRisultato[2]) elementoversospan = $('') - 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) versiIniziali.append(divVerso) listaVersi.append(versiIniziali) elencoRiferimenti.append(listaVersi) - setVersicontesto.add(commentoRisultato[0]+'P') + setVersicontesto.add(commentoRisultato[0] + 'P') numeroVersi++; - var testoProemio = commentoRisultato[0]+", Canto "+commentoRisultato[2]+" Proemio" + var testoProemio = commentoRisultato[0] + ", Canto " + commentoRisultato[2] + " Proemio" createSpanFormeNew(testoProemio, '* ', 'e0', '*', '*', elementoversospan) } var comandi = $('
') @@ -1930,8 +1965,8 @@ $(document).ready(function() { var comandiGrp = $('
') comandiGrp.attr('class', 'btn-group flex-nowrap d-inline pr-3 mt-1 mr-3 align-text-bottom'); comandiGrp.attr('role', "group") - - + + var citazioneDiv = $('
') var citazione = $('') @@ -1941,37 +1976,37 @@ $(document).ready(function() { citazione.appendTo(citazioneDiv); citazioneDiv.appendTo(comandi); - + comandi.appendTo(elencoRiferimenti); - + } - + //ottimizzare // evidenzio i versi con almeno un risultato - for (var tres of uniq_res){ + for (var tres of uniq_res) { if (tres.includes('Proemio')) - tres=tres.replace('Proemio','0') - $('#' + tres+'_res').addClass("mark ") - + tres = tres.replace('Proemio', '0') + $('#' + tres + '_res').addClass("mark ") + } - + //metto l'icona anche ai versi che hanno riferimenti ma che non sono nel resultset var versicontesto = [...setVersicontesto]; - for (var elverso of versicontesto){ - if (versoCommentato (elverso)){ - var tresa=elverso.split('_') - var tcantica='1' - if (tresa[0]=='Purgatorio') - tcantica='2' - if (tresa[0]=='Paradiso') - tcantica='3' - var tverso= tresa[3] - var aidCommento = "CommentoRes_" + tcantica + "_" + tresa[2] + '_'+tverso; - var apio = $("#" + aidCommento ) + for (var elverso of versicontesto) { + if (versoCommentato(elverso)) { + var tresa = elverso.split('_') + var tcantica = '1' + if (tresa[0] == 'Purgatorio') + tcantica = '2' + if (tresa[0] == 'Paradiso') + tcantica = '3' + var tverso = tresa[3] + var aidCommento = "CommentoRes_" + tcantica + "_" + tresa[2] + '_' + tverso; + var apio = $("#" + aidCommento) if (apio.length) continue; - var myverso = $('#'+elverso.replace('sp', 'res')) + var myverso = $('#' + elverso.replace('sp', 'res')) createCommentSpan(aidCommento, myverso, 1) } } @@ -2164,9 +2199,9 @@ $(document).ready(function() { var spanoccorrenza = $('