/**
*
*/
var resetResult;
var lsentid;
var lisid;
const formaClass='frm'
var selectedVista;
var vistaPeriodi=false
var vistaDialoghi=false
var listaPeriodiRisultato;
var listaClausoleRisultato;
var numeroContesti;
$(document).ready(function() {
removeGraph=false;
const dialogspeakers={
"Beatrice":"diaBeatrice",
"Dante":"diaDante",
"Virgilio":"diaVirgilio",
"Cacciaguida":"diaCacciaguida",
"san Bernardo":"diaSanBernardo"
}
const dialogaltri='diaAltri'
const cantobadgeclass = 'badge badge-outline-warning badge-pill'
const sparqlGenerator = sparqljs.Generator;
const myEngine = new Comunica.QueryEngine();
//const sparqlEndpoint = "https://hdnlab1.isti.cnr.it/fuseki/commediaontosintgra/query";
const sparqlEndpoint = "https://hdnlab1.isti.cnr.it/fuseki/commedia/query";
var shownSentenceList = new Set()
listarisultati = [];
listaPeriodiRisultato = [];
listaClausoleRisultato=[]
var commentsArray = []
var commentsJson = {}
var resultSentences = new Set()
const cantiche=["Inferno", "Purgatorio","Paradiso"]
var loadedCanti=new Set();
const openSTag="{"
const closeSTag="}"
var cantoDisplayed = "#InfernoCanto_1";
var prevCantoDisplayed = "#InfernoCanto_1";
var contextLength = 3;
var showOffset = 30;
var idCitazione = "citazioneFrase";
initCitazioni();
resetResult=function(){
//console.log('clean result')
cleanSearchResult()
esprlogica = []
}
//hideMinimap();
createAllDivCanti()
//const start = performance.now();
showCanto(formeprima, '1','1')
$("#InfernoCanto_1").attr('style', 'display: d-flex;')
loadedCanti.add("InfernoCanto_1")
drawMinimap("#InfernoCanto_1", false)
const minim=$(" .minimap__content")
$('#opzioniVista :checkbox').change(function() {
changedOption = $(this)[0].id;
switch (changedOption + "|" + this.checked){
case "visPeriodi|true":
selectedVista = 'frasi'
$(cantoDisplayed).attr('style', 'display: d-flex;')
vistaPeriodi=true
loadFrasi();
break;
case "visPeriodi|false":
$("#vistaFrasi").css("display", "none");
resetFrasi()
vistaPeriodi=false
$(cantoDisplayed).attr('style', 'display: d-flex;')
break;
case "visRiferimenti|true":
$(".showcomments").css("display", "inline-block");
minim.contents().find(" .showcomments").each(function(){
$(this).css('display', 'inline-block');
})
break;
case "visRiferimenti|false":
$(".showcomments").css("display", "none");
minim.contents().find(" .showcomments").each(function(){
$(this).css('display', 'none');
})
const emptyNoteList = '
Nessun commento visualizzato
';
$('#displaynote').empty()
$('#displaynote').append($(emptyNoteList))
break;
case "visDialoghi|true":
selectedVista = 'dialoghi'
//resetFrasi()
loadDialoghi();
vistaDialoghi=true
break;
case "visDialoghi|false":
$("#vistaDialoghi").css("display", "none");
vistaDialoghi=false
resetDialoghi()
break;
case "visMetafore|true":
//loadMetafore();
break;
case "visMetafore|false":
$("#vistaMetafore").css("display", "none");
}
});
$(" ."+formaClass).each(function(idx, element) {
// We cycle through the elements using each() so that we can choose the element specifically that we wish to clean up afterward
var ele = $(element);
ele.tooltip({
content: (function() {return formatTTContent(ele.attr('title'), ele.attr('class').split(' ')[1], ele.attr('class').split(' ')[0]);}),
classes:{"ui-tooltip":'Nik_dropdown-content'},
close: function (event, ui) {$(".ui-helper-hidden-accessible").remove();},
create: function(ev, ui) {$(this).data("ui-tooltip").liveRegion.remove();},
hide: false,
show: {delay: 800,duration: 0}
});
});
$( " ."+formaClass ).dblclick(function() {
var sentenceId=$(this).attr('class').split(' ')[0].replace('$','')
console.log('dblclick '+lisid)
if (shownSentenceList.has(sentenceId)){
resetSentenceStructure(sentenceId)
shownSentenceList.delete(sentenceId)
}
else{
//showSentenceStructure (sentenceId)
shownSentenceList.add(sentenceId)
}
});
$(" ."+formaClass).hover(function(idx, element) {
var sentenceId=$(this).attr('class').split(' ')[0].split('_')
var tmplisid=sentenceId[0]+'_'+sentenceId[1]+'_'+sentenceId[3]
lsentid=$(this).attr('class').split(' ')[0]
lisid=tmplisid
});
/*
* Espansione del contesto
*/
jQuery(document).delegate(' .espandiFrase, .riduciFrase', 'click', function() {
if ($(this).hasClass("disabled")) {
return;
};
var posizioniEspansione=[]
var cid = $(this).attr('id');
var parcid = cid.split('_');
var posVerso
reit = '#versiFrase' + parcid[4]
var expcontextLength=$(reit+" > li").length
if(cid.includes('_er_')){
expcontextLength=contextLength
}else{
posVerso = $(reit).attr('posVerso')
if (posVerso == 1){ // caso inizio o fine canto
expcontextLength+=contextLength;
}
}
//svuoto la lista di versi
$(reit).empty()
//genero la nuova lista di versi
var versiContestoExp = getFormaContext(parseInt(parcid[3]), expcontextLength);
var divVersoExp=''
var setVersicontestoExp = new Set()
for (forma of versiContestoExp) {
if (!setVersicontestoExp.has(forma.verso)) {
divVersoExp = createDivVersoLI(forma.cantica, forma.verso, forma.canto)
$(reit).append(divVersoExp)
setVersicontestoExp.add(forma.verso)
}
createSpanFormeNew(forma.testo, forma.catg, 'e' + forma.posizione, forma.periodo, forma.funzperiodo, divVersoExp)
posizioniEspansione.push('e' + forma.posizione)
}
if(cid.includes('_er_')){
///$("#"+cid).css("display", "none");
$("#"+cid).removeClass( "btn-outline-primary" );
$("#"+cid).addClass( "btn-outline-secondary" );
$("#"+cid).addClass( "disabled" );
}
else{
cid = cid.replace("ex","er");
///$("#"+cid).attr('style', 'display: d-flex;');
$("#"+cid).removeClass( "btn-outline-secondary" );
$("#"+cid).removeClass( "disabled" );
$("#"+cid).addClass( "btn-outline-primary" );
}
//evidenzio risultato
//var idris = '#e' + parcid[3]
//$(idris).addClass("font-weight-bold mark ")
for (ris of listarisultati) {
idris = '#e' + ris
$(idris).addClass("font-weight-bold mark ")
}
//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])
loadClausola(tmpid[0], tmpid[1], tmpid[2], tmpid[3])
}
}
//aggiungo listeners
//addFormaListenersInRisultato(posizioniEspansione)
addFormaListenersInCanto()
//disegno minimap, onlyContent = true
drawMinimap('#vistaFrasi', true)
//manageMM('#vistaFrasi')
})
/*
* Costruzione e visualizzazione del risultato in frasi.
*/
/*
* Costruzione e visualizzazione del risultato in frasi.
*/
//$.manageResultList(start, offset)
var prevstart=-1
var prevoffset=-1
jQuery.manageResultList = function manageResultList(start, offset = showOffset){
if(offset==prevoffset && start==prevstart && cantoDisplayed=='#vistaFrasi')
return
console.log('Paginazione...')
prevstart=start
prevoffset=offset
if(cantoDisplayed!='#vistaFrasi'){
prevCantoDisplayed=cantoDisplayed;
$(cantoDisplayed).css("display", "none");
//visualizzo
$("#vistaFrasi").attr('style', 'display: d-flex;');
cantoDisplayed="#vistaFrasi";
}
//listarisultati.sort(function(a, b){return a - b});
showFrasi (start, offset)
console.log(vistaPeriodi)
if (vistaPeriodi){
loadFrasi();
}
if (vistaDialoghi){
loadDialoghi();
}
addFormaListenersInCanto()
drawMinimap('#vistaFrasi', false)
}
function countResultContexts(){
var numeroRisultati = 0;
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
}
console.log('N. contesti: '+numeroRisultati)
numeroContesti=numeroRisultati
return (numeroRisultati)
}
function getResInPage(startcont, endcont){
var res = [];
var ultimaPosizione = -1;
var contaContesti=0
for (risultato of listarisultati){
if (risultato <= parseInt(ultimaPosizione)){
continue;
}
contaContesti=contaContesti+1;
if (contaContesti >= startcont && contaContesti < endcont){
res.push(risultato)
}
if (contaContesti > endcont)
break;
var versiContesto= getFormaContext(risultato, contextLength);
var ultimaForma=versiContesto.slice(-1)
ultimaPosizione=ultimaForma[0].posizione
}
//ordino la lista dei risultati
res.sort(function(a, b){return a - b});
return (res)
}
function showFrasi (start, offset = showOffset) {
var canto, numeroCantica;
var divVerso;
var elencoRisutati = $("#vistaFrasi");
elencoRisutati.empty();
var numeroRisultato = 0;
var ultimaPosizione = 0;
var numeroVersi;
const intsup =Math.min(start+offset, listarisultati.length)
var resincontext=getResInPage(start, start+offset)
//for (let i=start; i')
var versiIniziali = $('')
var listaVersi = $('
')
listaVersi.attr('id', "Frase"+numeroRisultato);
versiIniziali.attr('id', "versiFrase"+numeroRisultato);
numeroVersi = 0;
for (forma of versiContesto){
if (setVersicontesto.size == 0){
numeroCantica=forma.cantica
canto=forma.canto
}
if (!setVersicontesto.has(forma.verso)){
divVerso = createDivVersoLI(forma.cantica, forma.verso, forma.canto)
versiIniziali.append(divVerso)
listaVersi.append(versiIniziali)
elencoRisutati.append(listaVersi)
setVersicontesto.add(forma.verso)
numeroVersi++;
}
createSpanFormeNew(forma.testo, forma.catg, 'e'+forma.posizione, forma.periodo, forma.funzperiodo, divVerso)
}
ultimaPosizione = forma.posizione;
if (numeroVersi < contextLength +1) {
versiIniziali.attr('posVerso', 1); // inizio o fine canto
}else {
versiIniziali.attr('posVerso', 9999);
}
var comandi = $('')
comandi.attr('id',"comandiFrase"+numeroRisultato)
comandi.attr('class', 'comandi col flex-nowrap d-inline justify-content-between pl-1 pb-2 ml-2 mb-2 border-bottom');
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 spanBadgeExpand = $('');
var expandIcon = '';
spanBadgeExpand.attr('class', 'btn btn-sm btn-outline-primary espandiFrase px-1 pt-1 pb-0');
var spanBadgeReduce = $('');
var reduceIcon = '';
spanBadgeReduce.attr('class', 'btn btn-sm btn-outline-secondary riduciFrase px-1 pt-1 pb-0 ml-1 disabled');
spanBadgeExpand.attr('id', getCantica(numeroCantica)+"Canto_ex_"+canto+"_"+risultato+"_"+numeroRisultato);
spanBadgeExpand.append(expandIcon);
spanBadgeReduce.attr('id', getCantica(numeroCantica)+"Canto_er_"+canto+"_"+risultato+"_"+numeroRisultato);
spanBadgeReduce.append(reduceIcon)
spanBadgeExpand.appendTo(comandiGrp);
spanBadgeReduce.appendTo(comandiGrp);
comandiGrp.appendTo(comandi);
var citazioneDiv = $('')
citazioneDiv.attr('class', ' text-right flex-nowrap d-inline ml-3 px-3 py-0');
var citazione = $('')
citazione.append("["+getCantica(numeroCantica)+", Canto "+getRoman(canto)+"]")
citazione.attr('class', ' pl-3 citazioneFrase align-text-top');
citazione.attr('name', getCantica(numeroCantica)+"Canto "+canto);
citazione.attr('id', idCitazione+'_'+numeroRisultato+'_'+risultato);
citazione.appendTo(citazioneDiv);
citazioneDiv.appendTo(comandi);
comandi.appendTo(elencoRisutati);
}
//evidenzio resultati
for (ris of listarisultati) {
idris = '#e' + ris
$(idris).addClass("font-weight-bold mark ")
}
//evidenzio i periodi se unità di ricerca è impostato come periodo
if (listaPeriodiRisultato.length){
for (msid of listaPeriodiRisultato){
loadPeriodo(msid)
}
}
//evidenzio le frasi se unità di ricerca è frase
if (listaClausoleRisultato.length){
for (clsid of listaClausoleRisultato){
let tmpid=clsid.split('-')
//loadFrase(tmpid[0], tmpid[1])
loadClausola(tmpid[0], tmpid[1], tmpid[2], tmpid[3])
}
}
}
jQuery(document).delegate('.navig-canto, .citazioneFrase', 'click', function(e) {
resetFrasi()
//nasconde vista risultati
$("#vistaFrasi").css("display", "none");
//rimuove il grafo sintattico se c'è'
resetGraphStruct()
emptyStructCard()
$(cantoDisplayed).css("display", "none");
const cid=$(this).attr('name').replace(" ", "_");
cantoDisplayed = "#"+cid;
initCitazioni()
var parcid=cid.split('_')
if ( !(loadedCanti.has(cid)))
{
if(parcid[0].includes('Inferno'))
showCanto(formeprima, '1',parcid[1])
if(parcid[0].includes('Purgatorio'))
showCanto(formeseconda, '2',parcid[1])
if(parcid[0].includes('Paradiso'))
showCanto(formeterza, '3',parcid[1])
loadedCanti.add(cid)
}
//$("#" + $(this).attr('name').replace(" ", "_")).css("display", "block");
$("#" + $(this).attr('name').replace(" ", "_")).attr('style', 'display: d-flex;')
drawMinimap("#" + $(this).attr('name').replace(" ", "_"), false)
console.log(vistaPeriodi)
if (vistaPeriodi){
loadFrasi();
}
if (vistaDialoghi){
loadDialoghi();
}
addFormaListenersInCanto();
//se si sta arrivando al canto da un link della lista risultati
const callerid=$(this).attr('id');
if (callerid!=null && callerid.startsWith(idCitazione)){
const mypos=callerid.split('_')[2]
latestPhraseId = callerid.split('_')[0].replace("citazione", "")+callerid.split('_')[1];
$("#collapse"+parcid[0].replace("Canto", "")).collapse('show');
document.getElementById(mypos).scrollIntoView({
behavior: "smooth",
});
}
});
//Query
jQuery(document).delegate('#searchcomm, #searchcomm2', 'click', function(e) {
e.preventDefault();
manageQuery()
});
//Reset
jQuery(document).delegate('#cleanresult', 'click', function(e) {
console.log('clean')
cleanSearchResult()
esprlogica = []
$('#queryText').val("")
});
//Utility functions
function addFormaListenersInCanto(){
let idn=0
$(cantoDisplayed).find(" ." + formaClass).each(function(idx, element) {
idn=idn+1
var ele = $(element);
$(element).tooltip({
content: (function() { return formatTTContent(ele.attr('title'), ele.attr('class').split(' ')[1], ele.attr('class').split(' ')[0]); }),
classes: { "ui-tooltip": 'Nik_dropdown-content' },
//close: function(event, ui) { $(".ui-helper-hidden-accessible").remove(); },
//create: function(ev, ui) { $(this).data("ui-tooltip").liveRegion.remove(); },
hide: false,
show: {delay: 800,duration: 0}
});
$(element).hover(function(idx, element) {
var sentenceId = $(this).attr('class').split(' ')[0].split('_')
var tmplisid = sentenceId[0] + '_' + sentenceId[1] + '_' + sentenceId[3]
lsentid = $(this).attr('class').split(' ')[0]
lisid = tmplisid
});
});
//console.log('nr forme '+idn)
}
function getRoman(numero) {
var romani = ["I","II","III","IV","V","VI","VII","VIII","IX","X",
"XI","XII","XIII","XIV","XV","XVI","XVII","XVIII","XIX","XX",
"XXI","XXII","XXIII","XXIV","XXV","XXVI","XXVII","XXVIII","XXIX","XXX",
"XXXI","XXXII","XXXIII","XXXIV"];
return (romani[numero-1]);
}
function getNumCurrentCantica(){
var mcanto=cantoDisplayed.replace("#",'')
var cantica=''
if (mcanto.startsWith('Inf'))
cantica='1'
if (mcanto.startsWith('Pur'))
cantica='2'
if (mcanto.startsWith('Par'))
cantica='3'
return(cantica+'_'+mcanto.split('_')[1])
}
function loadPeriodo(idperiodo) {
//if(idperiodo.split('_')[0]+'_'+idperiodo.split('_')[1]!=getNumCurrentCantica())
if (!isPeriodoInCanto(idperiodo, cantoDisplayed)){
console.log(idperiodo.split('_')[0]+'_'+idperiodo.split('_')[1]+', '+getNumCurrentCantica())
return
}
$(cantoDisplayed).find(' .'+idperiodo).each(function() {
var pstp=$(this).attr('class').split(" ")[1]
$(this).css('color', colorssp(mapsynttypestopalette[pstp]));
})
minim.contents().find(' .'+idperiodo).each(function() {
var mpstp=$(this).attr('class').split(" ")[1]
$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
})
}
function isPeriodoInCanto(idperiodo, canto){
datiperiodo=idperiodo.split('_')
daticanto=canto.split('_')
canticaprd=datiperiodo[0]
cantoprd=datiperiodo[1]
if(canticaprd=='1' && daticanto[0].includes('Inferno'))
return(cantoprd==daticanto[1])
if(canticaprd=='2' && daticanto[0].includes('Purgatorio'))
return(cantoprd==daticanto[1])
if(canticaprd=='3' && daticanto[0].includes('Paradiso'))
return(cantoprd==daticanto[1])
return false
}
function loadFrase(idperiodo, funzionefrase) {
if (!isPeriodoInCanto(idperiodo, cantoDisplayed))
return
$(cantoDisplayed).find(' .'+idperiodo).each(function() {
var pstp=$(this).attr('class').split(" ")[1]
if(pstp.trim()==funzionefrase)
$(this).css('color', colorssp(mapsynttypestopalette[pstp]));
})
minim.contents().find(' .'+idperiodo).each(function() {
var mpstp=$(this).attr('class').split(" ")[1]
if(mpstp.trim()==funzionefrase)
$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
})
}
function loadClausola(idperiodo, funzionefrase, fromn, ton) {
if (!isPeriodoInCanto(idperiodo, cantoDisplayed))
return
$(cantoDisplayed).find(' .'+idperiodo).each(function() {
if (parseInt($(this).attr('id'))>=parseInt(fromn)
&& parseInt($(this).attr('id'))<=parseInt(ton)){
var pstp=$(this).attr('class').split(" ")[1]
if(pstp.trim()==funzionefrase)
$(this).css('color', colorssp(mapsynttypestopalette[pstp]));
}
})
minim.contents().find(' .'+idperiodo).each(function() {
if (parseInt($(this).attr('id'))>=parseInt(fromn)
&& parseInt($(this).attr('id'))<=parseInt(ton)){
var mpstp=$(this).attr('class').split(" ")[1]
if(mpstp.trim()==funzionefrase)
$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
}
})
}
function loadDialoghi() {
var aca='3'
if (cantoDisplayed.includes('Inferno'))
aca='1'
if (cantoDisplayed.includes('Purgatorio'))
aca='2'
for (const india in dialoghi){
//console.log(dialoghi[india]['Cnt'].replace('_so',''))
var diaclass=dialoghi[india]['Cnt'].replace('_so','')
var authclass=dialoghi[india]['Cnt'];
if(diaclass.split('_')[1]!=cantoDisplayed.split('_')[1])
continue;
if(diaclass.split('_')[0]!=aca)
continue;
var csscl=dialogaltri
if (dialoghi[india]['Spna'] in dialogspeakers){
csscl=dialogspeakers[dialoghi[india]['Spna']]
}
$(cantoDisplayed).find(' .'+diaclass).each(function() {
$(this).addClass(csscl)
})
$(cantoDisplayed).find(' .'+authclass).each(function() {
//$(this).addClass(csscl)
$(this).attr('style', 'display: d-flex;');
})
minim.contents().find(' .'+diaclass).each(function() {
$(this).addClass(csscl)
})
}
emphResults()
}
function loadFrasi() {
$(cantoDisplayed).find(' .sentencetag').each(function() {
$(this).attr('style', 'display: d-flex;');
})
$(cantoDisplayed).find(' .'+formaClass).each(function() {
stp=$(this).attr('class').split(" ")[1]
$(this).css('color', colorssp(mapsynttypestopalette[stp]));
})
//let minim=$(" .minimap__content")
minim.contents().find(" .sentencetag").each(function(){
$(this).attr('style', 'display: d-flex;');
})
minim.contents().find(' .'+formaClass).each(function() {
stp=$(this).attr('class').split(" ")[1]
$(this).css('color', colorssp(mapsynttypestopalette[stp]));
})
}
function resetDialoghi(){
for (mk in dialogspeakers){
//console.log (mk+' '+dialogspeakers[mk])
$(cantoDisplayed).find(' .'+dialogspeakers[mk]).each(function() {
$(this).removeClass(dialogspeakers[mk]);
})
minim.contents().find(' .'+dialogspeakers[mk]).each(function(){
$(this).removeClass(dialogspeakers[mk]);
})
}
$(cantoDisplayed).find(' .'+dialogaltri).each(function() {
$(this).removeClass(dialogaltri);
})
minim.contents().find(' .'+dialogaltri).each(function(){
$(this).removeClass(dialogaltri);
})
emphResults()
}
function resetFrasi(){
$(cantoDisplayed).find(' .sentencetag').each(function() {
$(this).css('display', 'none');
})
$(cantoDisplayed).find(' .'+formaClass).each(function() {
//console.log(colorssp(mapsynttypestopalette[stp]))
$(this).css('color', '');
$(this).removeClass('font-weight-bold')
})
minim.contents().find(" .sentencetag").each(function(){
$(this).css('display', 'none');
})
minim.contents().find(' .'+formaClass).each(function() {
$(this).css('color', '');
$(this).removeClass('font-weight-bold')
})
//cancello il grafo sintattico
resetGraphStruct()
emptyStructCard()
console.log('start...')
emphResults()
}
//visualizzazione risultati
function emphResults(){
var mcanto=cantoDisplayed.replace("#",'')
cantica=''
if (mcanto.startsWith('Inf'))
cantica='1'
if (mcanto.startsWith('Pur'))
cantica='2'
if (mcanto.startsWith('Par'))
cantica='3'
//evidenzio i periodi se unità di ricerca è impostato come periodo
if (listaPeriodiRisultato.length) {
for (msid of listaPeriodiRisultato) {
if(msid.split('_')[0]==cantica)
loadPeriodo(msid)
}
}
//evidenzio le frasi se unità di ricerca è frase
if (listaClausoleRisultato.length) {
for (clsid of listaClausoleRisultato) {
if(msid.split('_')[0]==cantica){
let tmpid = clsid.split('-')
//loadFrase(tmpid[0], tmpid[1])
loadClausola(tmpid[0], tmpid[1], tmpid[2], tmpid[3])
}
}
}
}
/*INIZIO GESTIONE CITAZIONI*/
function initCitazioni(){
//"#InfernoCanto_1"
//console.log('VISTA CITAZIONI!')
var mcanto=cantoDisplayed.replace("#",'')
cantica=''
if (mcanto.startsWith('Inf'))
cantica='Inferno'
if (mcanto.startsWith('Pur'))
cantica='Purgatorio'
if (mcanto.startsWith('Par'))
cantica='Paradiso'
canto=mcanto.split('_')[1]
if (canto.length==1)
canto='0'+canto
commentsArray=getVersiConCitazioni(cantica, canto)
commentsJson=getVersiConCitazioniJson (cantica, canto)
commentsArray.forEach(removeHtmlTags2)
var numVerso1;
var numVerso2;
var versoCitazione;
commentsArray.sort((p1, p2) => {
numVerso1 = p1.verso;
numVerso2 = p2.verso;
versoCitazione = (p1.VersoCitazione).replaceAll("-","");
numVerso1 = numVerso1 + versoCitazione;
versoCitazione = (p2.VersoCitazione).replaceAll("-","");
numVerso2 = numVerso2 + versoCitazione;
numVerso2 = parseInt(numVerso2.replaceAll("_",""));
numVerso1 = parseInt(numVerso1.replaceAll("_",""));
if (numVerso1 < numVerso2) return -1;
if (numVerso1 > numVerso2) return 1;
return 0;
});
}
/* Luca: removeHtmlTags2 e' la versione compatta di removeHtmlTags*/
function removeHtmlTags2(value){
var text = ""
for (const key in value) {
text = `${value[key]}`
if (text != null){
text = text.replace(/<(.|\n)*?>/g, '');
text = text.replace("«","");
text = text.replace("»","");
text = text.replace(/[\r\n]+/gm, ' ');
value[`${key}`] = text;
}
}
}
function removeHtmlTags(value){
var text = value;
if (text != null){
text = text.replace(/<(.|\n)*?>/g, '');
text = text.replace("«","");
text = text.replace("»","");
text = text.replace(/\ /g, ' ');
text = text.replace(/[\r\n]+/gm, ' ');
return text;
}
}
jQuery(document).delegate(' .showcomments', 'click', function() {
var cid = $(this).attr('id');
if(!hasCommentsJson(cid)){
return
}
var parcid=cid.split('_')
var cantica;
switch (parcid[1]){
case "1": cantica = "Inferno";
break;
case "2": cantica = "Purgatorio";
break;
case "3": cantica = "Paradiso";
}
var commentArea = $('#displaynote');
commentArea.empty()
if ($('#noteCard0').length ) {
$("#noteCard0")[0].remove();
}
var id = cid.substr(9);
var collapseNote;
var gruppoVersi;
var versText = "";
//var saveVersoCitazione = "";
var allGrouplKeys = Object.keys(commentsJson);
var currentGroup;
allGrouplKeys.sort().some(function(k){
if (k==id || ~k.indexOf(id+'-')){
//console.log('gruppo commenti '+k)
console.log (commentsJson[k].length)
gruppoVersi = k.split("_").slice(-1)[0]
if (gruppoVersi.includes("-")) {
versText = ", Versi " + gruppoVersi;
} else {
versText = ", Verso " + gruppoVersi;
}
currentGroup = createNoteGroup(cantica, getRoman(parcid[2]), versText, k, commentsJson[k].length)
commentsJson[k].forEach(function (value, i) {
currentGroup.append(createNoteEntry(value,k,i))
});
commentArea.append(currentGroup);
}
$('#tab-list #vis0-tab').tab('show')
})
})
function createNoteGroup(cantica, canto, versi, id, len) {
var noteGroupCard = $('');
var commentHeader = $('