From 49fe4d93eb7cdd07aefebbea85c52d7ecb0ab36a Mon Sep 17 00:00:00 2001
From: cesare <cesare@bigeh>
Date: Fri, 31 Jan 2025 14:58:34 +0100
Subject: [PATCH] rif in progress

---
 js/browseMgr_5.0.js |   8 ++-
 js/dataMgr.js       | 134 ++++++++++++++++++++++----------------------
 2 files changed, 75 insertions(+), 67 deletions(-)

diff --git a/js/browseMgr_5.0.js b/js/browseMgr_5.0.js
index 2d2c257..725a2a7 100644
--- a/js/browseMgr_5.0.js
+++ b/js/browseMgr_5.0.js
@@ -1,7 +1,7 @@
 /**
  * 
  */
-import { getVersiConCitazioni, queryRiferimenti} from './dataMgr.js';
+import { getVersiConCitazioni, queryRiferimenti, getListaRis} from './dataMgr.js';
 import { getJsonQuery, emptyStructCard } from './script_5.0.js';
 import {resetGraphStr} from './syntgraph_5.0.js'
 
@@ -1489,6 +1489,12 @@ $(document).ready(function() {
 		//manageMM (cantoDisplayed)
 		//var currPage = 0;
 		//var latestPhraseId = "";
+		var telive=getListaRis()
+		for (var ve of telive) {
+			let idve = ve
+			$(ve).removeClass("font-weight-bold mark ")
+			minim.contents().find(ve).removeClass("font-weight-bold mark ")
+		}
 		drawMinimap(cantoDisplayed, true)
 	}
 
diff --git a/js/dataMgr.js b/js/dataMgr.js
index fd8becd..365e6f1 100644
--- a/js/dataMgr.js
+++ b/js/dataMgr.js
@@ -4,10 +4,11 @@ import * as duckdb from 'https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0
 //import * as arrow from 'https://cdn.skypack.dev/apache-arrow@9'
 
 
-var rif_commentatori=[];
-var rif_autori=[];
-var rif_areetematiche=[];
-var rif_fonti=[];
+var rif_commentatori = [];
+var rif_autori = [];
+var rif_areetematiche = [];
+var rif_fonti = [];
+var listaidversi = []
 const cantobadgeclassBis = 'badge badge-outline-warning badge-pill'
 
 const JSDELIVR_BUNDLES = duckdb.getJsDelivrBundles();
@@ -16,7 +17,7 @@ const JSDELIVR_BUNDLES = duckdb.getJsDelivrBundles();
 const bundle = await duckdb.selectBundle(JSDELIVR_BUNDLES);
 
 const worker_url = URL.createObjectURL(
-  new Blob([`importScripts("${bundle.mainWorker}");`], {type: 'text/javascript'})
+	new Blob([`importScripts("${bundle.mainWorker}");`], { type: 'text/javascript' })
 );
 
 // Instantiate the asynchronus version of DuckDB-wasm
@@ -26,7 +27,7 @@ const db = new duckdb.AsyncDuckDB(logger, worker);
 await db.instantiate(bundle.mainModule, bundle.pthreadWorker);
 URL.revokeObjectURL(worker_url);
 
-console.log ('datamgr init done')
+console.log('datamgr init done')
 
 
 //await db.registerFileURL('remote.parquet', 'http://localhost:8000/js/data/riferimenti_3.parquet', DuckDBDataProtocol.HTTP, false);
@@ -42,19 +43,19 @@ await conn.query(`
         SELECT * FROM "https://lida.dantenetwork.it/js/data/riferimenti_3.parquet";
 `);
 
-var table=await conn.query(`
+var table = await conn.query(`
         select distinct Aut from riferimenti order by Aut COLLATE NOCASE;
 `);
 const result = table.toArray().map((row) => row.toJSON());
-rif_autori=result.map((x) => x['Aut']);
+rif_autori = result.map((x) => x['Aut']);
 //console.log(rif_autori)
 
 
-var table=await conn.query(`
+var table = await conn.query(`
         select distinct Com from riferimenti;
 `);
 const result2 = table.toArray().map((row) => row.toJSON());
-rif_commentatori=result2.map((x) => x['Com']);
+rif_commentatori = result2.map((x) => x['Com']);
 
 
 
@@ -66,52 +67,55 @@ rif_commentatori=result2.map((x) => x['Com']);
 //console.log(rif_commentatori)
 
 
-var table=await conn.query(`
+var table = await conn.query(`
         select distinct CA from riferimenti order by CA;
 `);
 const result3 = table.toArray().map((row) => row.toJSON());
 
-rif_areetematiche= result3.map((x) => x['CA']);
+rif_areetematiche = result3.map((x) => x['CA']);
 
 
-var table1=await conn.query(`
+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']);
+rif_fonti = result4.map((x) => x['TiFo']);
 
 //console.log(rif_fonti)
 await conn.close();
 
 console.log('done')
+export function getListaRis(){
+	return listaidversi;
+}
 export function getFontiS() {
-	
+
 	return rif_fonti
 }
 
 export function getAreeTematicheS() {
-	
+
 	return rif_areetematiche
 }
 
 export function getAutoriFontiCitazioniS() {
-	
+
 	return rif_autori
 }
 
 export function getCommentatoriS() {
-	
+
 	return rif_commentatori
 }
 
 export async function getVersiConCitazioni(canticapar = '', cantopar = '') {
-	
+
 	//let citcantiche = ['Inferno', 'Purgatorio', 'Paradiso']
 	if (canticapar == '') {
 		return
 	}
-	const tconn =  await db.connect();
-	var table=await tconn.query(`
+	const tconn = await db.connect();
+	var table = await tconn.query(`
 	        select Ann as Annotazione, Com as Commentario, FrN as frammentoNota, AC as AutoreCitazione,
 				F as FonteCitazione, LF as LuogoFonteCitazione, NF as NotaFonteCitazione,
 				TF as TestoFonteCitazione, UF as URLFonteCitazione, NaRi as NaturaRiferimento,
@@ -122,76 +126,74 @@ export async function getVersiConCitazioni(canticapar = '', cantopar = '') {
 			 from riferimenti 
 			 where Cantica='${canticapar}' and Canto='${cantopar}' order by verso;
 	`);
-	
+
 	var result4 = table.toArray().map((row) => row.toJSON());
-	
-	
+
+
 	await tconn.close();
 	return result4
-	
+
 }
-export async function queryRiferimenti(filtro, cid){
-	if(filtro==null){
+export async function queryRiferimenti(filtro, cid) {
+	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()+"'"
+	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);
-	
+		queryfi += "Com like '%'"
+	if (filtro.Autore_Fonte != null && filtro.Autore_Fonte.trim() != 'all')
+		queryfi += " and Aut='" + filtro.Autore_Fonte.trim() + "'"
 
-	var numcid=cid.split('_')[1]
-	for (var cantica in resxcantica){
+	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);
+
+	
+	var numcid = cid.split('_')[1]
+	for (var cantica in resxcantica) {
 		var $nctags = $(' .navig-canto')
 		console.log(resxcantica[cantica].length)
-		var i=1;
-		if (cantica=='Purgatorio')
-			i=2
-		if (cantica=='Paradiso')
-			i=3
+		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)
-		var tmp=resxcantica[cantica]
-		var resxcanto= Object.groupBy(tmp, ({ Canto }) => Canto);
-		for (var canto in resxcanto){
-			var tmpv=resxcanto[canto]
+		var tmp = resxcantica[cantica]
+		var resxcanto = Object.groupBy(tmp, ({ Canto }) => Canto);
+		for (var canto in resxcanto) {
+			var tmpv = resxcanto[canto]
 			var spanbadge = $('<span />');
 			spanbadge.attr('class', cantobadgeclassBis);
 			spanbadge.append(resxcanto[canto].length)
-			if (canto.startsWith('0')){
-				canto= canto.replace('0', '')
+			if (canto.startsWith('0')) {
+				canto = canto.replace('0', '')
 			}
 			spanbadge.appendTo($nctags.filter('[name="' + cantica + 'Canto ' + canto + '"]'))
-			if (cid.includes(cantica) && numcid==canto){
-				
-				
-				for (const tmpvi of tmpv){
-					let myveid='#'+cantica+'_Canto_'+canto+'_'+tmpvi.Verso.split('-')[0]
-					console.log(myveid)
+			for (const tmpvi of tmpv) {
+				let myveid = '#' + cantica + '_Canto_' + canto + '_' + tmpvi.Verso.split('-')[0]
+				console.log(myveid)
+				listaidversi.push(myveid)
+				if (cid.includes(cantica) && numcid == canto)
 					$(myveid).addClass("font-weight-bold mark ")
-				}
-				
 			}
+			
 		}
 		drawMinimap(cid, true)
-		
+
 	}
 	/*console.log(resxcantica)*/
-	return resxcantica
-	
+	return listaidversi
+
 }