Funzione showOffset aggiunta

This commit is contained in:
nicola 2023-03-15 16:32:23 +01:00
parent 8d69648b51
commit 1d3d4e5458
1 changed files with 158 additions and 5 deletions

View File

@ -40,6 +40,7 @@ $(document).ready(function() {
var prevCantoDisplayed = "#InfernoCanto_1";
var queryExecuted = false;
var contextLength = 3;
var showOffset = 30;
var idCitazione = "citazioneFrase";
resetResult=function(){
@ -234,8 +235,7 @@ $(" ."+formaClass).hover(function(idx, element) {
*/
jQuery(document).delegate(' .lista-risultati', 'click', function(e) {
var canto, numeroCantica;
var divVerso;
prevCantoDisplayed=cantoDisplayed;
$(cantoDisplayed).css("display", "none");
cantoDisplayed = "#vistaFrasi";
@ -247,11 +247,13 @@ $(" ."+formaClass).hover(function(idx, element) {
}
return
}
const start = performance.now();
//const start = performance.now();
queryExecuted = false;
listarisultati.sort(function(a, b){return a - b});
var elencoRisutati = $("#vistaFrasi");
showFrasi (0)
/*var elencoRisutati = $("#vistaFrasi");
elencoRisutati.empty();
var numeroRisultato = 0;
@ -416,11 +418,162 @@ $(" ."+formaClass).hover(function(idx, element) {
console.log(`Addlistener time: ${endal - start} ms`);
const enddmm = performance.now();
console.log(`DrawMM time: ${enddmm - start} ms`);
console.log(`DrawMM time: ${enddmm - start} ms`);*/
});
/*
* Costruzione e visualizzazione del risultato in frasi.
*/
function showFrasi (start, end = showOffset) {
var canto, numeroCantica;
var divVerso;
var elencoRisutati = $("#vistaFrasi");
elencoRisutati.empty();
var numeroRisultato = 0;
var ultimaPosizione = 0;
var numeroVersi;
for (let i=start; i<end+showOffset; i++){
risultato = listarisultati[i];
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 = $('<h5 class="titolo-canto"/>')
var versiIniziali = $('<div class="versiFrase mt-3" />')
var listaVersi = $('<ol class="pt-3" />')
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 comandi = $('<div />')
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 = $('<div />')
comandiGrp.attr('class', 'btn-group flex-nowrap d-sm-inline pr-3 mt-1 mr-3 align-text-bottom');
comandiGrp.attr('role',"group")
var spanBadgeExpand = $('<button />');
var expandIcon = '<ion-icon name="expand-outline"></ion-icon>';
spanBadgeExpand.attr('class', 'btn btn-sm btn-outline-primary espandiFrase px-1 pt-1 pb-0');
var spanBadgeReduce = $('<button />');
var reduceIcon = '<ion-icon name="contract-outline"></ion-icon>';
spanBadgeReduce.attr('class', 'btn btn-sm btn-outline-secondary riduciFrase px-1 pt-1 pb-0 ml-1 disabled');
spanBadgeExpand.attr('id', getCantica(numeroCantica)+"Canto_ex_"+canto+"_"+risultato+"_"+numeroRisultato);
spanBadgeExpand.append(expandIcon);
spanBadgeReduce.attr('id', getCantica(numeroCantica)+"Canto_er_"+canto+"_"+risultato+"_"+numeroRisultato);
spanBadgeReduce.append(reduceIcon)
spanBadgeExpand.appendTo(comandiGrp);
spanBadgeReduce.appendTo(comandiGrp);
comandiGrp.appendTo(comandi);
var citazioneDiv = $('<div />')
citazioneDiv.attr('class', ' text-right flex-nowrap d-sm-inline ml-3 px-3 py-0');
var citazione = $('<span />')
citazione.append("["+getCantica(numeroCantica)+", Canto "+getRoman(canto)+"]")
citazione.attr('class', ' pl-3 citazioneFrase align-text-top');
citazione.attr('name', getCantica(numeroCantica)+"Canto "+canto);
citazione.attr('id', idCitazione+'_'+numeroRisultato+'_'+risultato);
citazione.appendTo(citazioneDiv);
citazioneDiv.appendTo(comandi);
comandi.appendTo(elencoRisutati);
}
const endCaricamento = performance.now();
console.log(`Caricamento contesti time: ${endCaricamento - start} ms`);
//evidenzio resultati
for (ris of listarisultati) {
idris = '#e' + ris
$(idris).addClass("font-weight-bold mark ")
}
const endEvidRis = performance.now();
console.log(`Evidenza risultati time: ${endEvidRis - start} ms`);
//evidenzio i periodi se unità di ricerca è impostato come periodo
if (listaPeriodiRisultato.length){
for (msid of listaPeriodiRisultato){
loadPeriodo(msid)
}
}
//evidenzio le frasi se unità di ricerca è frase
if (listaClausoleRisultato.length){
for (clsid of listaClausoleRisultato){
let tmpid=clsid.split('-')
loadFrase(tmpid[0], tmpid[1])
}
}
//visualizzo
$("#vistaFrasi").attr('style', 'display: d-flex;');
const endVis = performance.now();
console.log(`Visualizzazione time: ${endVis - start} ms`);
drawMinimap('#vistaFrasi')
if (selectedVista=='frasi'){
loadFrasi();
}
addFormaListenersInCanto()
const endal = performance.now();
console.log(`Addlistener time: ${endal - start} ms`);
const enddmm = performance.now();
console.log(`DrawMM time: ${enddmm - start} ms`);
};
jQuery(document).delegate('.navig-canto, .citazioneFrase', 'click', function(e) {
resetFrasi()