aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Reaction/UI/ViewPort/GridView/Row.pm
blob: 6c84967880fd4a18448da3cfaa51422301fd30ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package Reaction::UI::ViewPort::GridView::Row;

use Reaction::Class;

class Row is 'Reaction::UI::ViewPort::ObjectView', which {

  around build_fields_for_type_Num => sub {
    my ($orig, $self, $attr, $args) = @_;
    $args->{Field}{$attr->name}{layout} = 'value/number'
      unless( exists  $args->{Field}{$attr->name}         &&
              exists  $args->{Field}{$attr->name}{layout} &&
              defined $args->{Field}{$attr->name}{layout}
            );
    $orig->($self, $attr, $args);
  };

  around build_fields_for_type_Int => sub {
    my ($orig, $self, $attr, $args) = @_;
    $args->{Field}{$attr->name}{layout} = 'value/number'
      unless( exists  $args->{Field}{$attr->name}         &&
              exists  $args->{Field}{$attr->name}{layout} &&
              defined $args->{Field}{$attr->name}{layout}
            );
    $orig->($self, $attr, $args);
  };

  around build_fields_for_type_Bool => sub {
    my ($orig, $self, $attr, $args) = @_;
    $args->{Field}{$attr->name}{layout} = 'value/boolean'
      unless( exists  $args->{Field}{$attr->name}         &&
              exists  $args->{Field}{$attr->name}{layout} &&
              defined $args->{Field}{$attr->name}{layout}
            );
    $orig->($self, $attr, $args);
  };


  around build_fields_for_type_Str => sub {
    my ($orig, $self, $attr, $args) = @_;
    $args->{Field}{$attr->name}{layout} = 'value/string'
      unless( exists  $args->{Field}{$attr->name}         &&
              exists  $args->{Field}{$attr->name}{layout} &&
              defined $args->{Field}{$attr->name}{layout}
            );
    $orig->($self, $attr, $args);
  };

  around build_fields_for_type_SimpleStr => sub {
    my ($orig, $self, $attr, $args) = @_;
    $args->{Field}{$attr->name}{layout} = 'value/string'
      unless( exists  $args->{Field}{$attr->name}         &&
              exists  $args->{Field}{$attr->name}{layout} &&
              defined $args->{Field}{$attr->name}{layout}
            );
    $orig->($self, $attr, $args);
  };

  around build_fields_for_type_Enum => sub {
    my ($orig, $self, $attr, $args) = @_;
    $args->{Field}{$attr->name}{layout} = 'value/string'
      unless( exists  $args->{Field}{$attr->name}         &&
              exists  $args->{Field}{$attr->name}{layout} &&
              defined $args->{Field}{$attr->name}{layout}
            );
    $orig->($self, $attr, $args);
  };

  around build_fields_for_type_DateTime => sub {
    my ($orig, $self, $attr, $args) = @_;
    $args->{Field}{$attr->name}{layout} = 'value/date_time'
      unless( exists  $args->{Field}{$attr->name}         &&
              exists  $args->{Field}{$attr->name}{layout} &&
              defined $args->{Field}{$attr->name}{layout}
            );
    $orig->($self, $attr, $args);
  };

  around build_fields_for_type_ArrayRef => sub {
    my ($orig, $self, $attr, $args) = @_;
    return;
    $args->{Field}{$attr->name}{layout} = 'value/list'
      unless( exists  $args->{Field}{$attr->name}         &&
              exists  $args->{Field}{$attr->name}{layout} &&
              defined $args->{Field}{$attr->name}{layout}
            );
    $orig->($self, $attr, $args);
  };

  around build_fields_for_type_Reaction_InterfaceModel_Collection => sub {
    my ($orig, $self, $attr, $args) = @_;
    return;
    $args->{Field}{$attr->name}{layout} = 'value/collection'
      unless( exists  $args->{Field}{$attr->name}         &&
              exists  $args->{Field}{$attr->name}{layout} &&
              defined $args->{Field}{$attr->name}{layout}
            );
    $orig->($self, $attr, $args);
  };

  around build_fields_for_type_Reaction_InterfaceModel_Object => sub {
    my ($orig, $self, $attr, $args) = @_;
    return;
    $args->{Field}{$attr->name}{layout} = 'value/related_object'
      unless( exists  $args->{Field}{$attr->name}         &&
              exists  $args->{Field}{$attr->name}{layout} &&
              defined $args->{Field}{$attr->name}{layout}
            );
    $orig->($self, $attr, $args);
  };

};

1;