--- trunk/lib/Frey/ObjectBrowser.pm 2008/07/10 15:29:01 82 +++ trunk/lib/Frey/ObjectBrowser.pm 2008/07/11 22:54:42 101 @@ -3,6 +3,13 @@ use MooseX::Method; extends 'Frey'; +with 'Frey::Web'; + +has 'fey_class' => ( + is => 'rw', + isa => 'Str', + required => 1, +); my @callbacks; @@ -24,8 +31,8 @@ #use Data::Dumper; #$Data::Dumper::Deparse = 1; use Data::Dump qw/dump/; -use Data::Structure::Util qw(unbless); +use Frey::Web::Row; #method 'html' => positional( # isa => 'Continuity::RequestHolder', @@ -34,21 +41,16 @@ sub html { my ( $self, $req ) = @_; - my $params = $req->param; - warn "# params = ",dump( $params ); - - use Strix::User; - use Strix::View::User; + my $f = { $req->params }; + my $layout = delete( $f->{layout} ) || 'div'; - my $s = Strix::User->rows(); - warn "# s = ",dump( $s ); + my $s = $self->fey_class->rows(); + warn "# s ",$self->fey_class," = ",dump( $s ) if $self->debug; - my $f = {}; my @w; while ( my $u = $s->next ) { - my $w = Strix::View::User->new( %{ $u } ); - $w->_fey( $u ); + my $w = Frey::Web::Row->new( fey_class => $self->fey_class, fey => $u, layout => $layout ); warn "# w = ",dump( $w ) if $self->debug; push @w, $w; } @@ -58,21 +60,59 @@ warn "# got $#w elements: ",dump( map { $_->id } @w ); warn "<<< GOT REQUEST ",dump( $f ); - warn "does last element have id? ",dump( $w[$#w]->id ); + # re-apply (changed?) layout to elements + if ( defined $f->{layout} ) { + $layout = delete( $f->{layout} ); + warn "# new layout = $layout\n"; + } + + my $rows_delimiter = ''; + $rows_delimiter = '