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