/[Frey]/trunk/lib/Frey/Web/Row.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/Web/Row.pm

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

revision 90 by dpavlin, Thu Jul 10 20:57:27 2008 UTC revision 95 by dpavlin, Fri Jul 11 10:29:31 2008 UTC
# Line 18  sub edit_delete_buttons { Line 18  sub edit_delete_buttons {
18          return unless $self->_fey;          return unless $self->_fey;
19    
20          $self->add_button( 'Edit' => sub {          $self->add_button( 'Edit' => sub {
21                    $self->remove_button( 'Delete' );
22                    $self->rename_button( 'Edit' => 'Save' );
23                  my $out = $self->render_edit;                  my $out = $self->render_edit;
24                  my $f = $self->next($out);                  my $f = $self->next($out);
25                  my $hash = $self->set_from_hash($f);                  my $hash = $self->set_from_hash($f);
26                  $self->_fey->update( %$hash );                  #warn "# Edit/Save hash = ",dump( $hash );
27                    $self->_fey->update( %$hash ) if $hash;
28                    $self->rename_button( 'Save' => 'Edit' );
29                    $self->delete_button;
30          });          });
31            $self->delete_button;
32    }
33    
34    sub delete_button {
35            my $self = shift;
36          $self->add_button('Delete' => sub {          $self->add_button('Delete' => sub {
37                  print STDERR "delete ID @{[$self->id]}!\n";                  print STDERR "delete ID @{[$self->id]}!\n";
38                  $self->_fey->delete;                  $self->_fey->delete;
# Line 31  sub edit_delete_buttons { Line 40  sub edit_delete_buttons {
40                  $self->render_as( 'deleted' );                  $self->render_as( 'deleted' );
41                  Strix::Schema->ClearObjectCaches();     # XXX important!                  Strix::Schema->ClearObjectCaches();     # XXX important!
42          });          });
   
43  }  }
44    
45  sub main {  sub main {
# Line 92  sub render_edit { Line 100  sub render_edit {
100                          </tr>                          </tr>
101                  | if $self->_layout eq 'table';                  | if $self->_layout eq 'table';
102                  return qq|                  return qq|
103                            <td class="field">
104                                    <input type=text id="$field_name" name="$field_name" value="$val">
105                            </td>
106                    | if $self->_layout eq 'columns';
107                    return qq|
108                          <div class=fieldholder>                          <div class=fieldholder>
109                                  <label for="$field_name">$label</label>                                  <label for="$field_name">$label</label>
110                                  <div class=field>                                  <div class=field>
# Line 100  sub render_edit { Line 113  sub render_edit {
113                          </div>                          </div>
114                  |;                  |;
115          });          });
116    
117            return qq|<tr class="editform">$out<td>| . $self->render_buttons . qq|</td></tr>| if $self->_layout eq 'columns';
118    
119          $self->render_wrapper_class( $out, 'editform' );          $self->render_wrapper_class( $out, 'editform' );
120  }  }
121    
# Line 111  sub render_view { Line 127  sub render_view {
127                  my ( $name, $field_name, $label, $val ) = @_;                  my ( $name, $field_name, $label, $val ) = @_;
128                  return if $name =~ /^_/;                  return if $name =~ /^_/;
129                  return qq|<tr><td>$label</td><td>$val</td></tr>| if $self->_layout eq 'table';                  return qq|<tr><td>$label</td><td>$val</td></tr>| if $self->_layout eq 'table';
130                    return qq|<td>$val</td>| if $self->_layout eq 'columns';
131                  return qq|                  return qq|
132                          <div class=fieldholder>                          <div class=fieldholder>
133                                  <div class=label>$label</div>                                  <div class=label>$label</div>
# Line 119  sub render_view { Line 136  sub render_view {
136                          </div>                          </div>
137                  |;                  |;
138          });          });
139            return qq|<tr>$out<td>| . $self->render_buttons . qq|</td></tr>| if $self->_layout eq 'columns';
140          $self->render_wrapper_class( $out, 'view' );          $self->render_wrapper_class( $out, 'view' );
141  }  }
142    
# Line 160  has _fey => ( Line 178  has _fey => (
178    
179  use Moose::Util::TypeConstraints;  use Moose::Util::TypeConstraints;
180    
181  enum 'Layouts' => qw( div table );  enum 'Layouts' => qw( div table columns );
182    
183  has _layout => (  has _layout => (
184          is => 'rw',          is => 'rw',

Legend:
Removed from v.90  
changed lines
  Added in v.95

  ViewVC Help
Powered by ViewVC 1.1.26