From f5b2683a895665b83f502781fa1b0b9a425bb47e Mon Sep 17 00:00:00 2001 From: nicola Date: Mon, 20 Feb 2023 10:50:19 +0100 Subject: [PATCH] versione frasi espandibili --- js/cesareBrowse.js | 151 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 138 insertions(+), 13 deletions(-) diff --git a/js/cesareBrowse.js b/js/cesareBrowse.js index e33fa9b..0e499ca 100644 --- a/js/cesareBrowse.js +++ b/js/cesareBrowse.js @@ -35,9 +35,10 @@ $(document).ready(function() { var cantoDisplayed = "#InfernoCanto_1"; var queryExecuted = false; + var contextLength = 4; + var currentContextLength = 4; - resetResult=function(){ //console.log('clean result') cleanSearchResult() @@ -199,23 +200,121 @@ $(" ."+formaClass).hover(function(idx, element) { } }); - jQuery(document).delegate(' .espandiContesto', 'click', function(e) { + jQuery(document).delegate(' .espandiFrase', 'click', function() { var cid = $(this).attr('id'); var parcid=cid.split('_'); - cantoDisplayed = parcid[0]+"_"+parcid[2] + var cantoToShow = "#"+parcid[0]+"_"+parcid[2] + var fraseToExpand = "#"+"Frase"+parcid[4] + var cantoDiv = []; + var fraseDiv = []; + var primoVerso; + var ultimoVerso; + var idVerso; + var verso; + var fraseCorrente = $(fraseToExpand) + var fraseElements = []; + var divComandi = $("#comandiFrase"+parcid[4]).clone(); - if ( !(loadedCanti.has(cantoDisplayed))){ - + if ( !(loadedCanti.has(cantoToShow))){ + caricaCanto(cantoToShow,parcid) + } + + $(cantoToShow +" > p").each((index, elem) => { + cantoDiv.push(elem.id); + }); + + $(fraseToExpand +" > p").each((index, elem) => { + fraseDiv.push(elem.id); + }); + + $(fraseToExpand +" > p").each((index, elem) => { + fraseElements.push(elem); + }); + + idVerso = fraseDiv[0].split('_'); + primoVerso = idVerso[2]; + idVerso = fraseDiv[fraseDiv.length-1].split('_'); + ultimoVerso = parseInt(idVerso[2]); + + $("#comandiFrase"+parcid[4]).remove(); + + 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); + }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;i') var titoloCanto = $('
') + elencoVersi.attr('id', "Frase"+numeroRisultato); + for (forma of versiContesto){ if (setVersicontesto.size == 0){ numeroCantica=forma.cantica @@ -267,13 +372,33 @@ $(" ."+formaClass).hover(function(idx, element) { createSpanFormeNew(forma.testo, forma.catg, 'e'+forma.posizione, forma.periodo, forma.funzperiodo, divVerso) } + var mhr=$('
') + var comandi = $('
') + comandi.attr('id',"comandiFrase"+numeroRisultato) var spanBadgeContext = $(''); - var contextIcon = ''; - spanBadgeContext.attr('class', 'badge badge-primary badge-pill mx-2 espandiContesto'); - spanBadgeContext.attr('id', getCantica(numeroCantica)+"Canto_Nik_"+canto+"_"+risultato); + var contextIcon = ''; + spanBadgeContext.attr('class', 'badge badge-primary badge-pill mx-2 vaiALCanto'); + var spanBadgeExpand = $(''); + var expandIcon = ''; + spanBadgeExpand.attr('class', 'badge badge-primary badge-pill mx-2 espandiFrase'); + var spanBadgeReduce = $(''); + var reduceIcon = ''; + spanBadgeReduce.attr('class', 'badge badge-primary badge-pill mx-2 riduciFrase'); + + spanBadgeContext.attr('id', getCantica(numeroCantica)+"Canto_e_"+canto+"_"+risultato+"_"+numeroRisultato); spanBadgeContext.append(contextIcon) - spanBadgeContext.appendTo(elencoVersi); + + 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) + + spanBadgeContext.appendTo(comandi); + spanBadgeExpand.appendTo(comandi); + spanBadgeReduce.appendTo(comandi); + comandi.appendTo(elencoVersi); elencoVersi.appendTo(elencoRisutati); elencoRisutati.append(mhr)