OA.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. var link = thisUrlParams.link;
  2. prefixes = queryManager['prefixes']['all'];
  3. queryURL = prefixes + (queryManager['querySchedaOpera']['queryInfo']).replace('{URI}', link);
  4. doJsonQuery(queryURL).done(function(data) { handle_OAdata(data); });
  5. queryPro = prefixes + (queryManager['querySchedaOpera']['queryProduction']).replace('{URI}', link);
  6. doJsonQuery(queryPro).done(function(data) { handle_Production(data); });
  7. queryBib = prefixes + (queryManager['querySchedaOpera']['queryBibliography']).replace('{URI}', link);
  8. doJsonQuery(queryBib).done(function(data) { handle_Bibliography(data); });
  9. function handle_OAdata(json) {
  10. console.log(json['results']['bindings']);
  11. $.each(
  12. json['results']['bindings'],
  13. function (index, value) {
  14. var graph = value['graph']['value'];
  15. var label = value['label']['value'];
  16. var uri = value['uri']['value'];
  17. var title = "";
  18. var type = "";
  19. var current_owner = "";
  20. var current_location = "";
  21. var subject = "";
  22. var dimensions = "";
  23. var materials = "";
  24. var condition = "";
  25. var note = "";
  26. var identifier = "";
  27. var unit = "";
  28. var inscription = "";
  29. var dataset = get_dataset_name(graph);
  30. if (value.hasOwnProperty('title')) {
  31. $("#SGTT").css("display", "flex");
  32. title = value['title']['value'];
  33. }
  34. if (value.hasOwnProperty('identifier')) {
  35. $("#NCT").css("display", "flex");
  36. identifier = value['identifier']['value'];
  37. }
  38. if (value.hasOwnProperty('type')) {
  39. $("#OGTD").css("display", "flex");
  40. type = "<div class='d-flex'><div class='mr-3'><a href='" + value['uriType']['value'] + "'>" +
  41. value['type']['value'] + "</a></div></div>";
  42. }
  43. if (value.hasOwnProperty('current_owner')) {
  44. $("#LDCN").css("display", "flex");
  45. current_owner = "<div class='d-flex'><div class='mr-3'><a href='" + value['uriOwner']['value'] + "'>" +
  46. value['current_owner']['value'] + "</a></div></div>";
  47. }
  48. if (value.hasOwnProperty('current_location')) {
  49. $("#LDCS").css("display", "flex");
  50. current_location = value['current_location']['value'];
  51. }
  52. if (value.hasOwnProperty('unit')) {
  53. unit = value['unit']['value'];
  54. }
  55. if (value.hasOwnProperty('subject')) {
  56. $("#SGTI").css("display", "flex");
  57. subject = value['subject']['value'];
  58. }
  59. if (value.hasOwnProperty('dimensions')) {
  60. if (value['dimensions']['value'] != "") {
  61. $("#MIS").css("display", "flex");
  62. dimensions = value['dimensions']['value'];
  63. }
  64. }
  65. if (value.hasOwnProperty('condition')) {
  66. $("#STCC").css("display", "flex");
  67. condition = value['condition']['value'];
  68. }
  69. if (value.hasOwnProperty('note')) {
  70. $("#NSC").css("display", "flex");
  71. note = value['note']['value'];
  72. }
  73. if (value.hasOwnProperty('iscrizione')) {
  74. $("#ISCR").css("display", "flex");
  75. inscription = value['iscrizione']['value'];
  76. }
  77. if (value.hasOwnProperty('uriSubjectPer')) {
  78. var givenName = value['personName']['value'];
  79. var surname = value['personSurname']['value'];
  80. var patronymic = value['personPatronymic']['value'];
  81. var name = givenName + " " + patronymic + " " + titleCase(surname);
  82. subject += "<br /><div class='d-flex'><div class='mr-3'><a href='" + value['uriSubjectPer']['value'] + "'>" +
  83. name + "</a></div><div class='d-flex ml-auto'><div class='persona btn-icon' style='cursor:pointer' id='" +
  84. value['uriSubjectPer']['value'] + "'><i class='fa fa-user'></i><p class='btn-text'>PERSONA</p></div></div></div></div>";
  85. }
  86. if (value.hasOwnProperty('Materials')) {
  87. if (value['Materials']['value'] != "") {
  88. $("#MTC").css("display", "flex");
  89. mm = value['Materials']['value'];
  90. mat = mm.split("<br />");
  91. for (i in mat) {
  92. slice = mat[i].split("; ");
  93. /*materials += "<a href='" + slice[0] + "'>" + slice[1] + "</a><br />";*/
  94. materials += "<div class='d-flex'><div class='mr-3'><a href='" + slice[0] + "'>" +
  95. slice[1] + "</a></div>";
  96. }
  97. }
  98. }
  99. var Buttons = '<button title="Apri risorsa originale" class="btn btn-default" type="button" onclick="schedaASPO(\'' + uri + '\')"> \
  100. <i class="fas fa-external-link-alt" aria-hidden="true"></i></button> \
  101. <button title="Citazione" type="button" value="artwork" id="' + uri + '" class="cit btn btn-default" alt="scheda" title="Citazione"><i class="fa fa-quote-right"></i></button> \
  102. <button title="Permalink" type="button" value="artwork" id="' + uri + '" class="hyp btn btn-default" alt="scheda" title="Hyperlink"><i class="fa fa-link"></i></button> \
  103. <a href="http://dev.restore.ovi.cnr.it/lodlive/?' + uri + '" target="_blank"><button type="button" title="Naviga il grafo" class="btn btn-default info" alt="LOD" title="LodLive"><i class="fa fa-share-alt"></i></button></a></div></div>';
  104. document.getElementById("grafo").innerHTML = dataset;
  105. document.getElementById("nome_oggetto").innerHTML = label;
  106. document.getElementById("identifier").innerHTML = identifier;
  107. document.getElementById("type").innerHTML = type;
  108. document.getElementById("owner").innerHTML = current_owner;
  109. document.getElementById("subject").innerHTML = subject;
  110. document.getElementById("dimensions").innerHTML = dimensions + unit;
  111. document.getElementById("materials").innerHTML = materials;
  112. document.getElementById("condition").innerHTML = condition;
  113. document.getElementById("description").innerHTML = note;
  114. document.getElementById("inscription").innerHTML = inscription;
  115. document.getElementById("link_buttons").innerHTML = Buttons;
  116. });
  117. }
  118. function get_dataset_name(graph) {
  119. var string = "Scheda Opera d'Arte";
  120. if (graph == "http://dev.restore.ovi.cnr.it:8890/mpp/martini") {
  121. string = string + " / Collezione Martini";
  122. }
  123. else if (graph == "http://dev.restore.ovi.cnr.it:8890/mpp/ospedale") {
  124. string = string + " / Collezione Ospedale";
  125. }
  126. else if (graph == "http://dev.restore.ovi.cnr.it:8890/mpp/datini") {
  127. string = string + " / Collezione Datini";
  128. }
  129. else {
  130. string = string;
  131. }
  132. return (string);
  133. }
  134. function handle_Production(json) {
  135. console.log(json['results']['bindings']);
  136. $.each(
  137. json['results']['bindings'],
  138. function (index, value) {
  139. var partecipants = "";
  140. var teche = "";
  141. var time = "";
  142. var client = "";
  143. var artist = "";
  144. var artist_name = "";
  145. if (value.hasOwnProperty('techniques')) {
  146. if (value['techniques']['value'] != "") {
  147. $("#MTC").css("display", "flex");
  148. tt = value['techniques']['value'];
  149. tec = tt.split("<br />");
  150. for (i in tec) {
  151. slice = tec[i].split("; ");
  152. /*teche += "<a href='" + slice[0] + "'>" + slice[1] + "</a><br />";*/
  153. teche += "<div class='d-flex'><div class='mr-3'><a href='" + slice[0] + "'>" +
  154. slice[1] + "</a></div>";
  155. }
  156. }
  157. }
  158. if (value.hasOwnProperty('Partecipants')) {
  159. pp = value['Partecipants']['value'];
  160. people = pp.split("<br />");
  161. for (i in people) {
  162. slice = people[i].split("; ");
  163. if (slice[2] == "Committente") {
  164. $("#CMM").css("display", "flex");
  165. client += slice[1];
  166. } else {
  167. $("#AUT").css("display", "flex");
  168. artist_name += slice[1];
  169. artist += "<div class='d-flex'><div class='mr-3'><a href='" + slice[0] + "'>" +
  170. slice[1] + "</a></div><div class='d-flex ml-auto'><div class='persona btn-icon' style='cursor:pointer' id='" +
  171. slice[0] + "'><i class='fa fa-user'></i><p class='btn-text'>PERSONA</p></div></div></div></div>";
  172. }
  173. }
  174. }
  175. if (value.hasOwnProperty('time') && (value['time']['value'] != "")) {
  176. $("#DT").css("display", "flex");
  177. time = value['time']['value'];
  178. }
  179. document.getElementById("technique").innerHTML = teche;
  180. document.getElementById("date").innerHTML = time;
  181. document.getElementById("artist").innerHTML = artist;
  182. document.getElementById("client").innerHTML = client;
  183. });
  184. }
  185. function handle_Bibliography(json) {
  186. console.log(json['results']['bindings']);
  187. var Biblio = "";
  188. const bibArray = [];
  189. $.each(
  190. json['results']['bindings'],
  191. function (index, value) {
  192. var bib = value['bibliography']['value'];
  193. var pages = "";
  194. if (value.hasOwnProperty('pages')) {
  195. pages = value['pages']['value'];
  196. }
  197. var book = bib + " " + pages;
  198. bibArray.push(book);
  199. });
  200. bibArray.sort();
  201. for (k in bibArray) {
  202. Biblio += '<li>' + bibArray[k] + '</li>';
  203. }
  204. document.getElementById("bibliography").innerHTML = Biblio;
  205. }
  206. function show_OA(){
  207. document.getElementById("OA_info").style.display = "block";
  208. document.getElementById("catalogo_info").style.display = "none";
  209. document.getElementById("scheda_info").style.display = "none";
  210. document.getElementById("image_artwork").style.display = "block";
  211. document.getElementById("image_catalog").style.display = "none";
  212. document.getElementById("image_scheda").style.display = "none";
  213. document.getElementById("img_title").innerHTML = "Opera";
  214. }
  215. function show_CAT(){
  216. document.getElementById("OA_info").style.display = "none";
  217. document.getElementById("catalogo_info").style.display = "block";
  218. document.getElementById("scheda_info").style.display = "none";
  219. document.getElementById("image_artwork").style.display = "none";
  220. document.getElementById("image_catalog").style.display = "block";
  221. document.getElementById("image_scheda").style.display = "none";
  222. document.getElementById("img_title").innerHTML = "Catalogo";
  223. }
  224. function show_INV(){
  225. document.getElementById("OA_info").style.display = "none";
  226. document.getElementById("catalogo_info").style.display = "none";
  227. document.getElementById("scheda_info").style.display = "block";
  228. document.getElementById("image_artwork").style.display = "none";
  229. document.getElementById("image_catalog").style.display = "none";
  230. document.getElementById("image_scheda").style.display = "block";
  231. document.getElementById("img_title").innerHTML = "Scheda Storica";
  232. }