From e3721c6a6c5d5391f9a0c1b2c20d45e1dbda7f18 Mon Sep 17 00:00:00 2001 From: nicola <nicola@mbpdiniolaaloia.lan> Date: Tue, 28 Nov 2023 20:34:13 +0100 Subject: [PATCH] Integrato con Luca index_4_4_test.html ci sono alcuni problemi di visualizzazione e di funzionamento. --- index_4.4_test.html | 56 +++++----- js/cesareBrowse.js | 248 ++++++++++++++++++++++++-------------------- 2 files changed, 163 insertions(+), 141 deletions(-) diff --git a/index_4.4_test.html b/index_4.4_test.html index 6cb733b..b909920 100644 --- a/index_4.4_test.html +++ b/index_4.4_test.html @@ -482,36 +482,35 @@ <div class="tab-content visInfo w-100 d-flex bg-lida-vis" id="vis-TabContent" style="flex-direction: column;"> <div class="tab-pane fade show active p-0 bg-lida-vis" id="vis0" role="tabpanel" aria-labelledby="vis0-tab"> - <div id='displaynote' class="p-2"> +<div id='displaynote' class="p-2"> -<div class="card card-body well well-sm m-1 p-0"> - - <div class="d-flex align-content-start flex-nowrap text-muted mt-1"> - <div class="p-2"> +<div class="card card-body well well-sm m-1 p-0" id= "CardCommenti"> + <div class="d-flex align-content-start flex-nowrap text-muted mt-1" id= "VersoCommento"> + <div class="p-2" > <b>Inferno</b><i>, Canto I Verso 1 - Dante Alighieri, Convivio IV, xxiii, 9-11</i> </div> <div class="ml-auto p-1 pr-2"> - <span class="h6"> - <button id="collapseBtnNoteX" - class="btn btn-sm btn-outline-primary bg-light collapseNote border rounded text-primary px-1 pb-0 show" - data-toggle="collapse" data-target="#collapseNoteX" - aria-expanded="true" aria-controls="collapseNoteX"> - <ion-icon name="archive"></ion-icon> - </button> - <button id="closeNoteX" - class="btn btn-sm btn-outline-primary bg-light closeNote border rounded text-primary px-1 pb-0" - style="z-index: 1000"> - <ion-icon name="close-circle"></ion-icon> - </button> - </span> - + <span class="h6"> + <button id="collapseBtnNoteX" + class="btn btn-sm btn-outline-primary bg-light collapseNote border rounded text-primary px-1 pb-0 show" + data-toggle="collapse" data-target="#collapseNoteX" + aria-expanded="true" aria-controls="collapseNoteX"> + <ion-icon name="archive"></ion-icon> + </button> + <button id="closeNoteX" + class="btn btn-sm btn-outline-primary bg-light closeNote border rounded text-primary px-1 pb-0" + style="z-index: 1000"> + <ion-icon name="close-circle"></ion-icon> + </button> + </span> </div> </div> - <div id="collapseNoteX" class="collapse show" - aria-labelledby="headingCX" data-parent="#sortable0"> - <div class="card-body p-0 mx-1 mb-1 bg-lida11 border rounded" - id="claBodyxX1Xx"></div> +<div id="collapseNoteX" class="collapse show" + aria-labelledby="headingCX" data-parent="#sortable0"> + <div class="card-body p-0 mx-1 mb-1 bg-lida11 border rounded" + id="claBodyxX1Xx"> + </div> <div class="d-flex align-content-start flex-wrap text-muted"> <div class="p-2"><b>Autore:</b> <a href="http://www.wikidata.org/entity/Q1067" target="_blank"><i>Dante Alighieri</i>, </a></div> @@ -561,14 +560,9 @@ </div> </div> </div> - - - </div> - - -</div> - - </div> +</div> <!-- Fine collapseNoteX --> +</div> <!-- Fine card div --> +</div> <!-- Fine displaynote div --> </div> <div class="tab-pane fade p-0 bg-lida-vis" id="vis1" role="tabpanel" aria-labelledby="vis1-tab"> <div id='displayinfo' class="p-3"><span>Visualizza struttura periodo</span> diff --git a/js/cesareBrowse.js b/js/cesareBrowse.js index 407ee43..08a9f5e 100644 --- a/js/cesareBrowse.js +++ b/js/cesareBrowse.js @@ -900,138 +900,166 @@ function resetFrasi(){ case "3": cantica = "Paradiso"; } - var commentArea = $('#displaynote'); + var commentArea = $('#CardCommenti'); commentArea.empty() - var spanComment = $('<span />'); - var id = cid.substr(9); - var nomeAutore = ""; - var titoloFonte = ""; - var luogoFonte = ""; - var commentoCommentatore = []; - var urlCommento = ""; - var esitoCommento = ""; - var position = 0; - var autoreCommento = ""; - + var id = cid.substr(9); + var collapseNote; + var claBody = $('<div class="card-body p-0 mx-1 mb-1 bg-lida11 border rounded" id="claBodyxX1Xx">'); + for (var pos in commentsArray){ var comments = commentsArray[pos] if (comments.verso == id){ - spanComment.append('<b>'+cantica+'</b><i>'+", Canto " + getRoman(parcid[2])+" Verso "+ parcid[3]+"</i><br>"); - if (comments.NomeAutoreCitazione == null){ - nomeAutore = 'riferimento'; - } - else{ - nomeAutore = comments.NomeAutoreCitazione; - } - if (comments.AutoreCitazione != null){ - spanComment.append('<b>Autore:</b><a href="'+comments.AutoreCitazione+'" target="_blank"> <i>'+nomeAutore+ '</i>, </a>'); - }else{ - spanComment.append('<b>Autore:</b> <i>'+nomeAutore+'</i>'); - - } - if(comments.TitoloFonteCitazione == null){ - titoloFonte = "riferimento"; - }else{ - titoloFonte = comments.TitoloFonteCitazione; - } - if (comments.FonteCitazione != null){ - spanComment.append('<b>Fonte:</b> <a href="'+comments.FonteCitazione+'" target="_blank"><i> '+titoloFonte +'</i>, </a>'); - }else{ - spanComment.append('<b>Fonte:</b><i> '+titoloFonte +'</i>'); - - } - if(comments.LuogoFonteCitazione == null){ - luogoFonte = "riferimento"; - }else{ - luogoFonte = comments.LuogoFonteCitazione; - } - if (comments.URLFonteCitazione != null){ - spanComment.append('<b>Luogo Fonte:</b><a href="'+comments.URLFonteCitazione+'"target="_blank"<i> ' + luogoFonte+'</i>, </a><br>'); - }else{ - spanComment.append('<b>Luogo Fonte:</b><i> ' + luogoFonte+'</i><br>'); - + createNoteHeader(commentArea, comments, id, cantica, parcid); + collapseNote = $('<div id="collapseNote"'+id+ 'class="collapse show"'+ + 'aria-labelledby="headingCX" data-parent="#sortable0">'); + collapseNote.append(claBody); + + if (comments.TestoFonteCitazione != null && comments.TestoFonteCitazione != "nan"){ + createModule(commentArea,"Testo della fonte: ", comments.TestoFonteCitazione, "1", id) } if (comments.NaturaRiferimento != null){ - spanComment.append("<b>Natura Riferimento:</b><i> " + comments.NaturaRiferimento+"</i><br>"); + createModule(commentArea,"Tipo Riferimento: ", comments.NaturaRiferimento, "2", id) } if (comments.commentario != null){ - spanComment.append("<b>Commentario:</b><i> " + comments.commentario+"</i><br>"); + createModule(commentArea,"Commentatore: ", comments.commentario, "3", id) } if (comments.RapportoSoggettoOggetto != null){ - spanComment.append("<b>Rapporto Soggetto/Oggetto: </b><i>" + comments.RapportoSoggettoOggetto+"</i><br>"); + createModule(commentArea,"Rapporto Testo/Fonte: ", comments.RapportoSoggettoOggetto, "4", id) } if (comments.RapportoCommentoCommentatoreText != null && comments.RapportoCommentoCommentatoreText != "nan"){ - commentoCommentatore = comments.RapportoCommentoCommentatoreText.split(','); - urlCommento = commentoCommentatore[0]; - position = urlCommento.indexOf("https"); - urlCommento = urlCommento.substring(position) - //urlCommento = urlCommento.replaceAll("'",""); - urlCommento = urlCommento.replaceAll("'",""); - //urlCommento = urlCommento.replaceAll(',',""); - esitoCommento = commentoCommentatore[3]; - esitoCommento = esitoCommento.replace("'Rapporto': ","") - //esitoCommento = esitoCommento.replaceAll('"',""); - esitoCommento = esitoCommento.replaceAll("'",""); - esitoCommento = esitoCommento.replaceAll('}',""); - autoreCommento = commentoCommentatore[1]; - autoreCommento = autoreCommento.replace(" 'Autore':","") - autoreCommento = autoreCommento.replaceAll("'",""); - if (autoreCommento == ""){ - autoreCommento = "Commento" - } - if (esitoCommento == ""){ - esitoCommento = "Rapporto nullo" - } - if(urlCommento == ""){ - spanComment.append('<b>Rapporto Commento/Commentatore: [</b>Commento nullo, '+esitoCommento+'] <br>'); - }else{ - spanComment.append('<b>Rapporto Commento/Commentatore: [</b><a href="'+urlCommento+'"target="_blank"<i>'+ autoreCommento +'</i></a>, '+esitoCommento+'] <br>'); - } + createModuleCommentatore (commentArea, comments.RapportoCommentoCommentatoreText, "5", id) } + if (comments.annotazione != null && comments.annotazione != "nan"){ - var spanForm = $('<form />'); - spanComment.append(spanForm); - var spanDiv = $('<div />'); - spanDiv.attr('class', ' form-group pt-2'); - spanForm.append(spanDiv); - spanDiv.append('<label for="comment"><b>Annotazione:</b></label>'); - spanDiv.append('<textarea readonly class="form-control" rows="2" id="annotazione"+comments.verso name="text">'+comments.annotazione+'</textarea>'); - + createModule(commentArea,"Annotazione: ", comments.annotazione, "6", id) + } if (comments.frammentoNota != null && comments.frammentoNota != "nan"){ - var spanForm = $('<form />'); - spanComment.append(spanForm); - var spanDiv = $('<div />'); - spanDiv.attr('class', ' form-group'); - spanForm.append(spanDiv); - spanDiv.append('<label for="comment"><b>Frammento Nota:</b></label>'); - spanDiv.append('<textarea readonly class="form-control" rows="2" id="frammentoNota"+comments.verso name="text">'+comments.frammentoNota+'</textarea>'); - } - if (comments.TestoFonteCitazione != null && comments.TestoFonteCitazione != "nan"){ - var spanForm = $('<form />'); - spanComment.append(spanForm); - var spanDiv = $('<div />'); - spanDiv.attr('class', ' form-group'); - spanForm.append(spanDiv); - spanDiv.append('<label for="comment"><b>Testo Fonte:</b></label>'); - spanDiv.append('<textarea readonly class="form-control" rows="2" id="TestoFonteCitazione"+comments.verso name="text">'+comments.TestoFonteCitazione+'</textarea>'); + createModule(commentArea,"Nota: ", comments.frammentoNota, "7", id) } + if (comments.NotaFonteCitazione != null && comments.NotaFonteCitazione != "nan" && comments.NotaFonteCitazione != ""){ - var spanForm = $('<form />'); - spanComment.append(spanForm); - var spanDiv = $('<div />'); - spanDiv.attr('class', ' form-group'); - spanForm.append(spanDiv); - spanDiv.append('<label for="comment"><b>Nota Fonte:</b></label>'); - spanDiv.append('<textarea readonly class="form-control" rows="2" id="NotaFonteCitazione"+comments.verso name="text">'+comments.NotaFonteCitazione+'</textarea>'); + createModule(commentArea,"Nota dell'annotatore: ", comments.NotaFonteCitazione, "8", id) } - } - spanComment.append('<hr class="pt-0 center text-dark bg-dark" style="width: 35%;">'); - + commentArea.append('<hr class="pt-0 center text-dark bg-dark" style="width: 100%;">'); } } - spanComment.appendTo(commentArea); $('#tab-list #vis0-tab').tab('show') }) + + function createNoteHeader(headerDiv, comments, id, cantica, parcid){ + var nomeAutore = ""; + var titoloFonte = ""; + var luogoFonte = ""; + var commentHeader = $('<div class="d-flex align-content-start flex-nowrap text-muted mt-1" id= commentoVerso' + id + ' >') + var rigaNota = $('<div class="p-2" >'); + var spanButtons = $('<span class="h6">'); + var buttons = $('<div class="ml-auto p-1 pr-2">') + var collapseButton = $('<button id="collapseBtnNote'+id+'"'+ + 'class="btn btn-sm btn-outline-primary bg-light collapseNote border rounded text-primary px-1 pb-0 show"'+ + 'data-toggle="collapse" data-target="#collapseNote'+id+'"'+ + 'aria-expanded="true" aria-controls="collapseNote'+id+'">'+ + '<ion-icon name="archive"></ion-icon>'); + var closeButton = $('<button id="closeNote'+id+'"'+ + 'class="btn btn-sm btn-outline-primary bg-light closeNote border rounded text-primary px-1 pb-0"'+ + 'style="z-index: 1000">'+ + '<ion-icon name="close-circle"></ion-icon>'); + + rigaNota.append('<b>' + cantica + '</b><i>' + ", Canto " + getRoman(parcid[2]) + " Verso " + parcid[3] + "</i> - "); + collapseButton.appendTo(spanButtons); + closeButton.appendTo(spanButtons); + spanButtons.appendTo(buttons) + + if (comments.NomeAutoreCitazione == null) { + nomeAutore = 'riferimento'; + } + else { + nomeAutore = comments.NomeAutoreCitazione; + } + if (comments.AutoreCitazione != null) { + rigaNota.append('<b>Autore della fonte:</b><a href="' + comments.AutoreCitazione + '" target="_blank"> <i>' + nomeAutore + '</i>, </a>'); + } else { + rigaNota.append('<b>Autore della fonte:</b> <i>' + nomeAutore + '</i>'); + } + if (comments.TitoloFonteCitazione == null) { + titoloFonte = "riferimento"; + } else { + titoloFonte = comments.TitoloFonteCitazione; + } + if (comments.FonteCitazione != null) { + rigaNota.append('<b>Fonte:</b> <a href="' + comments.FonteCitazione + '" target="_blank"><i> ' + titoloFonte + '</i>, </a>'); + } else { + rigaNota.append('<b>Fonte:</b><i> ' + titoloFonte + '</i>'); + } + if (comments.LuogoFonteCitazione == null) { + luogoFonte = "riferimento"; + } else { + luogoFonte = comments.LuogoFonteCitazione; + } + if (comments.URLFonteCitazione != null) { + rigaNota.append('<b>Coordinate della Fonte:</b><a href="' + comments.URLFonteCitazione + '"target="_blank"<i> ' + luogoFonte + '</i>, </a><br>'); + } else { + rigaNota.append('<b>Coordinate della Fonte:</b><i> ' + luogoFonte + '</i><br>'); + + } + rigaNota.appendTo(commentHeader); + buttons.appendTo(commentHeader); + + commentHeader.appendTo(headerDiv); + } + + function createModule(commentArea,label, testo, num, id){ + var divModule = $('<div class="module pb-0">'); + var divNote = $('<div class="collapse" id="collapse'+num+'Note'+id+'" aria-expanded="false">') + var divContent = $('<div class="d-flex align-content-start flex-wrap text-muted">'); + var divTesto = $('<div class="p-2">') + var nota = '<b>'+label+'</b>'+testo; + divModule.append('<a class="read-more collapsed" data-toggle="collapse" href="#collapse'+num+'Note'+id+'" role="button"></a>') + divTesto.append(nota); + divContent.append(divTesto); + divNote.append(divContent) + divModule.append(divNote); + divModule.appendTo(commentArea); + } + function createModuleCommentatore(commentArea, commento, num, id){ + var commentoCommentatore = commento.split(','); + var divModule = $('<div class="module pb-0">'); + var divNote = $('<div class="collapse" id="collapse'+num+'Note'+id+'" aria-expanded="false">') + //var divNote = $('<div class="collapse" id="collapse'+num+'Note'+id+'" aria-expanded="false">') + + var divContent = $('<div class="d-flex align-content-start flex-wrap text-muted">'); + var divTesto = $('<div class="p-2">') + var nota; + var urlCommento = commentoCommentatore[0]; + var position = urlCommento.indexOf("https"); + urlCommento = urlCommento.substring(position) + urlCommento = urlCommento.replaceAll("'", ""); + var esitoCommento = commentoCommentatore[3]; + esitoCommento = esitoCommento.replace("'Rapporto': ", "") + esitoCommento = esitoCommento.replaceAll("'", ""); + esitoCommento = esitoCommento.replaceAll('}', ""); + var autoreCommento = commentoCommentatore[1]; + autoreCommento = autoreCommento.replace(" 'Autore':", "") + autoreCommento = autoreCommento.replaceAll("'", ""); + if (autoreCommento == "") { + autoreCommento = "Commento" + } + if (esitoCommento == "") { + esitoCommento = "Rapporto nullo" + } + if (urlCommento == "") { + nota = '<b>Rapporto Commento/Commentatore: [</b>Commento nullo, '+esitoCommento+']</b><br>'; + } else { + nota = '<b>Rapporto Commento/Commentatore: [</b><a href="'+urlCommento+'"target="_blank"<i>' + autoreCommento+ '</i></a>, ' + esitoCommento + ']</b><br>'; + } + + divModule.append('<a class="read-more collapsed" data-toggle="collapse" href="#collapse'+num+'Note'+id+'" role="button"></a>') + divTesto.append(nota); + + divContent.append(divTesto); + divNote.append(divContent) + divModule.append(divNote); + divModule.appendTo(commentArea); + } function hasComments(cid){