kora 2 роки тому
батько
коміт
b7c3de381e
2 змінених файлів з 27 додано та 48 видалено
  1. 23 31
      js/lettera.js
  2. 4 17
      js/lettera_query.js

+ 23 - 31
js/lettera.js

@@ -59,9 +59,15 @@ function myFunction_b(value, index, array) {
 // Fine informazioni fake
 //////////////////////////////////////////////
 
+function formatListAsLi(thisList){
+	toRet = "";
+	thisList.forEach(value => toRet += "<li>" + value + "</li>");
+	return toRet;
+}
+
 
 // Esegue le queries
-async function fillPageContents(){
+async function getPageInfo(){
 	var out = {};
 	// val = await doJsonQuery(query1);
 	// stringifyResponse(val);
@@ -84,33 +90,14 @@ async function fillPageContents(){
 	// val = await doJsonQuery(queryRaccolta);
 	// stringifyResponse(val);
 	out.toponimi = await doJsonQuery(queryToponimo);
-	//putValuesInHTML();
-	console.log("PROT", Object.getPrototypeOf(out));
-	var strunz = new Strunz();
-	console.log("str", Object.getPrototypeOf(strunz));
+
 	return out;
 }
 
-class Strunz{
-	constructor(){
-		this.puzzo = "";
-		this.merda = "";
-	}
-}
 
 // Con la risposta (stringhificata) delle queries, aggiorna la pagina
-function putValuesInHTML(){
-  	//Attention! This is a rough patch-up!
-//  	queryString = queryStringOutput.replaceAll("}}{", "},")
-	console.log("Stringified Response:", queryStringOutput);
-	//queryOutput = JSON.parse(queryStringOutput);
-	queryOutput = {};
-
-	console.log('QO', queryOutput2);
-  
-	//queryOutput = JSON.parse(queryStringOutput);
-	//
-	// Query buone
+function updatePage(queryOutput){
+
 	if(queryOutput.titolo) document.getElementById("title").innerHTML = queryOutput.titolo.value;
 	if(queryOutput.mittente) document.getElementById("mittente_id").innerHTML = queryOutput.mittente.value;
 	if(queryOutput.destinatario) document.getElementById("destinatario_id").innerHTML = queryOutput.destinatario.value;
@@ -124,13 +111,18 @@ function putValuesInHTML(){
 	if(queryOutput.segnatura_OVI) document.getElementById("segnatura_id").innerHTML = queryOutput.segnatura_OVI.value;
 	if(queryOutput.edizione) document.getElementById("edizione_id").innerHTML = queryOutput.edizione.value;
 	if(queryOutput.testo_lemmatizzato) document.getElementById("trascrizione_id").innerHTML = queryOutput.testo_lemmatizzato.value;
-	//
-	// Query ancora farlocche
-	
-	document.getElementById("antroponimi").innerHTML = "<li>MM</li>" + list_a;
-	document.getElementById("toponimi").innerHTML = "<li>MM</li>" + list_b;
+	//document.getElementById("antroponimi").innerHTML = "<li>MM</li>" + list_a;
+	if(queryOutput.toponimi && queryOutput.toponimi.length){
+		const listaToponimi = queryOutput.toponimi.map(elem => elem.toponimo.value);
+		console.log(listaToponimi);
+		document.getElementById("toponimi").innerHTML = formatListAsLi(listaToponimi);
+	}
+}
+
+// Riempimento pagina
+async function initPage(){
+	const pageInfo = await getPageInfo();
+	updatePage(pageInfo);
 }
 
-// Dà il via alle queries + riempimento HTML
-var pageContents = fillPageContents();
-console.log(pageContents);
+initPage();

+ 4 - 17
js/lettera_query.js

@@ -8,12 +8,6 @@ console.log('URL get params: ', thisUrlParams);
 
 
 // Funzioni per eseguire le queries
-queryOutput2 = {};
-
-function addResponseToOutput(key, val){
-    resultArray = val['results']['bindings'];
-    queryOutput2[key] = resultArray;
-}
 
 function prepareQueryURL(query){
     sparqlEndpoint = 'http://dev.restore.ovi.cnr.it:8890/sparql/';
@@ -21,6 +15,10 @@ function prepareQueryURL(query){
     return sparqlEndpoint + sparqlUrlParams;
 }
 
+// Esegue una query sull'endpoint SPARQL il cui testo completo deve essere fornito nel parametro-stringa 'query'
+// Restituisce una lista di oggetti json nel formato di Virtuoso
+// Il parametro opzionale 'isUnique', se messo a 'true' controlla che ci sia un unico risultato (un array di
+// lunghezza 1) e se non è così restituisce un errore.
 async function doJsonQuery(query, isUnique = false){
 
     queryURL = prepareQueryURL(query);
@@ -43,17 +41,6 @@ async function doJsonQuery(query, isUnique = false){
 
 }
 
-// Funzioni per raccattare + stringhificare l'output
-queryStringOutput = "";
-function stringifyResponse(val){
-    resultArray = val['results']['bindings'];
-    out = "";
-    for(i = 0; i < resultArray.length; i++){
-        out = out + JSON.stringify(resultArray[i])
-    }
-    queryStringOutput = (queryStringOutput + out).replaceAll("}{",",");
-}
-
 
 ////////////////////
 // TESTI DELLE QUERY