Mercurial > hg > ismi-richfaces
annotate src/main/webapp/imageServer/displayDigi.jsp @ 214:02bdc92bd594
try to update IIIF server URL to Medeniyet.
author | casties |
---|---|
date | Mon, 10 Jan 2022 18:07:15 +0100 |
parents | 964846688a95 |
children | 93d33f138c9e |
rev | line source |
---|---|
7 | 1 <%@ page contentType="text/html; charset=UTF-8" %> |
2 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
3 <%@page import="org.mpi.openmind.repository.bo.Entity"%> | |
4 <%@page import="de.mpiwg.itgroup.diva.jsp.JSPDigitalization"%> | |
5 | |
6 <html> | |
7 <head> | |
8 <title>ismi - image server</title> | |
9 | |
10 | |
11 <link href="resources/css/bootstrap.css" type="text/css" rel="stylesheet" /> | |
12 <link href="resources/css/bootstrap-responsive.min.css" type="text/css" rel="stylesheet"> | |
13 <link href="resources/css/style.css" type="text/css" rel="stylesheet"> | |
14 <link href="resources/css/diva.min.css" type="text/css" rel="stylesheet" /> | |
15 <link href="resources/css/diva4ismi.css" type="text/css" rel="stylesheet" /> | |
16 | |
17 <script type="text/javascript" src="resources/js/jquery.min.js"></script> | |
203 | 18 <script type="text/javascript" src="resources/js/diva.js"></script> |
204
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
19 <script type="text/javascript" src="resources/js/plugins/simple-auth.js"></script> |
7 | 20 <script type="text/javascript" src="resources/js/bootstrap.min.js"></script> |
21 <script type="text/javascript" src="resources/js/typeahead.js"></script> | |
22 <script type="text/javascript" src="resources/js/diva4ismi.js"></script> | |
23 | |
24 <jsp:useBean id="digiBean" class="de.mpiwg.itgroup.diva.jsp.JSPDigitalization" scope="session" /> | |
25 <jsp:setProperty name="digiBean" property="request" value="${pageContext.request}" /> | |
26 <jsp:setProperty name="digiBean" property="response" value="${pageContext.response}" /> | |
27 | |
28 <%digiBean.init();%> | |
29 <% if(!digiBean.hasLogin()){ %> | |
30 <jsp:forward page="../imageServer/displayDigiList.xhtml?login=true" /> | |
31 <% } %> | |
32 | |
33 <script type="text/javascript"> | |
34 $(document).ready(function () { | |
35 | |
36 $("#witness-edit").on('click', '.update-witness', function(ev){ | |
37 | |
38 var witnessId = $(this).data('witness'); | |
39 | |
40 var startPageInput = $( "#input-start-page-"+witnessId ); | |
41 var endPageInput = $( "#input-end-page-"+witnessId ); | |
42 var digiIdInput = $("#digi_id"); | |
43 | |
44 var data = {}; | |
45 data["digi_id"] = digiIdInput[0].value; | |
46 | |
47 data["witness"] = {}; | |
48 data["witness"]["id"] = "" + witnessId; | |
49 data["witness"]["start_page"] = startPageInput[0].value; | |
50 data["witness"]["end_page"] = endPageInput[0].value; | |
51 | |
52 var witnessLink = $("#witness-link-" + witnessId); | |
53 witnessLink.data('start', startPageInput[0].value); | |
54 | |
55 $.ajax( | |
187
be6bc580b137
changed "update" method for witness page number in displayDigi.jsp to use POST. changed receiving method in RestWitness.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
155
diff
changeset
|
56 divaGlobal.rest_url + "/rest/witness/update", { |
be6bc580b137
changed "update" method for witness page number in displayDigi.jsp to use POST. changed receiving method in RestWitness.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
155
diff
changeset
|
57 type: 'POST', |
7 | 58 contentType: "application/json", |
187
be6bc580b137
changed "update" method for witness page number in displayDigi.jsp to use POST. changed receiving method in RestWitness.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
155
diff
changeset
|
59 data: JSON.stringify(data), |
7 | 60 success: function(data, textStatus, jqXHR){ |
61 var state = data["state"]; | |
62 if(state == "ok"){ | |
63 alert('Executed successfully'); | |
64 }else{ | |
65 alert(data["message"]); | |
66 } | |
67 }, | |
68 error: function(jqXHR, textStatus, errorThrown){ | |
69 alert('Error: ' + textStatus); | |
70 } | |
71 }); | |
72 | |
73 | |
74 }); | |
75 | |
76 /************************************************/ | |
77 | |
78 function getURLParams() | |
79 { | |
80 var urlParams = {}, | |
81 match, | |
82 pl = /\+/g, // Regex for replacing addition symbol with a space | |
83 search = /([^&=]+)=?([^&]*)/g, | |
84 decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, | |
85 query = window.location.search.substring(1); | |
86 while (match = search.exec(query)) | |
87 { | |
88 urlParams[decode(match[1])] = decode(match[2]); | |
89 } | |
90 | |
91 return urlParams; | |
92 } | |
93 | |
94 | |
95 $('#page-jump').on('keypress', function(ev) | |
96 { | |
97 if (ev.which == '13') | |
98 { | |
204
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
99 var dv = window.divaInstance; |
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
100 var value = parseInt($(this).val(), 10)-1; |
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
101 var success = dv.gotoPageByIndex(value, 'center', 'top'); |
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
102 //success = true; // diva6 does not return anything |
7 | 103 |
104 if (!success) | |
105 { | |
106 if (!$('#page-jump-group').hasClass('error')) | |
107 { | |
108 $('#page-jump-group').addClass('error'); | |
109 $('#page-jump-controls').append('<span id="jump-error-help" class="help-inline">The page you specified is not valid.</span>'); | |
110 } | |
111 } | |
112 else | |
113 { | |
114 if ($('#page-jump-group').hasClass('error')) | |
115 { | |
116 $('#page-jump-group').removeClass('error'); | |
117 $('#jump-error-help').remove(); | |
118 } | |
119 } | |
120 | |
121 } | |
122 }); | |
123 | |
124 $('.go-to-witness-link').on('click', function(ev) { | |
204
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
125 var dv = window.divaInstance; |
7 | 126 var start_page = $(this).data('start'); |
127 if(start_page){ | |
204
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
128 dv.gotoPageByIndex(start_page-1); |
7 | 129 ev.preventDefault(); |
130 }else{ | |
131 alert("No page assigned to this witness."); | |
132 } | |
133 | |
134 }); | |
135 | |
136 function modifyWitness(witness_id, key, value, successCallback, caller) { | |
137 var csrf = $("[name=csrfmiddlewaretoken]").val(); | |
138 var witnessURL = "/witness/" + witness_id; | |
139 var data = {}; | |
140 data[key] = value; | |
141 | |
142 $.ajax(witnessURL, { | |
143 type: 'PATCH', | |
144 headers: { | |
145 'X-CSRFToken': csrf | |
146 }, | |
147 data: JSON.stringify(data), | |
148 contentType: "application/json", | |
149 success: function(data, status, xhr) | |
150 { | |
151 // we'll need to operate on the button, so pass it back... | |
152 successCallback(data, caller); | |
153 } | |
154 }); | |
155 } | |
156 | |
203 | 157 window.divaInstance = new Diva('diva-wrapper', |
7 | 158 { |
214 | 159 objectData: "https://ismi.medeniyet.edu.tr/iiif/manifests/<%=digiBean.getDigiLabel()%>.json", |
204
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
160 plugins: [Diva.SimpleAuthPlugin], |
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
161 simpleAuthTokenUrl: divaGlobal.auth_token_url, |
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
162 simpleAuthLoginUrl: divaGlobal.auth_login_url, |
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
163 enableAutoTitle: false, |
7 | 164 enableGotoPage: false, |
204
964846688a95
imageServer view works now with Diva6 and SimpleAuth plugin.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
203
diff
changeset
|
165 zoomLevel: 1 |
7 | 166 }); |
167 }); | |
168 | |
169 | |
170 </script> | |
171 </head> | |
172 | |
173 <body bgcolor=white> | |
174 | |
175 <jsp:include page="header.jsp" /> | |
42 | 176 |
177 <form method="GET" action='https://images.rasi.mcgill.ca/pdfs/${digiBean.getDigiLabel()}.pdf'> | |
178 <button type="submit" style="font-size: 12; float: right; width: 100px; margin-right: 33px; margin-top: -10px;">Download PDF</button> | |
179 </form> | |
180 | |
7 | 181 <div class="custom-container"> |
182 | |
183 <div class="row-fluid"> | |
30
672301480990
Fixed: Layout issues and discrepancies on "public codices" + "image server" pages
arussell
parents:
7
diff
changeset
|
184 <div id="attributesPanel" class="span4 page" style="min-height: 700px;"> |
672301480990
Fixed: Layout issues and discrepancies on "public codices" + "image server" pages
arussell
parents:
7
diff
changeset
|
185 <a class="ismi-fullscreen-icon" href="#" data-in-fullscreen-mode="true"></a> |
672301480990
Fixed: Layout issues and discrepancies on "public codices" + "image server" pages
arussell
parents:
7
diff
changeset
|
186 |
34
9087a4623a08
Temporary Fix: Minor layout issues with info box on left of codex pages.
arussell
parents:
30
diff
changeset
|
187 <div class="attPanel" style="height: 700px; overflow: auto;"> |
7 | 188 |
30
672301480990
Fixed: Layout issues and discrepancies on "public codices" + "image server" pages
arussell
parents:
7
diff
changeset
|
189 <input type='hidden' name='csrfmiddlewaretoken' value='psDBHsF5a1mttLSKeUgoUUVN3HL6f8Re' /> |
7 | 190 |
191 <c:if test="${digiBean.getDigi() != null}"> | |
192 | |
193 <input type="hidden" id="digi_id" value="${digiBean.getDigi().getId()}"> | |
194 | |
195 <div class="divaBackgroud"> | |
196 | |
197 <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> | |
198 | |
199 <h4><%=digiBean.getDigiLabel()%></h4> | |
200 | |
201 <c:if test="${digiBean.getWitnessList().size() > 0}"> | |
202 <span class="titlePanel">Titles in this Codex</span> | |
203 | |
204 <table class="table table-bordered table-condensed divaPanel"> | |
205 <thead> | |
206 <tr> | |
207 <th class="tableHead">Title</th> | |
208 <th class="tableHead">Folios</th> | |
209 </tr> | |
210 </thead> | |
211 <tbody> | |
212 <c:forEach var="witness" items="${digiBean.getWitnessList()}"> | |
213 <tr> | |
214 <td class="tdTitle"> | |
215 <c:out value="[${witness.id}] ${witness.title}"/> | |
216 <a target="_blank" | |
217 href="<c:out value='../search/displayTitle.xhtml?witnessId=${witness.id}#witnesses'/>"> | |
218 <img src="../resources/images/display_32.png" alt="Display witness" width="20" height="20" > | |
219 </a> | |
220 <a target="_blank" | |
221 href="<c:out value='../browse/entityDetails.xhtml?eid=${witness.id}'/>"> | |
222 <img src="../resources/images/network_32.png" alt="show witness" | |
223 width="20" height="20"> | |
224 </a> | |
225 <c:if test="${digiBean.canEdit()}"> | |
226 <a target="_blank" | |
227 href="<c:out value='../entry/createEntity.xhtml?eid=${witness.id}'/>"> | |
228 <img src="../resources/css/xp/css-images/edit.gif" alt="Edit codex" > | |
229 </a> | |
230 </c:if> | |
231 </td> | |
232 <td class="columnCentered"> | |
233 <a id="witness-link-${witness.id}" class="go-to-witness-link" data-start="${witness.startPage}" href="#"> | |
234 <c:out value="${witness.folios}"/> | |
235 </a> | |
236 </td> | |
237 </tr> | |
238 </c:forEach> | |
239 </tbody> | |
240 </table> | |
241 </c:if> | |
242 | |
243 <h4>Unknown titles in this Codex</h4> | |
244 <c:forEach var="witness" items="${digiBean.getUnknownList()}"> | |
245 <a id="witness-link-${witness.id}" class="go-to-witness-link" data-start="${witness.startPage}" href="#"> | |
246 <c:out value="${witness.folios}"/> | |
247 </a> | |
248 </c:forEach> | |
249 | |
250 <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> | |
251 | |
252 <h4>Edit Folio/Image Correspondence</h4> | |
253 | |
254 | |
255 <div id="page-jump-group" class="control-group"> | |
256 <label for="page-jump" class="control-label">Go to page: </label> | |
257 <div class="controls" id="page-jump-controls"> | |
258 <input id="page-jump" type="text" class="form-control"> | |
259 </div> | |
260 </div> | |
261 | |
262 <p> | |
263 <strong>Current Page Index:</strong> <span id="current-page-idx"></span> | |
264 </p> | |
265 <p> | |
266 <strong>Page Filename:</strong> <span id="current-page-fn"></span> | |
267 </p> | |
268 | |
269 <table> | |
270 <tr> | |
271 <td> | |
272 <span class="titlePanel">[${digiBean.getDigi().getId()}] Digitalization</span> | |
273 <c:if test="${digiBean.canEdit()}"> | |
274 <a href="<c:out value='../entry/createEntity.xhtml?eid=${digiBean.getDigi().getId()}'/>"> | |
275 <img src="../resources/css/xp/css-images/edit.gif" alt="Edit digitalization" > | |
276 </a> | |
277 </c:if> | |
278 <table class="divaPanel"> | |
279 <tr> | |
280 <td class="tdTitle">Name</td> | |
281 <td class="tdContent"><c:out value="${digiBean.getName()}"></c:out> </td> | |
282 </tr> | |
283 <tr> | |
284 <td class="tdTitle">Number of files</td> | |
285 <td class="tdContent"><c:out value="${digiBean.getNumFiles()}"></c:out> </td> | |
286 </tr> | |
287 </table> | |
288 </td> | |
289 </tr> | |
290 <tr> | |
291 <td> | |
292 <c:if test="${digiBean.getCodex() == null}"> | |
293 <span class="titlePanel">Codex not yet assigned!</span> | |
294 </c:if> | |
295 | |
296 <c:if test="${digiBean.getCodex() != null}"> | |
297 <span class="titlePanel">[${digiBean.getCodex().getId()}] Codex</span> | |
298 <c:if test="${digiBean.canEdit()}"> | |
299 <a href="<c:out value='../entry/createEntity.xhtml?eid=${digiBean.getCodex().getId()}'/>"> | |
300 <img src="../resources/css/xp/css-images/edit.gif" alt="Edit codex" > | |
301 </a> | |
302 </c:if> | |
303 <table class="divaPanel"> | |
304 <tr> | |
305 <td class="tdTitle">Own Value</td> | |
306 <td class="tdTitle"><c:out value="${digiBean.getCodex().getOv()}"></c:out> </td> | |
307 </tr> | |
308 <tr> | |
309 <td class="tdTitle">Shelf Mark</td> | |
310 <td class="tdContent"><c:out value="${digiBean.getCodex().getIdentifier()}"></c:out> </td> | |
311 </tr> | |
312 <tr> | |
313 <td class="tdTitle">Collection</td> | |
314 <td class="tdContent"><c:out value="${digiBean.getCodex().getCollection()}"></c:out> </td> | |
315 </tr> | |
316 <tr> | |
317 <td class="tdTitle">Repository</td> | |
318 <td class="tdContent"><c:out value="${digiBean.getCodex().getRepository()}"></c:out> </td> | |
319 </tr> | |
320 <tr> | |
321 <td class="tdTitle">City</td> | |
322 <td class="tdContent"><c:out value="${digiBean.getCodex().getCity()}"></c:out> </td> | |
323 </tr> | |
324 <tr> | |
325 <td class="tdTitle">Country</td> | |
326 <td class="tdContent"><c:out value="${digiBean.getCodex().getCountry()}"></c:out> </td> | |
327 </tr> | |
328 </table> | |
329 | |
330 <c:if test="${digiBean.getWitnessList().size() > 0}"> | |
331 <span class="titlePanel">Witnesses in Codex</span> | |
332 <table id="witness-edit" class="table table-bordered table-condensed divaPanel"> | |
333 <thead> | |
334 <tr> | |
335 <th></th> | |
336 <th class="tableHead">Start</th> | |
337 <th class="tableHead">End</th> | |
338 </tr> | |
339 </thead> | |
340 <tbody> | |
341 <c:forEach var="witness" items="${digiBean.getWitnessList()}"> | |
342 <tr> | |
343 <td> | |
344 <table class="witnessTableDetail"> | |
345 <tr> | |
346 <td class="tdTitle"> | |
347 <c:out value="[${witness.id}]"/> | |
348 </td> | |
349 </tr> | |
350 <tr> | |
351 <td class="tdTitle"> | |
352 <c:out value="${witness.title}"/> | |
353 </td> | |
354 </tr> | |
355 <tr> | |
356 <td class="tdTitle"> | |
357 <c:out value="Folios: ${witness.folios}"/> | |
358 </td> | |
359 </tr> | |
360 <tr> | |
361 <td > | |
362 <a href="<c:out value='../browse/entityDetails.xhtml?eid=${witness.id}'/>"> | |
363 <img src="../resources/images/network_32.png" alt="show witness" | |
364 width="20" height="20"> | |
365 </a> | |
366 <c:if test="${digiBean.canEdit()}"> | |
367 <a href="<c:out value='../entry/createEntity.xhtml?eid=${witness.id}'/>"> | |
368 <img src="../resources/css/xp/css-images/edit.gif" alt="Edit codex" > | |
369 </a> | |
370 </c:if> | |
371 </td> | |
372 </tr> | |
373 </table> | |
374 </td> | |
375 | |
376 <td class="columnCentered"> | |
377 <input | |
378 id="input-start-page-<c:out value="${witness.id}"/>" | |
379 data-witness="<c:out value="${witness.id}"/>" | |
380 type="text" | |
381 readonly="readonly" | |
382 value="<c:out value="${witness.startPage}"/>" class="inputPageNumber"> | |
383 <c:if test="${digiBean.canEdit()}"> | |
384 <button class="set-start-set ismi-button" data-witness="<c:out value="${witness.id}"/>">Set Start</button> | |
385 <button class="set-start-reset ismi-button" data-witness="<c:out value="${witness.id}"/>">Reset Start</button> | |
386 </c:if> | |
387 </td> | |
388 | |
389 <td class="columnCentered"> | |
390 <input | |
391 id="input-end-page-<c:out value="${witness.id}"/>" | |
392 data-witness="<c:out value="${witness.id}"/>" | |
393 type="text" | |
394 readonly="readonly" | |
395 value="<c:out value="${witness.endPage}"/>" class="inputPageNumber"> | |
396 <c:if test="${digiBean.canEdit()}"> | |
187
be6bc580b137
changed "update" method for witness page number in displayDigi.jsp to use POST. changed receiving method in RestWitness.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
155
diff
changeset
|
397 <button class="set-end-set ismi-button" data-witness="<c:out value="${witness.id}"/>">Set End</button> |
be6bc580b137
changed "update" method for witness page number in displayDigi.jsp to use POST. changed receiving method in RestWitness.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
155
diff
changeset
|
398 <button class="set-end-reset ismi-button" data-witness="<c:out value="${witness.id}"/>">Reset End</button> |
7 | 399 </c:if> |
400 </td> | |
401 <c:if test="${digiBean.canEdit()}"> | |
402 <td class="columnCentered"> | |
403 <button class="update-witness ismi-button" data-witness="<c:out value="${witness.id}"/>">Update</button> | |
404 </td> | |
405 </c:if> | |
406 </tr> | |
407 </c:forEach> | |
408 </tbody> | |
409 </table> | |
410 </c:if> | |
411 | |
412 </c:if> | |
413 | |
414 </td> | |
415 </tr> | |
416 </table> | |
417 </div> | |
418 </c:if> | |
419 | |
420 | |
421 </div> | |
422 </div> | |
423 <div class="span8"> | |
424 <input type='hidden' name='csrfmiddlewaretoken' value='psDBHsF5a1mttLSKeUgoUUVN3HL6f8Re' /> | |
425 <div id="diva-wrapper"></div> | |
426 </div> | |
427 </div> | |
428 </div> | |
429 | |
430 | |
431 </body> | |
432 </html> |