1 |
dpavlin |
919 |
package Frey::CSS::Area; |
2 |
|
|
use Moose; |
3 |
|
|
|
4 |
|
|
extends 'Frey'; |
5 |
|
|
with 'Frey::Web'; |
6 |
|
|
#with 'Frey::Storage'; |
7 |
|
|
|
8 |
|
|
=head1 DESCRIPTION |
9 |
|
|
|
10 |
|
|
CSS area graph based on example from L<http://www.khanate.co.uk/graph/> |
11 |
|
|
|
12 |
|
|
=cut |
13 |
|
|
|
14 |
dpavlin |
955 |
has sponge => ( |
15 |
dpavlin |
919 |
is => 'rw', |
16 |
dpavlin |
955 |
isa => 'Sponge', |
17 |
dpavlin |
919 |
required => 1, |
18 |
|
|
); |
19 |
|
|
|
20 |
|
|
sub as_markup { |
21 |
|
|
my ($self) = @_; |
22 |
|
|
|
23 |
|
|
$self->add_css( 'static/Frey/CSS/Area.css' ); |
24 |
|
|
$self->add_js ( 'static/Frey/CSS/Area.js' ); |
25 |
|
|
|
26 |
dpavlin |
955 |
my $html |
27 |
|
|
= qq|<ul class="graph" onclick="gr.makeGraphs(); return false;">| |
28 |
|
|
. join("\n", |
29 |
|
|
map { |
30 |
|
|
my ( $val, $name ) = ( $_->[0], $_->[1] ); |
31 |
|
|
die "first column data isn't numeric ", $self->dump( $_ ) unless $val =~ m{^\d+$}; |
32 |
|
|
qq|<li><span class="name">$name</span> <span class="val">$val</span></li>|; |
33 |
|
|
} @{ $self->sponge->{rows} } |
34 |
|
|
) |
35 |
|
|
. qq|</ul>| |
36 |
|
|
; |
37 |
dpavlin |
919 |
|
38 |
dpavlin |
955 |
$html .= qq| |
39 |
|
|
<br style="clear:both" /> |
40 |
|
|
<div class="note"> |
41 |
|
|
Click on the table or graph to switch view |
42 |
|
|
</div> |
43 |
|
|
|; |
44 |
dpavlin |
919 |
|
45 |
dpavlin |
955 |
return $html; |
46 |
dpavlin |
919 |
} |
47 |
|
|
|
48 |
|
|
1; |