2edb06a1f7b5e2ff08b3d4b0866fc25b5f272874
[catagits/Reaction.git] / lib / Reaction / UI / ViewPort / GridView / Row.pm
1 package Reaction::UI::ViewPort::GridView::Row;
2
3 use Reaction::Class;
4
5 class Row is 'Reaction::UI::ViewPort::ObjectView', which {
6
7   around build_fields_for_type_Num => sub {
8     my ($orig, $self, $attr, $args) = @_;
9     $args->{Field}{$attr->name}{layout} = 'value/number'
10       unless( exists  $args->{Field}{$attr->name}         &&
11               exists  $args->{Field}{$attr->name}{layout} &&
12               defined $args->{Field}{$attr->name}{layout}
13             );
14     $orig->($self, $attr, $args);
15   };
16
17   around build_fields_for_type_Int => sub {
18     my ($orig, $self, $attr, $args) = @_;
19     $args->{Field}{$attr->name}{layout} = 'value/number'
20       unless( exists  $args->{Field}{$attr->name}         &&
21               exists  $args->{Field}{$attr->name}{layout} &&
22               defined $args->{Field}{$attr->name}{layout}
23             );
24     $orig->($self, $attr, $args);
25   };
26
27   around build_fields_for_type_Bool => sub {
28     my ($orig, $self, $attr, $args) = @_;
29     $args->{Field}{$attr->name}{layout} = 'value/boolean'
30       unless( exists  $args->{Field}{$attr->name}         &&
31               exists  $args->{Field}{$attr->name}{layout} &&
32               defined $args->{Field}{$attr->name}{layout}
33             );
34     $orig->($self, $attr, $args);
35   };
36
37
38   around build_fields_for_type_Str => sub {
39     my ($orig, $self, $attr, $args) = @_;
40     $args->{Field}{$attr->name}{layout} = 'value/string'
41       unless( exists  $args->{Field}{$attr->name}         &&
42               exists  $args->{Field}{$attr->name}{layout} &&
43               defined $args->{Field}{$attr->name}{layout}
44             );
45     $orig->($self, $attr, $args);
46   };
47
48   around build_fields_for_type_SimpleStr => sub {
49     my ($orig, $self, $attr, $args) = @_;
50     $args->{Field}{$attr->name}{layout} = 'value/string'
51       unless( exists  $args->{Field}{$attr->name}         &&
52               exists  $args->{Field}{$attr->name}{layout} &&
53               defined $args->{Field}{$attr->name}{layout}
54             );
55     $orig->($self, $attr, $args);
56   };
57
58   around build_fields_for_type_Enum => sub {
59     my ($orig, $self, $attr, $args) = @_;
60     $args->{Field}{$attr->name}{layout} = 'value/string'
61       unless( exists  $args->{Field}{$attr->name}         &&
62               exists  $args->{Field}{$attr->name}{layout} &&
63               defined $args->{Field}{$attr->name}{layout}
64             );
65     $orig->($self, $attr, $args);
66   };
67
68   around build_fields_for_type_DateTime => sub {
69     my ($orig, $self, $attr, $args) = @_;
70     $args->{Field}{$attr->name}{layout} = 'value/date_time'
71       unless( exists  $args->{Field}{$attr->name}         &&
72               exists  $args->{Field}{$attr->name}{layout} &&
73               defined $args->{Field}{$attr->name}{layout}
74             );
75     $orig->($self, $attr, $args);
76   };
77
78   around build_fields_for_type_ArrayRef => sub {
79     my ($orig, $self, $attr, $args) = @_;
80     $args->{Field}{$attr->name}{layout} = 'value/list'
81       unless( exists  $args->{Field}{$attr->name}         &&
82               exists  $args->{Field}{$attr->name}{layout} &&
83               defined $args->{Field}{$attr->name}{layout}
84             );
85     $orig->($self, $attr, $args);
86   };
87
88   around build_fields_for_type_Reaction_InterfaceModel_Collection => sub {
89     my ($orig, $self, $attr, $args) = @_;
90     $args->{Field}{$attr->name}{layout} = 'value/collection'
91       unless( exists  $args->{Field}{$attr->name}         &&
92               exists  $args->{Field}{$attr->name}{layout} &&
93               defined $args->{Field}{$attr->name}{layout}
94             );
95     $orig->($self, $attr, $args);
96   };
97
98   around build_fields_for_type_Reaction_InterfaceModel_Object => sub {
99     my ($orig, $self, $attr, $args) = @_;
100     $args->{Field}{$attr->name}{layout} = 'value/related_object'
101       unless( exists  $args->{Field}{$attr->name}         &&
102               exists  $args->{Field}{$attr->name}{layout} &&
103               defined $args->{Field}{$attr->name}{layout}
104             );
105     $orig->($self, $attr, $args);
106   };
107
108 };
109
110 1;