/**
*
*/
var resetResult;
var lsentid;
var lisid;
const formaClass = 'frm'
var selectedVista;
var vistaPeriodi = false
var vistaDialoghi = false
var vistaRiferimenti = true
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'
vistaPeriodi = true
loadFrasi();
break;
case "visPeriodi|false":
$("#vistaFrasi").css("display", "none");
resetFrasi()
vistaPeriodi = false
break;
case "visRiferimenti|true":
vistaRiferimenti = true
$(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(){
$(this).css("display", "none");
})
//$(".showcomments").css("display", "none");
minim.contents().find(" .showcomments").each(function() {
$(this).css('display', 'none');
})
const emptyNoteList = '
Nessun commento visualizzato
';
$('#displaynote').empty()
$('#displaynote').append($(emptyNoteList))
vistaRiferimenti = false
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
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)) {
return
}
$(cantoDisplayed).find(' .' + idperiodo).each(function() {
var pstp = $(this).attr('class').split(" ")[1]
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')
$(this).attr('style', 'display: d-flex;');
//$(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()
emphResults()
}
//visualizzazione risultati
function emphResults() {
//evidenzio i periodi se unità di ricerca è impostato come periodo
if (listaPeriodiRisultato.length) {
for (msid of listaPeriodiRisultato) {
//if (isPeriodoInCanto(msid, cantoDisplayed))
loadPeriodo(msid)
}
}
//evidenzio le frasi se unità di ricerca è frase
if (listaClausoleRisultato.length) {
for (clsid of listaClausoleRisultato) {
if (isPeriodoInCanto(clsid, cantoDisplayed)) {
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 = $('