/** * */ 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' vistaPeriodi = true loadFrasi(); break; case "visPeriodi|false": $("#vistaFrasi").css("display", "none"); resetFrasi() vistaPeriodi = false 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 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 = $('