]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/opac/parts/record/extras.tt2
LP#1685840: Dojoless Google Books Preview
[Evergreen.git] / Open-ILS / src / templates / opac / parts / record / extras.tt2
1 [%
2     arrow_right = '►';
3     arrow_down = '▼';
4 %]
5 <div>
6     <div id='rdetail_extras_div' style='width: 100%;'> 
7         [%
8             IF ctx.google_books_preview;
9                 label = l('Google Preview');
10                 name = 'google_preview';
11         %]
12         <div id="gbp_extra" class="rdetail_extras">
13             <div class="rdetail_extras_hr"></div>
14             <div id="gbp_extra_links" class="rdetail_extras_link">
15                 <a id='gbp_arrow_link' name='[% name %]' class='rdetail_extras_lbl'>[% arrow_right %]</a>
16                 <a id='gbp_arrow_down_link' name='[% name %]' class='rdetail_extras_lbl'>[% arrow_down %]</a>
17                 <a name='[% name %]_lbl' class="rdetail_extras_lbl">[% label %]</a></div>
18         </div>
19         <div id="gbp_extra_container" class='rdetail_extras_div'></div>
20         [%  END %]
21
22         [%  # Hidden extras are not yet implemented.  Some may require JS
23
24         MACRO tab_is_active(tab) BLOCK;
25             exp_name = 'expand_' _ tab;
26             IF ctx.$exp_name OR ctx.expand_all; 1; END;
27         END;
28
29         # Let's see if we should hide the content cafe / simple summary content
30         hide_summary = 1;
31         IF attrs.summaries.0; hide_summary = 0; ELSE;
32             # Expose content cafe if it's reasonable to do so.
33             # This approach only works when using embedded content cafe.
34             IF ENV.OILS_CONTENT_CAFE_USER; 
35                 ident = attrs.isbn_clean || attrs.upc; 
36                 IF ident; hide_summary = 0; END;
37             END;
38         END;
39
40         # if no added content is available, hide the main tab.
41         # if any content is available, use the first tab as the default display tab.
42         default_ac = '';
43         IF !tab_is_active('addedcontent');
44             hide_ac = 1;
45             FOR type IN ctx.added_content.keys;
46                 IF ctx.added_content.$type.status != '2'; # not available
47                     hide_ac = 0;
48                 END;
49                 IF ctx.added_content.$type.status == '1';
50                     SET default_ac = type UNLESS default_ac;
51                 END;
52             END;
53         END;
54
55         extras = [
56             {name => 'summaryplus',  label => l('Summaries & More'), hide => hide_summary},
57             {name => 'annotation', label => l('Annotation'), hide => 1}, 
58             {name => 'awards',  label => l('Awards, Reviews, & Suggested Reads')}, 
59             {name => 'excerpt',  label => l('Excerpt'), hide => 1},
60             {name => 'issues',   label => l('Issues Held'), hide => !(ctx.have_holdings_to_show || ctx.have_mfhd_to_show)},
61             {name => 'preview',  label => l('Preview'), hide => 1}, 
62             {name => 'addedcontent',  label => l('Additional Content'), hide => hide_ac},  # hide if all content is known to not exist
63             {name => 'cnbrowse', label => l('Shelf Browser')},
64             {name => 'marchtml', label => l('MARC Record')}
65         ];
66
67         FOREACH extra IN extras;
68             IF extra.hide; NEXT; END; 
69             name = extra.name;
70         %]
71         <div class="rdetail_extras">
72             <div class="rdetail_extras_hr"></div>
73             <div class="rdetail_extras_link">
74                 [%  
75                     IF tab_is_active(name);
76                         href = mkurl('', {}, ['expand', 'ac']);
77                         arrow = arrow_down;
78                     ELSE;
79                         IF name == 'addedcontent' AND default_ac;
80                             href = mkurl('', {expand => name, ac => default_ac}) _ '#' _ name; 
81                         ELSE;
82                             href = mkurl('', {expand => name}) _ '#' _ name; 
83                         END;
84                         arrow = arrow_right;
85                     END;
86                 %]
87                 <a name='[% name %]' href='[% href %]' class="rdetail_extras_lbl" rel="nofollow" vocab="">[% arrow %] [% extra.label | html %]</a>
88             </div>
89         </div>
90         <div class='rdetail_extras_div'>
91             [%  IF tab_is_active(name);
92                     IF name == 'marchtml';
93                         ctx.marchtml;
94                     ELSE;
95                         # Load the template for the selected extra
96                         INCLUDE "opac/parts/record/${name}.tt2";
97                     END;
98                 END; 
99             %]
100         </div>
101         [% END %]
102     </div>
103 </div>