fixes for site layout
[catagits/Reaction.git] / lib / Reaction / UI / Widget / SiteLayout.pm
CommitLineData
8a293e2e 1package Reaction::UI::Widget::SiteLayout;
2
3use Reaction::UI::WidgetClass;
4use aliased 'Reaction::UI::Widget::Container';
659899df 5use MooseX::Types::Moose 'HashRef';
8a293e2e 6
7class SiteLayout is Container, which {
8
659899df 9 has 'http_header' => (
10 isa => HashRef, is => 'rw',
11 default => sub { {} }
12 );
13
8a293e2e 14 after fragment widget {
15 arg static_base => $_{viewport}->static_base_uri;
16 arg title => $_{viewport}->title;
17 };
18
414f3276 19 implements fragment meta_info {
659899df 20 my $self = shift;
21 if ( $_{viewport}->meta_info->{'http_header'} ) {
22 $self->http_header( delete $_{viewport}->meta_info->{'http_header'} );
23 render 'meta_http_header' => over [keys %{$self->http_header}];
24 }
25 render 'meta_member' => over [keys %{$_{viewport}->meta_info}];
26 };
27
28 implements fragment meta_http_header {
29 arg 'meta_name' => $_;
30 arg 'meta_value' => shift->http_header->{$_};
414f3276 31 };
32
33 implements fragment meta_member {
34 arg 'meta_name' => $_;
35 arg 'meta_value' => $_{viewport}->meta_info->{$_};
36 };
37
8a293e2e 38};
39
401;