Ace::Browser::SearchSubs - Subroutines for AceBrowser search scripts
use Ace; use Ace::Browser::AceSubs; use Ace::Browser::SearchSubs; use CGI qw(:standard); my $form = p(start_form, textfield(-name=>'query'), end_form); AceSearchTable('Search for stuff',$form); ... my $query = param('query'); my $offset = AceSearchOffset; my ($objects,$count) = do_search($query,$offset); AceResultsTable($objects,$count,$offset,'Here are results');
Ace::Browser::SearchSubs exports a set of constants and subroutines that are useful for creating AceBrowser search scripts.
This package exports the following constants:
MAXOBJECTS The maximum number of objects that can be displayed per page. SEARCH_ICON An icon to use for search links. This is deprecated. Use Configuration->Search_icon instead.
These functions are exported:
When the user is paging back and forth among a multi-page list of results, this function returns the index of the first item to display.
Given a title and the HTML contents, this formats the search into a table and gives it the background and foreground colors used elsewhere for searches. The formatted search is then printed.
The HTML contents are usually a fill-out form. For convenience, you can provide the contents in multiple parts (lines or elements) and they will be concatenated together.
If the first argument is a hashref, then its contents will be passed to start_form() to override the form arguments.
This subroutine formats the results of a search into a pageable list and prints out the resulting HTML. The following arguments are required:
$objects An array reference containing the objects to place in the table. $count The total number of objects. $offset The offset into the array, as returned by AceSearchOffset() $title A title for the table.
The array reference should contain no more than MAXOBJECTS objects. The AceDB query should be arranged in such a way that this is the case. A typical idiom is the following:
my $offset = AceSearchOffset(); my $query = param('query'); my $count; my @objs = $db->fetch(-query=> $query, -count => MAXOBJECTS, -offset => $offset, -total => \$count ); AceResultsTable(\@objs,$count,$offset,'Here are the results');
Please report them.
Ace::Object, Ace::Browser::SiteDefs, Ace::Browsr::AceSubs, the README.ACEBROWSER file.
Lincoln Stein <lstein@cshl.org>.
Copyright (c) 2001 Cold Spring Harbor Laboratory
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See DISCLAIMER.txt for disclaimers of warranty.
To install Ace, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Ace
CPAN shell
perl -MCPAN -e shell install Ace
For more information on module installation, please visit the detailed CPAN module installation guide.