From 1c538bfabc2cd31f27067505f0c3d1a46cba6ef0 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Thu, 9 Jul 2015 22:18:55 -0700 Subject: RT 4.2.11, ticket#13852 --- rt/share/html/Search/Elements/ChartTable | 119 +++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 rt/share/html/Search/Elements/ChartTable (limited to 'rt/share/html/Search/Elements/ChartTable') diff --git a/rt/share/html/Search/Elements/ChartTable b/rt/share/html/Search/Elements/ChartTable new file mode 100644 index 000000000..045653ae8 --- /dev/null +++ b/rt/share/html/Search/Elements/ChartTable @@ -0,0 +1,119 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<%ARGS> +%Table => () +$Query => undef + +<%INIT> + +my $base_query = $m->comp('/Elements/QueryString', + Format => $ARGS{Format}, + Rows => $ARGS{Rows}, + OrderBy => $ARGS{OrderBy}, + Order => $ARGS{Order}, +); + +my $interp = $m->interp; +my $eh = sub { $interp->apply_escapes( @_, 'h' ) }; +my $eu = sub { $interp->apply_escapes( @_, 'u' ) }; + +$m->out(''. "\n"); +foreach my $section (qw(thead tbody tfoot)) { + next unless $Table{ $section } && @{ $Table{ $section } }; + + $m->out("<$section>\n"); + foreach my $row ( @{ $Table{ $section } } ) { + $m->out(' out(' class="'. ($row->{'even'}? 'evenline' : 'oddline') .'"') + if defined $row->{'even'}; + $m->out(">"); + + foreach my $cell ( @{ $row->{'cells'} } ) { + my $tag = $cell->{'type'} eq 'value'? 'td' : 'th'; + $m->out("<$tag"); + + my @class = ('collection-as-table'); + push @class, ($cell->{'type'}) unless $cell->{'type'} eq 'head'; + push @class, $cell->{'even'} ? 'evenline' : 'oddline' + if defined $cell->{'even'}; + $m->out(' class="'. $eh->( join ' ', @class ) .'"'); + + foreach my $dir ( grep $cell->{$_}, qw(rowspan colspan) ) { + my $value = int $cell->{ $dir }; + $m->out(qq{ $dir="$value"}); + } + $m->out(' style="background-color: #'. $m->interp->apply_escapes($cell->{color}) .'"') + if $cell->{color}; + + $m->out('>'); + if ( defined $cell->{'value'} ) { + if ( my $q = $cell->{'query'} ) { + $m->out( + '('&') . $base_query + . '">' + ); + $m->out( $eh->( $cell->{'value'} ) ); + $m->out(''); + } + else { + $m->out( $eh->( $cell->{'value'} ) ); + } + } + else { + $m->out(' '); + } + $m->out(""); + } + $m->out("\n"); + } + $m->out("\n\n"); +} +$m->out("
"); + -- cgit v1.2.1