aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Reaction/UI/ViewPort/Field/Mutable/File.pm
diff options
context:
space:
mode:
authoredenc <edenc@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2008-03-14 17:54:22 +0000
committeredenc <edenc@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2008-03-14 17:54:22 +0000
commit7893faa878977199e71b3011627dcb49d88ed555 (patch)
tree0bb7523ce356c21ba6950728834aca278664be22 /lib/Reaction/UI/ViewPort/Field/Mutable/File.pm
parent7c29dd38a5e43d6395a9d94c4667a66a9a499e8b (diff)
downloadreaction-7893faa878977199e71b3011627dcb49d88ed555.tar.gz
reaction-7893faa878977199e71b3011627dcb49d88ed555.zip
fixes for File fields
Diffstat (limited to 'lib/Reaction/UI/ViewPort/Field/Mutable/File.pm')
-rw-r--r--lib/Reaction/UI/ViewPort/Field/Mutable/File.pm15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/Reaction/UI/ViewPort/Field/Mutable/File.pm b/lib/Reaction/UI/ViewPort/Field/Mutable/File.pm
index f7d391f..ffbcbc9 100644
--- a/lib/Reaction/UI/ViewPort/Field/Mutable/File.pm
+++ b/lib/Reaction/UI/ViewPort/Field/Mutable/File.pm
@@ -1,16 +1,16 @@
package Reaction::UI::ViewPort::Field::Mutable::File;
+use Reaction::Types::File qw/Upload/;
use Reaction::Class;
-use Reaction::Types::File;
class File is 'Reaction::UI::ViewPort::Field', which {
- does 'Reaction::UI::ViewPort::Field::Role::Mutable';
+ does 'Reaction::UI::ViewPort::Field::Role::Mutable::Simple';
- has '+value' => (isa => 'Upload');
+ has '+value' => (isa => Upload);
override apply_our_events => sub {
my ($self, $ctx, $events) = @_;
- my $value_key = join(':', $self->location, 'value');
+ my $value_key = $self->event_id_for('value_string');
if (my $upload = $ctx->req->upload($value_key)) {
local $events->{$value_key} = $upload;
return super();
@@ -19,6 +19,13 @@ class File is 'Reaction::UI::ViewPort::Field', which {
}
};
+ implements adopt_value_string => sub {
+ my($self) = @_;
+ $self->value($self->value_string) if $self->value_string;
+ };
+
+ overrides _value_string_from_value => sub { '' };
+
};
1;