query sui commenti draft

This commit is contained in:
cesare 2025-01-31 10:50:55 +01:00
parent 09da5ec2a3
commit 0b4674f875
2 changed files with 72 additions and 21 deletions

View File

@ -3,7 +3,7 @@
*/
import { getJsonQuery, emptyStructCard } from './script_5.0.mod.js';
import {resetGraphStr} from './syntgraph_5.0.js'
import { getVersiConCitazioni } from './dataMgr.js';
import { getVersiConCitazioni, queryRiferimenti} from './dataMgr.js';
export var resetResult;
export var lsentid;
@ -43,10 +43,10 @@ $(document).ready(function() {
var listarisultati = [];
listaPeriodiRisultato = [];
listaClausoleRisultato = []
var commentsArray = []
var commentsJson = {}
/*var commentsArray = []
var commentsJson = {}*/
var commentsSQL = {}
var resultSentences = new Set()
/*var resultSentences = new Set()*/
const cantiche = ["Inferno", "Purgatorio", "Paradiso"]
var loadedCanti = new Set();
const openSTag = "{"
@ -58,11 +58,7 @@ $(document).ready(function() {
var contextLength = 3;
var showOffset = 30;
var idCitazione = "citazioneFrase";
// console.log(getAutoriFontiCitazioni())
// console.log(getCommentatori())
var initial=true;
initCitazioni();
resetResult = function() {
@ -270,10 +266,7 @@ $(document).ready(function() {
})
/*
* Costruzione e visualizzazione del risultato in frasi.
*/
/*
* Costruzione e visualizzazione del risultato in frasi.
*/
@ -898,13 +891,14 @@ $(document).ready(function() {
}
var canto = mcanto.split('_')[1]
var idCommento = "Commento_" + idcantica + "_" + canto + "_";
var myid=cantica+'_Canto_'+canto+'_'
var minimapid=cantica+'Canto_'+canto
var idverso=cantica+'_Canto_'+canto+'_'
var idminimap=cantica+'Canto_'+canto
/*console.log(myid)*/
if (canto.length == 1)
canto = '0' + canto
//commentsJson = getVersiConCitazioniJson(cantica, canto)
var mresult =await getVersiConCitazioni(cantica, canto)
commentsSQL= Object.groupBy(mresult, ({ VersoCitazione }) => VersoCitazione);
var tmpkeys=[]
@ -919,12 +913,12 @@ $(document).ready(function() {
var pio=$( "#"+idCommento+t)
if(pio.length)
break;
var elverso=$( "#"+myid+t)//$("li[value='"+t+"']")
console.log(elverso)
var elverso=$( "#"+idverso+t)//$("li[value='"+t+"']")
//console.log(elverso)
createCommentSpan(idCommento+t, elverso, commentsSQL[ke].length)
}
drawMinimap("#" + minimapid, false)
drawMinimap("#" + idminimap, false)
console.log (commentsSQL)
}
@ -1499,7 +1493,7 @@ $(document).ready(function() {
listaPeriodiRisultato = []
listaClausoleRisultato = []
listaClausoleRisultatoContesti = []
resultSentences = new Set()
//resultSentences = new Set()
if (cantoDisplayed == '#vistaFrasi')
cantoDisplayed = prevCantoDisplayed
$(cantoDisplayed).attr('style', 'display: d-flex;');
@ -1531,6 +1525,10 @@ $(document).ready(function() {
unitaRicerca = 'forma'
else
unitaRicerca = jsonQuery['unitaRicerca']
if (unitaRicerca=='riferimenti'){
queryRiferimenti(jsonQuery.Riferimento100)
return
}
console.log("got json query, unita ricerca: " + unitaRicerca)
if (jsonQuery['QueryAvanzata'] == 0 && jsonQuery['Clausola0']['queryText'] == '') {
alert('Digitare una stringa da cercare')

View File

@ -5,6 +5,7 @@ import * as duckdb from 'https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0
var rif_commentatori=[];
var rif_autori=[];
var rif_areetematiche=[];
var rif_fonti=[];
const JSDELIVR_BUNDLES = duckdb.getJsDelivrBundles();
@ -53,6 +54,8 @@ var table=await conn.query(`
const result2 = table.toArray().map((row) => row.toJSON());
rif_commentatori=result2.map((x) => x['Com']);
/*rif_commentatori.sort((a, b) => {
var sre= (a.replace(/^\D+/g, '')-b.replace(/^\D+/g, ''))
console.log(sre)
@ -67,10 +70,22 @@ var table=await conn.query(`
const result3 = table.toArray().map((row) => row.toJSON());
rif_areetematiche= result3.map((x) => x['CA']);
//console.log(rif_areetematiche)
var table1=await conn.query(`
select distinct TiFo from riferimenti;
`);
const result4 = table1.toArray().map((row) => row.toJSON());
rif_fonti=result4.map((x) => x['TiFo']);
//console.log(rif_fonti)
await conn.close();
console.log('done')
export function getFontiS() {
return rif_fonti
}
export function getAreeTematicheS() {
@ -89,7 +104,7 @@ export function getCommentatoriS() {
export async function getVersiConCitazioni(canticapar = '', cantopar = '') {
let citcantiche = ['Inferno', 'Purgatorio', 'Paradiso']
//let citcantiche = ['Inferno', 'Purgatorio', 'Paradiso']
if (canticapar == '') {
return
}
@ -113,3 +128,41 @@ export async function getVersiConCitazioni(canticapar = '', cantopar = '') {
return result4
}
export async function queryRiferimenti(filtro){
if(filtro==null){
return
}
console.log(filtro)
const tconn= await db.connect();
var querytl='select Cantica, Canto, Verso from riferimenti'
var queryfi=' where '
if (filtro.Commentatore!=null && filtro.Commentatore.trim()!='all')
queryfi+="Com='"+filtro.Commentatore.trim()+"'"
else
queryfi+="Com like '%'"
if (filtro.Autore_Fonte!=null && filtro.Autore_Fonte.trim()!='all')
queryfi+=" and Aut='"+filtro.Autore_Fonte.trim()+"'"
var rs= await tconn.query(querytl+queryfi)
var result4 = rs.toArray().map((row) => row.toJSON());
await tconn.close();
var resxcantica= Object.groupBy(result4, ({ Cantica }) => Cantica);
for (var cantica in resxcantica){
console.log(resxcantica[cantica].length)
var i=1;
if (cantica=='Purgatorio')
i=2
if (cantica=='Paradiso')
i=3
var spanbadgecantica = $('<span />');
spanbadgecantica.attr('class', 'badge badge-warning badge-pill mx-2');
spanbadgecantica.append(resxcantica[cantica].length)
spanbadgecantica.appendTo($('#cantica' + i + '-badge'))
console.log(spanbadgecantica)
}
/*console.log(resxcantica)*/
return
}