diff options
author | matthewt <matthewt@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2007-09-12 18:11:34 +0000 |
---|---|---|
committer | matthewt <matthewt@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2007-09-12 18:11:34 +0000 |
commit | 7adfd53f17f66ffe93763e944ed1d3fc52a369dc (patch) | |
tree | 19e599e74419b41cbbe651fd226b81e8b73551d3 /lib/Reaction/UI/ViewPort/DisplayField/Boolean.pm | |
parent | c728c97cb1061330e63c7cc048e768ef74988fe6 (diff) | |
download | reaction-7adfd53f17f66ffe93763e944ed1d3fc52a369dc.tar.gz reaction-7adfd53f17f66ffe93763e944ed1d3fc52a369dc.zip |
moved shit to trunk
Diffstat (limited to 'lib/Reaction/UI/ViewPort/DisplayField/Boolean.pm')
-rw-r--r-- | lib/Reaction/UI/ViewPort/DisplayField/Boolean.pm | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/Reaction/UI/ViewPort/DisplayField/Boolean.pm b/lib/Reaction/UI/ViewPort/DisplayField/Boolean.pm new file mode 100644 index 0000000..9389436 --- /dev/null +++ b/lib/Reaction/UI/ViewPort/DisplayField/Boolean.pm @@ -0,0 +1,31 @@ +package Reaction::UI::ViewPort::DisplayField::Boolean; + +use Reaction::Class; +use aliased 'Reaction::UI::ViewPort::DisplayField'; + +class Boolean, is DisplayField, which { + has '+value' => (isa => 'Bool'); + has '+layout' => (default => 'displayfield/value_string'); + + has value_string => (isa => 'Str', is => 'rw', lazy_build => 1); + + has value_string_format => + (isa => 'HashRef', is => 'rw', required => 1, + default => sub { {true => 'Yes', false => 'No'} } + ); + + implements build_value_string => as { + my $self = shift; + my $val = $self->value; + if(!defined $val || $val eq "" || "$val" eq '0'){ + return $self->value_string_format->{false}; + } elsif("$val" eq '1'){ + return $self->value_string_format->{true}; + } else{ #this will hopefully never happen + confess "Not supporting some type of Bool value"; + } + }; + +}; + +1; |