Risolto ptoblemi con espandi frasi

This commit is contained in:
nicola 2023-02-22 11:20:16 +01:00
parent a256eaaacf
commit a70dc8cb53
1 changed files with 127 additions and 127 deletions

View File

@ -23,7 +23,6 @@ $(document).ready(function() {
var shownSentenceList = new Set()
//var currentMinimap = ''
var listarisultati = [];
var listaPeriodiRisultato = [];
var resultSentences = new Set()
@ -36,9 +35,7 @@ $(document).ready(function() {
var cantoDisplayed = "#InfernoCanto_1";
var queryExecuted = false;
var contextLength = 4;
var currentContextLength = 4;
var contextLength = 3;
resetResult=function(){
//console.log('clean result')
@ -112,18 +109,8 @@ function loadFrasi() {
$(this).css('color', colorssp(mapsynttypestopalette[stp]));
})
let minim=$(" .minimap__content")
minim.contents().find(" .sentencetag").each(function(){
$(this).attr('style', 'display: d-flex;');
})
minim.contents().find(' .'+formaClass).each(function() {
stp=$(this).attr('class').split(" ")[1]
$(this).css('color', colorssp(mapsynttypestopalette[stp]));
})
//drawMinimap(cantoDisplayed)
drawMinimap(cantoDisplayed)
}
function resetFrasi(){
$(cantoDisplayed).find(' .sentencetag').each(function() {
@ -133,19 +120,11 @@ function resetFrasi(){
//console.log(colorssp(mapsynttypestopalette[stp]))
$(this).css('color', '');
})
let minim=$(" .minimap__content")
minim.contents().find(" .sentencetag").each(function(){
$(this).css('display', 'none');
})
minim.contents().find(' .'+formaClass).each(function() {
$(this).css('color', '');
})
//drawMinimap(cantoDisplayed)
drawMinimap(cantoDisplayed)
}
//$(" .Ma, .Co, .Su, .Pa").each(function(idx, element) {
$(" ."+formaClass).each(function(idx, element) {
// We cycle through the elements using each() so that we can choose the element specifically that we wish to clean up afterward
var ele = $(element);
@ -226,13 +205,13 @@ $(" ."+formaClass).hover(function(idx, element) {
var fraseToExpand = "#"+"Frase"+parcid[4]
var cantoDiv = [];
var fraseDiv = [];
var primoVerso;
var ultimoVerso;
var numeroVerso;
var idVerso;
var verso;
var fraseCorrente = $(fraseToExpand)
var divAggiuntiPrima = null;
var divAggiuntiDopo = null;
var fraseElements = [];
var divComandi = $("#comandiFrase"+parcid[4]).clone();
var ultimoVersoDivDopo;
var primoVersoDivPrima;
if ( !(loadedCanti.has(cantoToShow))){
caricaCanto(cantoToShow,parcid)
@ -251,65 +230,81 @@ $(" ."+formaClass).hover(function(idx, element) {
});
idVerso = fraseDiv[0].split('_');
primoVerso = idVerso[2];
idVerso = fraseDiv[fraseDiv.length-1].split('_');
ultimoVerso = parseInt(idVerso[2]);
cantica = idVerso[0];
canto = idVerso[1];
numeroVerso = parseInt(idVerso[2]);
$("#comandiFrase"+parcid[4]).remove();
primoVersoDivPrima = parseInt(idVerso[2])
idVerso = fraseDiv[fraseDiv.length-1].split('_');
ultimoVersoDivDopo = parseInt(idVerso[2]);
divAggiuntiPrima = $("#"+"FrasiAggiuntePrima"+parcid[4]);
divAggiuntiDopo = $("#"+"FrasiAggiunteDopo"+parcid[4]);
if (fraseDiv.length < currentContextLength){
if(primoVerso == 1){ // caso inizio canto
var divAggiunti = $("<div />")
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);
if (divAggiuntiPrima.length == 0){
divAggiuntiPrima = $("<div />")
divAggiuntiPrima.attr('id',"FrasiAggiuntePrima"+parcid[4])
}else{
primoVersoDivPrima = divAggiuntiPrima.attr("primoVerso")
}
if (divAggiuntiDopo.length == 0){
divAggiuntiDopo = $("<div />")
divAggiuntiDopo.attr('id',"FrasiAggiunteDopo"+parcid[4])
}else{
ultimoVersoDivDopo = divAggiuntiDopo.attr("ultimoVerso")
}
if (fraseDiv.length < contextLength){
if(numeroVerso == 1){ // caso inizio canto
aggiungiDopo(fraseDiv, ultimoVersoDivDopo,divAggiuntiDopo,cantoDiv)
}else{ // caso fine canto
for (i=primoVerso-5;i<primoVerso-1;i--){
var verso = $("#"+cantoDiv[i]).clone();
divAggiunti.append(verso);
}
}
aggiungiPrima(fraseDiv, primoVersoDivPrima,divAggiuntiPrima,cantoDiv);
}
}else{
for (element of fraseDiv){
$("#"+element).remove();
}
var divAggiunti = $("<div />")
divAggiunti.attr('id',"FraseAggiunti"+parcid[4])
for (i=primoVerso-5;i<primoVerso-1;i++){
var verso = $("#"+cantoDiv[i]).clone();
divAggiunti.append(verso);
}
fraseCorrente.append(divAggiunti);
for (element of fraseElements){
fraseCorrente.append(element);
}
var divAggiunti = $("<div />")
divAggiunti.attr('id',"FraseAggiunti"+parcid[4])
for (i=ultimoVerso;i<ultimoVerso+4;i++){
var verso = $("#"+cantoDiv[i]).clone();
divAggiunti.append(verso);
}
fraseCorrente.append(divAggiunti);
fraseCorrente.append(divComandi);
aggiungiPrima(fraseDiv, primoVersoDivPrima,divAggiuntiPrima,cantoDiv);
aggiungiDopo(fraseDiv, ultimoVersoDivDopo,divAggiuntiDopo,cantoDiv)
}
//aggiungo listeners
addFormaListeners()
});
function aggiungiDopo(fraseDiv, ultimoVersoDivDopo,divAggiuntiDopo,cantoDiv){
idVerso = "#"+fraseDiv[fraseDiv.length-1];
numeroVerso = parseInt(ultimoVersoDivDopo);
for (i=numeroVerso;i<numeroVerso+contextLength;i++){
var verso = $("#"+cantoDiv[i]).clone();
ultimoVersoDivDopo++;
verso.attr('id', cantica+"_"+canto+"_"+ultimoVersoDivDopo);
divAggiuntiDopo.append(verso);
}
divAggiuntiDopo.insertAfter($(idVerso));
divAggiuntiDopo.attr("ultimoVerso",ultimoVersoDivDopo)
}
function aggiungiPrima(fraseDiv, primoVersoDivPrima,divAggiuntiPrima,cantoDiv){
idVerso = "#"+fraseDiv[0];
numeroVerso = parseInt(primoVersoDivPrima);
for (i=numeroVerso-1;i>numeroVerso-contextLength-1;i--){
var verso = $("#"+cantoDiv[i-1]).clone();
primoVersoDivPrima--;
verso.attr('id', cantica+"_"+canto+"_"+primoVersoDivPrima);
divAggiuntiPrima.prepend(verso);
}
divAggiuntiPrima.insertBefore($(idVerso));
divAggiuntiPrima.attr("primoVerso",primoVersoDivPrima)
}
jQuery(document).delegate(' .riduciFrase', 'click', function() {
var cid = $(this).attr('id');
var parcid=cid.split('_');
var fraseToReduce = "#"+"FraseAggiunti"+parcid[4]
$(fraseToReduce).remove();
$(fraseToReduce).remove();
var divAggiuntiPrima = "#"+"FrasiAggiuntePrima"+parcid[4]
var divAggiuntiDopo = "#"+"FrasiAggiunteDopo"+parcid[4]
$(divAggiuntiPrima).remove();
$(divAggiuntiDopo).remove();
});
function caricaCanto(canto, parcid){
@ -325,7 +320,6 @@ $(" ."+formaClass).hover(function(idx, element) {
jQuery(document).delegate(' .vaiALCanto', 'click', function() {
var cid = $(this).attr('id');
var parcid=cid.split('_');
var fraseToReduce = "#"+"FraseAggiunti"+parcid[4]
cantoDisplayed = parcid[0]+"_"+parcid[2]
@ -333,9 +327,8 @@ $(" ."+formaClass).hover(function(idx, element) {
caricaCanto(cantoDisplayed,parcid)
}
cantoDisplayed = "#"+cantoDisplayed
$(fraseToReduce).remove();
$(cantoDisplayed).attr('style', 'display: d-flex;');
$("#vistaFrasi").css("display", "none");
$("#vistaFrasi").css("display", "none");
});
/*
* Costruzione e visualizzazione del risultato in frasi.
@ -344,9 +337,7 @@ $(" ."+formaClass).hover(function(idx, element) {
var canto, numeroCantica;
var divVerso;
currentContextLength = contextLength;
$(cantoDisplayed).css("display", "none");
if (!queryExecuted){
@ -372,7 +363,7 @@ $(" ."+formaClass).hover(function(idx, element) {
numeroCantica=0
canto=0
var elencoVersi = $('<div class="itemelenco" />')
var titoloCanto = $('<h5 class="titolo-canto" />')
var titoloCanto = $('<h5 class="titolo-canto"/>')
elencoVersi.attr('id', "Frase"+numeroRisultato);
@ -397,13 +388,13 @@ $(" ."+formaClass).hover(function(idx, element) {
comandi.attr('id',"comandiFrase"+numeroRisultato)
var spanBadgeContext = $('<span />');
var contextIcon = '<ion-icon name="return-up-back-outline"></ion-icon>';
spanBadgeContext.attr('class', 'badge badge-primary badge-pill mx-2 vaiALCanto');
spanBadgeContext.attr('class', 'badge badge-primary badge-pill my-0 mx-2 vaiALCanto');
var spanBadgeExpand = $('<span />');
var expandIcon = '<ion-icon name="arrow-down-outline"></ion-icon>';
spanBadgeExpand.attr('class', 'badge badge-primary badge-pill mx-2 espandiFrase');
spanBadgeExpand.attr('class', 'badge badge-primary badge-pill my-0 mx-2 espandiFrase');
var spanBadgeReduce = $('<span />');
var reduceIcon = '<ion-icon name="arrow-up-outline"></ion-icon>';
spanBadgeReduce.attr('class', 'badge badge-primary badge-pill mx-2 riduciFrase');
spanBadgeReduce.attr('class', 'badge badge-primary badge-pill my-0 mx-2 riduciFrase');
spanBadgeContext.attr('id', getCantica(numeroCantica)+"Canto_e_"+canto+"_"+risultato+"_"+numeroRisultato);
spanBadgeContext.append(contextIcon)
@ -417,6 +408,7 @@ $(" ."+formaClass).hover(function(idx, element) {
spanBadgeContext.appendTo(comandi);
spanBadgeExpand.appendTo(comandi);
spanBadgeReduce.appendTo(comandi);
comandi.appendTo(elencoVersi);
elencoVersi.appendTo(elencoRisutati);
elencoRisutati.append(mhr)
@ -435,21 +427,18 @@ $(" ."+formaClass).hover(function(idx, element) {
//visualizzo
$("#vistaFrasi").attr('style', 'display: d-flex;');
manageMM("#vistaFrasi")
//drawMinimap("#vistaFrasi")
drawMinimap("#vistaFrasi")
});
jQuery(document).delegate('.navig-canto', 'click', function(e) {
resetFrasi()
//nasconde vista risultati
$("#vistaFrasi").css("display", "none");
//rimuove il grafo sintattico se c'è'
var periodograph=document.getElementById("periodograph");
if (periodograph!=null){
let showngr=document.getElementById("periodograph").getAttribute('name').split("_")
var tmpsent=showngr[0]+"_"+showngr[1]+"_s_"+showngr[2];
@ -466,8 +455,6 @@ $(" ."+formaClass).hover(function(idx, element) {
$('.canto').each(function() {
$(this).css("display", "none");
});
const cid=$(this).attr('name').replace(" ", "_");
cantoDisplayed = "#"+cid;
@ -486,17 +473,31 @@ $(" ."+formaClass).hover(function(idx, element) {
}
//$("#" + $(this).attr('name').replace(" ", "_")).css("display", "block");
$("#" + $(this).attr('name').replace(" ", "_")).attr('style', 'display: d-flex;')
drawMinimap("#" + $(this).attr('name').replace(" ", "_"))
$(" ."+formaClass).each(function(idx, element) {
var ele = $(element);
ele.tooltip({
content: (function() {return formatTTContent(ele.attr('title'), ele.attr('class').split(' ')[1]);}),
classes:{"ui-tooltip":'Nik_dropdown-content'},
close: function (event, ui) {$(".ui-helper-hidden-accessible").remove();},
create: function(ev, ui) {$(this).data("ui-tooltip").liveRegion.remove();},
hide: false,
show: false
});
ele.hover(function(idx, element) {
sentenceId=$(this).attr('class').split(' ')[0].split('_')
var tmplisid=sentenceId[0]+'_'+sentenceId[1]+'_'+sentenceId[3]
lsentid=$(this).attr('class').split(' ')[0]
lisid=tmplisid
//drawMinimap("#" + $(this).attr('name').replace(" ", "_"))
manageMM("#" + $(this).attr('name').replace(" ", "_"))
if (selectedVista=='frasi'){
loadFrasi();
}
addFormaListeners();
});
});
});
//Query
jQuery(document).delegate('#searchcomm, #searchcomm2', 'click', function(e) {
@ -637,33 +638,21 @@ $(" ."+formaClass).hover(function(idx, element) {
});
}
let minim=$(" .minimap__content")
for (forma of listarisultati) {
idforma = '#' + forma
$(idforma).removeClass("font-weight-bold mark ")
minim.contents().find(idforma).removeClass("font-weight-bold mark ")
}
$(".badge").remove();
//$("#headingZero").css("display", "none");
$("#headingZero").css("display", "none");
$("#vistaFrasi").empty()
$("#vistaFrasi").css("display", "none");
listarisultati = []
listaPeriodiRisultato=[]
resultSentences=new Set()
$(cantoDisplayed).attr('style', 'display: d-flex;');
//drawMinimap(cantoDisplayed)
}
function manageMM(name){
currentMinimap = name;
let testhtml = $(currentMinimap)[0].outerHTML;
let minim=$(" .minimap__content")
let bm=minim.contents().find(' .blog-main')
bm.empty()
bm.append(testhtml)
getDimensionsDiv();
drawMinimap(cantoDisplayed)
}
var unitaRicerca='forma'
@ -720,6 +709,24 @@ $(" ."+formaClass).hover(function(idx, element) {
}
/*
var periodograph=document.getElementById("periodograph");
if (periodograph!=null){
console.log('val '+document.getElementById("periodograph").getAttribute('name'))
let showngr=document.getElementById("periodograph").getAttribute('name').split("_")
var tmpsent=showngr[0]+"_"+showngr[1]+"_s_"+showngr[2]
periodograph.parentNode.removeChild(periodograph);
//var sentence = document.getElementsByClassName(lsentid);
var sentence = document.getElementsByClassName(tmpsent);
for (let i = 0; i < sentence.length; i++) {
sentence[i].classList.remove('font-italic');
if (selectedVista!='frasi')
sentence[i].style.removeProperty('color');
sentence[i].classList.remove('font-weight-normal');
}
*/
function resetSentenceStructure(sentence) {
/*
@ -828,9 +835,9 @@ $(" ."+formaClass).hover(function(idx, element) {
spannum.attr('class', 'numverso text-muted')
elementoverso.append(spannum)
//elementoverso.append(num + ". ")
//elementoverso.attr("style", "line-height: 0.5em")
elementoverso.attr("style", "line-height: 0.5em")
elementoverso.attr('class', 'f6 mb-2 text-dark text-nowrap font-weight-lighter '+cantica+' '+canto)
elementoverso.attr('class', 'f6 text-dark text-nowrap font-weight-lighter '+cantica+' '+canto)
elementoverso.attr('id', cantica + "_" + canto + "_" + num)
@ -945,7 +952,6 @@ $(" ."+formaClass).hover(function(idx, element) {
});
seachbBindingsStream.on('end', () => {
var resSent=new Set()
let minim=$(" .minimap__content")
console.log('start rendering...')
listarisultati = Array.from(result)
var listaclausole=Array.from(resultClauses)
@ -1001,15 +1007,11 @@ $(" ."+formaClass).hover(function(idx, element) {
if (listarisultati.length){
//evidenzia risultati
for (ris of listarisultati) {
idris = '#' + ris
$(idris).addClass("font-weight-bold mark ")
minim.contents().find(idris).addClass("font-weight-bold mark ")
}
}
@ -1030,7 +1032,7 @@ $(" ."+formaClass).hover(function(idx, element) {
//$('#cantica' + i).after(spanbadgecantica)
}
}
//aggiunge badge con totale risultati nel bottone lista risultati
//aggiunge badge con totale risultati nel bottone lista canti
if (totResultN>0){
$("#headingZero").attr('style', 'display: d-flex;')
var spanbadgelista = $('<span />');
@ -1061,15 +1063,13 @@ $(" ."+formaClass).hover(function(idx, element) {
}
}
}
console.log('badge end')
console.log('badge end...')
/*
//aggiorna minimap
if (currentMinimap != '') {
showMinimap()
}
*/
});
queryExecuted = true;
$(cantoDisplayed).attr('style', 'display: d-flex;');