diff options
author | Jakub Narebski <jnareb@gmail.com> | 2012-01-31 01:20:54 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-02-01 12:52:50 -0800 |
commit | a1e1b2d77b9fc5866d12bf984214b15f1dccf4a8 (patch) | |
tree | 563ef0b8c276ddc79de99f09c3036d43600aba74 /gitweb/gitweb.perl | |
parent | 4426ba2919697d57ab8b6335ca63b2c14e4e6339 (diff) | |
download | git-a1e1b2d77b9fc5866d12bf984214b15f1dccf4a8.tar.gz |
gitweb: improve usability of projects search form
Refactor generating project search form into git_project_search_form().
Make text field wider and add on mouse over explanation (via "title"
attribute), add an option to use regular expressions, and replace
'Search:' label with [Search] button.
Also add "List all projects" link to make it easier to go back from search
result to list of all projects (note that an empty search term is
disallowed).
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'gitweb/gitweb.perl')
-rwxr-xr-x | gitweb/gitweb.perl | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 3ab608c7f9..c81743b0a1 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -5158,6 +5158,26 @@ sub git_patchset_body { # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +sub git_project_search_form { + my ($searchtext, $search_use_regexp); + + print "<div class=\"projsearch\">\n"; + print $cgi->startform(-method => 'get', -action => $my_uri) . + $cgi->hidden(-name => 'a', -value => 'project_list') . "\n" . + $cgi->textfield(-name => 's', -value => $searchtext, + -title => 'Search project by name and description', + -size => 60) . "\n" . + "<span title=\"Extended regular expression\">" . + $cgi->checkbox(-name => 'sr', -value => 1, -label => 're', + -checked => $search_use_regexp) . + "</span>\n" . + $cgi->submit(-name => 'btnS', -value => 'Search') . + $cgi->end_form() . "\n" . + $cgi->a({-href => href(project => undef, searchtext => undef)}, + 'List all projects') . "<br />\n"; + print "</div>\n"; +} + # fills project list info (age, description, owner, category, forks) # for each project in the list, removing invalid projects from # returned list @@ -6025,11 +6045,8 @@ sub git_project_list { insert_file($home_text); print "</div>\n"; } - print $cgi->startform(-method => "get") . - "<p class=\"projsearch\">Search:\n" . - $cgi->textfield(-name => "s", -value => $searchtext) . "\n" . - "</p>" . - $cgi->end_form() . "\n"; + + git_project_search_form($searchtext, $search_use_regexp); git_project_list_body(\@list, $order); git_footer_html(); } |