aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgroditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2009-02-12 01:12:12 +0000
committergroditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7>2009-02-12 01:12:12 +0000
commitbaee102d2189942f509b43d703d74e4e21c64403 (patch)
tree9106a80ba97161ac8a56b1675cad464b1dfd105e
parentcf6fb234d0c47cf05376d6724a401ff8400e3ba5 (diff)
downloadreaction-baee102d2189942f509b43d703d74e4e21c64403.tar.gz
reaction-baee102d2189942f509b43d703d74e4e21c64403.zip
use MooseX::Types::Common and MooseX::Types::DateTime
-rw-r--r--Changes2
-rw-r--r--Makefile.PL2
-rw-r--r--TODO7
-rw-r--r--lib/Reaction/UI/ViewPort/Collection/Grid/Member.pm13
-rw-r--r--lib/Reaction/UI/ViewPort/Object.pm19
-rw-r--r--lib/Reaction/UI/ViewPort/Object/Mutable.pm20
-rw-r--r--t/lib/RTest/TestDB/Bar.pm6
-rw-r--r--t/lib/RTest/TestDB/Baz.pm2
-rw-r--r--t/lib/RTest/TestDB/Foo.pm2
9 files changed, 67 insertions, 6 deletions
diff --git a/Changes b/Changes
index fb2e882..e0c4887 100644
--- 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
diff --git a/Makefile.PL b/Makefile.PL
index 5c0f146..699ad33 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -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
--- 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
diff --git a/lib/Reaction/UI/ViewPort/Collection/Grid/Member.pm b/lib/Reaction/UI/ViewPort/Collection/Grid/Member.pm
index 02629a2..abea20f 100644
--- a/lib/Reaction/UI/ViewPort/Collection/Grid/Member.pm
+++ b/lib/Reaction/UI/ViewPort/Collection/Grid/Member.pm
@@ -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;
diff --git a/lib/Reaction/UI/ViewPort/Object.pm b/lib/Reaction/UI/ViewPort/Object.pm
index ed68f20..431aa47 100644
--- a/lib/Reaction/UI/ViewPort/Object.pm
+++ b/lib/Reaction/UI/ViewPort/Object.pm
@@ -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;
diff --git a/lib/Reaction/UI/ViewPort/Object/Mutable.pm b/lib/Reaction/UI/ViewPort/Object/Mutable.pm
index e58f1b4..2e207aa 100644
--- a/lib/Reaction/UI/ViewPort/Object/Mutable.pm
+++ b/lib/Reaction/UI/ViewPort/Object/Mutable.pm
@@ -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;
diff --git a/t/lib/RTest/TestDB/Bar.pm b/t/lib/RTest/TestDB/Bar.pm
index 98457f3..c7ffe62 100644
--- a/t/lib/RTest/TestDB/Bar.pm
+++ b/t/lib/RTest/TestDB/Bar.pm
@@ -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' ];
diff --git a/t/lib/RTest/TestDB/Baz.pm b/t/lib/RTest/TestDB/Baz.pm
index 7fb5a83..33e5e6c 100644
--- a/t/lib/RTest/TestDB/Baz.pm
+++ b/t/lib/RTest/TestDB/Baz.pm
@@ -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);
diff --git a/t/lib/RTest/TestDB/Foo.pm b/t/lib/RTest/TestDB/Foo.pm
index 5031324..a8d063c 100644
--- a/t/lib/RTest/TestDB/Foo.pm
+++ b/t/lib/RTest/TestDB/Foo.pm
@@ -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);