1 package Reaction::UI::ViewPort::Field::Mutable::ChooseOne;
5 class ChooseOne is 'Reaction::UI::ViewPort::Field', which {
7 does 'Reaction::UI::ViewPort::Field::Role::Mutable';
8 does 'Reaction::UI::ViewPort::Field::Role::Choices';
13 return $orig->($self) unless @_;
16 $value = $self->str_to_ident($value) if (!ref $value);
17 my $checked = $self->attribute->check_valid_value($self->model, $value);
18 confess "${value} is not a valid value" unless defined($checked);
21 $orig->($self, $value);
24 implements _build_value_string => as {
26 $self->obj_to_name($self->value->{value});
29 implements is_current_value => as {
30 my ($self, $check_value) = @_;
31 my $our_value = $self->value;
32 return unless ref($our_value);
33 $check_value = $self->obj_to_str($check_value) if ref($check_value);
34 return $self->obj_to_str($our_value) eq $check_value;