]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates-bootstrap/opac/parts/advanced/search.tt2
LP1778972 A slew of updates
[Evergreen.git] / Open-ILS / src / templates-bootstrap / opac / parts / advanced / search.tt2
1 [%
2     PROCESS "opac/parts/misc_util.tt2";
3     PROCESS get_library;
4 %]
5 <form action="[% ctx.opac_root %]/results" method="get">
6 <div id='adv_global_search' class='data_grid data_grid_center'>
7     <div id='adv_search_rows' class="container">
8         <h1 class="text-center">Advanced Search</h1>
9         <h2 class="text-center">Refine your search by filling out one or more fields to search by below.</h2>
10         <div class='adv_global_input_container row'>
11             <table role="presentation" id="adv_global_input_table" class="mx-auto col-12">
12                 <tbody id="adv_global_tbody">
13                     [% INCLUDE "opac/parts/advanced/global_row.tt2" %]
14                     <!-- add a new row -->
15                     <tr id='adv_global_addrow' >
16                         <td class="td-search-left" colspan="2">
17                             <a class="btn btn-opac btn-sm" href="javascript:;" id="myopac_new_global_row" onclick='addSearchRow();'><i class="fas fa-plus-circle"></i> [% l('Add Search Row') %]</a>
18                         </td>
19                     </tr>
20                 </tbody>
21             </table>
22         </div>
23     </div>
24
25     <div class="my-5">
26         <h3>Search Filters</h3>
27         <div>
28             [% FOR adv_chunk IN search.adv_config; NEXT IF adv_chunk.adv_hide || (adv_chunk.adv_special && adv_chunk.adv_special != 'copy_location'); %]
29             <div class="pt-3">
30                 <div [% IF adv_chunk.js_only %] id='adv_chunk_[% adv_chunk.adv_special %]' class='hidden  accordion' [%ELSE%] class='accordion' [% END %]>
31                     <div class="card">
32                         <div class="card-header p-0" id="[% adv_chunk.id %]_card">
33                         <h4 class="mb-0">
34                             <button type="button" class="btn filter-header w-100 text-left" data-toggle="collapse" data-target="#[% IF adv_chunk.id == 'adv_copy_location_selector'; 'adv_copy_location_selector_new';  ELSE; adv_chunk.id; END; %]" aria-expanded="true" aria-controls="[% IF adv_chunk.id == 'adv_copy_location_selector'; 'adv_copy_location_selector_new';  ELSE; adv_chunk.id; END; %]">
35                             [% adv_chunk.adv_label %]
36                             </button>
37                         </h4>
38                     </div>
39                     
40                     <div id="[% IF adv_chunk.id == 'adv_copy_location_selector'; 'adv_copy_location_selector_new';  ELSE; adv_chunk.id; END; %]" class="collapse" aria-labelledby="[% adv_chunk.id %]_card" data-parent="#accordion">
41                     [% IF adv_chunk.id != 'adv_copy_location_selector';%]
42                         <div class="card-body">
43                         <fieldset>
44                         <legend class="sr-only"> [% adv_chunk.adv_label %]</legend>
45                        [% END; %]  
46                             [% IF adv_chunk.adv_attr;
47                                         INCLUDE "opac/parts/check_value_selector.tt2"
48                                             id=adv_chunk.id
49                                             attr=adv_chunk.adv_attr multiple="multiple"
50                                             size=adv_chunk.adv_size || search.default_adv_select_height || "4";
51                             ELSIF adv_chunk.adv_filter;
52                                         INCLUDE "opac/parts/filter_group_selector.tt2"
53                                             id=adv_chunk.id
54                                             filter_group=adv_chunk.adv_filter multiple="multiple"
55                                             size=adv_chunk.adv_size || search.default_adv_select_height || "4"; 
56                             END; %] 
57                             [% IF adv_chunk.id != 'adv_copy_location_selector';%]
58                         </fieldset>   
59                          [% END; %]   
60                         </div>
61                     </div> 
62                 </div></div>
63             </div>
64             [%END;%]
65         </div>
66     </div>       
67          
68     <!--Bottom Content (Library/Pub Year/Sort and Limit/Format Checkboxes -->
69     <div class="row adv_options">
70         [% FOR adv_chunk IN search.adv_config; NEXT IF adv_chunk.adv_hide || adv_chunk.adv_special == 'copy_location';%]                  
71         [%      IF adv_chunk.adv_special;%]
72         <div class='col-12 my-2'>
73             <div [% IF adv_chunk.js_only %] id='adv_chunk_[% adv_chunk.adv_special %]' class='hidden' [% END %]>
74                 <strong><label for="[% adv_chunk.id %]"> [% adv_chunk.adv_label %] </label></strong>
75                     [% IF adv_chunk.adv_special == "lib_selector"; PROCESS "opac/parts/org_selector.tt2"; INCLUDE build_org_selector show_loc_groups=1 id=adv_chunk.id %]
76                     [% ELSIF adv_chunk.adv_special == "pub_year"; %]
77                     <div id='adv_special_block' class="text-center form-inline">
78                             <select name='pubdate' class='form-control' id="[% adv_chunk.id %]" onchange='if(this.selectedIndex == 3) $("#adv_global_pub_date_2_span").removeClass("hide_me"); else $("#adv_global_pub_date_2_span").addClass("hide_me");'>
79                             [%  FOR opt IN [
80                                     {"code" => "is", "label" => l("Is")},
81                                     {"code" => "before", "label" => l("Before")},
82                                     {"code" => "after", "label" => l("After")},
83                                     {"code" => "between", "label" => l("Between")} ] %]
84                                 <option value="[% opt.code %]"[% CGI.param('pubdate') == opt.code ? ' selected="selected"' : '' %]>[% opt.label | html %]</option>
85                             [%  END %]
86                             </select>
87                             
88                             <div class="mx-3">
89                                 <input title="[% l('Search date') %]" class='form-control' placeholder='Year'
90                                   name='date1' type='text' size='4' maxlength='4' value="[% CGI.param('date1') | html %]" />
91                                 <span id='adv_global_pub_date_2_span' class='[% CGI.param("pubdate") == "between" ? "" : "hide_me" %]'>
92                                    [% l("AND") %] <input name='date2' class='form-control' placeholder='Year'
93                                     title="[% l('Secondary search date') %]" type='text' size='4' maxlength='4' value="[% CGI.param('date2') | html %]" />
94                                 </span>
95                                 </div>
96                             </div>
97
98                           
99                             
100                     [% ELSIF adv_chunk.adv_special == "sort_selector"; default_sort=ctx.default_sort;
101                     IF CGI.param('sort'); default_sort=CGI.param('sort'); END;
102                     INCLUDE "opac/parts/filtersort.tt2"
103                         id=adv_chunk.id
104                         value=default_sort class='results_header_sel form-control'; %]
105                          
106                             <div class="pt-5">
107                             [% IF ctx.exclude_electronic_checkbox %]
108                             <div class="adv_search_available">
109                                 <input type='checkbox' name="fi:-search_format" value="electronic"
110                                 [%- CGI.param('fi:-search_format').grep('electronic').size ?
111                                     ' checked="checked"' : '' %]
112                                 id='opac.result.excludeelec' />
113                                 <label for='opac.result.excludeelec'>
114                                     [% l("Exclude Electronic Resources") %]
115                                 </label>
116                             </div>
117                             [% END %]
118                                 [% IF NOT metarecords.disabled %]
119                                 <div>
120                                     <input type='checkbox' name="modifier" value="metabib"
121                                     [%- CGI.param('modifier').grep('metabib').size || search.metarecord_default ?
122                                             ' checked="checked"' : '' %]
123                                         id='opac.result.ismetabib' />
124                                     <label for='opac.result.ismetabib'>
125                                         [% l("Group Formats and Editions") %]</label>
126                                 </div>
127                                 [% END %]
128                                 <div>
129                                     <input type='checkbox' name="modifier"
130                                         value="available"[% CGI.param('modifier').grep('available').size ? ' checked="checked"' : '' %]
131                                         id='opac.result.limit2avail' />
132                                     <label for='opac.result.limit2avail'>
133                                         [% l("Limit to Available") %]</label>
134                                 </div>
135                             </div>
136                     [% END; %]
137                 </div>
138             </div>
139         [% END; %]
140     [% END; %]
141     </div>
142     <div id='adv_search_submit' class="my-3">
143         <input type="hidden" name="_adv" value="1" />
144         <input id="detail" type="hidden" name="detail_record_view"
145                value="[% show_detail_view %]"/>
146         <span>
147             <button id='search-submit-go' type="submit" class="btn btn-confirm"
148                 onclick='setTimeout(function(){$("search-submit-spinner").className=""; $("search-submit-go").className="hidden"}, 2000)'><i class="fas fa-search"></i> [% l("Submit") %]</button>
149             <img id='search-submit-spinner' src='/opac/images/progressbar_green.gif[% ctx.cache_key %]'
150                 class='hidden' alt="[% l('Search in progress icon') %]"/>
151         </span>
152
153         <a href="[% mkurl(ctx.opac_root _ '/advanced', {$loc_name => loc_value}, 1) %]"
154             class="btn btn-deny"><i class="fas fa-ban"></i> [% l('Clear Form') %]</a>
155     </div>
156 </form>