--- trunk/lib/Frey/ObjectDesigner.pm 2008/07/16 14:14:18 142 +++ trunk/lib/Frey/ObjectDesigner.pm 2008/07/16 14:17:46 143 @@ -18,59 +18,36 @@ sub html { my ( $self, $req ) = @_; - my $f = { $req->params }; - my $layout = delete( $f->{layout} ) || 'div'; + $self->add_css( 'static/form.css' ); + + my $pager; while ( 1 ) { - + my $f = { $req->params }; warn "<<< GOT REQUEST ",dump( $f ); + + $pager = Frey::Pager->new( + fey_class => $self->fey_class, + item_constructor => sub { + Frey::Web::Design->new( fey_class => $self->fey_class, @_ ); + }, + ) if ! $pager; - # re-apply (changed?) layout to elements - if ( defined $f->{layout} ) { - $layout = delete( $f->{layout} ); - warn "# new layout = $layout\n"; - } - - my $w = Frey::Web::Design->new( fey_class => $self->fey_class, layout => $layout, render_as => 'edit' ); - - my $form = $w->process($f); - - $form = qq|$form
| if $layout eq 'table'; - - if ( $layout eq 'columns' ) { - # add header to table - my $header = $w->render_iterator( sub { - my ( $name, $field_name, $label, $val ) = @_; - return if $name =~ /^_/; - return qq|$label|; - }); - $form = qq|$header$form
|; - } - - my $layout_picker = - qq|
layout: | . - Frey::Web::Links->new( - name => 'layout', - current => $layout, - values => [ 'div', 'table', 'columns' ], - )->links . - qq|
| - ; + $pager->update_collection; - $self->add_css( 'static/form.css' ); + my $form = $pager->items_in_layout( $f ); + $form = $pager->last_item->render_table_wrapper( $form ); my $html = $self->page( body => '

' . $self->fey_class . '

' - . $layout_picker + . $pager->last_item->layout_picker # FIXME . qq|
$form
| ); - warn ">>> $layout ",length( $html ),"\n"; + warn ">>> ",length( $html ),"\n"; $req->print( $html ); $req->next; - - $f = { $req->params }; } warn "NO WAY OUT!";