Implementato visualizzazione frasi

This commit is contained in:
nicola 2023-02-11 13:01:48 +01:00
parent d019e01a5f
commit e514334001
1 changed files with 158 additions and 11 deletions

View File

@ -34,6 +34,8 @@ $(document).ready(function() {
const closeSTag="}"
var cantoDisplayed = "#InfernoCanto_1";
var elencoFrasiDisplayed = false;
var queryExecuted = false;
//used in minimap
//
@ -224,10 +226,140 @@ $(" ."+formaClass).hover(function(idx, element) {
}
});
/*
* Costruzione e visualizzazione del risultato in frasi.
*/
jQuery(document).delegate(' .lista-risultati', 'click', function(e) {
//var cantica=$(this).siblings(' .btn-link')[0];
var canticaid=$(this).parent()[0].id.substr(0,8);
console.log('fava lista risultati '+canticaid);
var elementoLista;
var verso = "";
var numeroVerso;
/*var versi = [];
var tuttiversi = [];
var canti = [];*/
var testo;
var canto;
var numeroCantica;
var versoCorrente;
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")
elencoFrasiDisplayed = true;
if (!queryExecuted){
$("#vistaFrasi").attr('style', 'display: d-flex;');
$(cantoDisplayed).css("display", "none");
return
}
queryExecuted = false;
listarisultati.sort(function(a, b){return a - b});
elementoLista = getFormaContext(parseInt(listarisultati[0]));
canto = elementoLista[0].canto;
numeroCantica = elementoLista[0].cantica;
var elencoRisutati = $("#vistaFrasi");
elencoRisutati.empty();
var titoloRisultati = $('<h2 class="titolo-canto pb-2" />')
var titoloCantica = $('<h3 class="titolo-canto pb-2" />')
titoloCantica.attr("style", "color: DarkBlue")
var titoloCanto = $('<h4 class="titolo-canto pb-2" />')
titoloCanto.attr("style", "color: DodgerBlue")
//titoloRisultati.append("Elenco frasi completo per la query : xxx");
titoloCantica.append(getCantica(numeroCantica));
titoloCanto.append("Canto "+canto);
titoloRisultati.appendTo(elencoRisutati);
titoloCantica.appendTo(elencoRisutati);
titoloCanto.appendTo(elencoRisutati);
$(cantoDisplayed).css("display", "none");
for (risultato of listarisultati){
elementoLista = getFormaContext(parseInt(risultato))
numeroVerso = elementoLista[0].verso;
if (elementoLista[0].cantica != numeroCantica){
numeroCantica = elementoLista[0].cantica;
var titoloCantica = $('<h3 class="titolo-canto pb-2" />')
titoloCantica.attr("style", "color: DarkBlue")
titoloCantica.append(getCantica(numeroCantica));
titoloCantica.appendTo(elencoRisutati);
/*canti.push(versi)
tuttiversi.push(canti);
versi = [];
canti = []; */
canto = elementoLista[0].canto;
var titoloCanto = $('<h4 class="titolo-canto pb-2" />')
titoloCanto.attr("style", "color: DodgerBlue")
titoloCanto.append("Canto "+canto);
titoloCanto.appendTo(elencoRisutati);
}
verso += numeroVerso+ " " + elementoLista[0].testo + " ";
for (i=1;i < elementoLista.length;i++){
if (elementoLista[i].canto == canto){
if (elementoLista[i].verso == numeroVerso){
if (elementoLista[i].posizione == risultato){
verso += "<span style='background-color:LightGray'>"+elementoLista[i].testo + " "+"</span >"
}else{
verso += elementoLista[i].testo + " "
}
}else{
//versi.push(verso)
var elencoVersi = $('<h5 class="titolo-canto pb-2" />')
elencoVersi.attr("style", "line-height: 0.5em")
versoCorrente = elencoVersi;
elencoVersi.append(verso)
elencoVersi.appendTo(elencoRisutati);
verso = "";
numeroVerso = elementoLista[i].verso;
verso += numeroVerso+ " " + elementoLista[i].testo + " " ;
}
}else{
//canti.push(versi)
//versi = [];
canto = elementoLista[i].canto;
var titoloCanto = $('<h4 class="titolo-canto pb-2" />')
titoloCanto.attr("style", "color: DodgerBlue")
titoloCanto.append("Canto "+canto);
titoloCanto.appendTo(elencoRisutati);
}
}
versoCorrente.attr("style", "color: red")
canto = elementoLista[i-1].canto;
//versi.push(verso);
var elencoVersi = $('<h5 class="titolo-canto pb-2" />')
elencoVersi.attr("style", "line-height: 0.5em")
elencoVersi.append(verso+"<br><br>")
elencoVersi.append("<br><br>")
elencoVersi.appendTo(elencoRisutati);
verso = "";
console.log('risultato '+risultato + " verso "+elementoLista[0].verso + " canto "+elementoLista[0].canto)
}
/*canti.push(versi)
tuttiversi.push(canti);*/
$("#vistaFrasi").attr('style', 'display: d-flex;');
});
jQuery(document).delegate('.navig-canto', 'click', function(e) {
@ -298,6 +430,15 @@ $(" ."+formaClass).hover(function(idx, element) {
//Utility functions
function getCantica(numeroCantica){
switch (numeroCantica){
case 1: return("Inferno");
case 2: return("Purgatorio");
case 3: return("Paradiso");
}
}
function formatTTContent(categ, syntType){
var details=[];
@ -564,11 +705,11 @@ $(" ."+formaClass).hover(function(idx, element) {
var divDialoghi = $('<div />')
var divMetafore = $('<div />')
var titoloFrasi = $('<h4 class="titolo-canto pb-2" />')
//var titoloFrasi = $('<h4 class="titolo-canto pb-2" />')
var titoloDialoghi = $('<h4 class="titolo-canto pb-2" />')
var titoloMetafore = $('<h4 class="titolo-canto pb-2" />')
titoloFrasi.append("Frasi:");
//titoloFrasi.append("Frasi:");
titoloDialoghi.append("Dialoghi:");
titoloMetafore.append("Metafore:");
@ -584,7 +725,7 @@ $(" ."+formaClass).hover(function(idx, element) {
divDialoghi.css("display", "none")
divMetafore.css("display", "none")
titoloFrasi.appendTo(divFrasi)
//titoloFrasi.appendTo(divFrasi)
titoloDialoghi.appendTo(divDialoghi)
titoloMetafore.appendTo(divMetafore)
@ -731,6 +872,8 @@ $(" ."+formaClass).hover(function(idx, element) {
//aggiunge badge con totale risultati accanto alle cantiche
i = 0
var totResultN=0;
var listIcon = '<ion-icon name="list-outline"></ion-icon>';
for (cantica of cantiche) {
i += 1
let count = resultsInCantica.reduce((n, x) => n + (x === cantica), 0);
@ -738,7 +881,7 @@ $(" ."+formaClass).hover(function(idx, element) {
totResultN+=count
var spanbadgecantica = $('<span />');
spanbadgecantica.attr('class', 'badge badge-primary badge-pill mx-2 lista-risultati');
spanbadgecantica.append(count)
spanbadgecantica.append(count+listIcon)
spanbadgecantica.appendTo($('#cantica' + i + '-badge'))
//$('#cantica' + i).after(spanbadgecantica)
}
@ -748,7 +891,7 @@ $(" ."+formaClass).hover(function(idx, element) {
$("#headingZero").attr('style', 'display: d-flex;')
var spanbadgelista = $('<span />');
spanbadgelista.attr('class', 'badge badge-primary badge-pill mx-2 lista-risultati');
spanbadgelista.append(totResultN)
spanbadgelista.append(totResultN+listIcon)
spanbadgelista.appendTo($('#cantica0-badge'))
}
//aggiunge badge con totale risultati accanto ai canti
@ -767,7 +910,7 @@ $(" ."+formaClass).hover(function(idx, element) {
if (count>0){
var spanbadge = $('<span />');
spanbadge.attr('class', cantobadgeclass);
spanbadge.append(count)
spanbadge.append(count+listIcon)
//spanbadge.appendTo($('[name="' + cantica + 'Canto ' + k + '"]'))
spanbadge.appendTo($nctags.filter('[name="' + cantica + 'Canto ' + k + '"]'))
//spanbadge.insertAfter($('[name="'+cantica+'Canto '+k+'"]'))
@ -782,6 +925,10 @@ $(" ."+formaClass).hover(function(idx, element) {
}
});
queryExecuted = true;
$(cantoDisplayed).attr('style', 'display: d-flex;');
$("#vistaFrasi").css("display", "none");
elencoFrasiDisplayed = false;
}
catch (err) {
console.log(err.message);