results.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. //Parametri da passare alla funzione onclick
  2. queryChoice = queryLettere;
  3. tipoRisorsa = "scambio epistolare";
  4. mittente = "Bellandi Simone di Andrea";
  5. uri_mittente = "http://www.archiviodistato.prato.it/accedi-e-consulta/aspoMV001/scheda/IT-ASPO-AU00003-0000806";
  6. destinatario = "Compagnia di Datini Francesco di Marco & co";
  7. uri_destinatario = "http://www.archiviodistato.prato.it/accedi-e-consulta/aspoMV001/scheda/IT-ASPO-AU00003-0001817";
  8. //////
  9. query = prepareQueryURL(queryChoice);
  10. response = $.ajax({
  11. url: query,
  12. dataType: "json",
  13. success: function (data){
  14. handle_Letters(data, mittente, uri_mittente, destinatario, uri_destinatario);
  15. },
  16. error: function (e) {}
  17. });
  18. function handle_Letters(json, mittente, uri_mittente, destinatario, uri_destinatario){
  19. thead = '<div class="row def_res"> \
  20. <div class="col-4">Documento</div> \
  21. <div class="col-2">Data di partenza</div> \
  22. <div class="col-2">Data di arrivo</div> \
  23. <div class="col-2">Luogo di partenza</div> \
  24. <div class="col-2">Luogo di arrivo</div> \
  25. </div>';
  26. var EventsTable = thead;
  27. $.each(
  28. json['results']['bindings'],
  29. function (index, value) {
  30. var uri_document = "";
  31. var doc = "";
  32. var time_span_from = "";
  33. var time_span_to = "";
  34. var uri_place_from = "";
  35. var place_from = "";
  36. var uri_place_to = "";
  37. var place_to = "";
  38. if(value.hasOwnProperty('uri_document')) {
  39. uri_document = value['uri_document']['value'];
  40. }
  41. if(value.hasOwnProperty('document')) {
  42. doc = value['document']['value'];
  43. }
  44. if(value.hasOwnProperty('time_span_from')) {
  45. time_span_from = value['time_span_from']['value'];
  46. }
  47. if(value.hasOwnProperty('time_span_to')) {
  48. time_span_to = value['time_span_to']['value'];
  49. }
  50. if(value.hasOwnProperty('uri_place_from')) {
  51. uri_place_from = value['uri_place_from']['value'];
  52. }
  53. if(value.hasOwnProperty('place_from')) {
  54. place_from = value['place_from']['value'];
  55. }
  56. if(value.hasOwnProperty('uri_place_to')) {
  57. uri_place_to = value['uri_place_to']['value'];
  58. }
  59. if(value.hasOwnProperty('place_to')) {
  60. place_to = value['place_to']['value'];
  61. }
  62. EventsTable += '<div class="row">' +
  63. '<div id="' + uri_document + '" class="col-4 object">' + doc + '</div>' +
  64. '<div class="col-2">' + time_span_from + '</div>' +
  65. '<div class="col-2">' + time_span_to + '</div>' +
  66. '<div id="' + uri_place_from + '" class="col-2 luogo">' + place_from + '</div>' +
  67. '<div id="' + uri_place_to + '" class="col-2 luogo">' + place_to + '</div>' +
  68. '</div>';
  69. });
  70. document.getElementById("results_table").innerHTML = EventsTable;
  71. document.getElementById("results_title").innerHTML = "Lettere da " + mittente + " a " + destinatario;
  72. }
  73. /*if(pageInfo.query1){
  74. document.getElementById("mittente_id").innerHTML = pageInfo.query1.mittente.value;
  75. //document.getElementById("mittente_btn").innerHTML = createButton("fa fa-user", "Scheda persona", "schedaPersona('PERS')".replace("PERS", pageInfo.query1.mittente.value));
  76. }
  77. if(pageInfo.query1){
  78. document.getElementById("destinatario_id").innerHTML = pageInfo.query1.destinatario.value;
  79. //document.getElementById("destinatario_btn").innerHTML = createButton("fa fa-user", "Scheda persona", "schedaPersona('PERS')".replace("PERS", pageInfo.query1.destinatario.value));
  80. }
  81. if(pageInfo.query1){
  82. document.getElementById("imageASPO").innerHTML = createEmbed(pageInfo.query1.subject.value);
  83. }
  84. if(pageInfo.query1){
  85. document.getElementById("luogo_partenza_id").innerHTML = pageInfo.query1.luogo_partenza.value;
  86. document.getElementById("luogo_partenza_btn").innerHTML = createButton("fa fa-map", "Vedi mappa", "schedaMappa('LUOGO')".replace("LUOGO", pageInfo.query1.uriLuogoPartenza.value));
  87. }
  88. if(pageInfo.query1){
  89. document.getElementById("luogo_arrivo_id").innerHTML = pageInfo.query1.luogo_arrivo.value;
  90. document.getElementById("luogo_arrivo_btn").innerHTML = createButton("fa fa-map", "Vedi mappa", "schedaMappa('LUOGO')".replace("LUOGO", pageInfo.query1.uriLuogoArrivo.value));
  91. }
  92. if(pageInfo.query1) document.getElementById("data_partenza_id").innerHTML = pageInfo.query1.data_partenza.value;
  93. if(pageInfo.query1) document.getElementById("data_arrivo_id").innerHTML = pageInfo.query1.data_arrivo.value;
  94. if(pageInfo.descrizione) document.getElementById("descrizione_id").innerHTML = pageInfo.descrizione.descrizione.value;
  95. if(pageInfo.areaLinguistica) document.getElementById("lingua_id").innerHTML = pageInfo.areaLinguistica.lingua.value;
  96. if(pageInfo.areaLinguistica) document.getElementById("area_linguistica_id").innerHTML = pageInfo.areaLinguistica.area_linguistica.value;
  97. if(pageInfo.sigla) document.getElementById("sigla_OVI").innerHTML = pageInfo.sigla.sigla_OVI.value;
  98. if(pageInfo.segnatura){
  99. document.getElementById("segnatura_id").innerHTML = pageInfo.segnatura.segnatura_OVI.value;
  100. document.getElementById("segnatura_btn").innerHTML = createButton("fa fa-link", "Link ASPO", "schedaASPO('SEGN')".replace("SEGN", thisUrlParams.link));
  101. }
  102. if(pageInfo.edizione){
  103. document.getElementById("edizione_id").innerHTML = pageInfo.edizione.edizione.value;
  104. document.getElementById("edizione_btn").innerHTML = createButton("fa fa-comments", "Cita Edizione", "schedaEdizione('EDIZ')".replace("EDIZ", pageInfo.edizione.edizione.value));
  105. }
  106. if(pageInfo.testo) document.getElementById("trascrizione_id").innerHTML = pageInfo.testo.testo_lemmatizzato.value;
  107. //
  108. if(pageInfo.antroponimi && pageInfo.antroponimi.length){
  109. const listaAntroponimi = pageInfo.antroponimi.map(elem => elem.antroponimo.value);
  110. document.getElementById("antroponimi").innerHTML = formatListAsLi(listaAntroponimi);
  111. }
  112. if(pageInfo.toponimi && pageInfo.toponimi.length){
  113. const listaToponimi = pageInfo.toponimi.map(elem => elem.toponimo.value);
  114. document.getElementById("toponimi").innerHTML = formatListAsLi(listaToponimi);
  115. }
  116. if(pageInfo.query2) {
  117. if(pageInfo.query2.hasOwnProperty('mittente')) document.getElementById("mittente_id_ASPO").innerHTML = pageInfo.query2.mittente.value;
  118. if(pageInfo.query2.hasOwnProperty('uriSender')) document.getElementById("mittente_btn_ASPO").innerHTML = createButton("fa fa-user", "Scheda persona", "schedaPersona('PERS')".replace("PERS", pageInfo.query2.uriSender.value));
  119. if(pageInfo.query2.hasOwnProperty('destinatario')) document.getElementById("destinatario_id_ASPO").innerHTML = pageInfo.query2.destinatario.value;
  120. if(pageInfo.query2.hasOwnProperty('uriReceiver')) document.getElementById("destinatario_btn_ASPO").innerHTML = createButton("fa fa-user", "Scheda persona", "schedaPersona('PERS')".replace("PERS", pageInfo.query2.uriReceiver.value));
  121. if(pageInfo.query2.hasOwnProperty('placeSend')) document.getElementById("luogo_partenza_id_ASPO").innerHTML = pageInfo.query2.placeSend.value;
  122. if(pageInfo.query2.hasOwnProperty('placeReceive')) document.getElementById("luogo_arrivo_id_ASPO").innerHTML = pageInfo.query2.placeReceive.value;
  123. if(pageInfo.query2.hasOwnProperty('timeSpanSend')) document.getElementById("data_partenza_id_ASPO").innerHTML = pageInfo.query2.timeSpanSend.value;
  124. if(pageInfo.query2.hasOwnProperty('timeSpanReceive')) document.getElementById("data_arrivo_id_ASPO").innerHTML = pageInfo.query2.timeSpanReceive.value;
  125. if(pageInfo.query2.hasOwnProperty('material')) document.getElementById("consistenzaASPO").innerHTML = pageInfo.query2.material.value;
  126. if(pageInfo.query2.hasOwnProperty('dimension')) document.getElementById("dimensioneASPO").innerHTML = pageInfo.query2.dimension.value;
  127. if(pageInfo.query2.hasOwnProperty('identifier')) document.getElementById("segnatura_id_ASPO").innerHTML = pageInfo.query2.identifier.value;
  128. if(pageInfo.query2.hasOwnProperty('currentLocation')) document.getElementById("ownerASPO").innerHTML = pageInfo.query2.currentLocation.value;
  129. }
  130. if(pageInfo.sigla){
  131. document.getElementById("evt_button").innerHTML = createButtonEVT(pageInfo.sigla.sigla_OVI.value);
  132. }*/
  133. // Mini-utility per formattare liste
  134. function formatListAsLi(thisList){
  135. toRet = "";
  136. thisList.forEach(value => toRet += "<li>" + value + "</li>");
  137. return toRet;
  138. }
  139. // Buttons
  140. function createButton(buttonClass, text, onClickFunction){
  141. htmlCode = '\
  142. <button class="btn btn-default" type="button" onclick="<FUNCTION>">\
  143. <i class="<CLASS>" aria-hidden="true">\
  144. <p class="btn-text"><TEXT></p>\
  145. </i>\
  146. </button>\
  147. '.replace("<CLASS>", buttonClass).replace("<TEXT>", text).replace("<FUNCTION>", onClickFunction);
  148. return htmlCode;
  149. }
  150. function createButtonEVT(sigla){
  151. htmlCode = '\
  152. <button type="button" class="btn btn-secondary" onclick="loadPageEVT(\'<SIGLA>\')">\
  153. Button EVT</button>\
  154. '.replace("<SIGLA>", sigla);
  155. return htmlCode;
  156. }
  157. //<button type="button" class="btn btn-secondary" onclick="loadPageLOD()">Button LOD</button>
  158. function loadPageEVT(sigla)
  159. {
  160. window.location="http://restore.ovi.cnr.it/mockup/evt/#/imageText?p=" + sigla + "_01&el=diplomatic";
  161. }
  162. function createEmbed(link) {
  163. image = link.replace("scheda", "imageView") + "/#main";
  164. htmlCode = '\
  165. <embed id="imageEmb" src="<LINK>"> \
  166. '.replace("<LINK", image);
  167. return htmlCode;
  168. }
  169. function schedaPersona(info){
  170. window.open("Persona.html?link="+info);
  171. }
  172. function schedaMappa(info){
  173. window.open("Luogo.html?link="+info);
  174. }
  175. function schedaASPO(info){
  176. window.open(info);
  177. }
  178. function schedaEdizione(info){
  179. $("#myModal").empty();
  180. $("#myModal").css("display", "block");
  181. $('#myModal').append("<div class='modal-content'><div class='modal-close'><span class='close'>&times;</span></div><div id='myInput'>" +
  182. info + "</div><button id='copy_btn' class='btn btn-theme-primary btn-md' onclick='myFunction()'>Copia</button>");
  183. }
  184. function show_OVI(){
  185. document.getElementById("OVI_info").style.display = "block";
  186. document.getElementById("ASPO_info").style.display = "none";
  187. }
  188. function show_ASPO(){
  189. document.getElementById("OVI_info").style.display = "none";
  190. document.getElementById("ASPO_info").style.display = "block";
  191. }
  192. $(document).on("click", ".close", function (ev) {
  193. var link = this.id;
  194. //alert(nome_autore);
  195. //$('#myModal').text("");
  196. $("#myModal").css("display", "none");
  197. });
  198. $(document).on("click", ".hyp", function (ev) {
  199. var baseurl = window.location.origin+window.location.pathname;
  200. let slash = baseurl.lastIndexOf("/");
  201. var type = $(this).val() + '.html';
  202. var link = this.id;
  203. var url = baseurl.substr(0, slash+1) + type + "?link="+link;
  204. var link = this.id;
  205. $("#myModal").empty();
  206. $("#myModal").css("display", "block");
  207. $('#myModal').append("<div class='modal-content'><div class='modal-close'><span class='close'>&times;</span></div><div id='myInput'>" +
  208. url + "</div><button id='copy_btn' class='btn btn-theme-primary btn-md' onclick='myFunction()'>Copia</button>");
  209. });
  210. $(document).on("click", ".cit", function (ev) {
  211. var author ="RESTORE. smart access to digital heritage and memory"
  212. var year = new Date().getFullYear()
  213. var today = new Date();
  214. var dd = String(today.getDate()).padStart(2, '0');
  215. var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
  216. var yyyy = today.getFullYear();
  217. today = dd + '/' + mm + '/' + yyyy;
  218. var baseurl = window.location.origin+window.location.pathname;
  219. let slash = baseurl.lastIndexOf("/");
  220. var type = $(this).val() + '.html';
  221. var link = this.id;
  222. var url = baseurl.substr(0, slash+1) + type + "?link="+link;
  223. //alert(nome_autore);
  224. //$('#myModal').text("");
  225. $("#myModal").empty();
  226. $("#myModal").css("display", "block");
  227. $('#myModal').append("<div class='modal-content'><div class='modal-close'><span class='close'>&times;</span></div><div id='myInput'>" +
  228. author + " " + year + ", accesso effettuato: " + today + ", &lt;" + url + "&gt;</div><button id='copy_btn' class='btn btn-theme-primary btn-md' onclick='myFunction()'>Copia</button>");
  229. });
  230. function copyToClipboard(text) {
  231. var sampleTextarea = document.createElement("textarea");
  232. document.body.appendChild(sampleTextarea);
  233. sampleTextarea.value = text; //save main text in it
  234. sampleTextarea.select(); //select textarea contenrs
  235. document.execCommand("copy");
  236. document.body.removeChild(sampleTextarea);
  237. }
  238. function myFunction(){
  239. var copy = document.getElementById("myInput");
  240. copyText = copy.textContent;
  241. copyToClipboard(copyText);
  242. //copyToClipboard(copyText.value);
  243. }
  244. $(document).on("click", ".luogo", function (ev) {
  245. var link = this.id;
  246. //alert(nome_autore);
  247. //$('#myModal').text("");
  248. window.open("Luogo.html?link="+this.id);
  249. });
  250. $(document).on("click", ".persona", function (ev) {
  251. var link = this.id;
  252. window.open("Persona.html?link="+this.id);
  253. });
  254. $(document).on("click", ".lettera", function (ev) {
  255. var link = this.id;
  256. //alert(nome_autore);
  257. //$('#myModal').text("");
  258. window.open("lettera.html?link="+this.id);
  259. });
  260. $(document).on("click", ".object", function (ev) {
  261. var link = this.id;
  262. //alert(nome_autore);
  263. //$('#myModal').text("");
  264. window.open("object.html?link="+this.id);
  265. });