]> git.plutz.net Git - serve0/blob - templates/filterdiag.html.sh
3e81b286152b7ac5fd1c316371449bbaeeac1ee8
[serve0] / templates / filterdiag.html.sh
1 #!/bin/zsh    
2
3 cat <<FilterEnd
4   <form class="panel" id="search" style="display: block;"
5         action="?" method="get" accept-charset="UTF-8">
6     <input type="text" name="s" value="$search" placeholder="Search">
7
8     <span class="label order">Order by:</span>
9     <select class="order" size="1" name="o">
10       <option>Name</option>
11       <option>Date</option>
12       <option>Length</option>
13     </select>
14     <input type="submit" name="submit" value="Find">
15
16     <a class="panel clearsearch" href="?">Clear All</a>
17     <a class="panel advanced show" href="#" onclick="javascript:hide('search');show_block('advfilter');">Advanced</a>
18
19     <div class="pagination_nav">
20       <span class="label">Page:</span>
21       <a href="?${page_prev}">&lt;&lt;</a>
22       <a href="?${page_this}">$(($page + 1))</a>
23       <a href="?${page_next}">&gt;&gt;</a>
24     </div>
25   </form>
26
27   <form class="panel" id="advfilter" style="display: none;"
28         action="?action=filter" method="post" accept-charset="UTF-8">
29     <input disabled type="text" name="s" value="$search" placeholder="Search">
30     <span class="label order">Order by:</span>
31     <select disabled class="order" size="1" name="o">
32       <option>Name</option>
33       <option>Date</option>
34       <option>Length</option>
35     </select>
36     <input disabled type="submit" name="submit" value="Find">
37
38     <a class="panel clearsearch" href="?">Clear All</a>
39     <a class="panel advanced hide" href="#" 
40      onclick="javascript:hide('advfilter');$(for n in {1..9}; do echo "hide('filter$n');"; done)show_block('search')"
41     >Hide</a>
42     <hr>
43
44     <span class="help">Up to <b>10</b> filter boxes will appear as you start selecting tags. You can select <b>multiple</b> tags in each box by holding down the <b>Ctrl</b>-key. Click the "<b>Filter!</b>" button when you are ready.</span>
45
46   $(for n in {0..9}; do
47     hideall="$(echo "$taglist" |sed -rn "s;^([^:]+):.*$;hide('${n}_\\1')\\;;p" |sort -u)hide('${n}_none');"
48     echo "
49     <div class="filter" id=\"filter$n\" $([ $n -gt 0 ] && echo 'style="display:none;"')>
50       <span class=\"help conjunction\">and</span>
51       <input type=\"radio\" name=\"type$n\" value=\"pos\" checked><span class=\"label conjunction\">Any</span>
52       <input type=\"radio\" name=\"type$n\" value=\"neg\"><span class=\"label conjunction\">None</span>
53       <span class=\"help\">of the tags selected here:</span>
54       <span class=\"label category\">Category:</span>
55       <select class=\"input category\" name=\"category$n\" size=\"1\" onchange=\"${hideall}show_block('${n}_'+this.options[this.options.selectedIndex].value)\">
56         <option>none</option>
57         $(echo "$taglist" |sed -rn 's;^([^:]+):.*$;<option>\1</option>;p' |sort -u)
58       </select>
59       <select class=\"input tagfilter\" name=\"cfilter${n}_\" size=\"12\" multiple id=\"${n}_none\"
60               onchange=\"show_iblock('filter$((1+$n))')\">
61          $(echo "$taglist" |sed -rn 's;^([^:]+)$;<option>\1</option>;p')
62       </select>
63       $(echo "$taglist" |sed -rn 's;^([^:]+):.*$;\1;p' |sort -u |while read cat; do echo "
64       <select class=\"input tagfilter\" name=\"cfilter${n}_\" size=\"12\" multiple id=\"${n}_$cat\" style=\"display:none;\"
65               onchange=\"show_iblock('filter$((1+$n))')\">
66          $(echo "$taglist" |sed -rn 's;^'"$cat"':(.*)$;<option>\1</option>;p')
67       </select>"
68       done)
69     </div>"
70   done)
71
72     <div class="filter final">
73       <span class="label order">Order by:</span>
74       <select class="edit order" size="1" name="o">
75         <option>Name</option>
76         <option>Date</option>
77         <option>Length</option>
78       </select>
79       <input type="submit" value="Filter!">
80     </div>
81
82     <div class="quicklinks">
83       <span class="label quicklinks">Most recent</span>
84       $(output=''
85         tac ${_DATA}/meta/recent |while [ "$(echo "$output" |wc -l)" -lt 10 ]; do
86           read line
87           line="<a href="$line">$line</a>"
88           echo "$output" |grep -qF "$line" || output="$output$line\n"
89         done
90         echo $output
91       )
92     </div>
93   </form>
94 FilterEnd
95
96 # vi:set filetype=html:
97