This commit is contained in:
nicola 2024-12-09 20:08:58 +01:00
commit 421b5e7d64
5 changed files with 64 additions and 2121 deletions

View File

@ -1258,7 +1258,7 @@
label="Macrotipi sintattici: subordinate e coordinate a una subordinata" label="Macrotipi sintattici: subordinate e coordinate a una subordinata"
onclick="myformsyntax.functionSyntax0.disabled = true;"> onclick="myformsyntax.functionSyntax0.disabled = true;">
<option value="macro avv">avversativa</option> <option value="macro avv">avversativa</option>
<option value="macro causale">causale</option> <option value="macro caus">causale</option>
<option value="macro compar">comparativa</option> <option value="macro compar">comparativa</option>
<option value="macro conces">concessiva</option> <option value="macro conces">concessiva</option>
<option value="macro consec">consecutiva</option> <option value="macro consec">consecutiva</option>

View File

@ -26,8 +26,7 @@ $(document).ready(function() {
"san Bernardo": "diaSanBernardo" "san Bernardo": "diaSanBernardo"
} }
const dialogaltri = 'diaAltri' const dialogaltri = 'diaAltri'
var listaClausoleRisultatoContesti = []
const cantobadgeclass = 'badge badge-outline-warning badge-pill' const cantobadgeclass = 'badge badge-outline-warning badge-pill'
const sparqlGenerator = sparqljs.Generator; const sparqlGenerator = sparqljs.Generator;
@ -202,7 +201,7 @@ $(document).ready(function() {
var setVersicontestoExp = new Set() var setVersicontestoExp = new Set()
for (forma of versiContestoExp) { for (forma of versiContestoExp) {
if (!setVersicontestoExp.has(forma.verso)) { if (!setVersicontestoExp.has(forma.verso)) {
divVersoExp = createDivVersoLI(forma.cantica, forma.verso, forma.canto) divVersoExp = createDivVersoLI(forma.cantica+1, forma.verso, forma.canto)
$(reit).append(divVersoExp) $(reit).append(divVersoExp)
setVersicontestoExp.add(forma.verso) setVersicontestoExp.add(forma.verso)
} }
@ -289,7 +288,7 @@ $(document).ready(function() {
//listarisultati.sort(function(a, b){return a - b}); //listarisultati.sort(function(a, b){return a - b});
showFrasi(start, offset) showFrasi(start, offset)
console.log(vistaPeriodi)
if (vistaPeriodi) { if (vistaPeriodi) {
loadFrasi(); loadFrasi();
} }
@ -318,7 +317,9 @@ $(document).ready(function() {
if (listaClausoleRisultato.length) { if (listaClausoleRisultato.length) {
var tempr = new Set() numeroContesti = listaClausoleRisultatoContesti.length
return (listaClausoleRisultatoContesti.length)
/*var tempr = new Set()
for (singleres of listaClausoleRisultato) { for (singleres of listaClausoleRisultato) {
tempr.add(singleres.split('-')[0]) tempr.add(singleres.split('-')[0])
} }
@ -326,7 +327,7 @@ $(document).ready(function() {
tempr.forEach(y => myRis.push(listaClausoleRisultato.filter(x => (x.split('-')[0] == y) && x.split('-').length > 1))) tempr.forEach(y => myRis.push(listaClausoleRisultato.filter(x => (x.split('-')[0] == y) && x.split('-').length > 1)))
numeroContesti = myRis.length numeroContesti = myRis.length
return (myRis.length) return (myRis.length)*/
} }
numeroContesti = numeroRisultati numeroContesti = numeroRisultati
return (numeroRisultati) return (numeroRisultati)
@ -335,7 +336,7 @@ $(document).ready(function() {
function getResInPage(startcont, endcont) { function getResInPage(startcont, endcont) {
var res = []; var res = [];
var contaContesti = 0 var contaContesti = 0
console.log(listaClausoleRisultato) //console.log(listaClausoleRisultato)
if (listarisultati.length) { if (listarisultati.length) {
var ultimaPosizione = -1; var ultimaPosizione = -1;
for (risultato of listarisultati) { for (risultato of listarisultati) {
@ -354,24 +355,20 @@ $(document).ready(function() {
res.sort(function(a, b) { return a - b }); res.sort(function(a, b) { return a - b });
return (res) return (res)
} }
if (listaClausoleRisultato.length) { if (listaClausoleRisultatoContesti.length && !listarisultati.length ) {
var tempr = new Set()
for (singleres of listaClausoleRisultato) {
tempr.add(singleres.split('-')[0])
}
var myRis = []
tempr.forEach(y => myRis.push(listaClausoleRisultato.filter(x => (x.split('-')[0] == y) && x.split('-').length > 1))) /*for (risultato of listaClausoleRisultatoContesti) {
for (risultato of myRis) {
contaContesti = contaContesti + 1; contaContesti = contaContesti + 1;
if (contaContesti >= startcont && contaContesti < endcont) { if (contaContesti >= startcont && contaContesti < endcont) {
res.push(risultato) res.push(risultato)
} }
if (contaContesti > endcont) if (contaContesti > endcont)
break; break;
}*/
for (i=startcont; i<=endcont; i++){
res.push(listaClausoleRisultatoContesti[i])
} }
res.sort(function(a, b) { puno = a[0].split('-')[3]; pdue = b[0].split('-')[3]; return parseInt(puno) - parseInt(pdue) }); //res.sort(function(a, b) { puno = a[0].split('-')[3]; pdue = b[0].split('-')[3]; return parseInt(puno) - parseInt(pdue) });
return (res) return (res)
} }
return (res) return (res)
@ -398,12 +395,20 @@ $(document).ready(function() {
continue; continue;
} }
var versiContesto = '' var versiContesto = ''
var ctxpivot=0
if (!Array.isArray(risultato)) { if (!Array.isArray(risultato)) {
risultato = parseInt(risultato) risultato = parseInt(risultato)
versiContesto = getFormaContext(risultato, contextLength); versiContesto = getFormaContext(risultato, contextLength);
ctxpivot=risultato
} }
else else{
versiContesto = getFraseContext(risultato, contextLength); versiContesto = getFraseContext(risultato, contextLength+2);
if(versiContesto.length){
var tmind=Math.floor(versiContesto.length/2);
ctxpivot=versiContesto[tmind]['posizione']
}
}
var setVersicontesto = new Set() var setVersicontesto = new Set()
divVerso = '' divVerso = ''
@ -439,26 +444,27 @@ $(document).ready(function() {
versiIniziali.attr('posVerso', 9999); versiIniziali.attr('posVerso', 9999);
} }
var comandi = $('<div />') var comandi = $('<div class=" comandi col flex-nowrap d-inline justify-content-between pl-1 pb-2 ml-2 mb-2 border-bottom"/>')
comandi.attr('id', "comandiFrase" + numeroRisultato) comandi.attr('id', "comandiFrase" + numeroRisultato)
comandi.attr('class', 'comandi col flex-nowrap d-inline justify-content-between pl-1 pb-2 ml-2 mb-2 border-bottom'); //comandi.attr('class', 'comandi col flex-nowrap d-inline justify-content-between pl-1 pb-2 ml-2 mb-2 border-bottom');
var comandiGrp = $('<div />') var comandiGrp = $('<div />')
comandiGrp.attr('class', 'btn-group flex-nowrap d-inline pr-3 mt-1 mr-3 align-text-bottom'); comandiGrp.attr('class', 'btn-group flex-nowrap d-inline pr-3 mt-1 mr-3 align-text-bottom');
comandiGrp.attr('role', "group") comandiGrp.attr('role', "group")
var spanBadgeExpand = $('<button />'); var spanBadgeExpand = $('<button class="btn btn-sm btn-outline-primary espandiFrase px-1 pt-1 pb-0"/>');
var expandIcon = '<ion-icon name="expand-outline"></ion-icon>'; 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'); //spanBadgeExpand.attr('class', 'btn btn-sm btn-outline-primary espandiFrase px-1 pt-1 pb-0');
var spanBadgeReduce = $('<button />'); var spanBadgeReduce = $('<button class="btn btn-sm btn-outline-secondary riduciFrase px-1 pt-1 pb-0 ml-1 disabled"/>');
var reduceIcon = '<ion-icon name="contract-outline"></ion-icon>'; 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'); //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.attr('id', getCantica(numeroCantica) + "Canto_ex_" + canto + "_" + risultato + "_" + numeroRisultato);
spanBadgeExpand.attr('id', getCantica(numeroCantica) + "Canto_ex_" + canto + "_" + ctxpivot + "_" + numeroRisultato);
spanBadgeExpand.append(expandIcon); spanBadgeExpand.append(expandIcon);
spanBadgeReduce.attr('id', getCantica(numeroCantica) + "Canto_er_" + canto + "_" + risultato + "_" + numeroRisultato); spanBadgeReduce.attr('id', getCantica(numeroCantica) + "Canto_er_" + canto + "_" + ctxpivot + "_" + numeroRisultato);
spanBadgeReduce.append(reduceIcon) spanBadgeReduce.append(reduceIcon)
spanBadgeExpand.appendTo(comandiGrp); spanBadgeExpand.appendTo(comandiGrp);
@ -467,11 +473,11 @@ $(document).ready(function() {
comandiGrp.appendTo(comandi); comandiGrp.appendTo(comandi);
var citazioneDiv = $('<div />') var citazioneDiv = $('<div class=" text-right flex-nowrap d-inline ml-3 px-3 py-0"/>')
citazioneDiv.attr('class', ' text-right flex-nowrap d-inline ml-3 px-3 py-0'); //citazioneDiv.attr('class', ' text-right flex-nowrap d-inline ml-3 px-3 py-0');
var citazione = $('<span />') var citazione = $('<span class= " pl-3 citazioneFrase align-text-top"/>')
citazione.append("[" + getCantica(numeroCantica) + ", Canto " + getRoman(canto) + "]") citazione.append("[" + getCantica(numeroCantica) + ", Canto " + getRoman(canto) + "]")
citazione.attr('class', ' pl-3 citazioneFrase align-text-top'); //citazione.attr('class', ' pl-3 citazioneFrase align-text-top');
citazione.attr('name', getCantica(numeroCantica) + "Canto " + canto); citazione.attr('name', getCantica(numeroCantica) + "Canto " + canto);
citazione.attr('id', idCitazione + '_' + numeroRisultato + '_' + risultato); citazione.attr('id', idCitazione + '_' + numeroRisultato + '_' + risultato);
citazione.appendTo(citazioneDiv); citazione.appendTo(citazioneDiv);
@ -1427,6 +1433,7 @@ $(document).ready(function() {
listarisultati = [] listarisultati = []
listaPeriodiRisultato = [] listaPeriodiRisultato = []
listaClausoleRisultato = [] listaClausoleRisultato = []
listaClausoleRisultatoContesti = []
resultSentences = new Set() resultSentences = new Set()
if (cantoDisplayed == '#vistaFrasi') if (cantoDisplayed == '#vistaFrasi')
cantoDisplayed = prevCantoDisplayed cantoDisplayed = prevCantoDisplayed
@ -1956,6 +1963,7 @@ $(document).ready(function() {
listaPeriodiRisultato = [] listaPeriodiRisultato = []
listaClausoleRisultato = [] listaClausoleRisultato = []
listaClausoleRisultatoContesti = []
//Unità di ricerca è 'frase' //Unità di ricerca è 'frase'
if ((!listarisultati.length && unitaRicerca == 'forme') || unitaRicerca == 'frase') { if ((!listarisultati.length && unitaRicerca == 'forme') || unitaRicerca == 'frase') {
@ -1974,7 +1982,7 @@ $(document).ready(function() {
//if (!resSent.has(fraseItems[0] + '-' + fraseItems[3])) { //if (!resSent.has(fraseItems[0] + '-' + fraseItems[3])) {
let tmpocc = fraseItems.slice(-1) let tmpocc = fraseItems.slice(-1)
if (resClauses.filter(clocc => clocc == tmpocc[0]).length == 0) { if (resClauses.filter(clocc => clocc == tmpocc[0]).length == 0 || tmpocc[0]=='') {
resClauses.push(tmpocc[0]); resClauses.push(tmpocc[0]);
//resSent.add(fraseItems[0] + '-' + fraseItems[3]+'-'+fraseItems[1] + '-' + fraseItems[2]); //resSent.add(fraseItems[0] + '-' + fraseItems[3]+'-'+fraseItems[1] + '-' + fraseItems[2]);
resSentence.add(fraseItems[1] + '-' + fraseItems[2]); resSentence.add(fraseItems[1] + '-' + fraseItems[2]);
@ -2074,6 +2082,16 @@ $(document).ready(function() {
var valB = b.split('-')[2] var valB = b.split('-')[2]
return valA - valB return valA - valB
}); });
//crea la lista dei risultati per i contesti
if (listaClausoleRisultato.length) {
var tempr = new Set()
for (singleres of listaClausoleRisultato) {
tempr.add(singleres.split('-')[0])
}
tempr.forEach(y => listaClausoleRisultatoContesti.push(listaClausoleRisultato.filter(x => (x.split('-')[0] == y) && x.split('-').length > 1)))
}
//aggiunge badge con totale risultati accanto alle cantiche //aggiunge badge con totale risultati accanto alle cantiche
var totResultN = showBadgeInCantica(resultsInCantica) var totResultN = showBadgeInCantica(resultsInCantica)

File diff suppressed because it is too large Load Diff

View File

@ -113,6 +113,7 @@ function getFraseContext(fraseids, numversi = 3) {
if (cantica == '2') { if (cantica == '2') {
offset = parseInt(fraseid.split('-')[2]) - 33374 offset = parseInt(fraseid.split('-')[2]) - 33374
listaforme = formeseconda; listaforme = formeseconda;
console.log(listaforme.length)
} }
if (cantica == '3') { if (cantica == '3') {
@ -121,7 +122,7 @@ function getFraseContext(fraseids, numversi = 3) {
} }
maxpos = listaforme.length - 1 maxpos = listaforme.length - 1
var pos = 0 var pos = 0
var startindex = Math.max(0, (offset - 10)) var startindex = Math.max(0, (offset - 20))
for (i = startindex; i < listaforme.length; i++) { for (i = startindex; i < listaforme.length; i++) {
var tmpos = listaforme[i].split('_')[2] var tmpos = listaforme[i].split('_')[2]
@ -136,6 +137,7 @@ function getFraseContext(fraseids, numversi = 3) {
lastfraseid = fraseids[fraseids.length - 1] lastfraseid = fraseids[fraseids.length - 1]
else else
lastfraseid = fraseids[0] lastfraseid = fraseids[0]
for (j = pos; j < listaforme.length; j++) { for (j = pos; j < listaforme.length; j++) {
var tmpos2 = listaforme[j].split('_')[2] var tmpos2 = listaforme[j].split('_')[2]
@ -280,7 +282,7 @@ function getFormaContext(formaid, numversi = 3) {
contextitem['cantica'] = cantica; contextitem['cantica'] = cantica;
contextitem['posizione'] = tmpform[2]; contextitem['posizione'] = tmpform[2];
contextitem['catg'] = tmpform[4]; contextitem['catg'] = tmpform[4];
contextitem['periodo'] = cantica + '_' + tmpform[1] + '_s_' + tmpform[5]; contextitem['periodo'] = (parseInt(cantica)+1) + '_' + tmpform[1] + '_s_' + tmpform[5];
contextitem['funzperiodo'] = tmpform[6]; contextitem['funzperiodo'] = tmpform[6];
context.push(contextitem); context.push(contextitem);
} }
@ -391,7 +393,7 @@ function buildSPQuery(guiquery) {
theguiQ = guiquery; theguiQ = guiquery;
var SparqlParser = sparqljs.Parser; var SparqlParser = sparqljs.Parser;
var spqparser = new SparqlParser(); var spqparser = new SparqlParser();
if (theguiQ['unitaRicerca'] == 'periodo') {//Multiple Conditions UR=Periodo if (theguiQ['unitaRicerca'] == 'periodo' || theguiQ['unitaRicerca'] == 'frase') {//Multiple Conditions UR=Periodo
multipleCondSpQuery = spqparser.parse(sentencetargetquery); multipleCondSpQuery = spqparser.parse(sentencetargetquery);
bindConcatStatement = JSON.parse(sentencetarget_functionbind); bindConcatStatement = JSON.parse(sentencetarget_functionbind);
occBindConcatStatement = JSON.parse(sentencetarget_occbind); occBindConcatStatement = JSON.parse(sentencetarget_occbind);
@ -411,7 +413,7 @@ function buildSPQuery(guiquery) {
parseJsonClause(ck, jsonclauses[ck], multipleCondSpQuery.where) parseJsonClause(ck, jsonclauses[ck], multipleCondSpQuery.where)
} }
if (theguiQ['unitaRicerca'] == 'periodo') { if (theguiQ['unitaRicerca'] == 'periodo' || theguiQ['unitaRicerca'] == 'frase') {
multipleCondSpQuery.where.push(bindConcatStatement) multipleCondSpQuery.where.push(bindConcatStatement)
multipleCondSpQuery.where.push(occBindConcatStatement) multipleCondSpQuery.where.push(occBindConcatStatement)
@ -563,13 +565,13 @@ function buildStatementClause(clause, parsedquery, whereind, theplace, token) {
// //
var tmpgroup = '' var tmpgroup = ''
if (clause['TipoClausola'] == "Sintattico") { if (clause['TipoClausola'] == "Sintattico") {
if (theguiQ['unitaRicerca'] == 'periodo') if (theguiQ['unitaRicerca'] == 'periodo' || theguiQ['unitaRicerca'] == 'frase')
tmpgroup = JSON.parse(sentencetarget_syntgroup) tmpgroup = JSON.parse(sentencetarget_syntgroup)
else else
tmpgroup = JSON.parse(syntgroup) tmpgroup = JSON.parse(syntgroup)
} }
if (clause['TipoClausola'] == "Grammaticale") { if (clause['TipoClausola'] == "Grammaticale") {
if (theguiQ['unitaRicerca'] == 'periodo') { if (theguiQ['unitaRicerca'] == 'periodo' || theguiQ['unitaRicerca'] == 'frase') {
tmpgroup = JSON.parse(sentencetarget_morphgroup_short) tmpgroup = JSON.parse(sentencetarget_morphgroup_short)
} }
@ -628,7 +630,7 @@ function buildStatementClause(clause, parsedquery, whereind, theplace, token) {
} }
if (clause['TipoClausola'] == 'Grammaticale') { if (clause['TipoClausola'] == 'Grammaticale') {
if (theguiQ['unitaRicerca'] == 'periodo') { if (theguiQ['unitaRicerca'] == 'periodo' || theguiQ['unitaRicerca'] == 'frase') {
var tmpg = JSON.stringify(tmpgroup) var tmpg = JSON.stringify(tmpgroup)
tmpg = tmpg.replaceAll('"Rappresentazione"', '"Rappresentazione' + token + '"') tmpg = tmpg.replaceAll('"Rappresentazione"', '"Rappresentazione' + token + '"')
tmpg = tmpg.replaceAll('"form"', '"form' + token + '"') tmpg = tmpg.replaceAll('"form"', '"form' + token + '"')
@ -710,7 +712,7 @@ function buildStatementClause(clause, parsedquery, whereind, theplace, token) {
} }
} }
if (theguiQ['unitaRicerca'] == 'periodo') { if (theguiQ['unitaRicerca'] == 'periodo' || theguiQ['unitaRicerca'] == 'frase') {
mytest = JSON.stringify(tmpgroup) mytest = JSON.stringify(tmpgroup)
mytest = mytest.replaceAll(':"cl"', ':"cl' + token + '"') mytest = mytest.replaceAll(':"cl"', ':"cl' + token + '"')
mytest = mytest.replaceAll(':"clatype"', ':"clatype' + token + '"') mytest = mytest.replaceAll(':"clatype"', ':"clatype' + token + '"')

6
node_modules/commarcdiag/README.md generated vendored
View File

@ -1,6 +1,6 @@
# Commedia: Arc Diagram per marcatura sintattica current # Commedia: Arc Diagram per marcatura sintattica current
https://observablehq.com/@cesare/commarcdiag@1578 https://observablehq.com/d/2c2aa90cdea73fae@1660
View this notebook in your browser by running a web server in this folder. For View this notebook in your browser by running a web server in this folder. For
example: example:
@ -14,14 +14,14 @@ import this module directly into your application. To npm install:
~~~sh ~~~sh
npm install @observablehq/runtime@5 npm install @observablehq/runtime@5
npm install https://api.observablehq.com/d/d019e1db56ab1d8c@1578.tgz?v=3 npm install https://api.observablehq.com/d/2c2aa90cdea73fae@1660.tgz?v=3
~~~ ~~~
Then, import your notebook and the runtime as: Then, import your notebook and the runtime as:
~~~js ~~~js
import {Runtime, Inspector} from "@observablehq/runtime"; import {Runtime, Inspector} from "@observablehq/runtime";
import define from "@cesare/commarcdiag"; import define from "2c2aa90cdea73fae";
~~~ ~~~
To log the value of the cell named “foo”: To log the value of the cell named “foo”: