message dialog and js
[sgn.git] / mason / search / organisms.mas
bloba1433734110e4d8fdcaecacd0d12d9bbe8d8ec95
1 <%doc>
2 =head1 NAME
4 /organism/search.mas - display organism search results and search form
6 =head1 ARGS
8 =head2 results
10 optional L<DBIx::Class::ResultSet> object for the set of results to
11 display.  if not set or not passed, only the search form will be
12 displayed.
14 =head2 form
16 required L<HTML::FormFu> form object for the search form.  will call
17 C<$form->render> on this.
19 =head2 pagination_link_maker
21 subroutine reference that takes a single integer page number for the
22 results and returns the appropriate URL for going to that page of results
24 =cut
26 </%doc>
28 <%args>
29   $results => undef
30   $form
31   $pagination_link_maker
32 </%args>
34 <div class="container-fluid">
36 <& /page/page_title.mas, title => 'Organism/Taxon Search' &>
38 <style>
39 #organism_search_form .checkboxgroup span span {
40   white-space: nowrap;
41   float: left;
42   width: 10em;
44 #organism_search_form div label, #organism_search_form legend {
45   font-weight: bold;
47 #organism_search_form div.text label {
48   float: left;
49   width: 10em;
52 div.paginate_nav {
53   margin: 0 auto;
54   width: 80%;
55   white-space: nowrap;
56   text-align: center;
58 </style>
60 % if( $results ) {
61 %   my $pager = $results->pager;
63 <& /util/import_javascript.mas, classes => [ 'jquery' ] &>
64   
66   <&| /page/info_section.mas, title    => 'Search Results',
67                               subtitle => 'Results '
68                                           .$pager->first
69                                           .'-'.$pager->last
70                                           .' of '.Number::Format->new->format_number($pager->total_entries)
71    &>
73   <div class="well">
75 %   if( $results->count ) {
76      <% columnar_table_html(
77             headings => ['Taxon name','Common name'],
78             data     => [
79                 map [ '<a href="/organism/' . $_->organism_id . '/view/">'
80                     . $_->species . "</a>",
81                     $_->common_name
82                 ], $results->all ],
83         )
84       %>
85 %   } else {
86      <h3 style="text-align: center">No Matching Results Found</h3>
87 %   }
88   </&>
90   <& /page/pagination_control.mas, pager => $pager, link_maker => $pagination_link_maker &>
92   </div>
93 % }
95 <&| /page/info_section.mas, title    => 'Search', collapsible=>1, collapsed=>0 &>
97 <div class="well">
98   <% $form->render %>
99 </div>
101 </&>
103 <br/>
104 <center>
105 <div style="width:400px">
106   <div class="panel panel-info">
107     <div class="panel-heading">Popular Species</div>
108     <div class="panel-body" style="overflow:hidden">
109       <& /homepage/popular_species.mas, show_link => 0 &>
110     </div>
111   </div>
112 </div>
113 </center>
115 </div>
117 <script>
118   
119    $(window).ready( function() {
120     $('#organism_search_form input[name=species]').autocomplete( {
121       source: '/organism/autocomplete'
122     });
124   });
126 </script>
130 <%init>
131   use Number::Format;
132   use CXGN::Page::FormattingHelpers qw/ columnar_table_html /;
134 </%init>