double negation is hard to read
[catagits/Reaction.git] / lib / Reaction / UI / ViewPort / Field / DateTime.pm
1 package Reaction::UI::ViewPort::Field::DateTime;
2
3 use Scalar::Util 'blessed';
4 use Reaction::Class;
5 use Reaction::Types::DateTime ();
6 use aliased 'Reaction::UI::ViewPort::Field';
7
8 use namespace::clean -except => [ qw(meta) ];
9 extends Field;
10
11
12 has '+value' => (isa => Reaction::Types::DateTime::DateTime());
13
14 has value_string_default_format => (
15   isa => 'Str', is => 'rw', required => 1, default => sub { "%F %H:%M:%S" }
16 );
17
18 around _value_string_from_value => sub {
19   my $orig = shift;
20   my $self = shift;
21   my $format = $self->value_string_default_format;
22   return $self->$orig(@_)->strftime($format);
23 };
24
25 __PACKAGE__->meta->make_immutable;
26
27
28 1;