blob: adb01556ad11c928800b8098f01a2fa0d4e70d91 (
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
|
package Reaction::UI::ViewPort::Field::File;
use Reaction::Class;
use Reaction::Types::File;
use namespace::clean -except => [ qw(meta) ];
extends 'Reaction::UI::ViewPort::Field';
use MooseX::Types::Moose qw/CodeRef/;
has '+value' => (isa => Reaction::Types::File::File());
has uri => ( is => 'rw', lazy_build => 1);
has action => (isa => CodeRef, is => 'rw', required => 1);
sub _build_uri {
my $self = shift;
my $c = $self->ctx;
my ($c_name, $a_name, @rest) = @{ $self->action->($self->model, $c) };
$c->uri_for($c->controller($c_name)->action_for($a_name),@rest);
}
sub _value_string_from_value {
shift->value->stringify;
}
__PACKAGE__->meta->make_immutable;
1;
|