mark all columns used in code
[MojoFacets.git] / templates / data / items / table.html.ep
index a5f82bf..24159c3 100644 (file)
@@ -1,8 +1,12 @@
-
 <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>
@@ -20,6 +24,8 @@ filter
 % }
 </a>
 </div>
+
+% }
 </th>
 % }
 </tr>
@@ -27,7 +33,11 @@ filter
 % foreach my $row ( @$sorted ) {
 <tr title="<%= $row->{_row_id} %>">
 % foreach my $col ( @$columns ) {
-<td<%= $numeric->{$col} ? ' class=numeric' : '' %>>
+%  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 ) {
@@ -48,21 +58,43 @@ filter
 
 </table>
 
+% if ( $code ) {
+
 <form id=eval method=post>
+% my $error = stash('eval_error');
+% if ( $error ) {
+<div class=error><%= $error %></div>
+% }
 % my $rows = scalar split(/\n/,$code);
-<textarea name=code rows=<%= $rows + 1 %>>
-<%= $code %>
-</textarea>
+<textarea name=code rows=<%= $rows %>><%= $code %></textarea>
 <input name=test   type=submit value="Test code">
-<input name=commit type=submit value="Commit changes">
+
+% if ( param('test') ) {
+<a href="">reload original</a>
+%   if ( ! $error ) {
+<input name=commit type=submit value="Commit changes" style="color:red">
+%   }
+% }
+
+<input id=close name=close  type=button value="Close" style="float: right">
 </form>
 
-<script type="text/javascript" src="/edit_table.js"></script>
 <script type="text/javascript" src="/js/jquery.textarea_grow.js"></script>
 <script type="text/javascript">
 
 $(document).ready( function(){
        $('form#eval textarea').textarea_grow();
+       $('input#close').bind('click', function(a,b){
+               console.debug( this,a,b );
+               $.post( document.location, { code: '' } );
+               $(this).parent().hide();
+       });
 });
 
 </script>
+
+% }
+
+<script type="text/javascript" src="/edit_table.js"></script>
+
+%#<pre class=debug><%= dumper $cols_changed %></pre>