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 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,7 +90,7 @@ $(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");
@ -100,7 +100,7 @@ $(document).ready(function() {
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;
if (listarisultati.length) {
var ultimaPosizione = -1;
for (risultato of listarisultati) {
if (risultato <= parseInt(ultimaPosizione)) {
continue;
}
numeroRisultati = numeroRisultati + 1;
/*var versiContesto = getFormaContext(risultato, contextLength);
var ultimaForma = versiContesto.slice(-1)
ultimaPosizione = ultimaForma[0].posizione*/
ultimaPosizione=getContextLastPosition(risultato, contextLength);
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=[]
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) {
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,18 +394,17 @@ $(document).ready(function() {
var numeroVersi;
//const intsup = Math.min(start + offset, listarisultati.length)
var resincontext = getResInPage(start, start + offset)
//for (let i=start; i<intsup; i++){
for (let i = 0; i < resincontext.length; i++) {
//risultato = listarisultati[i];
risultato = resincontext[i];
numeroRisultato++;
if (!risultato.toString().includes('-') && risultato <= parseInt(ultimaPosizione)) {
continue;
}
var versiContesto=''
if (!Array.isArray(risultato)){
var versiContesto = ''
if (!Array.isArray(risultato)) {
risultato = parseInt(risultato)
versiContesto = getFormaContext(risultato, contextLength);
}
@ -419,7 +428,7 @@ $(document).ready(function() {
canto = forma.canto
}
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)
listaVersi.append(versiIniziali)
elencoRisutati.append(listaVersi)
@ -649,20 +658,20 @@ $(document).ready(function() {
if (!isPeriodoInCanto(idperiodo, cantoDisplayed)) {
if (!isPeriodoInCanto(idperiodo, cantoDisplayed) && !(cantoDisplayed.includes('#vistaFrasi'))) {
return
}
$(cantoDisplayed).find(' .' + idperiodo).each(function() {
var pstp = $(this).attr('class').split(" ")[1]
if (pstp=='sentencetag')
if (pstp == 'sentencetag')
$(this).attr('style', 'display: d-flex;');
//$(this).css('color', colorssp(mapsynttypestopalette[pstp]));
})
minim.contents().find(' .' + idperiodo).each(function() {
var mpstp = $(this).attr('class').split(" ")[1]
if (mpstp=='sentencetag')
if (mpstp == 'sentencetag')
$(this).attr('style', 'display: d-flex;');
//$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
})
@ -682,7 +691,7 @@ $(document).ready(function() {
return false
}
function loadFrase(idperiodo, funzionefrase) {
/*function loadFrase(idperiodo, funzionefrase) {
if (!isPeriodoInCanto(idperiodo, cantoDisplayed))
return
@ -699,16 +708,17 @@ $(document).ready(function() {
if (mpstp.trim() == funzionefrase)
$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
})
}
}*/
function loadClausola(idperiodo, funzionefrase, fromn, ton) {
if (!isPeriodoInCanto(idperiodo, cantoDisplayed))
if (!isPeriodoInCanto(idperiodo, cantoDisplayed) && !(cantoDisplayed.includes('#vistaFrasi')))
return
$(cantoDisplayed).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 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,7 +1244,7 @@ $(document).ready(function() {
divFrammAnnot.appendTo(collapse);
}
/* function hasComments(cid) {
/* function hasComments(cid) {
var id = cid.substr(9);
for (var pos in commentsArray) {
var comments = commentsArray[pos]
@ -1257,11 +1268,11 @@ $(document).ready(function() {
}
/* function numberOfComments(cid) {
/* 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,9 +1405,9 @@ $(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;');
}
@ -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<funcs.length; mi++)
if (clfunction.includes(';')) {
var funcs = clfunction.slice(0, -1).split(';')
var occs = clocc.slice(0, -1).split(';')
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])
}
@ -2014,24 +2025,24 @@ $(document).ready(function() {
console.log('Dialoghi')
resultsInCantica = []
resultsInCanto = []
var tmplr=[]
for (ris of listarisultati){
var tmplr = []
for (ris of listarisultati) {
for (const india in dialoghi) {
var tfr = parseInt(dialoghi[india]['Clfr'])
var tto = parseInt(dialoghi[india]['Clto'])
if(ris>=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])
@ -2066,8 +2077,8 @@ $(document).ready(function() {
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]
var valA = a.split('-')[2]
var valB = b.split('-')[2]
return valA - valB
});
//aggiunge badge con totale risultati accanto alle cantiche
@ -2089,10 +2100,10 @@ $(document).ready(function() {
console.log('badge end...')
//calcolo numero dei contesti
/countResultContexts()
/ countResultContexts()
$("#loader").fadeOut(300);
// mostra lista risultati
$.manageResultList(0,showOffset);
$.manageResultList(0, showOffset);
});
queryExecuted = true;

View File

@ -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; j < listaforme.length; j++) {
for (j = pos; i < 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;
}