/[Frey]/trunk/lib/Frey/ObjectBrowser.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Frey/ObjectBrowser.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 93 by dpavlin, Fri Jul 11 09:25:02 2008 UTC revision 96 by dpavlin, Fri Jul 11 12:47:50 2008 UTC
# Line 64  sub html { Line 64  sub html {
64                          warn "# new layout = $layout\n";                          warn "# new layout = $layout\n";
65                  }                  }
66    
67                  my $rows_delimiter = '<hr/>';                  my $rows_delimiter = '';
68                  $rows_delimiter = '' if $layout eq 'table';                  $rows_delimiter = '<hr/>' if $layout eq 'div';
69    
70                  my $form = join($rows_delimiter, map {                  my $form = join($rows_delimiter, map {
71                          $_->_layout( $layout );                          $_->_layout( $layout );
# Line 74  sub html { Line 74  sub html {
74    
75                  if ( $w[ $#w ]->_fey ) {                  if ( $w[ $#w ]->_fey ) {
76                          warn "+++ added new item widget\n";                          warn "+++ added new item widget\n";
77                          my $w = Strix::View::User->new( render_as => 'edit' );                          my $w = Strix::View::User->new( _render_as => 'edit' );
78                          $w->_layout( $layout );                          $w->_layout( $layout );
79                          $form .= $rows_delimiter . $w->process;                          $form .= $rows_delimiter . $w->process;
80                          push @w, $w;                          push @w, $w;
# Line 82  sub html { Line 82  sub html {
82    
83                  $form = qq|<table>$form</table>| if $layout eq 'table';                  $form = qq|<table>$form</table>| if $layout eq 'table';
84    
85                    if ( $layout eq 'columns' ) {
86                            # add header to table
87                            my $header = $w[0]->render_iterator( sub {
88                                    my ( $name, $field_name, $label, $val ) = @_;
89                                    return if $name =~ /^_/;
90                                    return qq|<th>$label</th>|;
91                            });
92                            $form = qq|<table><tr>$header</tr>$form</table>|;
93                    }
94    
95                    my $layout_picker = join(' ',
96                            qq|<div class="layout">layout:|,
97                            map {
98                                    if ( $layout eq $_ ) {
99                                            qq|<em>$_</em>|;
100                                    } else {
101                                            qq|<a href="?layout=$_">$_</a>|;
102                                    }
103                            } ( 'div', 'table', 'columns' ),
104                            qq|</div>|,
105                    );
106    
107              my $doc = Continuity::Widget::DomNode->create(              my $doc = Continuity::Widget::DomNode->create(
108                          html => [                          html => [
# Line 90  sub html { Line 111  sub html {
111                                  ],                                  ],
112                                  body => [                                  body => [
113                                          h1 => [ 'Strix::User' ],                                          h1 => [ 'Strix::User' ],
114                                          $layout eq 'table' ?                                          $layout_picker,
                                                 # gen_link doesn't work since Widngets have it's own scope of layout  
 #                                               gen_link( 'div layout', sub { $layout = 'div' } ) :  
 #                                               gen_link( 'table layout', sub { $layout = 'table' } ),  
                                                 qq|<a href="?layout=div">div layout</a>| :  
                                                 qq|<a href="?layout=table">table layout</a>|,  
115                                          form => { method=>'post' } => [                                          form => { method=>'post' } => [
116                                                  $form,                                                  $form,
117                                          ],                                          ],

Legend:
Removed from v.93  
changed lines
  Added in v.96

  ViewVC Help
Powered by ViewVC 1.1.26