|
@@ -17,16 +17,22 @@ var params = thisUrlParams.params;
|
|
|
const pp = params.split(";");
|
|
|
var tipo = pp[0];
|
|
|
|
|
|
+var sigleFinished = false;
|
|
|
+var lemmaFinished = false;
|
|
|
+var mappaFinished = false;
|
|
|
+
|
|
|
|
|
|
prefixes = queryManager['prefixes']['all'];
|
|
|
|
|
|
if (tipo=="lemma") {
|
|
|
var uri_lemma = pp[1];
|
|
|
- var lemma = pp[2].replace(/%20/g, " ");;
|
|
|
+ var lemma = pp[2].replace(/%20/g, " ");
|
|
|
+ querySigle = prefixes + (queryManager['queryRES']['queryTrovaSigla']).replaceAll('{URI}', uri_lemma);
|
|
|
queryEsplora = prefixes + (queryManager['queryRES']['queryEsploraDocumenti']).replaceAll('{URI}', uri_lemma);
|
|
|
queryMappa = prefixes + (queryManager['queryRES']['queryEsploraMappa']).replaceAll('{URI}', uri_lemma);
|
|
|
+ doJsonQuery(querySigle).done(function(r) { manageArraySigle(r, lemma); });
|
|
|
doJsonQuery(queryEsplora).done(function(r) { handleLemma(r, lemma); });
|
|
|
- doJsonQuery(queryMappa).done(function(r) { manageJson(r); });
|
|
|
+ doJsonQuery(queryMappa).done(function(r) { manageJson(r, lemma); });
|
|
|
}
|
|
|
|
|
|
if (tipo=="lettera") {
|
|
@@ -74,6 +80,7 @@ var markerList = [];
|
|
|
var markers = new L.MarkerClusterGroup();
|
|
|
let anni = [];
|
|
|
let eventi = {};
|
|
|
+let testi_ovi = [];
|
|
|
|
|
|
function handleLemma(json, lemma) {
|
|
|
|
|
@@ -156,8 +163,85 @@ function handleLemma(json, lemma) {
|
|
|
}
|
|
|
|
|
|
|
|
|
-function manageJson(json) {
|
|
|
+function manageArraySigle(json, lemma) {
|
|
|
+ sigleFinished = true;
|
|
|
+ $.each(
|
|
|
+ json['results']['bindings'],
|
|
|
+ function (index, value) {
|
|
|
+ var uri = value['uri']['value'];
|
|
|
+ var sigla = value['sigla']['value'];
|
|
|
+ var testo = value['text']['value'];
|
|
|
+
|
|
|
+ queryIdLemma = prefixes + (queryManager['queryRES']['queryTrovaIDlemma']).replace('<{SIGLA}>', sigla).replace('<{LEMMA}>', lemma);
|
|
|
+ console.log(queryIdLemma);
|
|
|
+ doJsonQuery(queryIdLemma).done(function(r) { manageTestoLettere(r, uri, testo); });
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ if (sigleFinished && lemmaFinished && mappaFinished) {
|
|
|
+ $('#Loader').css("display", "none");
|
|
|
+ $('#overlay').css("display", "none");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function manageTestoLettere(json, uri, testo) {
|
|
|
+
|
|
|
+ var id = "";
|
|
|
+
|
|
|
+
|
|
|
+ $.each(
|
|
|
+ json['results']['bindings'],
|
|
|
+ function (index, value) {
|
|
|
+ id = value['id']['value'];
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ //let regex = "<w>(.*?)</w>(.{0,5})<lem n='ID' (.*?)>";
|
|
|
+ let regex = "<lem n='ID' (.*?)>(.*?)(\\s|,|;|<)";
|
|
|
+ regex = regex.replace('ID', id);
|
|
|
+ regex = new RegExp(regex);
|
|
|
+ var testo3 = "";
|
|
|
+
|
|
|
+ if (regex.test(testo)) {
|
|
|
+
|
|
|
+ const match = regex.exec(testo);
|
|
|
+ var index = regex.exec(testo).index;
|
|
|
+ var last = index + match[0].length-1;
|
|
|
|
|
|
+ var toaddfirst = '<span class="highlight">';
|
|
|
+ var toaddlast = '</span>';
|
|
|
+ var testo2 = [testo.slice(0, last), toaddlast, testo.slice(last)].join('');
|
|
|
+ testo3 = [testo2.slice(0, index), toaddfirst, testo2.slice(index)].join('')
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ testo3 = testo;
|
|
|
+ }
|
|
|
+
|
|
|
+ testi_ovi.push([uri, testo3]);
|
|
|
+
|
|
|
+ /*let regex = "<lem n='ID' (.*?)>(.*?)(\\s|,|;|<)";
|
|
|
+ regex = regex.replace('ID', id);
|
|
|
+ regex = new RegExp(regex);
|
|
|
+
|
|
|
+ const match = regex.exec(testo);
|
|
|
+ var index = regex.exec(testo).index;
|
|
|
+ var last = index + match[0].length-1;
|
|
|
+
|
|
|
+ var toaddfirst = '<span class="highlight">';
|
|
|
+ var toaddlast = '</span>';
|
|
|
+ var testo2 = [testo.slice(0, last), toaddlast, testo.slice(last)].join('');
|
|
|
+ var testo3 = [testo2.slice(0, index), toaddfirst, testo2.slice(index)].join('');
|
|
|
+
|
|
|
+ testi_ovi.push([uri, testo3]); */
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+console.log(testi_ovi);
|
|
|
+
|
|
|
+function manageJson(json, lemma) {
|
|
|
+ lemmaFinished = true;
|
|
|
+ console.log("lemmaFinished");
|
|
|
var i=0;
|
|
|
$.each(
|
|
|
json['results']['bindings'],
|
|
@@ -165,6 +249,7 @@ function manageJson(json) {
|
|
|
var uri = value['uri_place']['value'];
|
|
|
var label = value['place']['value'];
|
|
|
var coord = value['coords']['value'];
|
|
|
+ var uri_inf = value['uri_infObj']['value'];
|
|
|
var year = "";
|
|
|
var month = "";
|
|
|
var day = "";
|
|
@@ -190,8 +275,13 @@ function manageJson(json) {
|
|
|
if (value.hasOwnProperty('text')) {
|
|
|
testo = value['text']['value'];
|
|
|
}
|
|
|
+ for (kk in testi_ovi) {
|
|
|
+ if (testi_ovi[kk][0] == uri_inf) {
|
|
|
+ testo = testi_ovi[kk][1];
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- eventi[i] = {"uri_soggetto": uri_soggetto, "soggetto": soggetto, "uri_luogo": uri, "luogo": label, "coordinate": coord, "evento": evento, "data": data, "anno": year, "mese": month, "giorno": day, "testo": testo};
|
|
|
+ eventi[i] = {"uri_soggetto": uri_soggetto, "uri_info": uri_inf,"soggetto": soggetto, "uri_luogo": uri, "luogo": label, "coordinate": coord, "evento": evento, "data": data, "anno": year, "mese": month, "giorno": day, "testo": testo};
|
|
|
|
|
|
i++;
|
|
|
|
|
@@ -200,11 +290,19 @@ function manageJson(json) {
|
|
|
handle_map(eventi);
|
|
|
manageYears(anni);
|
|
|
manageEvents(eventi);
|
|
|
+ console.log("lemmaFinished2");
|
|
|
+ if (sigleFinished && lemmaFinished && mappaFinished) {
|
|
|
+ $('#Loader').css("display", "none");
|
|
|
+ $('#overlay').css("display", "none");
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
function handle_map(myArray) {
|
|
|
//console.log(json);
|
|
|
+ mappaFinished = true;
|
|
|
+ console.log("mappaFinished");
|
|
|
|
|
|
const locations = [];
|
|
|
const place_names = [];
|
|
@@ -281,6 +379,12 @@ function handle_map(myArray) {
|
|
|
map.addLayer(markers);
|
|
|
//manageEvents(eventi)
|
|
|
|
|
|
+ console.log("mappaFinished2");
|
|
|
+ if (sigleFinished && lemmaFinished && mappaFinished) {
|
|
|
+ $('#Loader').css("display", "none");
|
|
|
+ $('#overlay').css("display", "none");
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
function markerOnClick(e)
|
|
@@ -541,6 +645,7 @@ function manageEvents(events) {
|
|
|
var mese = events[i]['mese'];
|
|
|
var giorno = events[i]['giorno'];
|
|
|
var testo = events[i]['testo'];
|
|
|
+ var informationObject = eventi[i]['uri_info'];
|
|
|
|
|
|
if (anno.length == 4) {
|
|
|
if (!anni.includes(anno)) {
|
|
@@ -556,13 +661,13 @@ function manageEvents(events) {
|
|
|
} else {
|
|
|
simpleDate = "";
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
var object_button = '<button type="button" id="' + uri_soggetto +
|
|
|
'" class="object btn btn-default" alt="oggetto" title="' + soggetto +
|
|
|
- '"><i class="fa fa-book"></i></button>';
|
|
|
+ '"><p class="geo-text">Vedi scheda oggetto <i class="fa fa-book"></i></p></button>';
|
|
|
|
|
|
Eventi = '<div data-point="' + coordinates + '" class="row event"> \
|
|
|
- <div class="col eventSeed"><div class="row">' + soggetto + object_button +'</div> \
|
|
|
+ <div class="col eventSeed"><div class="row style="cursor:zoom-in;">' + soggetto + '</div><div class="row justify-content-end">' + object_button +'</div> \
|
|
|
<div class="row">' + testo + '</div></div></div>';
|
|
|
//<div class="col-2"><div class="row">' + object_button + '</div></div></div>';
|
|
|
|