Merge branch 'master' of

https://gitea-s2i2s.isti.cnr.it/concordia/LiDa_Search.git
This commit is contained in:
nicola 2023-03-13 11:57:34 +01:00
parent 66f24ab67c
commit 0a8660c60c
1 changed files with 15 additions and 194 deletions

View File

@ -30,7 +30,7 @@ $(document).ready(function() {
listaClausoleRisultato=[] listaClausoleRisultato=[]
var resultSentences = new Set() var resultSentences = new Set()
var minimapScrolling = false; var minimapScrolling = false;
var displayId = 'displaycanto' //var displayId = 'displaycanto'
var cantiche=["Inferno", "Purgatorio","Paradiso"] var cantiche=["Inferno", "Purgatorio","Paradiso"]
var loadedCanti=new Set(); var loadedCanti=new Set();
const openSTag="{" const openSTag="{"
@ -142,194 +142,18 @@ $(" ."+formaClass).hover(function(idx, element) {
} }
}); });
jQuery(document).delegate(' .espandiFraseNick', 'click', function() {
var cid = $(this).attr('id');
var parcid=cid.split('_');
var cantoToShow = parcid[0]+"_"+parcid[2]
var fraseToExpand = "#"+"versiFrase"+parcid[4]
var cantoDiv = [];
var fraseDiv = [];
var numeroVerso;
var idVerso;
var divAggiuntiPrima = null;
var divAggiuntiDopo = null;
var fraseElements = [];
var ultimoVersoDivDopo;
var primoVersoDivPrima;
var citazioneFrase;
var lastAppend;
var fineCanto = false;
cid = cid.replace("ex","er");
if ( !(loadedCanti.has(cantoToShow))){
caricaCanto(cantoToShow,parcid)
}
cantoToShow = "#"+ cantoToShow;
$(cantoToShow +" li").each((index, elem) => {
cantoDiv.push(elem.id);
});
$(fraseToExpand +" >li").each((index, elem) => {
fraseDiv.push(elem.id);
});
$(fraseToExpand +" >li").each((index, elem) => {
fraseElements.push(elem);
});
idVerso = fraseDiv[0].split('_');
cantica = idVerso[0];
canto = idVerso[1];
numeroVerso = parseInt(idVerso[2]);
primoVersoDivPrima = parseInt(idVerso[2])
idVerso = fraseDiv[fraseDiv.length-1].split('_');
ultimoVersoDivDopo = parseInt(idVerso[2]);
citazioneFrase = $("#"+idCitazione+parcid[4]).clone();
divAggiuntiPrima = $("#"+"FrasiAggiuntePrima"+parcid[4]);
divAggiuntiDopo = $("#"+"FrasiAggiunteDopo"+parcid[4]);
if (divAggiuntiPrima.length == 0){
divAggiuntiPrima = $("<div />")
divAggiuntiPrima.attr('id',"FrasiAggiuntePrima"+parcid[4])
}else{
primoVersoDivPrima = divAggiuntiPrima.attr("primoVerso")
}
if (divAggiuntiDopo.length == 0){
divAggiuntiDopo = $("<div />")
divAggiuntiDopo.attr('id',"FrasiAggiunteDopo"+parcid[4])
}else{
ultimoVersoDivDopo = divAggiuntiDopo.attr("ultimoVerso")
}
if (fraseDiv.length < contextLength+1){
if(numeroVerso == 1){ // caso inizio canto
lastAppend = aggiungiDopo(fraseDiv, ultimoVersoDivDopo,divAggiuntiDopo,cantoDiv)
}else{ // caso fine canto
aggiungiPrima(fraseDiv, primoVersoDivPrima,divAggiuntiPrima,cantoDiv);
fineCanto = true;
}
}else{
aggiungiPrima(fraseDiv, primoVersoDivPrima,divAggiuntiPrima,cantoDiv);
lastAppend = aggiungiDopo(fraseDiv, ultimoVersoDivDopo,divAggiuntiDopo,cantoDiv)
}
if (!fineCanto){
$("#"+idCitazione+parcid[4]).remove();
lastAppend.append("<br>")
citazioneFrase.appendTo(lastAppend)
}
$("#"+cid).attr('style', 'display: d-flex;');
//gestisco risultati se unità di ricerca è periodo
if (listaPeriodiRisultato.length){
for (msid of listaPeriodiRisultato){
loadPeriodo(msid)
}
}
//gestisce risultati se unità di ricerca è frase
if (listaClausoleRisultato.length){
for (clsid of listaClausoleRisultato){
let tmpid=clsid.split('-')
loadFrase(tmpid[0], tmpid[1])
}
}
//aggiungo listeners
//addFormaListeners()
addFormaListenersInCanto()
//addFormaListenersInRisultato()
//disegno minimap
drawMinimap('#vistaFrasi')
});
function aggiungiDopo(fraseDiv, ultimoVersoDivDopo,divAggiuntiDopo,cantoDiv){
idVerso = "#"+fraseDiv[fraseDiv.length-1];
numeroVerso = parseInt(ultimoVersoDivDopo);
for (i=numeroVerso;i<numeroVerso+contextLength;i++){
var verso = $("#"+cantoDiv[i]).clone();
ultimoVersoDivDopo++;
verso.attr('id', cantica+"_"+canto+"_"+ultimoVersoDivDopo);
divAggiuntiDopo.append(verso);
}
divAggiuntiDopo.insertAfter($(idVerso));
divAggiuntiDopo.attr("ultimoVerso",ultimoVersoDivDopo)
return verso;
}
function aggiungiPrima(fraseDiv, primoVersoDivPrima,divAggiuntiPrima,cantoDiv){
idVerso = "#"+fraseDiv[0];
numeroVerso = parseInt(primoVersoDivPrima);
for (i=numeroVerso-1;i>numeroVerso-contextLength-1;i--){
var verso = $("#"+cantoDiv[i-1]).clone();
primoVersoDivPrima--;
verso.attr('id', cantica+"_"+canto+"_"+primoVersoDivPrima);
divAggiuntiPrima.prepend(verso);
}
divAggiuntiPrima.insertBefore($(idVerso));
divAggiuntiPrima.attr("primoVerso",primoVersoDivPrima)
}
jQuery(document).delegate(' .riduciFraseNick', 'click', function() {
var cid = $(this).attr('id');
var parcid=cid.split('_');
var divAggiuntiPrima = "#"+"FrasiAggiuntePrima"+parcid[4]
var divAggiuntiDopo = "#"+"FrasiAggiunteDopo"+parcid[4]
var fraseDiv = [];
var fraseToExpand = "#"+"Frase"+parcid[4]
var idUltimoVerso;
citazioneFrase = $("#"+idCitazione+parcid[4]).clone();
$("#"+idCitazione+parcid[4]).remove();
$(divAggiuntiPrima).remove();
$(divAggiuntiDopo).remove();
$(fraseToExpand +" li").each((index, elem) => {
fraseDiv.push(elem.id);
});
idUltimoVerso = "#"+fraseDiv[fraseDiv.length-1];
citazioneFrase.appendTo($(idUltimoVerso));
$("#"+cid).css("display", "none");
drawMinimap('#vistaFrasi')
});
function caricaCanto(canto, parcid){
if(parcid[0].includes('Inferno'))
showCanto(formeprima, '1',parcid[2])
if(parcid[0].includes('Purgatorio'))
showCanto(formeseconda, '2',parcid[2])
if(parcid[0].includes('Paradiso'))
showCanto(formeterza, '3',parcid[2])
loadedCanti.add(canto)
}
/* /*
* CESARE, test per espansione * Espansione del contesto
*/ */
jQuery(document).delegate(' .espandiFrase, .riduciFrase', 'click', function() { jQuery(document).delegate(' .espandiFrase, .riduciFrase', 'click', function() {
var posizioniEspansione=[] var posizioniEspansione=[]
var cid = $(this).attr('id'); var cid = $(this).attr('id');
var parcid = cid.split('_'); var parcid = cid.split('_');
//console.log(parcid)
var posVerso var posVerso
reit = '#versiFrase' + parcid[4] reit = '#versiFrase' + parcid[4]
//console.log($(reit+" > li").length)
var expcontextLength=$(reit+" > li").length var expcontextLength=$(reit+" > li").length
if(cid.includes('_er_')){ if(cid.includes('_er_')){
expcontextLength=contextLength expcontextLength=contextLength
@ -396,10 +220,6 @@ $(" ."+formaClass).hover(function(idx, element) {
}) })
/*
* Fine test per espansione/riduzione
*/
/* /*
* Costruzione e visualizzazione del risultato in frasi. * Costruzione e visualizzazione del risultato in frasi.
*/ */
@ -412,7 +232,6 @@ $(" ."+formaClass).hover(function(idx, element) {
cantoDisplayed = "#vistaFrasi"; cantoDisplayed = "#vistaFrasi";
if (!queryExecuted){ if (!queryExecuted){
$("#vistaFrasi").attr('style', 'display: d-flex;'); $("#vistaFrasi").attr('style', 'display: d-flex;');
//manageMM("#vistaFrasi")
drawMinimap('#vistaFrasi') drawMinimap('#vistaFrasi')
if (selectedVista=='frasi'){ if (selectedVista=='frasi'){
loadFrasi(); loadFrasi();
@ -431,6 +250,9 @@ $(" ."+formaClass).hover(function(idx, element) {
var numeroVersi; var numeroVersi;
for (risultato of listarisultati){ for (risultato of listarisultati){
if (numeroRisultato > 50){
break;
}
numeroRisultato++; numeroRisultato++;
risultato = parseInt(risultato) risultato = parseInt(risultato)
if (risultato <= parseInt(ultimaPosizione)){ if (risultato <= parseInt(ultimaPosizione)){
@ -545,7 +367,6 @@ $(" ."+formaClass).hover(function(idx, element) {
//visualizzo //visualizzo
$("#vistaFrasi").attr('style', 'display: d-flex;'); $("#vistaFrasi").attr('style', 'display: d-flex;');
//manageMM("#vistaFrasi")
const endVis = performance.now(); const endVis = performance.now();
console.log(`Visualizzazione time: ${endVis - start} ms`); console.log(`Visualizzazione time: ${endVis - start} ms`);
@ -646,7 +467,7 @@ $(" ."+formaClass).hover(function(idx, element) {
//Utility functions //Utility functions
function addFormaListeners(){ /*function addFormaListeners(){
$(" ." + formaClass).each(function(idx, element) { $(" ." + formaClass).each(function(idx, element) {
var ele = $(element); var ele = $(element);
@ -670,8 +491,8 @@ $(" ."+formaClass).hover(function(idx, element) {
}); });
} }*/
/*
function addFormaListenersInRisultato(tmplist){ function addFormaListenersInRisultato(tmplist){
for (ris of tmplist) { for (ris of tmplist) {
@ -696,7 +517,7 @@ $(" ."+formaClass).hover(function(idx, element) {
}); });
} }
} }*/
function addFormaListenersInCanto(){ function addFormaListenersInCanto(){
let idn=0 let idn=0
@ -987,14 +808,14 @@ function resetFrasi(){
//manage sentence and clauses //manage sentence and clauses
function showSentenceStructure(sentence) { /* function showSentenceStructure(sentence) {
sid = '.' + sentence.toString() sid = '.' + sentence.toString()
//console.log(sid) //console.log(sid)
$(sid).addClass('text-info font-italic') $(sid).addClass('text-info font-italic')
} }
*/
function resetSentenceStructure(sentence) { function resetSentenceStructure(sentence) {
@ -1090,14 +911,14 @@ function resetFrasi(){
spanoccorrenza.appendTo(elementoverso) spanoccorrenza.appendTo(elementoverso)
nbsp.appendTo(elementoverso) nbsp.appendTo(elementoverso)
} }
function createDivVersoNew(cantica, num, canto) { /* function createDivVersoNew(cantica, num, canto) {
var elementoverso = createDivVersoGeneric(cantica, num, canto) var elementoverso = createDivVersoGeneric(cantica, num, canto)
elementoverso.appendTo('#' + cantica + canto) elementoverso.appendTo('#' + cantica + canto)
return elementoverso return elementoverso
} }*/
function createDivVersoLI(cantica, num, canto) { function createDivVersoLI(cantica, num, canto) {
@ -1133,7 +954,7 @@ function resetFrasi(){
return elementoverso return elementoverso
} }
function createDivVersoGeneric(cantica, num, canto) { /* function createDivVersoGeneric(cantica, num, canto) {
var elementoverso = $('<p />') var elementoverso = $('<p />')
@ -1151,7 +972,7 @@ function resetFrasi(){
return elementoverso return elementoverso
} }
*/
function createAllDivCanti() { function createAllDivCanti() {
var cantiche=["Inferno", "Purgatorio","Paradiso"] var cantiche=["Inferno", "Purgatorio","Paradiso"]