nuked SiteLayout->http_header, should need of it since we have arg and %_
[catagits/Reaction.git] / lib / Reaction / UI / Widget / SiteLayout.pm
1 package Reaction::UI::Widget::SiteLayout;
2
3 use Reaction::UI::WidgetClass;
4 use aliased 'Reaction::UI::Widget::Container';
5 use MooseX::Types::Moose 'HashRef';
6
7 use namespace::clean -except => [ qw(meta) ];
8 extends Container;
9
10 after fragment widget {
11   arg static_base => $_{viewport}->static_base_uri;
12   arg title => $_{viewport}->title;
13 };
14
15 implements fragment meta_info {
16   my $self = shift;
17   if ( $_{viewport}->meta_info->{'http_header'} ) {
18     my $http_header = delete $_{viewport}->meta_info->{'http_header'};
19     arg 'http_header' => $http_header;
20     render 'meta_http_header' => over [keys %$http_header];
21   }
22   render 'meta_member' => over [keys %{$_{viewport}->meta_info}];
23 };
24
25 implements fragment meta_http_header {
26   arg 'meta_name' => $_;
27   arg 'meta_value' => $_{'http_header'}->{$_};
28 };
29
30 implements fragment meta_member {
31   arg 'meta_name' => $_;
32   arg 'meta_value' => $_{viewport}->meta_info->{$_};
33 };
34
35 __PACKAGE__->meta->make_immutable;
36
37
38 1;