Commit | Line | Data |
8a293e2e |
1 | package Reaction::UI::Widget::SiteLayout; |
2 | |
3 | use Reaction::UI::WidgetClass; |
4 | use aliased 'Reaction::UI::Widget::Container'; |
659899df |
5 | use MooseX::Types::Moose 'HashRef'; |
8a293e2e |
6 | |
7 | class 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 | |
40 | 1; |