LP1895678: Bring course materials into the bootstrap OPAC
[Evergreen.git] / Open-ILS / src / templates-bootstrap / opac / course_browse.tt2
1 [%-
2
3     PROCESS "opac/parts/header.tt2";
4     PROCESS "opac/parts/misc_util.tt2";
5     PROCESS "opac/parts/org_selector.tt2";
6     WRAPPER "opac/parts/base.tt2";
7     INCLUDE "opac/parts/topnav.tt2";
8
9     ctx.page_title = l("Browse Courses");
10     blimit = CGI.param('blimit') || ctx.opac_hits_per_page || 10;
11     display_idx = CGI.param('didx') || ctx.match_idx || 0;
12
13     upper_limit = 0;
14     lower_limit = 0;
15     depart_list = ['blimit', 'bterm', 'bpivot'];
16     ctx.metalinks.push('<meta name="robots" content="noindex,follow">');
17 %]
18
19 <h2 class="sr-only">[% l('Course Browse') %]</h2>
20
21 <div id="content-wrapper" class="my-5">
22   <div class="container mx-auto w-75">
23     <div id="browse-for-courses">
24       <div id="browse-controls" class='row'>
25         <form method="get" onsubmit="$('browse-submit-spinner').className = ''; return true" class="mx-auto">
26           <input type="hidden" name="blimit"
27             value="[% blimit | html %]" />
28           [% control_qtype = INCLUDE "opac/parts/course_search/qtype_selector.tt2"
29             id="browse-search-class" browse_only=1 plural=1 %]
30
31           [% control_bterm = BLOCK %]
32             <input type="text" name="bterm" id="browse-term" 
33               aria-label="[% l('Browse term') %]"
34               value="[% CGI.param('bterm') | html %]">
35           [% END; #control_bterm BLOCK %]
36
37           [% control_locg = INCLUDE build_org_selector id='browse-context'
38             show_log_groups=1 arialabel=l('Select owning Library') %]
39
40           [% l('Browse for [_1] starting with [_2] in [_3]',
41               control_qtype, control_bterm, control_locg) %]
42
43           <button id='search-submit-go' type="submit" class="btn btn-confirm my-2"><i class="fas fa-book-reader" aria-hidden="true"></i> [% l('Browse') %]</button>
44           <img id="browse-submit-spinner" class="hidden"
45             style="width: 16px; height: 16px;"
46             alt="[% l('Search in progress icon') %]"
47             src="[% ctx.media_prefix %]/opac/images/progressbar_green.gif[% ctx.cache_key %]" />
48         </form>
49       </div>
50
51       [% BLOCK browse_pager %]
52         [%
53             pivot_lower = CGI.param('didx') - blimit;
54             pivot_higher = CGI.param('didx') + blimit;
55             IF pivot_lower < 0;
56                 pivot_lower = 0;
57             END;
58             IF CGI.param('didx') <= 0;
59                 lower_limit = 1;
60             ELSE;
61                 lower_limit = 0;
62             END;
63
64             IF pivot_higher > ctx.browse_results.size;
65                 pivot_higher = ctx.browse_results.size - (blimit + 1);
66                 upper_limit = 1;
67             ELSE;
68                 upper_limit = 0;
69             END;
70         %]
71         [% IF ctx.browse_results.size >= blimit %]
72         <div class="browse-pager">
73             [% IF lower_limit == 0 %]
74             <a class="opac-button" href="[% mkurl('', {didx => pivot_lower}) %]" 
75               onclick="$('browse-pager-spinner-[% id %]').className = '';"
76             >&larr; [%l ('Back') %]</a>
77             [% END %]
78             [% IF upper_limit == 0 %]
79             <a class="opac-button" href="[% mkurl('', {didx => pivot_higher}) %]"
80               onclick="$('browse-pager-spinner-[% id %]').className = '';"
81             >[%l ('Next') %] &rarr;</a>
82             [% END %]
83           <img id="browse-pager-spinner-[% id %]" 
84             src="[% ctx.media_prefix %]/opac/images/progressbar_green.gif[% ctx.cache_key %]"
85             class="hidden" style="width: 16px; height: 16px;" 
86             alt="[% l('Search in progress icon') %]" />
87         </div>
88         [% END %]
89       [% END %]
90
91       [% PROCESS browse_pager id=0 %]
92
93       <div id="browse-results">
94         [% IF ctx.browse_error %]
95           <span class="browse-error">
96             [% l("An error occurred browsing records. " _
97               "Please try again in a moment or report the issue " _
98               "to library staff.") %]
99           </span>
100         [% ELSE %]
101           [% IF ctx.browse_leading_article_warning %]
102             <div class="browse-leading-article-warning">
103               [% l("Your browse term seems to begin with an article (a, an, the). You might get better results by omitting the article.") %]
104               [% IF ctx.browse_leading_article_alternative %]
105                 <p>[% alternative_link = BLOCK %]
106                   <a href="[% mkurl('', {bterm => ctx.browse_leading_article_alternative}, ['bpivot']) %]">[% ctx.browse_leading_article_alternative | html %]</a>
107                 [%-  END; # alternative_link BLOCK
108                 l("Did you mean [_1]?", alternative_link);
109               END # IF %]
110               </p>
111             </div>
112           [% END # IF browse leading article warning %]
113
114           <ul class="browse-result-list">
115           [% FOR result IN ctx.browse_results %]
116             [% IF result.browse_index >= CGI.param('didx') &&
117               result.browse_index <= (CGI.param('didx') + blimit - 1) %]
118             <li class="browse-result">
119               <span class="browse-result-value[% result.match == 1 ? ' browse-result-best-match' : '' %]">
120                 [% IF result.results_count > 0 %]
121                   <a href="[% mkurl(ctx.opac_root _ '/course/results', {
122                     'query' => result.value, 'bool' => 'and'}
123                   )%]">[% result.value | html %]</a>
124                   <span class="browse-result-sources">([%
125                     IF result.accurate == 'f';
126                       l("At least"); " ";
127                     END; #result.accurate IF
128                   result.results_count %])</span>
129                 [% ELSE %]
130                   [% result.value | html %]
131                 [% END; #result.sources IF %]
132               </span>
133             </li>
134             [% END %]
135           [% END; #result in browse_results %]
136           </ul>
137         [% END; #browse error ELSE %]
138       </div>
139
140       [% PROCESS browse_pager id=1 %]
141     </div>
142
143     <div class="common-full-pad"></div>
144   </div>
145 </div>
146
147 [% END %]