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
|
package ComponentUI::Controller::TestModel::Foo;
use base 'Reaction::UI::Controller::Collection::CRUD';
use Reaction::Class;
__PACKAGE__->config(
model_name => 'TestModel',
collection_name => 'Foo',
action => {
base => { Chained => '/base', PathPart => 'testmodel/foo' },
list => {
ViewPort => {
excluded_fields => [qw/id/],
action_order => [qw/delete_all create/],
Member => {
action_order => [qw/view update delete/],
},
},
},
view => {
ViewPort => {
excluded_fields => [qw/id/],
},
},
},
);
for my $action (qw/view create update/){
__PACKAGE__->config(
action => {
$action => {
ViewPort => {
container_layouts => [
{ name => 'primary', fields => [qw/first_name last_name/]},
{
name => 'secondary',
label => 'Optional Label',
fields => [qw/bars bazes/],
},
],
},
},
}
);
}
sub _build_action_viewport_args {
my $self = shift;
my $args = $self->next::method(@_);
$args->{list}{action_prototypes}{delete_all}{label} = 'Delete All Records';
return $args;
}
1;
|