]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/opac/parts/result/facets.tt2
Merge remote branch 'working/user/berick/marc-stream-importer-read-repair'
[Evergreen.git] / Open-ILS / src / templates / opac / parts / result / facets.tt2
1 <div class="facet_box_wrapper">
2 [% 
3
4 close_facets = CGI.param('close_facet') || [];
5 selected_facets = CGI.param('facet') || [];
6
7 # collect facet type labels for easier sorting
8 labels = []; 
9 FOR facet IN ctx.search_facets.values;
10     labels.push(facet.cmf.label);
11 END;
12
13 FOR facet_label IN labels.sort;
14     FOR facet IN ctx.search_facets.values;
15         IF facet.cmf.label == facet_label;
16             fclass = facet.cmf.field_class;
17             fname = facet.cmf.name;
18             close_key = fclass _ fname %]
19
20         <div class="facet_box_temp">
21             <div class="header">
22                 <div class="title">[% facet.cmf.label %]</div>
23                 <div class="button">
24
25                     [% IF close_facets.grep(close_key).0;
26                         new_close = [];
27                         FOR fct IN close_facets;
28                             IF fct != close_key;
29                                 new_close.push(fct);
30                             END;
31                         END;
32                         expand_url = mkurl('', {close_facet => new_close});
33                         IF new_close.size == 0;
34                             expand_url  = mkurl('', {}, ['close_facet']);
35                         END;
36                     %]
37                         <a href="[% expand_url %]"><img 
38                             src="[% ctx.media_prefix %]/images/adv_search_plus_btn.png" alt="[% l('Expand') %]" /></a>
39                     [% ELSE %]
40                         <a href="[% mkurl('', {close_facet => close_facets.merge([close_key])}) %]"><img 
41                             src="[% ctx.media_prefix %]/images/adv_search_minus_btn.png" alt="[% l('Collapse') %]" /></a>
42                     [% END %]
43                 </div>
44                 <div class="clear">&nbsp;</div>
45             </div>
46             [% IF !close_facets.grep(close_key).0 %]
47             <div class="box_wrapper">
48                 <div class="box">
49                 [% FOR facet_data IN facet.data;
50                     display_value = facet_data.value | html;
51                     param_string = fclass _ '|' _ fname _ '[' _ facet_data.value _ ']';
52                     new_facets = [];
53                     this_selected = 0;
54                     FOR selected IN selected_facets;
55                         IF selected == param_string; 
56                             this_selected = 1; 
57                         ELSE;
58                             new_facets.push(selected);
59                         END;
60                     END;
61                     IF this_selected;
62                         # This facet is already selected by the user. 
63                         # Link removes the facet from the set of selected facets.
64                     %] 
65                         <div class="facet_template facet_template_selected">
66                             <div class="facet">
67                                 [% IF new_facets.size == 0 %]
68                                 <a href="[% mkurl('', {}, ['facet']) %]">[% display_value %]</a>
69                                 [% ELSE %]
70                                 <a href="[% mkurl('', {facet => new_facets}) %]">[% display_value %]</a>
71                                 [% END %]
72                             </div>
73                             <div class="count">([% facet_data.count %])</div>
74                             <div class="clear">&nbsp;</div>
75                         </div>
76                     [% 
77                         ELSE;
78                         # This facet is not currently selected.  If selected, 
79                         # append this facet to the list of currently active facets.
80                     %]
81                         <div class="facet_template">
82                             <div class="facet">
83                                 <a href='[% mkurl('', {facet => selected_facets.merge([param_string])}, ['page']) %]'>[% display_value %]</a>
84                             </div>
85                             <div class="count">([% facet_data.count %])</div>
86                             <div class="clear">&nbsp;</div>
87                         </div>
88                     [% END %]
89                 [% END %]
90                 </div>
91                 <div class="clear">&nbsp;</div>
92             </div> <!-- box_wrapper -->
93             [% END %]
94         </div> <!-- facet_box_temp -->
95         [% END %]
96     [% END %]
97 [% END %]
98 </div> <!-- facet_box_wrapper -->
99