From b52daf643d492535a85882ca39373db38754b40d Mon Sep 17 00:00:00 2001 From: cesare Date: Mon, 30 Jan 2023 15:57:30 +0100 Subject: [PATCH] caricamento dei canti modificato --- css/browsingldc.css | 6 +- js/cesareBrowse.js | 145 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 135 insertions(+), 16 deletions(-) diff --git a/css/browsingldc.css b/css/browsingldc.css index 71e3bd3..62f9d70 100644 --- a/css/browsingldc.css +++ b/css/browsingldc.css @@ -11,7 +11,7 @@ */ .blog-main{ - font-size: 13px; + font-size: 16px; font-family: -apple-system, BlinkMacSystemFont, “Helvetica Neue”, “Segoe UI”, “Roboto”, “Oxygen”, “Ubuntu”, “Cantarell”, “Fira Sans”, “Droid Sans”, @@ -79,7 +79,7 @@ Minimap left: 0; width:100%; height: 100%; - z-index: -1; + z-index: 10; transform-origin: 0 0; border: 1px solid white; } @@ -112,5 +112,5 @@ Minimap .Nik_dropdown:hover .Nik_dropdown-content { display: block; } - +iframe { background-color:orange; } diff --git a/js/cesareBrowse.js b/js/cesareBrowse.js index db98b51..1b342d4 100644 --- a/js/cesareBrowse.js +++ b/js/cesareBrowse.js @@ -5,6 +5,7 @@ var resetResult; var lsid; + $(document).ready(function() { lsid=''; @@ -24,10 +25,12 @@ $(document).ready(function() { var currentMinimap = '' var listarisultati = []; + var listaPeriodiRisultato = []; var resultSentences = new Set() var minimapScrolling = false; var displayId = 'displaycanto' - var minimapTopPos; + var cantiche=["Inferno", "Purgatorio","Paradiso"] + var loadedCanti=new Set(); var purgatorioLoaded = false; var paradisoLoaded = false; @@ -49,11 +52,13 @@ $(document).ready(function() { hideMinimap(); createAllDivCanti() const start = performance.now(); - showCantica('Inferno') - showCantica('Purgatorio') - showCantica('Paradiso') + showCanto(formeprima, '1','1') + //showCantica('Inferno') + //showCantica('Purgatorio') + //showCantica('Paradiso') $("#InfernoCanto_1").attr('style', 'display:block') drawMinimap("InfernoCanto_1") + const end = performance.now(); console.log(`Load cantiche time: ${end - start} ms`); @@ -74,6 +79,19 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { }); }); + + + +$(" .Ma, .Co, .Su, .Pa").hover(function(idx, element) { + + sentenceId=$(this).attr('class').split(' ')[0].split('_') + var tmplisid=sentenceId[0]+'_'+sentenceId[1]+'_'+sentenceId[3] + lisid=tmplisid + console.log('show '+tmplisid) + $(this).trigger('drawSynt'); + //$(this).trigger('drawSynt') + }); + /* $(" .Ma, .Co, .Su, .Pa").tooltip({ @@ -164,9 +182,34 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { $('.canto').each(function() { $(this).attr("style", 'display:none'); }); - // Crea id per la div che contiene il canto + const cid=$(this).attr('name').replace(" ", "_"); + if ( !(loadedCanti.has(cid))) + { + + var parcid=cid.split('_') + if(parcid[0].includes('Inferno')) + showCanto(formeprima, '1',parcid[1]) + if(parcid[0].includes('Purgatorio')) + showCanto(formeseconda, '2',parcid[1]) + if(parcid[0].includes('Paradiso')) + showCanto(formeterza, '3',parcid[1]) + loadedCanti.add(cid) + } $("#" + $(this).attr('name').replace(" ", "_")).attr('style', 'display:block') manageMiniMap(this); + $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { + var ele = $(element); + ele.tooltip({ + content: (function() {return formatTTContent(ele.attr('title'));}), + 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 + + }); + + }); }); @@ -253,6 +296,7 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { function drawMinimap(name){ showMinimap(name) + //$('iframe').contents().find('body').css('backgroundColor', '#eaeae6;'); currentMinimap = name; //mmviewer diventa draggable @@ -275,12 +319,22 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { } function cleanSearchResult() { + + for (msid of listaPeriodiRisultato){ + $(msid).each(function(){ + $(this).removeClass("font-weight-bold mark ") + }); + } + for (forma of listarisultati) { idforma = '#' + forma $(idforma).removeClass("font-weight-bold mark ") } + + $(".badge").remove(); listarisultati = [] + listaPeriodiRisultato=[] resultSentences=new Set() if (currentMinimap != '') showMinimap(currentMinimap) @@ -366,6 +420,7 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { return; let iFrameDoc = minimapContent.contentWindow.document; + var cssLinkb = document.createElement("link"); cssLinkb.href = "https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css"; cssLinkb.rel = "stylesheet"; @@ -388,6 +443,8 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { window.addEventListener('scroll', trackScroll) window.addEventListener('resize', getDimensionsDiv) + //$('iframe').css('background', '#eaeae6;'); + $('iframe').contents().find('body').css('backgroundColor', '#eaeae6;'); } @@ -447,6 +504,43 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { } //Cantica management functions + + function showCanto(formecantica, idcantica, canto) { + var setVersiCanto = new Set() + var cantica=cantiche[parseInt(idcantica)-1]; + var elverso, formaItem + formecantica.map(function(item) { + formaItem = item.split("_"); + var sentenceid=idcantica+"_"+formaItem[1]+"_s_"+formaItem[5] + if (formaItem[1]==canto){ + if (! setVersiCanto.has(cantica + "_" + formaItem[3] + "_" + 'Canto_' + formaItem[1])){ + elverso=createDivVersoNew(cantica, formaItem[3], 'Canto_' + formaItem[1]) + setVersiCanto.add(cantica+ "_" + formaItem[3] + "_" + 'Canto_' + formaItem[1]) + } + createSpanFormeNew(formaItem[0], formaItem[4], formaItem[2], sentenceid,formaItem[6],elverso) + + } + + }) + + if (listaPeriodiRisultato.length){ + for (msid of listaPeriodiRisultato){ + $(msid).each(function(){ + $(this).addClass("font-weight-bold mark ") + }); + } + } + + if (listarisultati.length){ + //evidenzia risultati + for (ris of listarisultati) { + idris = '#' + ris + $(idris).addClass("font-weight-bold mark ") + + } + } + + } function showCantica(cantica) { //var listaCanti = new Set() @@ -476,7 +570,7 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { setVersi.add(cantica+ "_" + formaItem[3] + "_" + 'Canto_' + formaItem[1]) } else{ - createSpanFormeNew(cantica, 'Canto_' + formaItem[1], formaItem[3], formaItem[0], formaItem[4], formaItem[2], sentenceid,formaItem[6],elverso) + createSpanFormeNew(formaItem[0], formaItem[4], formaItem[2], sentenceid,formaItem[6],elverso) } } @@ -484,19 +578,39 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { } - function createSpanFormeNew(cantica, canto, numverso, forma, catgramm, pos, sentenceid, clausefunct, elementoverso) { + function createSpanFormeNew(forma, catgramm, pos, sentenceid, clausefunct, elementoverso) { var spanoccorrenza = $('') spanoccorrenza.attr('id', pos) //spanoccorrenza.attr('data-cg', catgramm) spanoccorrenza.attr('title', catgramm) spanoccorrenza.attr('class', sentenceid+" "+clausefunct) - - //if (listarisultati.length > 0 && listarisultati.includes(spanoccorrenza.attr('id'))) - // spanoccorrenza.attr('class', "font-weight-bold mark ") + /*if (listaPeriodiRisultato.length && listaPeriodiRisultato.includes('.'+sentenceid)){ + console.log('***SID: '+sentenceid+' '+spanoccorrenza.attr('id')) + listarisultati.push(spanoccorrenza.attr('id')) + } + + if (listarisultati.length > 0 && listarisultati.includes(spanoccorrenza.attr('id'))) + spanoccorrenza.addClass("font-weight-bold mark ") + */ spanoccorrenza.append(forma+" ") spanoccorrenza.appendTo(elementoverso) + } + function createDivVersoNew(cantica, num, canto) { + + var elementoverso = $('

') + + elementoverso.append(num + ". ") + elementoverso.attr("style", "line-height: 0.5em") + + elementoverso.attr('class', 'f6 text-secondary text-nowrap font-weight-lighter '+cantica+' '+canto) + + elementoverso.attr('id', cantica + "_" + canto + "_" + num) + + elementoverso.appendTo('#' + cantica + canto) + return elementoverso + } function createDivVerso(cantica, num, canto, forma, catgram, pos, sentenceid, clausefunct) { @@ -516,7 +630,7 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { //spanoccorrenza.attr('data-cg', catgram) spanoccorrenza.attr('title', catgram) spanoccorrenza.attr('class', sentenceid+" "+clausefunct) - + spanoccorrenza.append(forma+" ") spanoccorrenza.appendTo(elementoverso) @@ -613,10 +727,12 @@ $(" .Ma, .Co, .Su, .Pa").each(function(idx, element) { resultsInCantica=[] resultsInCanto=[] + listaPeriodiRisultato=[] if (listaclausole.length){ for (var frase of listaclausole){ var fraseItems=frase.split('-'); for (var p=parseInt(fraseItems[1]); p