Commit | Line | Data |
e22de101 |
1 | package Reaction::UI::Widget::GridView; |
2 | |
3 | use Reaction::UI::WidgetClass; |
4 | |
5 | class GridView, which { |
6bc27bd3 |
6 | fragment widget [ qw/header body footer/ ]; |
e22de101 |
7 | |
6bc27bd3 |
8 | fragment header [ 'header_row' ]; |
27ebb686 |
9 | fragment header_row [ header_cell => over func('viewport', 'field_order'), |
b8faba69 |
10 | { labels => func(viewport => 'field_labels') } ]; |
6bc27bd3 |
11 | fragment header_cell [ string { $_{labels}->{$_} } ], { field_name => $_ }; |
e22de101 |
12 | |
6bc27bd3 |
13 | fragment footer [ 'footer_row' ]; |
27ebb686 |
14 | fragment footer_row [ footer_cell => over func('viewport', 'field_order'), |
b8faba69 |
15 | { labels => func(viewport => 'field_labels') } ]; |
6bc27bd3 |
16 | fragment footer_cell [ string { $_{labels}->{$_} } ], { field_name => $_ }; |
e22de101 |
17 | |
27ebb686 |
18 | fragment body [ viewport => over func('viewport','entities')]; |
e22de101 |
19 | |
20 | }; |
21 | |
22 | 1; |