use MooseX::Types::Common and MooseX::Types::DateTime
groditi [Thu, 12 Feb 2009 01:12:12 +0000 (01:12 +0000)]
Changes
Makefile.PL
TODO
lib/Reaction/UI/ViewPort/Collection/Grid/Member.pm
lib/Reaction/UI/ViewPort/Object.pm
lib/Reaction/UI/ViewPort/Object/Mutable.pm
t/lib/RTest/TestDB/Bar.pm
t/lib/RTest/TestDB/Baz.pm
t/lib/RTest/TestDB/Foo.pm

diff --git a/Changes b/Changes
index fb2e882..e0c4887 100644 (file)
--- a/Changes
+++ b/Changes
@@ -8,6 +8,8 @@ Revision history for Reaction
           messages via attribute message and model's error_message attribute.
           - Updated templates and widget to match this
           - Added an example to ComponentUI
+        - Add support for the external MooseX::Types::Common and 
+          MooseX::Types::DateTime type libraries in the VPs
 
 0.001001 - 12 Aug 2008
         - Initital public release
index 5c0f146..699ad33 100644 (file)
@@ -36,6 +36,8 @@ requires 'Email::MIME::Creator';
 requires 'Text::CSV_XS';
 requires 'Devel::Declare' => '0.003004';
 requires 'MooseX::Types' => '0.04';
+requires 'MooseX::Types::Common';
+requires 'MooseX::Types::DateTime';
 requires 'Scalar::Util';
 requires 'File::ShareDir' => '1.00';
 requires 'namespace::clean' => '0.08';
diff --git a/TODO b/TODO
index 9a10b52..e1ff849 100644 (file)
--- a/TODO
+++ b/TODO
@@ -30,4 +30,9 @@
 
 * Reaction::UI::ViewPort::Field
   - Why did the check for non lazy_fail lazy attrs go away? it breaks my IMs
-    code is commented out, but does anyone know why?
\ No newline at end of file
+    code is commented out, but does anyone know why?
+
+* Reaction::Types::*
+  - Eliminate the ones we can spin into external MooseX::Types stuff
+  - re-export the types from MooseX::Types::Common as Reaction types
+  - same thing but with the DateTime and MooseX::Types::DateTime
\ No newline at end of file
index 02629a2..abea20f 100644 (file)
@@ -41,6 +41,19 @@ around _build_fields_for_type_Reaction_Types_Core_Password => sub { return };
 around _build_fields_for_type_ArrayRef => sub { return };
 around _build_fields_for_type_Reaction_InterfaceModel_Collection => sub { return };
 
+#The types we'll be using going forward ...
+around _build_fields_for_type_MooseX_Types_Common_String_Password => sub { return };
+around _build_fields_for_type_MooseX_Types_Common_String_SimpleStr => sub {
+  $_[0]->(@_[1,2], { layout => 'value/string', %{ $_[3] || {} } })
+};
+around _build_fields_for_type_MooseX_Types_DateTime_DateTime => sub {
+  $_[0]->(@_[1,2], { layout => 'value/date_time', %{ $_[3] || {} } })
+};
+around _build_fields_for_type_DateTime => sub {
+  $_[0]->(@_[1,2], { layout => 'value/date_time', %{ $_[3] || {} } })
+};
+
+
 __PACKAGE__->meta->make_immutable;
 
 
index ed68f20..431aa47 100644 (file)
@@ -239,6 +239,25 @@ sub _build_fields_for_type_Reaction_InterfaceModel_Collection {
   $self->_build_simple_field(attribute => $attr, class => Collection, %$args);
 }
 
+sub _build_fields_for_type_MooseX_Types_Common_String_SimpleStr {
+  my ($self, $attr, $args) = @_;
+  $self->_build_simple_field(attribute => $attr, class => String, %$args);
+}
+
+sub _build_fields_for_type_MooseX_Types_Common_String_Password {
+  return;
+}
+
+sub _build_fields_for_type_MooseX_Types_DateTime_DateTime {
+  my ($self, $attr, $args) = @_;
+  $self->_build_simple_field(attribute => $attr, class => DateTime, %$args);
+}
+
+sub _build_fields_for_type_DateTime {
+  my ($self, $attr, $args) = @_;
+  $self->_build_simple_field(attribute => $attr, class => DateTime, %$args);
+}
+
 __PACKAGE__->meta->make_immutable;
 
 1;
index e58f1b4..2e207aa 100644 (file)
@@ -103,6 +103,26 @@ sub _build_fields_for_type_ArrayRef {
   }
 }
 
+sub _build_fields_for_type_MooseX_Types_Common_String_SimpleStr {
+  my ($self, $attr, $args) = @_;
+  $self->_build_simple_field(attribute => $attr, class => String, %$args);
+}
+
+sub _build_fields_for_type_MooseX_Types_Common_String_Password {
+  my ($self, $attr, $args) = @_;
+  $self->_build_simple_field(attribute => $attr, class => Password, %$args);
+}
+
+sub _build_fields_for_type_MooseX_Types_DateTime_DateTime {
+  my ($self, $attr, $args) = @_;
+  $self->_build_simple_field(attribute => $attr, class => DateTime, %$args);
+}
+
+sub _build_fields_for_type_DateTime {
+  my ($self, $attr, $args) = @_;
+  $self->_build_simple_field(attribute => $attr, class => DateTime, %$args);
+}
+
 __PACKAGE__->meta->make_immutable;
 
 1;
index 98457f3..c7ffe62 100644 (file)
@@ -5,13 +5,13 @@ use Moose;
 extends 'DBIx::Class';
 
 use aliased 'RTest::TestDB::Foo';
-use Reaction::Types::Core qw/NonEmptySimpleStr/;
-use Reaction::Types::DateTime qw//;
+use MooseX::Types::Common::String qw/NonEmptySimpleStr/;
+use MooseX::Types::DateTime qw/DateTime/;
 use Reaction::Types::File 'File';
 
 has 'name' => (isa => NonEmptySimpleStr, is => 'rw', required => 1);
 has 'foo' => (isa => Foo, is => 'rw', required => 1);
-has 'published_at' => (isa => Reaction::Types::DateTime::DateTime, is => 'rw');
+has 'published_at' => (isa => DateTime, is => 'rw');
 has 'avatar' => (isa => File, is => 'rw');
 
 use namespace::clean -except => [ 'meta' ];
index 7fb5a83..33e5e6c 100644 (file)
@@ -5,7 +5,7 @@ use Moose;
 extends 'DBIx::Class::Core';
 
 use MooseX::Types::Moose qw/ArrayRef Int/;
-use Reaction::Types::Core qw/NonEmptySimpleStr/;
+use MooseX::Types::Common::String qw/NonEmptySimpleStr/;
 
 has 'id' => (isa => Int, is => 'ro', required => 1);
 has 'name' => (isa => NonEmptySimpleStr, is => 'rw', required => 1);
index 5031324..a8d063c 100644 (file)
@@ -5,7 +5,7 @@ use Moose;
 extends 'DBIx::Class';
 
 use MooseX::Types::Moose qw/ArrayRef Int/;
-use Reaction::Types::Core qw/NonEmptySimpleStr/;
+use MooseX::Types::Common::String qw/NonEmptySimpleStr/;
 
 has 'id' => (isa => Int, is => 'ro', required => 1);
 has 'first_name' => (isa => NonEmptySimpleStr, is => 'rw', required => 1);