modificata la procedura per elenco risultati, aggiunte classi al css

This commit is contained in:
cesare 2023-02-15 15:40:01 +01:00
parent 55cb835ddd
commit 28eb2f517b
3 changed files with 98 additions and 53 deletions

View File

@ -235,6 +235,22 @@ Ex browsingldc.css
background-color: #a996a0 !important; 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 -------- */ /* ------- customize colors -------- */

View File

@ -131,24 +131,7 @@ function resetFrasi(){
}) })
drawMinimap(cantoDisplayed) drawMinimap(cantoDisplayed)
} }
function loadDialoghi() {
var spanFrase = $('<span />')
for (pos=0;pos<20;pos++){
spanFrase.attr('id', pos)
spanFrase.append("I miei piu bei dialoghi numero "+" "+pos+"<br>");
$("#vistaDialoghi").append(spanFrase);
}
}
function loadMetafore() {
var spanFrase = $('<span />')
for (pos=0;pos<20;pos++){
spanFrase.attr('id', pos)
spanFrase.append("Le mie più belle Metafore numero "+" "+pos+"<br>");
$("#vistaMetafore").append(spanFrase);
}
}
//$(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { //$(" .Ma, .Co, .Su, .Pa").each(function(idx, element) {
$(" ."+formaClass).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. * Costruzione e visualizzazione del risultato in frasi.
*/ */
jQuery(document).delegate(' .lista-risultati', 'click', function(e) { jQuery(document).delegate(' .lista-risultati', 'click', function(e) {
const hritems= $('<div class="divider"/>')
var elementoLista; var elementoLista;
var numeroVerso; var numeroVerso;
var canto; var canto;
var numeroCantica; 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; elencoFrasiDisplayed = true;
if (!queryExecuted){ if (!queryExecuted){
@ -279,22 +254,60 @@ $(" ."+formaClass).hover(function(idx, element) {
queryExecuted = false; queryExecuted = false;
listarisultati.sort(function(a, b){return a - b}); listarisultati.sort(function(a, b){return a - b});
elementoLista = getFormaContext(parseInt(listarisultati[0]));
/*elementoLista = getFormaContext(parseInt(listarisultati[0]));
canto = elementoLista[0].canto; canto = elementoLista[0].canto;
numeroCantica = elementoLista[0].cantica; numeroCantica = elementoLista[0].cantica;*/
var elencoRisutati = $("#vistaFrasi"); var elencoRisutati = $("#vistaFrasi");
//var titoloRisultati = $('<h2 class="titolo-canto pb-2" />')
elencoRisutati.empty(); elencoRisutati.empty();
var elencoVersi = $('<h5 class="titolo-canto" />')
//cesare
for (risultato of listarisultati){
versiContesto= getFormaContext(parseInt(risultato), 4);
var setVersicontesto = new Set()
var divVerso =''
numeroCantica=0
canto=0
var elencoVersi = $('<div class="itemelenco" />')
var titoloCanto = $('<h5 class="titolo-canto" />')
for (forma of versiContesto){
if (setVersicontesto.size == 0){
numeroCantica=forma.cantica
canto=forma.canto
titoloCanto.append("<cite class='elencoris'>"+ (getCantica(numeroCantica)+", Canto "+canto+"</cite>"));
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=$('<hr width="100" align="center"/>')
var spanBadgeContext = $('<span />');
var contextIcon = '<ion-icon name="expand"></ion-icon>';
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 = $('<h5 class="titolo-canto" />')
elencoVersi.append("<cite style='color:DarkBlue'>"+ (getCantica(numeroCantica)+" canto "+canto+"</cite>")); elencoVersi.append("<cite style='color:DarkBlue'>"+ (getCantica(numeroCantica)+" canto "+canto+"</cite>"));
elencoRisutati.append(elencoVersi) elencoRisutati.append(elencoVersi)
$(cantoDisplayed).css("display", "none"); $(cantoDisplayed).css("display", "none");
*/
/*
for (risultato of listarisultati){ for (risultato of listarisultati){
elementoLista = getFormaContext(parseInt(risultato)) elementoLista = getFormaContext(parseInt(risultato))
numeroVerso = elementoLista[0].verso; numeroVerso = elementoLista[0].verso;
@ -311,18 +324,18 @@ $(" ."+formaClass).hover(function(idx, element) {
if (elementoLista[i].canto == canto){ if (elementoLista[i].canto == canto){
if (elementoLista[i].verso == numeroVerso){ if (elementoLista[i].verso == numeroVerso){
var spanVerso = appendForma(elementoLista[i],divVerso) appendForma(elementoLista[i],divVerso)
if (elementoLista[i].posizione == risultato){ if (elementoLista[i].posizione == risultato){
//verso += "<span style='color:red'>"+elementoLista[i].testo + " "+"</span >" //verso += "<span style='color:red'>"+elementoLista[i].testo + " "+"</span >"
//spanVerso.attr("style", "color: red") //spanVerso.attr("style", "color: red")
} }
}else{ }else{
var elencoVersi = $('<h5 class="titolo-canto" />') elencoVersi = $('<h5 class="titolo-canto" />')
elencoVersi.append(divVerso); elencoVersi.append(divVerso);
elencoVersi.appendTo(elencoRisutati); elencoVersi.appendTo(elencoRisutati);
numeroVerso = elementoLista[i].verso; 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) appendForma(elementoLista[i],divVerso)
} }
}else{ }else{
@ -345,8 +358,19 @@ $(" ."+formaClass).hover(function(idx, element) {
elencoVersi.appendTo(elencoRisutati); elencoVersi.appendTo(elencoRisutati);
} }
*/
//highlight results
if (listarisultati.length){
for (ris of listarisultati) {
idris = '#' + ris
$(idris).addClass("font-weight-bold mark ")
}
}
//add listeners //add listeners
addFormListeners() addFormaListeners()
$("#vistaFrasi").attr('style', 'display: d-flex;'); $("#vistaFrasi").attr('style', 'display: d-flex;');
drawMinimap("#vistaFrasi") drawMinimap("#vistaFrasi")
@ -432,7 +456,7 @@ $(" ."+formaClass).hover(function(idx, element) {
//Utility functions //Utility functions
function addFormListeners(){ function addFormaListeners(){
$(" ." + formaClass).each(function(idx, element) { $(" ." + formaClass).each(function(idx, element) {
var ele = $(element); var ele = $(element);
@ -556,12 +580,14 @@ $(" ."+formaClass).hover(function(idx, element) {
$(".badge").remove(); $(".badge").remove();
$("#headingZero").css("display", "none") $("#headingZero").css("display", "none");
$("#vistaFrasi").empty()
$("#vistaFrasi").css("display", "none");
listarisultati = [] listarisultati = []
listaPeriodiRisultato=[] listaPeriodiRisultato=[]
resultSentences=new Set() resultSentences=new Set()
if (currentMinimap != '') $(cantoDisplayed).attr('style', 'display: d-flex;');
showMinimap() drawMinimap(cantoDisplayed)
} }
var unitaRicerca='forma' var unitaRicerca='forma'

View File

@ -270,24 +270,26 @@ function writesparqlquery(query) {
*/ */
function getFormaContext(formaid) { function getFormaContext(formaid, numversi=3) {
var context = [] var context = []
var cantica = 1; var cantica = 1;
var listaforme = formeprima; var listaforme = formeprima;
var minpos = 0; var minpos = 0;
var offset = 0 var limitv = numversi-1
var maxpos = 0; var maxpos = 0;
if (limitv<1)
limitv=2
if (parseInt(formaid) > 33373 && parseInt(formaid) < 66588) { if (parseInt(formaid) > 33373 && parseInt(formaid) < 66588) {
listaforme = formeseconda; listaforme = formeseconda;
cantica = 2; cantica = 2;
offset = 33374
} }
if (parseInt(formaid) > 66587 && parseInt(formaid) < 99314) { if (parseInt(formaid) > 66587 && parseInt(formaid) < 99314) {
listaforme = formeterza; listaforme = formeterza;
cantica = 3; cantica = 3;
offset = 66588
} }
if (parseInt(formaid) > 99314 || parseInt(formaid) < 0){ if (parseInt(formaid) > 99314 || parseInt(formaid) < 0){
@ -309,12 +311,13 @@ function getFormaContext(formaid) {
var numverso = item[3] var numverso = item[3]
//var forma=item[0] //var forma=item[0]
//var canto=item[1] //var canto=item[1]
var spannum=(12*limitv)
var contextinf = Math.max(minpos, parseInt(pos) - 30) var contextinf = Math.max(minpos, parseInt(pos) - spannum)
var contextsup = Math.min(maxpos, parseInt(pos) + 30) var contextsup = Math.min(maxpos, parseInt(pos) + spannum)
for (j = contextinf; j < contextsup + 1; j++) { for (j = contextinf; j < contextsup + 1; j++) {
var tmpform = listaforme[j].split('_'); 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 = {} var contextitem = {}
contextitem['testo'] = tmpform[0]; contextitem['testo'] = tmpform[0];
contextitem['verso'] = tmpform[3]; contextitem['verso'] = tmpform[3];