From d381b71c46b2076bcb637d94739e82b069505001 Mon Sep 17 00:00:00 2001 From: cesare Date: Thu, 5 Dec 2024 12:49:37 +0100 Subject: [PATCH] periodi/frasi in lista risultati, in progress --- js/browseMgr.js | 209 +++++++++++++++++++++++++----------------------- js/utilsMgr.js | 9 ++- 2 files changed, 115 insertions(+), 103 deletions(-) diff --git a/js/browseMgr.js b/js/browseMgr.js index a4a09c7..668eba1 100644 --- a/js/browseMgr.js +++ b/js/browseMgr.js @@ -14,8 +14,8 @@ var vistaRiferimenti = true var listaPeriodiRisultato; var listaClausoleRisultato; var numeroContesti; -const hdnNamespace='http://dantenetwork.it/data/commedia/' -const syntitNamespace='https://dantenetwork.it/ontology/syntit/current/' +const hdnNamespace = 'http://dantenetwork.it/data/commedia/' +const syntitNamespace = 'https://dantenetwork.it/ontology/syntit/current/' $(document).ready(function() { removeGraph = false; @@ -90,17 +90,17 @@ $(document).ready(function() { case "visRiferimenti|true": vistaRiferimenti = true initCitazioni() - $(cantoDisplayed).find(" .showcomments").each(function(){ + $(cantoDisplayed).find(" .showcomments").each(function() { $(this).css("display", "inline-block"); }) //$(" .showcomments").css("display", "inline-block"); minim.contents().find(" .showcomments").each(function() { $(this).css('display', 'inline-block'); }) - + break; case "visRiferimenti|false": - $(cantoDisplayed).find(" .showcomments").each(function(){ + $(cantoDisplayed).find(" .showcomments").each(function() { $(this).css("display", "none"); }) //$(".showcomments").css("display", "none"); @@ -309,29 +309,41 @@ $(document).ready(function() { function countResultContexts() { var numeroRisultati = 0; - var ultimaPosizione = -1; - for (risultato of listarisultati) { - if (risultato <= parseInt(ultimaPosizione)) { - continue; + if (listarisultati.length) { + var ultimaPosizione = -1; + for (risultato of listarisultati) { + if (risultato <= parseInt(ultimaPosizione)) { + continue; + } + numeroRisultati = numeroRisultati + 1; + ultimaPosizione = getContextLastPosition(risultato, contextLength); } - numeroRisultati = numeroRisultati + 1; - /*var versiContesto = getFormaContext(risultato, contextLength); - var ultimaForma = versiContesto.slice(-1) - ultimaPosizione = ultimaForma[0].posizione*/ - ultimaPosizione=getContextLastPosition(risultato, contextLength); + numeroContesti = numeroRisultati + return (numeroRisultati) + } + + + 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 return (numeroRisultati) } function getResInPage(startcont, endcont) { var res = []; - var tempr=new Set() - var ultimaPosizione = -1; var contaContesti = 0 console.log(listaClausoleRisultato) if (listarisultati.length) { + var ultimaPosizione = -1; for (risultato of listarisultati) { if (risultato <= parseInt(ultimaPosizione)) { continue; @@ -342,22 +354,20 @@ $(document).ready(function() { } if (contaContesti > endcont) break; - /*var versiContesto = getFormaContext(risultato, contextLength); - var ultimaForma = versiContesto.slice(-1) - ultimaPosizione = ultimaForma[0].posizione*/ - ultimaPosizione=getContextLastPosition(risultato, contextLength); + ultimaPosizione = getContextLastPosition(risultato, contextLength); } //ordino la lista dei risultati res.sort(function(a, b) { return a - b }); return (res) } if (listaClausoleRisultato.length) { + var tempr = new Set() for (singleres of listaClausoleRisultato) { - tempr.add (singleres.split('-')[0]) + tempr.add(singleres.split('-')[0]) } - var myRis=[] - - tempr.forEach( y => myRis.push(listaClausoleRisultato.filter(x => (x.split('-')[0]==y) && x.split('-').length>1))) + var myRis = [] + + tempr.forEach(y => myRis.push(listaClausoleRisultato.filter(x => (x.split('-')[0] == y) && x.split('-').length > 1))) for (risultato of myRis) { contaContesti = contaContesti + 1; @@ -367,7 +377,7 @@ $(document).ready(function() { if (contaContesti > endcont) 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) @@ -384,24 +394,23 @@ $(document).ready(function() { var numeroVersi; //const intsup = Math.min(start + offset, listarisultati.length) var resincontext = getResInPage(start, start + offset) - //for (let i=start; i= parseInt(fromn) - && parseInt($(this).attr('id')) <= parseInt(ton)) { + var vid=parseInt($(this).attr('id').replace('e', '')) + if (vid >= parseInt(fromn) + && vid <= parseInt(ton)) { var pstp = $(this).attr('class').split(" ")[1] if (pstp.trim() == funzionefrase) @@ -718,8 +728,9 @@ $(document).ready(function() { }) minim.contents().find(' .' + idperiodo).each(function() { - if (parseInt($(this).attr('id')) >= parseInt(fromn) - && parseInt($(this).attr('id')) <= parseInt(ton)) { + var vid=parseInt($(this).attr('id').replace('e', '')) + if (vid >= parseInt(fromn) + && vid <= parseInt(ton)) { var mpstp = $(this).attr('class').split(" ")[1] if (mpstp.trim() == funzionefrase) $(this).css('color', colorssp(mapsynttypestopalette[mpstp])); @@ -874,7 +885,7 @@ $(document).ready(function() { if (canto.length == 1) canto = '0' + canto -// commentsArray = getVersiConCitazioni(cantica, canto) + // commentsArray = getVersiConCitazioni(cantica, canto) commentsJson = getVersiConCitazioniJson(cantica, canto) } @@ -1233,17 +1244,17 @@ $(document).ready(function() { divFrammAnnot.appendTo(collapse); } -/* function hasComments(cid) { - var id = cid.substr(9); - for (var pos in commentsArray) { - var comments = commentsArray[pos] - if (comments.verso == id) { - //console.log(comments) - return (true) + /* function hasComments(cid) { + var id = cid.substr(9); + for (var pos in commentsArray) { + var comments = commentsArray[pos] + if (comments.verso == id) { + //console.log(comments) + return (true) + } } - } - return false; - }*/ + return false; + }*/ function hasCommentsJson(cid) { @@ -1257,11 +1268,11 @@ $(document).ready(function() { } -/* function numberOfComments(cid) { - var id = cid.substr(9); - return commentsArray.filter(x => x.verso == id).length - } -*/ + /* function numberOfComments(cid) { + var id = cid.substr(9); + return commentsArray.filter(x => x.verso == id).length + } + */ function numberOfCommentsJson(cid) { var cntc = 0 var id = cid.substr(9); @@ -1394,12 +1405,12 @@ $(document).ready(function() { for (msid of listaPeriodiRisultato) { $('.' + msid).each(function() { $(this).css('color', ''); - if (!vistaPeriodi){ + if (!vistaPeriodi) { var pstp = $(this).attr('class').split(" ")[1] - if (pstp=='sentencetag') + if (pstp == 'sentencetag') $(this).attr('style', 'display: none;'); } - + }); } for (clsid of listaClausoleRisultato) { @@ -1902,7 +1913,7 @@ $(document).ready(function() { //regione della clausola var clfrom = binding.get('clfr').value; var clto = binding.get('clto').value; - var clfunction='' + var clfunction = '' if (binding.has('clafunction')) clfunction = binding.get('clafunction').value.replaceAll(syntitNamespace, '') var clocc = '' @@ -1912,11 +1923,11 @@ $(document).ready(function() { //id del periodo var sentenceid = '' 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.includes(';')){ - var posses=pos.slice(0,-1).split(';') + if (pos.includes(';')) { + var posses = pos.slice(0, -1).split(';') for (po in posses) result.add(posses[po]) } @@ -1928,10 +1939,10 @@ $(document).ready(function() { if (unitaRicerca != 'frase' && pos == -1) { unitaRicerca = 'frase' } - if(clfunction.includes(';')){ - var funcs=clfunction.slice(0,-1).split(';') - var occs=clocc.slice(0,-1).split(';') - for (var mi=0; mi=tfr && ris<=tto){ + if (ris >= tfr && ris <= tto) { tmplr.push(ris) - } + } } } - listarisultati=tmplr + listarisultati = tmplr for (var frase of listaclausole) { var fraseItems = frase.split('-'); - var testf=fraseItems[0].toString(); - + var testf = fraseItems[0].toString(); + for (const india in dialoghi) { var diaclass = dialoghi[india]['Cnt'].replace('_so', '') - if (testf==diaclass){ + if (testf == diaclass) { listaPeriodiRisultato.push(fraseItems[0].toString()) loadPeriodo(fraseItems[0].toString()) loadClausola(fraseItems[0].toString(), fraseItems[3].toString(), fraseItems[1], fraseItems[2]) //resSent.add(fraseItems[0] + '-' + fraseItems[3] + '-' + fraseItems[1] + '-' + fraseItems[2]); if (!resSent.has(fraseItems[0])) { - resSent.add(fraseItems[0]); - resultsInCantica.push(fraseItems[4]); - resultsInCanto.push(fraseItems[4] + fraseItems[5]); - + resSent.add(fraseItems[0]); + resultsInCantica.push(fraseItems[4]); + resultsInCanto.push(fraseItems[4] + fraseItems[5]); + } continue } } - + } listaClausoleRisultato = Array.from(resSent); - - + + } if (listarisultati.length) { @@ -2065,10 +2076,10 @@ $(document).ready(function() { //ordino la lista dei risultati listarisultati.sort(function(a, b) { return a - b }); // ordino la lista delle clausole del risultato - listaClausoleRisultato.sort(function(a, b) { - var valA=a.split('-')[2] - var valB=b.split('-')[2] - return valA - valB + listaClausoleRisultato.sort(function(a, b) { + var valA = a.split('-')[2] + var valB = b.split('-')[2] + return valA - valB }); //aggiunge badge con totale risultati accanto alle cantiche @@ -2088,11 +2099,11 @@ $(document).ready(function() { showBadgeInCanto(resultsInCanto) console.log('badge end...') - //calcolo numero dei contesti - /countResultContexts() + //calcolo numero dei contesti + / countResultContexts() $("#loader").fadeOut(300); // mostra lista risultati - $.manageResultList(0,showOffset); + $.manageResultList(0, showOffset); }); queryExecuted = true; diff --git a/js/utilsMgr.js b/js/utilsMgr.js index b2935eb..a9e17e9 100644 --- a/js/utilsMgr.js +++ b/js/utilsMgr.js @@ -125,8 +125,9 @@ function getFraseContext(fraseids, numversi = 3) { for (i = startindex; i < listaforme.length; i++) { var tmpos = listaforme[i].split('_')[2] - if (tmpos == parseInt(fraseid.split('-')[2])) { + if (parseint(tmpos) == parseInt(fraseid.split('-')[2])) { pos = i; + break; } } @@ -136,10 +137,10 @@ function getFraseContext(fraseids, numversi = 3) { lastfraseid = fraseids[fraseids.length - 1] else lastfraseid = fraseids[0] - - for (j = pos; i < listaforme.length; j++) { + for (j = pos; j < listaforme.length; j++) { + var tmpos2 = listaforme[j].split('_')[2] - if (tmpos2 == parseInt(lastfraseid.split('-')[3])) { + if (parseInt(tmpos2) == parseInt(lastfraseid.split('-')[3])) { pos2 = j; break; }