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>
This commit is contained in:
Jakub Narebski 2012-01-31 01:20:54 +01:00 committed by Junio C Hamano
parent 4426ba2919
commit a1e1b2d77b
2 changed files with 28 additions and 6 deletions

View File

@ -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();
}

View File

@ -520,8 +520,13 @@ div.search {
right: 12px
}
p.projsearch {
div.projsearch {
text-align: center;
margin: 20px 0px;
}
div.projsearch form {
margin-bottom: 2px;
}
td.linenr {