my $commit = $self->param('commit');
my $test = $self->param('test');
- my $cols_added;
+ my $cols_changed;
if ( $code && ( $test || $commit ) ) {
# XXX find columns used in code snippet and show them to user
if ( $column =~ s/^(['"])// ) {
$column =~ s/$1$//;
}
+ $cols_changed->{$column}++;
next if grep { /$column/ } @columns;
+ $cols_changed->{$column}++;
unshift @columns, $column;
- $cols_added->{$column}++;
if ( $commit ) {
$self->session('columns', [ @columns ]);
$loaded->{$path}->{columns} = [ @columns ];
numeric => { map { $_, $self->_is_numeric($_) } @columns },
filters => $self->_current_filters,
code => $code,
- cols_added => $cols_added,
+ cols_changed => $cols_changed,
);
}
-<pre class=debug><%= dumper $cols_added %></pre>
-
<table border=1>
<tr>
+% my $commit = param('commit');
% foreach my $n ( @$columns ) {
+% if ( $cols_changed->{$n} == 2 && ! $commit ) {
+<th class=changed>
+<%= $n %>
+% } else {
<th>
% if ( session('order') ne $n ) {
<a href="<%= url_for( action => 'order' )->query( order => $n, sort => 'a' ) %>"><%= $n %></a>
% }
</a>
</div>
+
+% }
</th>
% }
</tr>
% foreach my $row ( @$sorted ) {
<tr title="<%= $row->{_row_id} %>">
% foreach my $col ( @$columns ) {
-<td<%= $numeric->{$col} ? ' class=numeric' : $cols_added->{$col} ? ' class=changed' : '' %>>
+% my $class = '';
+% $class .= ' numeric' if $numeric->{$col};
+% $class .= ' changed' if $cols_changed->{$col};
+% $class =~ s/^ / class="/ && $class =~ s/$/"/;
+<td<%== $class %>>
% if ( ref $row->{$col} eq 'ARRAY' ) {
% my $last = $#{ $row->{$col} };
% foreach ( 0 .. $last ) {
<script type="text/javascript" src="/edit_table.js"></script>
+%#<pre class=debug><%= dumper $cols_changed %></pre>