From 28eb2f517bf6b3f44a38ea596360f843a9a7aa55 Mon Sep 17 00:00:00 2001 From: cesare Date: Wed, 15 Feb 2023 15:40:01 +0100 Subject: [PATCH] modificata la procedura per elenco risultati, aggiunte classi al css --- css/custom_4.2.css | 16 +++++++ js/cesareBrowse.js | 116 +++++++++++++++++++++++++++------------------ js/utils.js | 19 ++++---- 3 files changed, 98 insertions(+), 53 deletions(-) diff --git a/css/custom_4.2.css b/css/custom_4.2.css index 672f261..3c98ad9 100644 --- a/css/custom_4.2.css +++ b/css/custom_4.2.css @@ -235,6 +235,22 @@ Ex browsingldc.css background-color: #a996a0 !important; } +cite.elencoris { + color: DarkBlue; + line-height: 2.5; +} + +.canto { + -webkit-user-select: none; + user-select: none; + +} + +.itemelenco { + -webkit-user-select: none; + user-select: none; + +} /* ------- customize colors -------- */ diff --git a/js/cesareBrowse.js b/js/cesareBrowse.js index a2bf07a..1c30856 100644 --- a/js/cesareBrowse.js +++ b/js/cesareBrowse.js @@ -131,24 +131,7 @@ function resetFrasi(){ }) drawMinimap(cantoDisplayed) } -function loadDialoghi() { - var spanFrase = $('') - - for (pos=0;pos<20;pos++){ - spanFrase.attr('id', pos) - spanFrase.append("I miei piu bei dialoghi numero "+" "+pos+"
"); - $("#vistaDialoghi").append(spanFrase); - } -} -function loadMetafore() { - var spanFrase = $('') - - for (pos=0;pos<20;pos++){ - spanFrase.attr('id', pos) - spanFrase.append("Le mie piĆ¹ belle Metafore numero "+" "+pos+"
"); - $("#vistaMetafore").append(spanFrase); - } -} + //$(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { $(" ."+formaClass).each(function(idx, element) { @@ -252,22 +235,14 @@ $(" ."+formaClass).hover(function(idx, element) { * Costruzione e visualizzazione del risultato in frasi. */ jQuery(document).delegate(' .lista-risultati', 'click', function(e) { + const hritems= $('
') var elementoLista; var numeroVerso; var canto; var numeroCantica; - if (elencoFrasiDisplayed){ - elencoFrasiDisplayed = false; - $(cantoDisplayed).attr('style', 'display: d-flex;'); - $("#vistaFrasi").css("display", "none"); - $(this).attr("style", "background-color: ##007bff") - - return; - } - $(this).attr("style", "background-color: #3da5f4") - + $(cantoDisplayed).css("display", "none"); elencoFrasiDisplayed = true; if (!queryExecuted){ @@ -279,22 +254,60 @@ $(" ."+formaClass).hover(function(idx, element) { queryExecuted = false; listarisultati.sort(function(a, b){return a - b}); - elementoLista = getFormaContext(parseInt(listarisultati[0])); + + /*elementoLista = getFormaContext(parseInt(listarisultati[0])); canto = elementoLista[0].canto; - numeroCantica = elementoLista[0].cantica; + numeroCantica = elementoLista[0].cantica;*/ var elencoRisutati = $("#vistaFrasi"); - //var titoloRisultati = $('

') - - - elencoRisutati.empty(); + elencoRisutati.empty(); - var elencoVersi = $('

