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 | |
bae75bee |
7 | use namespace::clean -except => [ qw(meta) ]; |
8 | extends Container; |
414f3276 |
9 | |
bae75bee |
10 | after fragment widget { |
11 | arg static_base => $_{viewport}->static_base_uri; |
12 | arg title => $_{viewport}->title; |
8a293e2e |
13 | }; |
14 | |
bae75bee |
15 | implements fragment meta_info { |
16 | my $self = shift; |
17 | if ( $_{viewport}->meta_info->{'http_header'} ) { |
1ef7b9da |
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]; |
bae75bee |
21 | } |
22 | render 'meta_member' => over [keys %{$_{viewport}->meta_info}]; |
23 | }; |
24 | |
25 | implements fragment meta_http_header { |
26 | arg 'meta_name' => $_; |
1ef7b9da |
27 | arg 'meta_value' => $_{'http_header'}->{$_}; |
bae75bee |
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 | |
8a293e2e |
38 | 1; |