--- trunk/lib/Frey/ObjectDesigner.pm 2008/07/14 23:44:18 129
+++ 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|
| 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||;
- }
-
- 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||
);
- warn ">>> $layout ",length( $html ),"\n";
+ warn ">>> ",length( $html ),"\n";
$req->print( $html );
$req->next;
-
- $f = { $req->params };
}
warn "NO WAY OUT!";