X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FReaction%2FUI%2FViewPort%2FField%2FFile.pm;h=dfe4dac443ad42b493a235c345282c2ef60233d4;hb=7893faa878977199e71b3011627dcb49d88ed555;hp=a1d181cfa724bc15710a5357a556a64547c7ddea;hpb=6ab43711ccd779eedce107001b300043e2056a0c;p=catagits%2FReaction.git diff --git a/lib/Reaction/UI/ViewPort/Field/File.pm b/lib/Reaction/UI/ViewPort/Field/File.pm index a1d181c..dfe4dac 100644 --- a/lib/Reaction/UI/ViewPort/Field/File.pm +++ b/lib/Reaction/UI/ViewPort/Field/File.pm @@ -5,41 +5,23 @@ use Reaction::Types::File; class File is 'Reaction::UI::ViewPort::Field', which { - has '+value' => (isa => 'File', required => 0); - - #has '+layout' => (default => 'file'); - - override apply_our_events => sub { - my ($self, $ctx, $events) = @_; - my $value_key = join(':', $self->location, 'value'); - if (my $upload = $ctx->req->upload($value_key)) { - local $events->{$value_key} = $upload; - return super(); - } else { - return super(); - } - }; - -}; - -1; - -=head1 NAME - -Reaction::UI::ViewPort::Field::File + has '+value' => (isa => Reaction::Types::File::File()); -=head1 DESCRIPTION + has uri => ( is => 'rw', lazy_build => 1); -=head1 SEE ALSO + has action => (isa => 'CodeRef', is => 'rw', required => 1); -=head2 L - -=head1 AUTHORS - -See L for authors. - -=head1 LICENSE + implements _build_uri => as{ + 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); + }; -See L for the license. + implements _value_string_from_value => as { + shift->value->stringify; + }; + +}; -=cut +1;