]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/opac/parts/myopac/column_sort_support.tt2
LP# 1086934 - TPAC: Complete column sorting in some screens
[Evergreen.git] / Open-ILS / src / templates / opac / parts / myopac / column_sort_support.tt2
1 [%# Produce a URL for a given field that cycles for sorting from 
2     "nothing" to "ascending" to "descending" then back to "nothing".
3 %]
4 [% MACRO sort_url(field)
5         IF (CGI.param('sort') == field);
6                 SWITCH CGI.param('sort_type');
7                 CASE "asc";
8                    mkurl('',{sort=>field, sort_type=>'desc'},1);
9                 CASE "desc";
10                    mkurl('',{},1);
11                 CASE;
12                    mkurl('',{sort=>field, sort_type=>'asc'}, 1);
13                 END;
14         ELSE;
15            mkurl('',{sort=>field, sort_type=>'asc'}, 1);
16         END;
17 %]
18 [%# SET click_sort = l("click to sort") %]
19 [%# SET click_sort = "title=\"$click_sort\"" %]
20
21 [%# Produce arrows to indicate the sorting status of the column %]
22 [% MACRO sort_indicator(field)
23         IF (CGI.param('sort') == field);
24                 SWITCH CGI.param('sort_type');
25                 CASE "asc";
26 "&nbsp;<span class=\"column_sort_arrow\">&#9650;</span>";
27                 CASE "desc";
28 "&nbsp;<span class=\"column_sort_arrow\">&#9660;</span>";
29                 END;
30         END;
31 %]
32
33 [%# Column headers for sortable columns %]
34 [% MACRO sort_head(field, field_label) 
35    BLOCK %]
36 <a href="[% sort_url(field) %]" [% click_sort %]>[% l(field_label) %]</a>[%- sort_indicator(field) %]
37 [% END
38 %]