X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Felements%2Fsearch-html.html;h=29e0999c999855ca94154bfad62d5dc86d8c7939;hb=3f2a7b01b59902faed5767d81e2959e131bdbdfd;hp=d8ab30a323c0d525edc196531ba65c474485d8b7;hpb=062f38f2f5d0da64c6fd0702d4df2e805473a1f5;p=freeside.git diff --git a/httemplate/search/elements/search-html.html b/httemplate/search/elements/search-html.html index d8ab30a32..29e0999c9 100644 --- a/httemplate/search/elements/search-html.html +++ b/httemplate/search/elements/search-html.html @@ -62,7 +62,7 @@ <% defined($opt{'html_init'}) ? ( ref($opt{'html_init'}) - ? &{$opt{'html_init'}}() + ? &{$opt{'html_init'}}($opt{html_init_data}) : $opt{'html_init'} ) : '' @@ -95,8 +95,9 @@ % { % $cgi->delete('maxrecords'); % $cgi->param('_dummy', 1); +% my $query = $m->scomp('/elements/create_uri_query'); - ( show ;maxrecords=' + this.options[this.selectedIndex].value;"> % foreach my $max ( map { $_ * $confmax } qw( 1 5 10 25 ) ) { @@ -136,22 +137,40 @@ - <% $opt{'download_label'} || 'Download full results' %>
+ <% $opt{'download_label'} || 'Download results:' %> % $cgi->param('_type', "$xlsname.xls" ); - as query_string %>">Excel spreadsheet
+% my $query = $m->scomp('/elements/create_uri_query'); + ">Spreadsheet |  % $cgi->param('_type', 'csv'); - as query_string %>">CSV file
+% my $query = $m->scomp('/elements/create_uri_query'); + ">CSV |  % if ( defined($opt{xml_elements}) ) { % $cgi->param('_type', 'xml'); - as query_string %>">XML file
+% my $query = $m->scomp('/elements/create_uri_query'); + ">XML |  % } % $cgi->param('_type', 'html-print'); - as query_string %>">printable copy +% my $query = $m->scomp('/elements/create_uri_query'); + ">webpage +%# "save search" -- for now, obey disable_download and the 'Download +%# report data' ACL, because saving a search allows the user to receive +%# copies of the data. +
+%# XXX should do a check here on whether the user already has this +%# search saved... + <& /elements/popup_link.html, + 'action' => $fsurl.'/edit/saved_search.html?title='. + uri_escape($opt{title}), + 'label' => 'Save this search', + 'actionlabel' => 'Save this search', + 'width' => 650, + 'height' => 500, + &> % $cgi->param('_type', "html" ); % } @@ -293,8 +312,8 @@ my $self_url = $cgi->url('-path_info' => 1, '-full' =>1); % } else { % $cgi->param('order_by', $field); % } -% $label = qq($label); +% my $query = $m->scomp('/elements/create_uri_query'); +% $label = qq($label); % } % % $colspan = ref($header) ? $header->{colspan} : 0; @@ -349,6 +368,7 @@ $rows => [] % } % my $i = 0; # for row striping # XXX CSS - nth-child +% my $id = 0; % foreach my $row ( @$rows ) { % % my $rowstyle = ''; @@ -377,9 +397,16 @@ $rows => [] % my $sizes = $opt{'size'} ? [ @{$opt{'size'}} ] : []; % my $styles = $opt{'style'} ? [ @{$opt{'style'}} ] : []; % my $cstyles = $opt{'cell_style'} ? [ @{$opt{'cell_style'}} ] : []; +% my $formats = $opt{'format'} ? [ @{$opt{'format'}} ] : []; % % foreach my $field ( % +% # if the value of the field is an arrayref, then construct a table in +% # the cell. +% # if it's a (non-empty) scalar, and a format has been specified, then +% # format the scalar with that. +% # otherwise, just output the value. +% # XXX we should also do date formats like this % map { % if ( ref($_) eq 'ARRAY' ) { % @@ -443,10 +470,17 @@ $rows => [] % ''; % % } else { +% if ( length($_) > 0 and my $format = shift @$formats ) { +% $_ = sprintf($format, $_); +% } % $_; % } % } % +% # get the value of the field spec: +% # - if the spec is a coderef, evaluate the coderef +% # - if the spec is a string, call that string as a method +% # - if the spec is an integer, get the field in that position % map { % if ( ref($_) eq 'CODE' ) { % &{$_}($row); @@ -490,11 +524,11 @@ $rows => [] % % $tooltip = &{$tooltip}($row) % if ref($tooltip) eq 'CODE'; -% $tooltip = qq! title="<% $tooltip |h %>"!; -%# qq! onmouseover="return overlib(!. -%# $m->interp->apply_escapes($tooltip, 'h', 'js_string'). -%# qq!, FGCLASS, 'tooltip', REF, 'a$id', !. -%# qq!REFC, 'LL', REFP, 'UL')"! if $tooltip; +% $tooltip = qq! id="a$id" !. +% qq! onmouseover="return overlib(!. +% $m->interp->apply_escapes($tooltip, 'h', 'js_string'). +% qq!, FGCLASS, 'tooltip', REF, 'a$id', !. +% qq!REFC, 'LL', REFP, 'UL')"! if $tooltip; % % if ( $link ) { % my( $url, $method ) = @{$link}; @@ -511,6 +545,7 @@ $rows => [] % elsif ( $tooltip ) { % $a = qq(); % } +% $id++; % } %