') + + //cesare + + for (risultato of listarisultati){ + versiContesto= getFormaContext(parseInt(risultato), 4); + var setVersicontesto = new Set() + var divVerso ='' + numeroCantica=0 + canto=0 + var elencoVersi = $('
') + var titoloCanto = $('
') + for (forma of versiContesto){ + if (setVersicontesto.size == 0){ + numeroCantica=forma.cantica + canto=forma.canto + titoloCanto.append(""+ (getCantica(numeroCantica)+", Canto "+canto+"")); + elencoVersi.append(titoloCanto) + } + if (!setVersicontesto.has(forma.verso)){ + divVerso = createDivVersoGeneric(forma.cantica, forma.verso, forma.canto) + elencoVersi.append(divVerso) + setVersicontesto.add(forma.verso) + } + appendForma(forma,divVerso) + } + var mhr=$('
') + var spanBadgeContext = $(''); + var contextIcon = ''; + spanBadgeContext.attr('class', 'badge badge-primary badge-pill mx-2 espandiContesto'); + spanBadgeContext.attr('id', getCantica(numeroCantica)+"Canto_Nik_"+canto+"_"+risultato); + spanBadgeContext.append(contextIcon) + spanBadgeContext.appendTo(elencoVersi); + elencoVersi.appendTo(elencoRisutati); + elencoRisutati.append(mhr) + + } + + //end cesare + + + /*var elencoVersi = $('
') elencoVersi.append(""+ (getCantica(numeroCantica)+" canto "+canto+"")); elencoRisutati.append(elencoVersi) - $(cantoDisplayed).css("display", "none"); - + */ + /* for (risultato of listarisultati){ elementoLista = getFormaContext(parseInt(risultato)) numeroVerso = elementoLista[0].verso; @@ -311,18 +324,18 @@ $(" ."+formaClass).hover(function(idx, element) { if (elementoLista[i].canto == canto){ if (elementoLista[i].verso == numeroVerso){ - var spanVerso = appendForma(elementoLista[i],divVerso) + appendForma(elementoLista[i],divVerso) if (elementoLista[i].posizione == risultato){ //verso += ""+elementoLista[i].testo + " "+"" //spanVerso.attr("style", "color: red") } }else{ - var elencoVersi = $('
') + elencoVersi = $('
') elencoVersi.append(divVerso); elencoVersi.appendTo(elencoRisutati); numeroVerso = elementoLista[i].verso; - var divVerso = createDivVersoGeneric(elementoLista[0].cantica, numeroVerso, elementoLista[0].canto) + divVerso = createDivVersoGeneric(elementoLista[0].cantica, numeroVerso, elementoLista[0].canto) appendForma(elementoLista[i],divVerso) } }else{ @@ -345,8 +358,19 @@ $(" ."+formaClass).hover(function(idx, element) { elencoVersi.appendTo(elencoRisutati); } + */ + + //highlight results + if (listarisultati.length){ + for (ris of listarisultati) { + idris = '#' + ris + $(idris).addClass("font-weight-bold mark ") + + } + } + //add listeners - addFormListeners() + addFormaListeners() $("#vistaFrasi").attr('style', 'display: d-flex;'); drawMinimap("#vistaFrasi") @@ -432,7 +456,7 @@ $(" ."+formaClass).hover(function(idx, element) { //Utility functions - function addFormListeners(){ + function addFormaListeners(){ $(" ." + formaClass).each(function(idx, element) { var ele = $(element); @@ -556,12 +580,14 @@ $(" ."+formaClass).hover(function(idx, element) { $(".badge").remove(); - $("#headingZero").css("display", "none") + $("#headingZero").css("display", "none"); + $("#vistaFrasi").empty() + $("#vistaFrasi").css("display", "none"); listarisultati = [] listaPeriodiRisultato=[] resultSentences=new Set() - if (currentMinimap != '') - showMinimap() + $(cantoDisplayed).attr('style', 'display: d-flex;'); + drawMinimap(cantoDisplayed) } var unitaRicerca='forma' diff --git a/js/utils.js b/js/utils.js index 14f63cd..584a165 100644 --- a/js/utils.js +++ b/js/utils.js @@ -270,24 +270,26 @@ function writesparqlquery(query) { */ -function getFormaContext(formaid) { +function getFormaContext(formaid, numversi=3) { var context = [] var cantica = 1; var listaforme = formeprima; var minpos = 0; - var offset = 0 + var limitv = numversi-1 var maxpos = 0; - + + if (limitv<1) + limitv=2 if (parseInt(formaid) > 33373 && parseInt(formaid) < 66588) { listaforme = formeseconda; cantica = 2; - offset = 33374 + } if (parseInt(formaid) > 66587 && parseInt(formaid) < 99314) { listaforme = formeterza; cantica = 3; - offset = 66588 + } if (parseInt(formaid) > 99314 || parseInt(formaid) < 0){ @@ -309,12 +311,13 @@ function getFormaContext(formaid) { var numverso = item[3] //var forma=item[0] //var canto=item[1] + var spannum=(12*limitv) - var contextinf = Math.max(minpos, parseInt(pos) - 30) - var contextsup = Math.min(maxpos, parseInt(pos) + 30) + var contextinf = Math.max(minpos, parseInt(pos) - spannum) + var contextsup = Math.min(maxpos, parseInt(pos) + spannum) for (j = contextinf; j < contextsup + 1; j++) { var tmpform = listaforme[j].split('_'); - if ((tmpform[3] > parseInt(numverso) - 2) && (tmpform[3] < parseInt(numverso) + 2)) { + if ((tmpform[3] > parseInt(numverso) - limitv) && (tmpform[3] < parseInt(numverso) + limitv)) { var contextitem = {} contextitem['testo'] = tmpform[0]; contextitem['verso'] = tmpform[3];