periodi/frasi in lista risultati, in progress

This commit is contained in:
cesare 2024-12-05 12:49:37 +01:00
parent c1efe71987
commit d381b71c46
2 changed files with 115 additions and 103 deletions

View File

@ -14,8 +14,8 @@ var vistaRiferimenti = true
var listaPeriodiRisultato; var listaPeriodiRisultato;
var listaClausoleRisultato; var listaClausoleRisultato;
var numeroContesti; var numeroContesti;
const hdnNamespace='http://dantenetwork.it/data/commedia/' const hdnNamespace = 'http://dantenetwork.it/data/commedia/'
const syntitNamespace='https://dantenetwork.it/ontology/syntit/current/' const syntitNamespace = 'https://dantenetwork.it/ontology/syntit/current/'
$(document).ready(function() { $(document).ready(function() {
removeGraph = false; removeGraph = false;
@ -90,7 +90,7 @@ $(document).ready(function() {
case "visRiferimenti|true": case "visRiferimenti|true":
vistaRiferimenti = true vistaRiferimenti = true
initCitazioni() initCitazioni()
$(cantoDisplayed).find(" .showcomments").each(function(){ $(cantoDisplayed).find(" .showcomments").each(function() {
$(this).css("display", "inline-block"); $(this).css("display", "inline-block");
}) })
//$(" .showcomments").css("display", "inline-block"); //$(" .showcomments").css("display", "inline-block");
@ -100,7 +100,7 @@ $(document).ready(function() {
break; break;
case "visRiferimenti|false": case "visRiferimenti|false":
$(cantoDisplayed).find(" .showcomments").each(function(){ $(cantoDisplayed).find(" .showcomments").each(function() {
$(this).css("display", "none"); $(this).css("display", "none");
}) })
//$(".showcomments").css("display", "none"); //$(".showcomments").css("display", "none");
@ -309,29 +309,41 @@ $(document).ready(function() {
function countResultContexts() { function countResultContexts() {
var numeroRisultati = 0; var numeroRisultati = 0;
var ultimaPosizione = -1; if (listarisultati.length) {
for (risultato of listarisultati) { var ultimaPosizione = -1;
if (risultato <= parseInt(ultimaPosizione)) { for (risultato of listarisultati) {
continue; if (risultato <= parseInt(ultimaPosizione)) {
continue;
}
numeroRisultati = numeroRisultati + 1;
ultimaPosizione = getContextLastPosition(risultato, contextLength);
} }
numeroRisultati = numeroRisultati + 1; numeroContesti = numeroRisultati
/*var versiContesto = getFormaContext(risultato, contextLength); return (numeroRisultati)
var ultimaForma = versiContesto.slice(-1) }
ultimaPosizione = ultimaForma[0].posizione*/
ultimaPosizione=getContextLastPosition(risultato, contextLength);
if (listaClausoleRisultato.length) {
var tempr = new Set()
for (singleres of listaClausoleRisultato) {
tempr.add(singleres.split('-')[0])
}
var myRis = []
tempr.forEach(y => myRis.push(listaClausoleRisultato.filter(x => (x.split('-')[0] == y) && x.split('-').length > 1)))
numeroContesti = myRis.length
return (myRis.length)
} }
console.log('N. contesti: ' + numeroRisultati)
numeroContesti = numeroRisultati numeroContesti = numeroRisultati
return (numeroRisultati) return (numeroRisultati)
} }
function getResInPage(startcont, endcont) { function getResInPage(startcont, endcont) {
var res = []; var res = [];
var tempr=new Set()
var ultimaPosizione = -1;
var contaContesti = 0 var contaContesti = 0
console.log(listaClausoleRisultato) console.log(listaClausoleRisultato)
if (listarisultati.length) { if (listarisultati.length) {
var ultimaPosizione = -1;
for (risultato of listarisultati) { for (risultato of listarisultati) {
if (risultato <= parseInt(ultimaPosizione)) { if (risultato <= parseInt(ultimaPosizione)) {
continue; continue;
@ -342,22 +354,20 @@ $(document).ready(function() {
} }
if (contaContesti > endcont) if (contaContesti > endcont)
break; break;
/*var versiContesto = getFormaContext(risultato, contextLength); ultimaPosizione = getContextLastPosition(risultato, contextLength);
var ultimaForma = versiContesto.slice(-1)
ultimaPosizione = ultimaForma[0].posizione*/
ultimaPosizione=getContextLastPosition(risultato, contextLength);
} }
//ordino la lista dei risultati //ordino la lista dei risultati
res.sort(function(a, b) { return a - b }); res.sort(function(a, b) { return a - b });
return (res) return (res)
} }
if (listaClausoleRisultato.length) { if (listaClausoleRisultato.length) {
var tempr = new Set()
for (singleres of listaClausoleRisultato) { for (singleres of listaClausoleRisultato) {
tempr.add (singleres.split('-')[0]) tempr.add(singleres.split('-')[0])
} }
var myRis=[] var myRis = []
tempr.forEach( y => myRis.push(listaClausoleRisultato.filter(x => (x.split('-')[0]==y) && x.split('-').length>1))) tempr.forEach(y => myRis.push(listaClausoleRisultato.filter(x => (x.split('-')[0] == y) && x.split('-').length > 1)))
for (risultato of myRis) { for (risultato of myRis) {
contaContesti = contaContesti + 1; contaContesti = contaContesti + 1;
@ -367,7 +377,7 @@ $(document).ready(function() {
if (contaContesti > endcont) if (contaContesti > endcont)
break; break;
} }
res.sort(function(a, b) { puno=a[0].split('-')[3]; pdue=b[0].split('-')[3]; return parseInt(puno) - parseInt(pdue) }); res.sort(function(a, b) { puno = a[0].split('-')[3]; pdue = b[0].split('-')[3]; return parseInt(puno) - parseInt(pdue) });
return (res) return (res)
} }
return (res) return (res)
@ -384,18 +394,17 @@ $(document).ready(function() {
var numeroVersi; var numeroVersi;
//const intsup = Math.min(start + offset, listarisultati.length) //const intsup = Math.min(start + offset, listarisultati.length)
var resincontext = getResInPage(start, start + offset) var resincontext = getResInPage(start, start + offset)
//for (let i=start; i<intsup; i++){
for (let i = 0; i < resincontext.length; i++) { for (let i = 0; i < resincontext.length; i++) {
//risultato = listarisultati[i]; //risultato = listarisultati[i];
risultato = resincontext[i]; risultato = resincontext[i];
numeroRisultato++; numeroRisultato++;
if (!risultato.toString().includes('-') && risultato <= parseInt(ultimaPosizione)) { if (!risultato.toString().includes('-') && risultato <= parseInt(ultimaPosizione)) {
continue; continue;
} }
var versiContesto='' var versiContesto = ''
if (!Array.isArray(risultato)){ if (!Array.isArray(risultato)) {
risultato = parseInt(risultato) risultato = parseInt(risultato)
versiContesto = getFormaContext(risultato, contextLength); versiContesto = getFormaContext(risultato, contextLength);
} }
@ -419,7 +428,7 @@ $(document).ready(function() {
canto = forma.canto canto = forma.canto
} }
if (!setVersicontesto.has(forma.verso)) { if (!setVersicontesto.has(forma.verso)) {
divVerso = createDivVersoLI(forma.cantica, forma.verso, forma.canto) divVerso = createDivVersoLI(forma.cantica+1, forma.verso, forma.canto)
versiIniziali.append(divVerso) versiIniziali.append(divVerso)
listaVersi.append(versiIniziali) listaVersi.append(versiIniziali)
elencoRisutati.append(listaVersi) elencoRisutati.append(listaVersi)
@ -649,20 +658,20 @@ $(document).ready(function() {
if (!isPeriodoInCanto(idperiodo, cantoDisplayed)) { if (!isPeriodoInCanto(idperiodo, cantoDisplayed) && !(cantoDisplayed.includes('#vistaFrasi'))) {
return return
} }
$(cantoDisplayed).find(' .' + idperiodo).each(function() { $(cantoDisplayed).find(' .' + idperiodo).each(function() {
var pstp = $(this).attr('class').split(" ")[1] var pstp = $(this).attr('class').split(" ")[1]
if (pstp=='sentencetag') if (pstp == 'sentencetag')
$(this).attr('style', 'display: d-flex;'); $(this).attr('style', 'display: d-flex;');
//$(this).css('color', colorssp(mapsynttypestopalette[pstp])); //$(this).css('color', colorssp(mapsynttypestopalette[pstp]));
}) })
minim.contents().find(' .' + idperiodo).each(function() { minim.contents().find(' .' + idperiodo).each(function() {
var mpstp = $(this).attr('class').split(" ")[1] var mpstp = $(this).attr('class').split(" ")[1]
if (mpstp=='sentencetag') if (mpstp == 'sentencetag')
$(this).attr('style', 'display: d-flex;'); $(this).attr('style', 'display: d-flex;');
//$(this).css('color', colorssp(mapsynttypestopalette[mpstp])); //$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
}) })
@ -682,7 +691,7 @@ $(document).ready(function() {
return false return false
} }
function loadFrase(idperiodo, funzionefrase) { /*function loadFrase(idperiodo, funzionefrase) {
if (!isPeriodoInCanto(idperiodo, cantoDisplayed)) if (!isPeriodoInCanto(idperiodo, cantoDisplayed))
return return
@ -699,16 +708,17 @@ $(document).ready(function() {
if (mpstp.trim() == funzionefrase) if (mpstp.trim() == funzionefrase)
$(this).css('color', colorssp(mapsynttypestopalette[mpstp])); $(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
}) })
} }*/
function loadClausola(idperiodo, funzionefrase, fromn, ton) { function loadClausola(idperiodo, funzionefrase, fromn, ton) {
if (!isPeriodoInCanto(idperiodo, cantoDisplayed)) if (!isPeriodoInCanto(idperiodo, cantoDisplayed) && !(cantoDisplayed.includes('#vistaFrasi')))
return return
$(cantoDisplayed).find(' .' + idperiodo).each(function() { $(cantoDisplayed).find(' .' + idperiodo).each(function() {
if (parseInt($(this).attr('id')) >= parseInt(fromn) var vid=parseInt($(this).attr('id').replace('e', ''))
&& parseInt($(this).attr('id')) <= parseInt(ton)) { if (vid >= parseInt(fromn)
&& vid <= parseInt(ton)) {
var pstp = $(this).attr('class').split(" ")[1] var pstp = $(this).attr('class').split(" ")[1]
if (pstp.trim() == funzionefrase) if (pstp.trim() == funzionefrase)
@ -718,8 +728,9 @@ $(document).ready(function() {
}) })
minim.contents().find(' .' + idperiodo).each(function() { minim.contents().find(' .' + idperiodo).each(function() {
if (parseInt($(this).attr('id')) >= parseInt(fromn) var vid=parseInt($(this).attr('id').replace('e', ''))
&& parseInt($(this).attr('id')) <= parseInt(ton)) { if (vid >= parseInt(fromn)
&& vid <= parseInt(ton)) {
var mpstp = $(this).attr('class').split(" ")[1] var mpstp = $(this).attr('class').split(" ")[1]
if (mpstp.trim() == funzionefrase) if (mpstp.trim() == funzionefrase)
$(this).css('color', colorssp(mapsynttypestopalette[mpstp])); $(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
@ -874,7 +885,7 @@ $(document).ready(function() {
if (canto.length == 1) if (canto.length == 1)
canto = '0' + canto canto = '0' + canto
// commentsArray = getVersiConCitazioni(cantica, canto) // commentsArray = getVersiConCitazioni(cantica, canto)
commentsJson = getVersiConCitazioniJson(cantica, canto) commentsJson = getVersiConCitazioniJson(cantica, canto)
} }
@ -1233,17 +1244,17 @@ $(document).ready(function() {
divFrammAnnot.appendTo(collapse); divFrammAnnot.appendTo(collapse);
} }
/* function hasComments(cid) { /* function hasComments(cid) {
var id = cid.substr(9); var id = cid.substr(9);
for (var pos in commentsArray) { for (var pos in commentsArray) {
var comments = commentsArray[pos] var comments = commentsArray[pos]
if (comments.verso == id) { if (comments.verso == id) {
//console.log(comments) //console.log(comments)
return (true) return (true)
}
} }
} return false;
return false; }*/
}*/
function hasCommentsJson(cid) { function hasCommentsJson(cid) {
@ -1257,11 +1268,11 @@ $(document).ready(function() {
} }
/* function numberOfComments(cid) { /* function numberOfComments(cid) {
var id = cid.substr(9); var id = cid.substr(9);
return commentsArray.filter(x => x.verso == id).length return commentsArray.filter(x => x.verso == id).length
} }
*/ */
function numberOfCommentsJson(cid) { function numberOfCommentsJson(cid) {
var cntc = 0 var cntc = 0
var id = cid.substr(9); var id = cid.substr(9);
@ -1394,9 +1405,9 @@ $(document).ready(function() {
for (msid of listaPeriodiRisultato) { for (msid of listaPeriodiRisultato) {
$('.' + msid).each(function() { $('.' + msid).each(function() {
$(this).css('color', ''); $(this).css('color', '');
if (!vistaPeriodi){ if (!vistaPeriodi) {
var pstp = $(this).attr('class').split(" ")[1] var pstp = $(this).attr('class').split(" ")[1]
if (pstp=='sentencetag') if (pstp == 'sentencetag')
$(this).attr('style', 'display: none;'); $(this).attr('style', 'display: none;');
} }
@ -1902,7 +1913,7 @@ $(document).ready(function() {
//regione della clausola //regione della clausola
var clfrom = binding.get('clfr').value; var clfrom = binding.get('clfr').value;
var clto = binding.get('clto').value; var clto = binding.get('clto').value;
var clfunction='' var clfunction = ''
if (binding.has('clafunction')) if (binding.has('clafunction'))
clfunction = binding.get('clafunction').value.replaceAll(syntitNamespace, '') clfunction = binding.get('clafunction').value.replaceAll(syntitNamespace, '')
var clocc = '' var clocc = ''
@ -1912,11 +1923,11 @@ $(document).ready(function() {
//id del periodo //id del periodo
var sentenceid = '' var sentenceid = ''
if (binding.has('sentence')) if (binding.has('sentence'))
sentenceid=binding.get('sentence').value.replace(hdnNamespace, '') sentenceid = binding.get('sentence').value.replace(hdnNamespace, '')
if (pos && !result.has(pos)) { if (pos && !result.has(pos)) {
if (pos.includes(';')){ if (pos.includes(';')) {
var posses=pos.slice(0,-1).split(';') var posses = pos.slice(0, -1).split(';')
for (po in posses) for (po in posses)
result.add(posses[po]) result.add(posses[po])
} }
@ -1928,10 +1939,10 @@ $(document).ready(function() {
if (unitaRicerca != 'frase' && pos == -1) { if (unitaRicerca != 'frase' && pos == -1) {
unitaRicerca = 'frase' unitaRicerca = 'frase'
} }
if(clfunction.includes(';')){ if (clfunction.includes(';')) {
var funcs=clfunction.slice(0,-1).split(';') var funcs = clfunction.slice(0, -1).split(';')
var occs=clocc.slice(0,-1).split(';') var occs = clocc.slice(0, -1).split(';')
for (var mi=0; mi<funcs.length; mi++) for (var mi = 0; mi < funcs.length; mi++)
resultClauses.add(sentenceid + "-" + clfrom + '-' + clto + "-" + funcs[mi].trim().replace('ordinateClause', '').replace('MainClause', 'Ma') + '-' + cantica + '-' + canto + '-' + occs[mi]) resultClauses.add(sentenceid + "-" + clfrom + '-' + clto + "-" + funcs[mi].trim().replace('ordinateClause', '').replace('MainClause', 'Ma') + '-' + cantica + '-' + canto + '-' + occs[mi])
} }
@ -2014,32 +2025,32 @@ $(document).ready(function() {
console.log('Dialoghi') console.log('Dialoghi')
resultsInCantica = [] resultsInCantica = []
resultsInCanto = [] resultsInCanto = []
var tmplr=[] var tmplr = []
for (ris of listarisultati){ for (ris of listarisultati) {
for (const india in dialoghi) { for (const india in dialoghi) {
var tfr = parseInt(dialoghi[india]['Clfr']) var tfr = parseInt(dialoghi[india]['Clfr'])
var tto = parseInt(dialoghi[india]['Clto']) var tto = parseInt(dialoghi[india]['Clto'])
if(ris>=tfr && ris<=tto){ if (ris >= tfr && ris <= tto) {
tmplr.push(ris) tmplr.push(ris)
} }
} }
} }
listarisultati=tmplr listarisultati = tmplr
for (var frase of listaclausole) { for (var frase of listaclausole) {
var fraseItems = frase.split('-'); var fraseItems = frase.split('-');
var testf=fraseItems[0].toString(); var testf = fraseItems[0].toString();
for (const india in dialoghi) { for (const india in dialoghi) {
var diaclass = dialoghi[india]['Cnt'].replace('_so', '') var diaclass = dialoghi[india]['Cnt'].replace('_so', '')
if (testf==diaclass){ if (testf == diaclass) {
listaPeriodiRisultato.push(fraseItems[0].toString()) listaPeriodiRisultato.push(fraseItems[0].toString())
loadPeriodo(fraseItems[0].toString()) loadPeriodo(fraseItems[0].toString())
loadClausola(fraseItems[0].toString(), fraseItems[3].toString(), fraseItems[1], fraseItems[2]) loadClausola(fraseItems[0].toString(), fraseItems[3].toString(), fraseItems[1], fraseItems[2])
//resSent.add(fraseItems[0] + '-' + fraseItems[3] + '-' + fraseItems[1] + '-' + fraseItems[2]); //resSent.add(fraseItems[0] + '-' + fraseItems[3] + '-' + fraseItems[1] + '-' + fraseItems[2]);
if (!resSent.has(fraseItems[0])) { if (!resSent.has(fraseItems[0])) {
resSent.add(fraseItems[0]); resSent.add(fraseItems[0]);
resultsInCantica.push(fraseItems[4]); resultsInCantica.push(fraseItems[4]);
resultsInCanto.push(fraseItems[4] + fraseItems[5]); resultsInCanto.push(fraseItems[4] + fraseItems[5]);
} }
continue continue
@ -2066,8 +2077,8 @@ $(document).ready(function() {
listarisultati.sort(function(a, b) { return a - b }); listarisultati.sort(function(a, b) { return a - b });
// ordino la lista delle clausole del risultato // ordino la lista delle clausole del risultato
listaClausoleRisultato.sort(function(a, b) { listaClausoleRisultato.sort(function(a, b) {
var valA=a.split('-')[2] var valA = a.split('-')[2]
var valB=b.split('-')[2] var valB = b.split('-')[2]
return valA - valB return valA - valB
}); });
//aggiunge badge con totale risultati accanto alle cantiche //aggiunge badge con totale risultati accanto alle cantiche
@ -2088,11 +2099,11 @@ $(document).ready(function() {
showBadgeInCanto(resultsInCanto) showBadgeInCanto(resultsInCanto)
console.log('badge end...') console.log('badge end...')
//calcolo numero dei contesti //calcolo numero dei contesti
/countResultContexts() / countResultContexts()
$("#loader").fadeOut(300); $("#loader").fadeOut(300);
// mostra lista risultati // mostra lista risultati
$.manageResultList(0,showOffset); $.manageResultList(0, showOffset);
}); });
queryExecuted = true; queryExecuted = true;

View File

@ -125,8 +125,9 @@ function getFraseContext(fraseids, numversi = 3) {
for (i = startindex; i < listaforme.length; i++) { for (i = startindex; i < listaforme.length; i++) {
var tmpos = listaforme[i].split('_')[2] var tmpos = listaforme[i].split('_')[2]
if (tmpos == parseInt(fraseid.split('-')[2])) { if (parseint(tmpos) == parseInt(fraseid.split('-')[2])) {
pos = i; pos = i;
break; break;
} }
} }
@ -136,10 +137,10 @@ function getFraseContext(fraseids, numversi = 3) {
lastfraseid = fraseids[fraseids.length - 1] lastfraseid = fraseids[fraseids.length - 1]
else else
lastfraseid = fraseids[0] lastfraseid = fraseids[0]
for (j = pos; j < listaforme.length; j++) {
for (j = pos; i < listaforme.length; j++) {
var tmpos2 = listaforme[j].split('_')[2] var tmpos2 = listaforme[j].split('_')[2]
if (tmpos2 == parseInt(lastfraseid.split('-')[3])) { if (parseInt(tmpos2) == parseInt(lastfraseid.split('-')[3])) {
pos2 = j; pos2 = j;
break; break;
} }