]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/templates-bootstrap/opac/parts/record/summary.tt2
LP1955403-Bootstrap opac - Google Books preview not rendering.
[working/Evergreen.git] / Open-ILS / src / templates-bootstrap / opac / parts / record / summary.tt2
1 [% PROCESS "opac/parts/misc_util.tt2";
2 USE ResolverResolver;
3 ctx.page_title = attrs.title | html
4 ctx.metalinks.push('
5 <meta property="og:image" content="' _ ctx.media_prefix _ '/opac/extras/ac/jacket/large/r/' _ ctx.bre_id _ '" />');
6 %]
7 <!-- ****************** rdetail_summary.xml ***************************** -->
8 <abbr class="unapi-id" title='tag:[% ctx.hostname %],[% date.format(date.now, ' %Y') %]:biblio-record_entry/[%
9     ctx.bre_id %]'></abbr>
10
11 <hr />
12
13 [%-# This holds the record summary information %]
14 <div class="row">
15     <div class="col-lg-3">
16         <div id="rdetail_image_div" class="w-100 text-center">
17             [%- IF obalkyknih_cz.enabled == 'true' %]
18             [%-
19             isbnissn = '';
20             IF attrs.isbns.0;
21             isbnissn = attrs.isbns.0;
22             IF (matches = isbnissn.match('^(.+?)(\s.+)$'));
23             isbnissn = matches.0;
24             END;
25             END;
26             IF attrs.issns.0;
27             isbnissn=attrs.issns.0;
28             END;
29             %]
30             <a href='http://obalkyknih.cz/view?isbn=[% isbnissn %]'>
31                 <img alt="[% attrs.title _ ' Cover Image' | html %]" class='img-thumbnail w-auto'
32                     src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' />
33             </a>
34             [% ELSE %]
35             <a href='[% ctx.media_prefix %]/opac/extras/ac/jacket/large/r/[% ctx.bre_id | uri %]'><img
36                     alt="[% attrs.title _ ' Cover Image' | html %]" class='img-thumbnail w-auto'
37                     src='[% ctx.media_prefix %]/opac/extras/ac/jacket/[% record.summary.jacket_size %]/r/[% ctx.bre_id | uri %]' />
38             </a>
39             [%- END %]
40
41             [%- IF attrs.format_label %]
42             [% FOR format IN attrs.all_formats %]
43             <span style="font-size:14px;" class="mt-3 d-block">
44                 <img alt="[% format.label | html %]" src="[% format.icon %]" />
45                 [% format.label | html %]
46             </span>
47             [% END %]
48             [%- END %]
49
50
51
52
53         </div>
54     </div>
55
56     <div class="col-lg-9">
57         <div class="row h-100">
58             <div class="col-lg-8">
59                 <div id="rdetail_title_div">
60                 <h1 id="rdetail_title" class='h1' property="name">[% IF attrs.hl.title; attrs.hl.title; ELSE; attrs.title_extended | html; END %]</h1>
61                 [%-
62                 FOR link880 IN attrs.graphic_titles;
63                 FOR alt IN link880.graphic;
64                 '<h2 class="graphic880"';
65                     IF alt.dir;
66                         ' dir="' _ alt.dir _ '"';
67                     END;
68                     '>'; alt.value | html; '</h2>';
69                 END;
70                 END;
71                 -%]
72                 [%- INCLUDE "opac/parts/record/authors.tt2" %]
73                 [%- INCLUDE "opac/parts/record/contents-summaryonly.tt2" %]
74                 </div>
75                 <div>
76                     <button id="btnMore" data-toggle="collapse" data-target="#demo"
77                         class="btn btn-action btn-sm my-3"><i class="fas fa-info-circle" aria-hidden="true"></i> [%l ("More Details") %]</button>
78                     <div id="demo" class="collapse">
79                         <h2 class='rdetail_record_details'>[% l("Record details") %]</h2>
80                         <ul class="list-unstyled">
81                             [%- IF attrs.hl.isbn.size; FOR isbn IN attrs.hl.isbn %]
82                             <li class='rdetail_isbns'>
83                                 <strong class='rdetail_label'>[% l('ISBN:'); %]</strong> 
84                                 <span class='rdetail_value' property='isbn'>[% isbn | html %]</span>
85                             </li>
86                             [%- END; ELSIF attrs.isbns.0;
87                             FOR isbn IN attrs.isbns;
88                             isbn_extra = '';
89                             IF (matches = isbn.match('^(.+?)(\s.+)$'));
90                             isbn = matches.0;
91                             isbn_extra = matches.1;
92                             END;
93                             %]
94                             <li class='rdetail_isbns'>
95                                 <strong class='rdetail_label'>[% l('ISBN:'); %]</strong>
96                                 <span class='rdetail_value' property='isbn'>[% isbn | html %]</span>[% isbn_extra | html
97                                 %]
98                             </li>
99                             [%- END %]
100                             [%- END %]
101                             [%- IF attrs.hl.issn.size; FOR issn IN attrs.hl.issn %]
102                             <li class='rdetail_issns'>
103                                 <strong class='rdetail_label'>[% l('ISSN:'); %]</strong> [% issn %]
104                             </li>
105                             [%- END; ELSIF attrs.issns.0; FOR issn IN attrs.issns %]
106                             <li class='rdetail_issns'>
107                                 <strong class='rdetail_label'>[% l('ISSN:'); %]</strong>
108                                 <span class='rdetail_value'>[% issn | html %]</span>
109                             </li>
110                             [%- END %]
111                             [%- END %]
112                             [%- IF attrs.hl.physical_description.size %]
113                             [%-
114                                 filtered_hl_phys_desc = [];
115                                 FOR hl_phys_desc IN attrs.hl.physical_description;
116                                     hl_phys_desc = hl_phys_desc;
117                                     filtered_hl_phys_desc.push(hl_phys_desc);
118                                 END;
119                             -%]
120                             <li id='rdetail_phys_desc'>
121                                 <strong class='rdetail_label'>[% l("Physical Description:") %]</strong>
122                                 <span class='rdetail_value' highlighted='true'>[%
123                                     filtered_hl_phys_desc.join('<br/>') %]</span>
124                             </li>
125                             [%- ELSIF attrs.phys_desc %]
126                             <li id='rdetail_phys_desc'>
127                                 <strong class='rdetail_label'>[% l("Physical Description:") %]</strong>
128                                 <span class='rdetail_value'>[% attrs.phys_desc | html %]</span>
129                             </li>
130                             [%- END %]
131                             [%- IF attrs.hl.edition %]
132                             <li id='rdetail_edition'>
133                                 <strong class='rdetail_label'>[% l("Edition:") %]</strong>
134                                 <span class='rdetail_value' highlighted='true'>[% attrs.hl.edition %]</span>
135                                 [%- ELSIF attrs.edition %]
136                             <li id='rdetail_edition'>
137                                 <strong class='rdetail_label'>[% l("Edition:") %]</strong>
138                                 <span class='rdetail_value'>[% attrs.edition | html %]</span>
139                                 [%-
140                                 FOR entry IN attrs.graphic_editions;
141                                 FOR alt IN entry.graphic;
142                                 diratt = "";
143                                 IF alt.dir;
144                                 diratt = ' dir="' _ alt.dir _ '"';
145                                 END;
146                                 -%]
147                                 <div class="graphic880 rdetail_value" [% diratt %]>
148                                     [% alt.value | html %]
149                                 </div>
150                                 [%-
151                                 END;
152                                 END;
153                                 -%]
154                             </li>
155                             [%- END %]
156                             [%- IF attrs.hl.publisher %]
157                             <li id='rdetail_publisher'>
158                                 <strong class='rdetail_label'>[% l("Publisher:") %]</strong>
159                                 <span class='rdetail_value' highlighted='true'>[% attrs.hl.publisher %]</span>
160                             </li>
161                             [%- ELSIF attrs.publisher %]
162                             <li id='rdetail_publisher'>
163                                 <strong class='rdetail_label'>[% l("Publisher:") %]</strong>
164                                 <span class='rdetail_value' property="publisher" typeof="Organization">
165                                     [%- IF attrs.pubplace; %]
166                                     <span property="location">[% attrs.pubplace | html; %]</span>
167                                     [%- END; %]
168                                     <span property="name">[% attrs.publisher | html; %]</span>
169                                 </span>
170                                 [%- IF attrs.pubdate; %]
171                                 <span property="datePublished">[% attrs.pubdate | html; %]</span>
172                                 [%- END; %]
173                                 [%-
174                                 IF attrs.graphic_pubinfos.size > 0;
175                                 FOR entry IN attrs.graphic_pubinfos;
176                                 FOR alt IN entry.graphic;
177                                 diratt = "";
178                                 IF alt.dir;
179                                 diratt = ' dir="' _ alt.dir _ '"';
180                                 END;
181                                 -%]
182                                 <div class="graphic880" [% diratt %]>
183                                     [% alt.value | html %]
184                                 </div>
185                                 [%-
186                                 END;
187                                 END;
188                                 END
189                                 -%]
190                             </li>
191                             [%- END %]
192                             [%- IF attrs.producer %]
193                             <li id='rdetail_producer'>
194                                 <strong class='rdetail_label'>[% l("Producer:") %]</strong>
195                                 <span class='rdetail_value'>
196                                     [%- IF attrs.prodplace; %]
197                                     <span>[% attrs.prodplace | html; %]</span>
198                                     [%- END; %]
199                                     <span>[% attrs.producer | html; %]</span>
200                                     [%- IF attrs.proddate; %]
201                                     <span>[% attrs.proddate | html; %]</span>
202                                     [%- END; %]
203                                 </span>
204                             </li>
205                             [%- END %]
206                             [%- IF attrs.distributor %]
207                             <li id='rdetail_distributor'>
208                                 <strong class='rdetail_label'>[% l("Distributor:") %]</strong>
209                                 <span class='rdetail_value'>
210                                     [%- IF attrs.distplace; %]
211                                     <span>[% attrs.distplace | html; %]</span>
212                                     [%- END; %]
213                                     <span>[% attrs.distributor | html; %]</span>
214                                     [%- IF attrs.distdate; %]
215                                     <span>[% attrs.distdate | html; %]</span>
216                                     [%- END; %]
217                                 </span>
218                             </li>
219                             [%- END %]
220                             [%- IF attrs.manufacturer %]
221                             <li id='rdetail_manufacturer'>
222                                 <strong class='rdetail_label'>[% l("Manufacturer:") %]</strong>
223                                 <span class='rdetail_value' property="manufacturer" typeof="Organization">
224                                     [%- IF attrs.manplace; %]
225                                     <span property="location">[% attrs.manplace | html; %]</span>
226                                     [%- END; %]
227                                     <span property="name">[% attrs.manufacturer | html; %]</span>
228                                     [%- IF attrs.mandate; %]
229                                     <span>[% attrs.mandate | html; %]</span>
230                                     [%- END; %]
231                                 </span>
232                             </li>
233                             [%- END %]
234                             [%- IF attrs.copyright %]
235                             <li id='rdetail_copyright'>
236                                 <strong class='rdetail_label'>[% l("Copyright:") %]</strong>
237                                 <span class='rdetail_value'>[% attrs.copyright | html_entity; %]
238                                     [%-# Provide the 4-digit year, cleansed of '@' and other junk %]
239                                     [%- IF attrs.copyrightYear -%]
240                                     <meta property='copyrightYear' content='[% attrs.copyrightYear | html; %]'>
241                                     [%- END -%]
242                                 </span>
243                             </li>
244                             [%- END %]
245                             [%- IF (ctx.badge_scores.size > 0 && ctx.hide_badge_scores != 'true') %]
246                             <li id='rdetail_badges'>
247                                 <strong class='rdetail_label'>[% l("Badges:") %]</strong>
248                                 <ul>
249                                     [% FOR bscore IN ctx.badge_scores; %]
250                                     <li><strong>[% bscore.badge.name | html %]</strong>: [% bscore.score %] / 5.0</li>
251                                     [%- END -%]
252                                 </ul>
253                             </li>
254                             [%- END %]
255                         </ul>
256
257
258                         [%- INCLUDE "opac/parts/record/contents.tt2" %]
259                         [%- INCLUDE "opac/parts/record/subjects.tt2" %]
260                         [%- INCLUDE "opac/parts/record/series.tt2" %]
261
262                     </div>
263
264                 </div>
265                 <script>
266                     $(document).ready(function() {
267                         $('#demo').on('hidden.bs.collapse', function () {
268                             $('#btnMore').html("<i class='fas fa-info-circle' aria-hidden='true'></i> [%l ('More Details') %]");
269                         })
270                         $('#demo').on('shown.bs.collapse', function () {
271                             $('#btnMore').html("<i class='fas fa-info-circle' aria-hidden='true'></i> [%l ('Fewer Details') %]");
272                         })
273                     });
274                     </script>
275
276                <div id="copy_hold_counts">
277
278                 [%-
279                 # Hold/copy summary
280                 IF ctx.copy_summary.0.count;
281                 INCLUDE "opac/parts/record/copy_counts.tt2";
282                 %]
283
284
285                 [%- END %]
286
287                 </div> <!-- metarecord_population -->
288                         <div>
289                             [%-
290                             # l( 'mmr id = ' _ ctx.mmr_id );
291                             # l( 'mmr data = ' _ ctx.mmr_data );
292                             mmr_attrs = {marc_xml => ctx.mmr_data.marc_xml};
293                             save_args = args; # need to stash the original args
294                                               # until we're done processing the
295                                               # metarecord
296                             PROCESS get_marc_attrs args=mmr_attrs;
297
298                             IF args.mmr_unique_bib.size > 1;
299                             %]
300                             <h2 class="rdetail_other_formats">[% l("Other Formats and Editions") %]</h2>
301                             <span class="metarecord_population_format">
302                                 [%- IF mmr_attrs.format_label;
303
304                                 FOR format IN mmr_attrs.all_formats;
305
306                                 link = mkurl(ctx.opac_root _ '/record/' _ format.source_bibs.0);
307                                 IF format.source_bibs.size > 1;
308                                 link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord =>
309                                 ctx.mmr_id, 'fi:icon_format' => format.search_format, 'fi:from_metarecord' => ctx.mmr_id
310                                 }, stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms,
311                                 facet_search_parms,
312                                 ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord']) );
313                                 END; -%]
314                                 <span class="metarecord_population_span_link">
315                                     <a href="[%- l( link ) %]">
316                                         [% format.label | html %]
317                                         ([%- l( format.source_bibs.size ) %])
318                                     </a></span><br />
319
320                                 [%- END %]
321                             </span>
322                             [%- IF mmr_attrs.all_lang.size > 0 %]
323                             <span class="metarecord_population_item_lang">
324                                 [% FOR lang IN mmr_attrs.all_lang;
325                                 link = mkurl(ctx.opac_root _ '/record/' _ lang.source_bibs.0);
326                                 IF lang.source_bibs.size > 1;
327                                 USE url(ctx.opac_root _ '/results');
328                                 link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord =>
329                                 ctx.mmr_id, 'fi:item_lang' => lang.search_format, 'fi:from_metarecord' => ctx.mmr_id },
330                                 stop_parms.merge(expert_search_parms, general_search_parms, browse_search_parms,
331                                 facet_search_parms,
332                                 ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord']) );
333                                 END; -%]
334                                 <span class="metarecord_population_span_link">
335                                     <a href="[%- l( link ) %]">
336                                         [% lang.label | html %]
337                                         ([%- l( lang.source_bibs.size ) %])
338                                     </a></span><br />
339                                 [%- END %]
340                             </span> <!-- metarecord_population_item_lang -->
341                             [%- END %]
342                             <div class="metarecord_population_all">
343                                 [%
344                                 link = mkurl( ctx.opac_root _ '/results', { modifier => 'metabib', metarecord =>
345                                 ctx.mmr_id, 'fi:from_metarecord' => ctx.mmr_id }, stop_parms.merge(expert_search_parms,
346                                 general_search_parms, browse_search_parms, facet_search_parms,
347                                 ['qtype','fi:search_format','fi:icon_format','fi:item_lang','fi:from_metarecord'] ) );
348                                 %]
349                                 <span class="metarecord_population_span_link">
350                                     <a href="[%- l( link ) %]">[% l("View all formats and editions ") %] ([%-
351                                         args.mmr_unique_bib.size %])
352                                     </a></span><br />
353                             </div>
354                             [%- END;
355                             END # ending tag for IF args.mmr_unique_bib.size > 1; %]
356                             [% args = save_args; %]
357                         </div>
358
359             </div>
360             <!--rdetail_title_div-->
361
362             <div class="col-lg-4">
363              <div id="actions" class="mx-auto btn-group-vertical dropright mt-3">
364                 [%- search_ou = ctx.search_ou;
365                 IF ctx.place_unfillable ||
366                 ( attrs.marc_xml.findnodes('//*[local-name()="holdings" and @has_holdable="true"]').size
367                 && (ctx.holds_block.enabled != 'true' || !attrs.org_copy_counts.$search_ou.available)
368                 )
369                 %]
370                 
371                     <a class="btn btn-action no-dec" role="button" href="[% mkurl(ctx.opac_root _ '/place_hold',
372                     {hold_target => ctx.bre_id, hold_type => 'T', hold_source_page => mkurl()}, stop_parms) %]">
373                         <span class="place_hold"><i class="fas fa-check" aria-hidden="true"></i> [% l('Place Hold') %]</span></a>
374               
375                 [%- END -%]
376
377                 [%- IF ebook_api.enabled == 'true' && args.ebook %]
378               
379                     <div id="[%- ctx.bre_id -%]_ebook_checkout" class="rdetail_aux_utils ebook_action hidden">
380                         <a class="btn btn-action no-dec" role="button" href="[% mkurl(ctx.opac_root _ '/myopac/ebook_checkout',
381                     {title => args.ebook.ebook_id, vendor => args.ebook.vendor, action => 'checkout'}, stop_parms) %]"
382                             rel="nofollow" vocab="">
383                             <span class="place_hold"><i class="fas fa-check" aria-hidden="true"></i> [% l('Check Out E-Item') %]</span></a>
384                     </div>
385                
386                
387                     <div id="[%- ctx.bre_id -%]_ebook_place_hold" class="rdetail_aux_utils ebook_action hidden">
388                         <a class="btn btn-action no-dec" role="button" href="[% mkurl(ctx.opac_root _ '/myopac/ebook_place_hold',
389                     {title => args.ebook.ebook_id, vendor => args.ebook.vendor, action => 'place_hold'}, stop_parms) %]"
390                             rel="nofollow" vocab="">
391                             <span class="place_hold"><i class="fas fa-check" aria-hidden="true"></i> [% l('Place Hold on E-Item') %]</span></a>
392                     </div>
393                
394                 [%- END -%]
395
396
397                
398                     [% operation = ctx.mylist.grep('^' _ ctx.bre_id _ '$').size ? "delete" : "add";
399                     addhref = mkurl(ctx.opac_root _ '/mylist/add', {record => ctx.bre_id}, stop_parms);
400                     delhref = mkurl(ctx.opac_root _ '/mylist/delete', {record => ctx.bre_id}, stop_parms);
401                     label = (operation == "add") ? l("Add to Basket") : l("Remove from Basket");
402                     %]
403                     <a href="[% addhref %]" id="mylist_add_[% ctx.bre_id %]"
404                         data-recid="[% ctx.bre_id %]" data-action="add" role="button"
405                         class="btn btn-action mylist_action [% IF ctx.mylist.grep('^' _ ctx.bre_id _ '$').size %]hidden[% END %]"
406                         title="[% l(" Add [_1] to basket", attrs.title) | html %]" rel="nofollow" vocab="">
407                         <i class="fas fa-shopping-basket" aria-hidden="true"></i>
408                         [% l("Add to basket") %]
409                     </a>
410                     <a href="[% delhref %]" id="mylist_delete_[% ctx.bre_id %]"
411                         data-recid="[% ctx.bre_id %]" data-action="delete" role="button"
412                         class="btn btn-action mylist_action [% IF !ctx.mylist.grep('^' _ ctx.bre_id _ '$').size %]hidden[% END %]"
413                         title="[% l(" Remove [_1] from basket", attrs.title) | html %]" rel="nofollow" vocab="">
414                         <i class="fas fa-minus-circle" aria-hidden="true"></i>
415                         [% l("Remove from basket") %]
416                     </a>
417                
418                 [% IF ctx.mylist.size %]
419                
420                     [%- IF ctx.user; %]
421                     <a href="[% mkurl(ctx.opac_root _ '/myopac/lists') %]" class="btn btn-action" role="button" rel="nofollow" vocab=""><i class="fas fa-glasses" aria-hidden="true"></i> [% l(' View Basket') %]</a>
422                     [%- ELSE %]
423                     <a href="[% mkurl(ctx.opac_root _ '/mylist') %]" class="btn btn-action" role="button" rel="nofollow" vocab=""><i class="fas fa-glasses" aria-hidden="true"></i> [% l(' View My Basket') %]</a>
424                     [%- END %]
425               
426                 [% END %]
427
428                 [% IF !ctx.is_staff %]
429                     [% IF ctx.user; %]
430                     [% INCLUDE "opac/parts/bookbag_actions.tt2"; %]
431                     [% END %]
432                 [% END %]
433
434                
435                   
436                     <a href="[% mkurl(ctx.opac_root _ '/record/print_preview/' _ ctx.bre_id) %]" class="btn btn-action" role="button" rel="nofollow"
437                         vocab=""><i class="fas fa-print" aria-hidden="true"></i>[% l('Print') %]</a> 
438                     <a href="[% mkurl(ctx.opac_root _ '/record/email_preview/' _ ctx.bre_id) %]" class="btn btn-action" role="button" rel="nofollow"
439                         vocab=""> <i class="fas fa-envelope-open-text" aria-hidden="true"></i>[% l('Email') %]</a>
440                 
441                 [%- IF ctx.refworks.enabled == 'true' %]
442                 [%- INCLUDE 'opac/parts/record/refworks.tt2' %]
443                 [%- END %]
444                 [% IF !ctx.is_staff %]
445                 
446                     <a href="[% mkurl('', {locg =>CGI.param('locg'), copy_depth =>CGI.param('copy_depth')}, 1) %]"
447                         class="btn btn-action" role="button">
448                         <i class="fas fa-link" aria-hidden="true"></i>
449                         [% l('Permalink') %]
450                     </a>
451               
452                 [% END %]
453                 [% IF !search.no_highlight %]
454                
455                     [% IF CGI.param('no_highlight') %]
456                     <a class="btn btn-action no-dec" role="button" href="[% mkurl('', {}, ['no_highlight']) %]">
457                         [% ELSE %]
458                         <a href="[% mkurl('', {no_highlight => '1'}) %]" class="btn btn-action" role="button">
459                             [% END %]
460                             <i class="fas fa-highlighter" aria-hidden="true"></i>
461                             [% CGI.param('no_highlight') ? l('Enable Highlighting') : l('Disable Highlighting') %]
462                         </a>
463               
464                 [% END %]
465                 [%- IF ctx.is_staff %]
466                 
467                     <a href="[% ctx.media_prefix %]/opac/extras/ac/clearcache/all/r/[% ctx.bre_id | uri %]"
468                         class="btn btn-action" role="button" target="_blank">
469                         <i class="fas fa-sync-alt" aria-hidden="true"></i>
470                         [% l('Clear Added Content Cache') %]
471                     </a>
472                 
473                 [%- END %]
474
475             </div>
476
477         </div>
478     </div>
479 </div>
480 </div>
481 <div class="row">
482 <div class="col-12">
483
484         [%-
485         IF ctx.copy_summary.0.count;
486         INCLUDE "opac/parts/record/copy_table.tt2" copies=ctx.copies;
487         END;
488         %]
489
490
491         [%- IF openurl.enabled == 'true';
492         openurls = [];
493         FOREACH issn IN args.issns;
494         NEXT IF issn == '';
495         openurls = openurls.import(ResolverResolver.resolve_issn(issn, openurl.baseurl));
496         END;
497         IF openurls.size && openurls.0 != '';
498         %]
499         <div id='rdetail_openurl'>
500             <strong class='rdetail_openurl_title'>[% l("Electronic resources") %]</strong>
501             <table>
502                 <tbody>
503                     [%-
504                     FOREACH res IN openurls;
505                     %]
506                     <tr>
507                         <td class='rdetail_openurl_entry'><a href="[% res.target_url %]">[% res.public_name | html
508                                 %]</a></td>
509                         <td>[% res.target_coverage | html %]
510                             [%- IF res.target_embargo != '';
511                             ' - ';
512                             res.target_embargo | html;
513                             END;
514                             -%]
515                         </td>
516                     </tr>
517                     [%- END %]
518                 </tbody>
519             </table>
520         </div>
521         [%- END %]
522         [%- END %]
523         [%- merged_uris = args.uris.merge(args.online_res);
524         num_uris = merged_uris.size;
525         IF num_uris > 0;
526         -%]
527
528         <h2 class="rdetail_uris">[% l("Electronic resources") %]</h2>
529         <div class="rdetail_uris">
530             [%- IF num_uris > 1 %]<ul>[% END %]
531                 [%- FOR uri IN merged_uris %]
532                 [%-
533                     filtered_href = uri.href | html;
534                     filtered_link = uri.link ? uri.link : '' | html;
535                     filtered_note = uri.note ? uri.note : '' | html;
536                 -%]
537                 [%- IF num_uris == 1 -%]
538                 <p class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
539                     [%- ELSE -%]
540                     <li class="rdetail_uri" property="offers" vocab="http://schema.org/" typeof="Offer">
541                         [%- END -%]
542                         <a href="[% filtered_href %]" class="uri_link" property="url">
543                             [%- IF filtered_href != filtered_link;
544                             '<span property="description">' _ filtered_link _ '</span>';
545                             ELSE;
546                             filtered_link;
547                             END;
548                             -%]
549                         </a>
550                         [%-# ' - <span property="description">' _ filtered_note _ '</span>' IF filtered_note %]
551                         <link property="availability" href="http://schema.org/OnlineOnly" />
552                         [%- IF attrs.gtin13; '
553                         <meta property="gtin13" content="' _ attrs.gtin13 _ '" />'; END; %]
554                         [%- IF num_uris == 1 %]</p>[% ELSE %]</li>[% END %]
555                 [%- END; %]
556                 [%- IF num_uris > 1 %]</ul>[% END %]
557         </div>
558         [%- END; %]
559         [%
560         IF ebook_api.enabled == 'true';
561         INCLUDE "opac/parts/ebook_api/avail.tt2";
562         END;
563         %]
564     </div>
565 </div>
566 <hr>
567 <div class="row">
568     <div class="col-12">
569         [%- INCLUDE "opac/parts/record/extras.tt2" %]
570     </div>
571 </div>