Nils Diewald | 2329e1d | 2014-06-12 16:07:57 +0000 | [diff] [blame] | 1 | % if (param 'q') { |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 2 | % content 'main' => begin |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 3 | % unless (param 'snippet') { |
Nils Diewald | 5d1ffb4 | 2014-05-21 17:45:34 +0000 | [diff] [blame] | 4 | <div style="clear: both"> |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 5 | % my $url = url_with->query(['p' => '{page}']); |
Nils Diewald | 8f4b5da | 2014-12-03 22:13:39 +0000 | [diff] [blame^] | 6 | % my $pages = search->total_pages; |
| 7 | <div id="pagination"><%= pagination(search->start_page, $pages, $url) =%></div> |
Nils Diewald | 44a7278 | 2014-06-20 16:03:21 +0000 | [diff] [blame] | 8 | <p class="found">Found |
Nils Diewald | 8f4b5da | 2014-12-03 22:13:39 +0000 | [diff] [blame^] | 9 | % my $found = search->total_results; |
Nils Diewald | 432356a | 2014-11-11 12:52:13 +0000 | [diff] [blame] | 10 | % if ($found == -1) { |
| 11 | % $found = 'unknown amount of'; |
Nils Diewald | 8f4b5da | 2014-12-03 22:13:39 +0000 | [diff] [blame^] | 12 | % } elsif (search->timeExceeded) { |
Nils Diewald | 432356a | 2014-11-11 12:52:13 +0000 | [diff] [blame] | 13 | % $found = 'more than ' . $found; |
| 14 | % }; |
| 15 | <span id="total-results"><%= $found %> matches</span> |
Nils Diewald | 8f4b5da | 2014-12-03 22:13:39 +0000 | [diff] [blame^] | 16 | <% if (search->benchmark) { %> in <%= search->benchmark %><% } %> |
Nils Diewald | 2329e1d | 2014-06-12 16:07:57 +0000 | [diff] [blame] | 17 | </p> |
Nils Diewald | 5d1ffb4 | 2014-05-21 17:45:34 +0000 | [diff] [blame] | 18 | </div> |
Nils Diewald | 02df991 | 2014-06-03 16:08:07 +0000 | [diff] [blame] | 19 | %= include 'query' |
Nils Diewald | 1d2903f | 2014-11-03 22:31:20 +0000 | [diff] [blame] | 20 | %= include 'api-communication' |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 21 | % }; |
Nils Diewald | 5d1ffb4 | 2014-05-21 17:45:34 +0000 | [diff] [blame] | 22 | |
Nils Diewald | 8f4b5da | 2014-12-03 22:13:39 +0000 | [diff] [blame^] | 23 | % if (search->total_results != 0 && search->results->size) { |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 24 | <div id="search"> |
Nils Diewald | e99d904 | 2014-11-20 23:36:54 +0000 | [diff] [blame] | 25 | <ol class="align-left"> |
Nils Diewald | 8f4b5da | 2014-12-03 22:13:39 +0000 | [diff] [blame^] | 26 | %= search_results begin |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 27 | %= include 'match', match => $_ |
| 28 | % end |
Nils Diewald | 5d1ffb4 | 2014-05-21 17:45:34 +0000 | [diff] [blame] | 29 | </ol> |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 30 | </div> |
Nils Diewald | 7cad840 | 2014-07-08 17:06:56 +0000 | [diff] [blame] | 31 | % }; |
Nils Diewald | 5d1ffb4 | 2014-05-21 17:45:34 +0000 | [diff] [blame] | 32 | % end |
Nils Diewald | 44a7278 | 2014-06-20 16:03:21 +0000 | [diff] [blame] | 33 | |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 34 | % content 'javascript' => begin |
| 35 | %= javascript begin |
| 36 | |
Nils Diewald | e99d904 | 2014-11-20 23:36:54 +0000 | [diff] [blame] | 37 | var openLi = function (e) { |
| 38 | this.classList.add("active"); |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 39 | e.stopPropagation(); |
Nils Diewald | e99d904 | 2014-11-20 23:36:54 +0000 | [diff] [blame] | 40 | }; |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 41 | |
Nils Diewald | e99d904 | 2014-11-20 23:36:54 +0000 | [diff] [blame] | 42 | var closeLi = function (e) { |
| 43 | this.parentNode.parentNode.classList.remove("active"); |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 44 | e.stopPropagation(); |
Nils Diewald | e99d904 | 2014-11-20 23:36:54 +0000 | [diff] [blame] | 45 | }; |
| 46 | |
| 47 | var inactiveLi = document.querySelectorAll("#search > ol > li:not(.active)"); |
| 48 | for (var i = 0; i < inactiveLi.length; i++) { |
| 49 | inactiveLi[i].addEventListener("click", openLi, false); |
| 50 | inactiveLi[i].getElementsByClassName("close")[0].addEventListener("click", closeLi, false); |
| 51 | }; |
Nils Diewald | 4af3f0b | 2014-06-25 01:43:17 +0000 | [diff] [blame] | 52 | |
| 53 | % end |
| 54 | % end |
Nils Diewald | 1eba657 | 2014-06-17 19:49:53 +0000 | [diff] [blame] | 55 | % }; |