diff --git a/js/browseMgr.js b/js/browseMgr.js index 2cdd7ed..20ccfdd 100644 --- a/js/browseMgr.js +++ b/js/browseMgr.js @@ -6,193 +6,191 @@ var resetResult; var lsentid; var lisid; -const formaClass='frm' +const formaClass = 'frm' var selectedVista; -var vistaPeriodi=false -var vistaDialoghi=false +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" + removeGraph = false; + const dialogspeakers = { + "Beatrice": "diaBeatrice", + "Dante": "diaDante", + "Virgilio": "diaVirgilio", + "Cacciaguida": "diaCacciaguida", + "san Bernardo": "diaSanBernardo" } - const dialogaltri='diaAltri' + 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=[] + listaClausoleRisultato = [] var commentsArray = [] var commentsJson = {} var resultSentences = new Set() - const cantiche=["Inferno", "Purgatorio","Paradiso"] - var loadedCanti=new Set(); - const openSTag="{" - const closeSTag="}" - + 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 contextLength = 3; + var showOffset = 30; var idCitazione = "citazioneFrase"; - + initCitazioni(); - - resetResult=function(){ + + resetResult = function() { //console.log('clean result') cleanSearchResult() esprlogica = [] } - + //hideMinimap(); createAllDivCanti() //const start = performance.now(); - showCanto(formeprima, '1','1') + showCanto(formeprima, '1', '1') $("#InfernoCanto_1").attr('style', 'display: d-flex;') loadedCanti.add("InfernoCanto_1") drawMinimap("#InfernoCanto_1", false) - const minim=$(" .minimap__content") - + 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"); - } -}); + + $('#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 + $(" ." + 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} - + 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)){ + $(" ." + 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{ + 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 -*/ + + $(" ." + 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 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{ + 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; - } + 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 divVersoExp = '' var setVersicontestoExp = new Set() for (forma of versiContestoExp) { if (!setVersicontestoExp.has(forma.verso)) { @@ -203,334 +201,333 @@ $(" ."+formaClass).hover(function(idx, element) { createSpanFormeNew(forma.testo, forma.catg, 'e' + forma.posizione, forma.periodo, forma.funzperiodo, divVersoExp) posizioniEspansione.push('e' + forma.posizione) } - - if(cid.includes('_er_')){ + + if (cid.includes('_er_')) { ///$("#"+cid).css("display", "none"); - $("#"+cid).removeClass( "btn-outline-primary" ); - $("#"+cid).addClass( "btn-outline-secondary" ); - $("#"+cid).addClass( "disabled" ); + $("#" + cid).removeClass("btn-outline-primary"); + $("#" + cid).addClass("btn-outline-secondary"); + $("#" + cid).addClass("disabled"); } - else{ - cid = cid.replace("ex","er"); + 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" ); + $("#" + 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 ") + idris = '#e' + ris + $(idris).addClass("font-weight-bold mark ") } - + //gestisco risultati se unità di ricerca è periodo - if (listaPeriodiRisultato.length){ - for (msid of listaPeriodiRisultato){ + 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('-') + 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. + */ /* - * 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) - + 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(){ + + function countResultContexts() { var numeroRisultati = 0; var ultimaPosizione = -1; - for (risultato of listarisultati){ - if (risultato <= parseInt(ultimaPosizione)){ - continue; + 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 + numeroRisultati = numeroRisultati + 1; + var versiContesto = getFormaContext(risultato, contextLength); + var ultimaForma = versiContesto.slice(-1) + ultimaPosizione = ultimaForma[0].posizione } - console.log('N. contesti: '+numeroRisultati) - numeroContesti=numeroRisultati + console.log('N. contesti: ' + numeroRisultati) + numeroContesti = numeroRisultati return (numeroRisultati) } - - function getResInPage(startcont, endcont){ + + function getResInPage(startcont, endcont) { var res = []; var ultimaPosizione = -1; - var contaContesti=0 - for (risultato of listarisultati){ - if (risultato <= parseInt(ultimaPosizione)){ - continue; + var contaContesti = 0 + for (risultato of listarisultati) { + if (risultato <= parseInt(ultimaPosizione)) { + continue; } - contaContesti=contaContesti+1; - if (contaContesti >= startcont && contaContesti < endcont){ + 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 + 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}); + 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'); + function showFrasi(start, offset = showOffset) { + var canto, numeroCantica; + var divVerso; + var elencoRisutati = $("#vistaFrasi"); + elencoRisutati.empty(); - 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 = $('