package Reaction::UI::ViewPort::Field::Mutable::Array;
use Reaction::Class;
use namespace::clean -except => [ qw(meta) ];
extends 'Reaction::UI::ViewPort::Field::Array';
with 'Reaction::UI::ViewPort::Field::Role::Mutable';
around value => sub {
my $orig = shift;
my $self = shift;
return $orig->($self) unless @_;
my $value = defined $_[0] ? $_[0] : [];
$orig->($self, (ref $value eq 'ARRAY' ? $value : [ $value ]));
};
# value_string doesn't make sense in an Array field
override _value_string_from_value => sub { shift->_empty_string_value };
__PACKAGE__->meta->make_immutable;
1;