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"
onclick="myformsyntax.functionSyntax0.disabled = true;">
<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 conces">concessiva</option>
<option value="macro consec">consecutiva</option>

View File

@ -26,8 +26,7 @@ $(document).ready(function() {
"san Bernardo": "diaSanBernardo"
}
const dialogaltri = 'diaAltri'
var listaClausoleRisultatoContesti = []
const cantobadgeclass = 'badge badge-outline-warning badge-pill'
const sparqlGenerator = sparqljs.Generator;
@ -202,7 +201,7 @@ $(document).ready(function() {
var setVersicontestoExp = new Set()
for (forma of versiContestoExp) {
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)
setVersicontestoExp.add(forma.verso)
}
@ -289,7 +288,7 @@ $(document).ready(function() {
//listarisultati.sort(function(a, b){return a - b});
showFrasi(start, offset)
console.log(vistaPeriodi)
if (vistaPeriodi) {
loadFrasi();
}
@ -318,7 +317,9 @@ $(document).ready(function() {
if (listaClausoleRisultato.length) {
var tempr = new Set()
numeroContesti = listaClausoleRisultatoContesti.length
return (listaClausoleRisultatoContesti.length)
/*var tempr = new Set()
for (singleres of listaClausoleRisultato) {
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)))
numeroContesti = myRis.length
return (myRis.length)
return (myRis.length)*/
}
numeroContesti = numeroRisultati
return (numeroRisultati)
@ -335,7 +336,7 @@ $(document).ready(function() {
function getResInPage(startcont, endcont) {
var res = [];
var contaContesti = 0
console.log(listaClausoleRisultato)
//console.log(listaClausoleRisultato)
if (listarisultati.length) {
var ultimaPosizione = -1;
for (risultato of listarisultati) {
@ -354,24 +355,20 @@ $(document).ready(function() {
res.sort(function(a, b) { return a - b });
return (res)
}
if (listaClausoleRisultato.length) {
var tempr = new Set()
for (singleres of listaClausoleRisultato) {
tempr.add(singleres.split('-')[0])
}
var myRis = []
if (listaClausoleRisultatoContesti.length && !listarisultati.length ) {
tempr.forEach(y => myRis.push(listaClausoleRisultato.filter(x => (x.split('-')[0] == y) && x.split('-').length > 1)))
for (risultato of myRis) {
/*for (risultato of listaClausoleRisultatoContesti) {
contaContesti = contaContesti + 1;
if (contaContesti >= startcont && contaContesti < endcont) {
res.push(risultato)
}
if (contaContesti > endcont)
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)
@ -398,12 +395,20 @@ $(document).ready(function() {
continue;
}
var versiContesto = ''
var ctxpivot=0
if (!Array.isArray(risultato)) {
risultato = parseInt(risultato)
versiContesto = getFormaContext(risultato, contextLength);
ctxpivot=risultato
}
else
versiContesto = getFraseContext(risultato, contextLength);
else{
versiContesto = getFraseContext(risultato, contextLength+2);
if(versiContesto.length){
var tmind=Math.floor(versiContesto.length/2);
ctxpivot=versiContesto[tmind]['posizione']
}
}
var setVersicontesto = new Set()
divVerso = ''
@ -439,26 +444,27 @@ $(document).ready(function() {
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('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 />')
comandiGrp.attr('class', 'btn-group flex-nowrap d-inline pr-3 mt-1 mr-3 align-text-bottom');
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>';
spanBadgeExpand.attr('class', 'btn btn-sm btn-outline-primary espandiFrase px-1 pt-1 pb-0');
var spanBadgeReduce = $('<button />');
//spanBadgeExpand.attr('class', 'btn btn-sm btn-outline-primary espandiFrase px-1 pt-1 pb-0');
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>';
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);
spanBadgeReduce.attr('id', getCantica(numeroCantica) + "Canto_er_" + canto + "_" + risultato + "_" + numeroRisultato);
spanBadgeReduce.attr('id', getCantica(numeroCantica) + "Canto_er_" + canto + "_" + ctxpivot + "_" + numeroRisultato);
spanBadgeReduce.append(reduceIcon)
spanBadgeExpand.appendTo(comandiGrp);
@ -467,11 +473,11 @@ $(document).ready(function() {
comandiGrp.appendTo(comandi);
var citazioneDiv = $('<div />')
citazioneDiv.attr('class', ' text-right flex-nowrap d-inline ml-3 px-3 py-0');
var citazione = $('<span />')
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');
var citazione = $('<span class= " pl-3 citazioneFrase align-text-top"/>')
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('id', idCitazione + '_' + numeroRisultato + '_' + risultato);
citazione.appendTo(citazioneDiv);
@ -1427,6 +1433,7 @@ $(document).ready(function() {
listarisultati = []
listaPeriodiRisultato = []
listaClausoleRisultato = []
listaClausoleRisultatoContesti = []
resultSentences = new Set()
if (cantoDisplayed == '#vistaFrasi')
cantoDisplayed = prevCantoDisplayed
@ -1956,6 +1963,7 @@ $(document).ready(function() {
listaPeriodiRisultato = []
listaClausoleRisultato = []
listaClausoleRisultatoContesti = []
//Unità di ricerca è 'frase'
if ((!listarisultati.length && unitaRicerca == 'forme') || unitaRicerca == 'frase') {
@ -1974,7 +1982,7 @@ $(document).ready(function() {
//if (!resSent.has(fraseItems[0] + '-' + fraseItems[3])) {
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]);
//resSent.add(fraseItems[0] + '-' + fraseItems[3]+'-'+fraseItems[1] + '-' + fraseItems[2]);
resSentence.add(fraseItems[1] + '-' + fraseItems[2]);
@ -2074,6 +2082,16 @@ $(document).ready(function() {
var valB = b.split('-')[2]
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
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') {
offset = parseInt(fraseid.split('-')[2]) - 33374
listaforme = formeseconda;
console.log(listaforme.length)
}
if (cantica == '3') {
@ -121,7 +122,7 @@ function getFraseContext(fraseids, numversi = 3) {
}
maxpos = listaforme.length - 1
var pos = 0
var startindex = Math.max(0, (offset - 10))
var startindex = Math.max(0, (offset - 20))
for (i = startindex; i < listaforme.length; i++) {
var tmpos = listaforme[i].split('_')[2]
@ -136,6 +137,7 @@ function getFraseContext(fraseids, numversi = 3) {
lastfraseid = fraseids[fraseids.length - 1]
else
lastfraseid = fraseids[0]
for (j = pos; j < listaforme.length; j++) {
var tmpos2 = listaforme[j].split('_')[2]
@ -280,7 +282,7 @@ function getFormaContext(formaid, numversi = 3) {
contextitem['cantica'] = cantica;
contextitem['posizione'] = tmpform[2];
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];
context.push(contextitem);
}
@ -391,7 +393,7 @@ function buildSPQuery(guiquery) {
theguiQ = guiquery;
var SparqlParser = sparqljs.Parser;
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);
bindConcatStatement = JSON.parse(sentencetarget_functionbind);
occBindConcatStatement = JSON.parse(sentencetarget_occbind);
@ -411,7 +413,7 @@ function buildSPQuery(guiquery) {
parseJsonClause(ck, jsonclauses[ck], multipleCondSpQuery.where)
}
if (theguiQ['unitaRicerca'] == 'periodo') {
if (theguiQ['unitaRicerca'] == 'periodo' || theguiQ['unitaRicerca'] == 'frase') {
multipleCondSpQuery.where.push(bindConcatStatement)
multipleCondSpQuery.where.push(occBindConcatStatement)
@ -563,13 +565,13 @@ function buildStatementClause(clause, parsedquery, whereind, theplace, token) {
//
var tmpgroup = ''
if (clause['TipoClausola'] == "Sintattico") {
if (theguiQ['unitaRicerca'] == 'periodo')
if (theguiQ['unitaRicerca'] == 'periodo' || theguiQ['unitaRicerca'] == 'frase')
tmpgroup = JSON.parse(sentencetarget_syntgroup)
else
tmpgroup = JSON.parse(syntgroup)
}
if (clause['TipoClausola'] == "Grammaticale") {
if (theguiQ['unitaRicerca'] == 'periodo') {
if (theguiQ['unitaRicerca'] == 'periodo' || theguiQ['unitaRicerca'] == 'frase') {
tmpgroup = JSON.parse(sentencetarget_morphgroup_short)
}
@ -628,7 +630,7 @@ function buildStatementClause(clause, parsedquery, whereind, theplace, token) {
}
if (clause['TipoClausola'] == 'Grammaticale') {
if (theguiQ['unitaRicerca'] == 'periodo') {
if (theguiQ['unitaRicerca'] == 'periodo' || theguiQ['unitaRicerca'] == 'frase') {
var tmpg = JSON.stringify(tmpgroup)
tmpg = tmpg.replaceAll('"Rappresentazione"', '"Rappresentazione' + 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 = mytest.replaceAll(':"cl"', ':"cl' + 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
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
example:
@ -14,14 +14,14 @@ import this module directly into your application. To npm install:
~~~sh
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:
~~~js
import {Runtime, Inspector} from "@observablehq/runtime";
import define from "@cesare/commarcdiag";
import define from "2c2aa90cdea73fae";
~~~
To log the value of the cell named “foo”: