/** * */ var resetResult; var lsid; var lsentid; const formaClass='frm' var selectedVista; var listaPeriodiRisultato; var listaClausoleRisultato; var listarisultati; $(document).ready(function() { lsid=''; removeGraph=false; const cantobadgeclass = 'badge badge-outline-info badge-pill' const sparqlGenerator = sparqljs.Generator; const myEngine = new Comunica.QueryEngine(); const sparqlEndpoint = "https://hdnlab1.isti.cnr.it/fuseki/commediaontosintgra/query"; var shownSentenceList = new Set() //var currentMinimap = '' listarisultati = []; listaPeriodiRisultato = []; listaClausoleRisultato=[] var resultSentences = new Set() var minimapScrolling = false; //var displayId = 'displaycanto' var cantiche=["Inferno", "Purgatorio","Paradiso"] var loadedCanti=new Set(); const openSTag="{" const closeSTag="}" var cantoDisplayed = "#InfernoCanto_1"; var prevCantoDisplayed = "#InfernoCanto_1"; var queryExecuted = false; var contextLength = 3; var showOffset = 30; var idCitazione = "citazioneFrase"; 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") const minim=$(" .minimap__content") //const end = performance.now(); //console.log(`Load cantiche time: ${end - start} ms`); $("#valoreVista").on('change', function() { selectedVista = $(this).val(); switch (selectedVista){ case "forme": $("#vistaFrasi").css("display", "none"); $("#vistaDialoghi").css("display", "none"); $("#vistaMetafore").css("display", "none"); resetFrasi() $(cantoDisplayed).attr('style', 'display: d-flex;') break; case "frasi": loadFrasi(); break; case "metafore": //loadMetafore(); break; case "dialoghi": //loadDialoghi(); break; } }); $(" ."+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]);}), 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) lsid='' } 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 }); //$("#" + displayId).scroll(function() { $(displayCantoWrapperId).scroll(function() { if (minimapScrolling) { minimapScrolling = false } else { trackScrollCanto() } }); /* * 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]) } } //aggiungo listeners //addFormaListenersInRisultato(posizioniEspansione) addFormaListenersInCanto() //disegno minimap, onlyContent = true drawMinimap('#vistaFrasi', true) //manageMM('#vistaFrasi') }) /* * Costruzione e visualizzazione del risultato in frasi. */ //Non più usata, rimuovere jQuery(document).delegate(' .lista-risultati_no', 'click', function(e) { prevCantoDisplayed=cantoDisplayed; $(cantoDisplayed).css("display", "none"); cantoDisplayed = "#vistaFrasi"; if (!queryExecuted){ $("#vistaFrasi").attr('style', 'display: d-flex;'); drawMinimap('#vistaFrasi') if (selectedVista=='frasi'){ loadFrasi(); } return } //const start = performance.now(); queryExecuted = false; //listarisultati.sort(function(a, b){return a - b}); showFrasi (0) /*var elencoRisutati = $("#vistaFrasi"); elencoRisutati.empty(); var numeroRisultato = 0; var ultimaPosizione = 0; var numeroVersi; for (risultato of listarisultati){ if (numeroRisultato > 50){ break; } numeroRisultato++; risultato = parseInt(risultato) if (risultato <= parseInt(ultimaPosizione)){ continue; } versiContesto= getFormaContext(risultato, contextLength); var setVersicontesto = new Set() divVerso ='' numeroCantica=0 canto=0 //var titoloCanto = $('
') var versiIniziali = $('
') var listaVersi = $('
    ') ///var listaVersi = $("
      ") ///listaVersi.css("padding-bottom","0px") ///listaVersi.css("margin-bottom","0px") 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 mhr=$('
      ') var comandi = $('
      ') comandi.attr('id',"comandiFrase"+numeroRisultato) comandi.attr('class', 'comandi col flex-nowrap d-sm-inline justify-content-between pl-1 pb-2 ml-2 mb-2 border-bottom'); var comandiGrp = $('
      ') comandiGrp.attr('class', 'btn-group flex-nowrap d-sm-inline pr-3 mt-1 mr-3 align-text-bottom'); comandiGrp.attr('role',"group") ///divVerso.append("
      ") ///comandi.attr('class', 'comandi'); ///mhr.css("margin-top","0px") ///mhr.css("padding-top","0px") ///citazione.appendTo(elencoRisutati); var spanBadgeExpand = $('