From a70dc8cb535132b5021400915918379b48454da4 Mon Sep 17 00:00:00 2001 From: nicola Date: Wed, 22 Feb 2023 11:20:16 +0100 Subject: [PATCH] Risolto ptoblemi con espandi frasi --- js/cesareBrowse.js | 254 ++++++++++++++++++++++----------------------- 1 file changed, 127 insertions(+), 127 deletions(-) diff --git a/js/cesareBrowse.js b/js/cesareBrowse.js index 9d0f37e..43bc04c 100644 --- a/js/cesareBrowse.js +++ b/js/cesareBrowse.js @@ -23,7 +23,6 @@ $(document).ready(function() { var shownSentenceList = new Set() //var currentMinimap = '' - var listarisultati = []; var listaPeriodiRisultato = []; var resultSentences = new Set() @@ -36,9 +35,7 @@ $(document).ready(function() { var cantoDisplayed = "#InfernoCanto_1"; var queryExecuted = false; - var contextLength = 4; - var currentContextLength = 4; - + var contextLength = 3; resetResult=function(){ //console.log('clean result') @@ -112,18 +109,8 @@ function loadFrasi() { $(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])); - }) - //drawMinimap(cantoDisplayed) + drawMinimap(cantoDisplayed) } - function resetFrasi(){ $(cantoDisplayed).find(' .sentencetag').each(function() { @@ -133,19 +120,11 @@ function resetFrasi(){ //console.log(colorssp(mapsynttypestopalette[stp])) $(this).css('color', ''); }) - let minim=$(" .minimap__content") - minim.contents().find(" .sentencetag").each(function(){ - $(this).css('display', 'none'); - }) - minim.contents().find(' .'+formaClass).each(function() { - $(this).css('color', ''); - }) - //drawMinimap(cantoDisplayed) + drawMinimap(cantoDisplayed) } //$(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { - $(" ."+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); @@ -226,13 +205,13 @@ $(" ."+formaClass).hover(function(idx, element) { var fraseToExpand = "#"+"Frase"+parcid[4] var cantoDiv = []; var fraseDiv = []; - var primoVerso; - var ultimoVerso; + var numeroVerso; var idVerso; - var verso; - var fraseCorrente = $(fraseToExpand) + var divAggiuntiPrima = null; + var divAggiuntiDopo = null; var fraseElements = []; - var divComandi = $("#comandiFrase"+parcid[4]).clone(); + var ultimoVersoDivDopo; + var primoVersoDivPrima; if ( !(loadedCanti.has(cantoToShow))){ caricaCanto(cantoToShow,parcid) @@ -251,65 +230,81 @@ $(" ."+formaClass).hover(function(idx, element) { }); idVerso = fraseDiv[0].split('_'); - primoVerso = idVerso[2]; - idVerso = fraseDiv[fraseDiv.length-1].split('_'); - ultimoVerso = parseInt(idVerso[2]); + cantica = idVerso[0]; + canto = idVerso[1]; + numeroVerso = parseInt(idVerso[2]); - $("#comandiFrase"+parcid[4]).remove(); + primoVersoDivPrima = parseInt(idVerso[2]) + idVerso = fraseDiv[fraseDiv.length-1].split('_'); + ultimoVersoDivDopo = parseInt(idVerso[2]); + + divAggiuntiPrima = $("#"+"FrasiAggiuntePrima"+parcid[4]); + divAggiuntiDopo = $("#"+"FrasiAggiunteDopo"+parcid[4]); - if (fraseDiv.length < currentContextLength){ - if(primoVerso == 1){ // caso inizio canto - var divAggiunti = $("
") - divAggiunti.attr('id',"FraseAggiunti"+parcid[4]) - for (i=0;i<4;i++){ - var verso = $("#"+cantoDiv[3+i]).clone(); - divAggiunti.append(verso); - } - fraseCorrente.append(divAggiunti); - fraseCorrente.append(divComandi); + if (divAggiuntiPrima.length == 0){ + divAggiuntiPrima = $("
") + divAggiuntiPrima.attr('id',"FrasiAggiuntePrima"+parcid[4]) + }else{ + primoVersoDivPrima = divAggiuntiPrima.attr("primoVerso") + } + + if (divAggiuntiDopo.length == 0){ + divAggiuntiDopo = $("
") + divAggiuntiDopo.attr('id',"FrasiAggiunteDopo"+parcid[4]) + }else{ + ultimoVersoDivDopo = divAggiuntiDopo.attr("ultimoVerso") + } + + if (fraseDiv.length < contextLength){ + if(numeroVerso == 1){ // caso inizio canto + aggiungiDopo(fraseDiv, ultimoVersoDivDopo,divAggiuntiDopo,cantoDiv) }else{ // caso fine canto - for (i=primoVerso-5;i") - divAggiunti.attr('id',"FraseAggiunti"+parcid[4]) - for (i=primoVerso-5;i") - divAggiunti.attr('id',"FraseAggiunti"+parcid[4]) - for (i=ultimoVerso;inumeroVerso-contextLength-1;i--){ + var verso = $("#"+cantoDiv[i-1]).clone(); + primoVersoDivPrima--; + verso.attr('id', cantica+"_"+canto+"_"+primoVersoDivPrima); + divAggiuntiPrima.prepend(verso); + } + divAggiuntiPrima.insertBefore($(idVerso)); + divAggiuntiPrima.attr("primoVerso",primoVersoDivPrima) + } + jQuery(document).delegate(' .riduciFrase', 'click', function() { var cid = $(this).attr('id'); var parcid=cid.split('_'); - var fraseToReduce = "#"+"FraseAggiunti"+parcid[4] - $(fraseToReduce).remove(); - $(fraseToReduce).remove(); - + var divAggiuntiPrima = "#"+"FrasiAggiuntePrima"+parcid[4] + var divAggiuntiDopo = "#"+"FrasiAggiunteDopo"+parcid[4] + + $(divAggiuntiPrima).remove(); + $(divAggiuntiDopo).remove(); }); function caricaCanto(canto, parcid){ @@ -325,7 +320,6 @@ $(" ."+formaClass).hover(function(idx, element) { jQuery(document).delegate(' .vaiALCanto', 'click', function() { var cid = $(this).attr('id'); var parcid=cid.split('_'); - var fraseToReduce = "#"+"FraseAggiunti"+parcid[4] cantoDisplayed = parcid[0]+"_"+parcid[2] @@ -333,9 +327,8 @@ $(" ."+formaClass).hover(function(idx, element) { caricaCanto(cantoDisplayed,parcid) } cantoDisplayed = "#"+cantoDisplayed - $(fraseToReduce).remove(); $(cantoDisplayed).attr('style', 'display: d-flex;'); - $("#vistaFrasi").css("display", "none"); + $("#vistaFrasi").css("display", "none"); }); /* * Costruzione e visualizzazione del risultato in frasi. @@ -344,9 +337,7 @@ $(" ."+formaClass).hover(function(idx, element) { var canto, numeroCantica; var divVerso; - - currentContextLength = contextLength; - + $(cantoDisplayed).css("display", "none"); if (!queryExecuted){ @@ -372,7 +363,7 @@ $(" ."+formaClass).hover(function(idx, element) { numeroCantica=0 canto=0 var elencoVersi = $('
') - var titoloCanto = $('
') + var titoloCanto = $('
') elencoVersi.attr('id', "Frase"+numeroRisultato); @@ -397,13 +388,13 @@ $(" ."+formaClass).hover(function(idx, element) { comandi.attr('id',"comandiFrase"+numeroRisultato) var spanBadgeContext = $(''); var contextIcon = ''; - spanBadgeContext.attr('class', 'badge badge-primary badge-pill mx-2 vaiALCanto'); + spanBadgeContext.attr('class', 'badge badge-primary badge-pill my-0 mx-2 vaiALCanto'); var spanBadgeExpand = $(''); var expandIcon = ''; - spanBadgeExpand.attr('class', 'badge badge-primary badge-pill mx-2 espandiFrase'); + spanBadgeExpand.attr('class', 'badge badge-primary badge-pill my-0 mx-2 espandiFrase'); var spanBadgeReduce = $(''); var reduceIcon = ''; - spanBadgeReduce.attr('class', 'badge badge-primary badge-pill mx-2 riduciFrase'); + spanBadgeReduce.attr('class', 'badge badge-primary badge-pill my-0 mx-2 riduciFrase'); spanBadgeContext.attr('id', getCantica(numeroCantica)+"Canto_e_"+canto+"_"+risultato+"_"+numeroRisultato); spanBadgeContext.append(contextIcon) @@ -417,6 +408,7 @@ $(" ."+formaClass).hover(function(idx, element) { spanBadgeContext.appendTo(comandi); spanBadgeExpand.appendTo(comandi); spanBadgeReduce.appendTo(comandi); + comandi.appendTo(elencoVersi); elencoVersi.appendTo(elencoRisutati); elencoRisutati.append(mhr) @@ -435,21 +427,18 @@ $(" ."+formaClass).hover(function(idx, element) { //visualizzo $("#vistaFrasi").attr('style', 'display: d-flex;'); - manageMM("#vistaFrasi") - //drawMinimap("#vistaFrasi") + drawMinimap("#vistaFrasi") }); jQuery(document).delegate('.navig-canto', 'click', function(e) { resetFrasi() - //nasconde vista risultati $("#vistaFrasi").css("display", "none"); //rimuove il grafo sintattico se c'รจ' var periodograph=document.getElementById("periodograph"); - if (periodograph!=null){ let showngr=document.getElementById("periodograph").getAttribute('name').split("_") var tmpsent=showngr[0]+"_"+showngr[1]+"_s_"+showngr[2]; @@ -466,8 +455,6 @@ $(" ."+formaClass).hover(function(idx, element) { $('.canto').each(function() { $(this).css("display", "none"); }); - - const cid=$(this).attr('name').replace(" ", "_"); cantoDisplayed = "#"+cid; @@ -486,17 +473,31 @@ $(" ."+formaClass).hover(function(idx, element) { } //$("#" + $(this).attr('name').replace(" ", "_")).css("display", "block"); $("#" + $(this).attr('name').replace(" ", "_")).attr('style', 'display: d-flex;') + drawMinimap("#" + $(this).attr('name').replace(" ", "_")) + $(" ."+formaClass).each(function(idx, element) { + 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: false + + }); + ele.hover(function(idx, element) { + + sentenceId=$(this).attr('class').split(' ')[0].split('_') + var tmplisid=sentenceId[0]+'_'+sentenceId[1]+'_'+sentenceId[3] + lsentid=$(this).attr('class').split(' ')[0] + lisid=tmplisid - //drawMinimap("#" + $(this).attr('name').replace(" ", "_")) - manageMM("#" + $(this).attr('name').replace(" ", "_")) - if (selectedVista=='frasi'){ - loadFrasi(); - } - addFormaListeners(); + }); + + }); }); - //Query jQuery(document).delegate('#searchcomm, #searchcomm2', 'click', function(e) { @@ -637,33 +638,21 @@ $(" ."+formaClass).hover(function(idx, element) { }); } - let minim=$(" .minimap__content") for (forma of listarisultati) { idforma = '#' + forma $(idforma).removeClass("font-weight-bold mark ") - minim.contents().find(idforma).removeClass("font-weight-bold mark ") } $(".badge").remove(); - //$("#headingZero").css("display", "none"); - + $("#headingZero").css("display", "none"); + $("#vistaFrasi").empty() + $("#vistaFrasi").css("display", "none"); listarisultati = [] listaPeriodiRisultato=[] resultSentences=new Set() $(cantoDisplayed).attr('style', 'display: d-flex;'); - //drawMinimap(cantoDisplayed) - } - - function manageMM(name){ - currentMinimap = name; - let testhtml = $(currentMinimap)[0].outerHTML; - let minim=$(" .minimap__content") - let bm=minim.contents().find(' .blog-main') - bm.empty() - bm.append(testhtml) - getDimensionsDiv(); - + drawMinimap(cantoDisplayed) } var unitaRicerca='forma' @@ -720,6 +709,24 @@ $(" ."+formaClass).hover(function(idx, element) { } + /* + var periodograph=document.getElementById("periodograph"); + + if (periodograph!=null){ + console.log('val '+document.getElementById("periodograph").getAttribute('name')) + let showngr=document.getElementById("periodograph").getAttribute('name').split("_") + var tmpsent=showngr[0]+"_"+showngr[1]+"_s_"+showngr[2] + periodograph.parentNode.removeChild(periodograph); + //var sentence = document.getElementsByClassName(lsentid); + var sentence = document.getElementsByClassName(tmpsent); + for (let i = 0; i < sentence.length; i++) { + sentence[i].classList.remove('font-italic'); + if (selectedVista!='frasi') + sentence[i].style.removeProperty('color'); + + sentence[i].classList.remove('font-weight-normal'); + } + */ function resetSentenceStructure(sentence) { /* @@ -828,9 +835,9 @@ $(" ."+formaClass).hover(function(idx, element) { spannum.attr('class', 'numverso text-muted') elementoverso.append(spannum) //elementoverso.append(num + ". ") - //elementoverso.attr("style", "line-height: 0.5em") + elementoverso.attr("style", "line-height: 0.5em") - elementoverso.attr('class', 'f6 mb-2 text-dark text-nowrap font-weight-lighter '+cantica+' '+canto) + elementoverso.attr('class', 'f6 text-dark text-nowrap font-weight-lighter '+cantica+' '+canto) elementoverso.attr('id', cantica + "_" + canto + "_" + num) @@ -945,7 +952,6 @@ $(" ."+formaClass).hover(function(idx, element) { }); seachbBindingsStream.on('end', () => { var resSent=new Set() - let minim=$(" .minimap__content") console.log('start rendering...') listarisultati = Array.from(result) var listaclausole=Array.from(resultClauses) @@ -1001,15 +1007,11 @@ $(" ."+formaClass).hover(function(idx, element) { if (listarisultati.length){ //evidenzia risultati - for (ris of listarisultati) { idris = '#' + ris $(idris).addClass("font-weight-bold mark ") - minim.contents().find(idris).addClass("font-weight-bold mark ") - + } - - } @@ -1030,7 +1032,7 @@ $(" ."+formaClass).hover(function(idx, element) { //$('#cantica' + i).after(spanbadgecantica) } } - //aggiunge badge con totale risultati nel bottone lista risultati + //aggiunge badge con totale risultati nel bottone lista canti if (totResultN>0){ $("#headingZero").attr('style', 'display: d-flex;') var spanbadgelista = $(''); @@ -1061,15 +1063,13 @@ $(" ."+formaClass).hover(function(idx, element) { } } } - console.log('badge end') + console.log('badge end...') - /* //aggiorna minimap - if (currentMinimap != '') { showMinimap() } - */ + }); queryExecuted = true; $(cantoDisplayed).attr('style', 'display: d-flex;');