mark all columns used in code
[MojoFacets.git] / templates / data / items / table.html.ep
index e8578ae..24159c3 100644 (file)
@@ -1,10 +1,15 @@
 <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 ) %>"><%= $n %></a>
+<a href="<%= url_for( action => 'order' )->query( order => $n, sort => 'a' ) %>"><%= $n %></a>
 % } else {
 <a href="<%= url_for( action => 'order' )->query( order => $n, sort => session('sort') eq 'a' ? 'd' : 'a' ) %>"><%= $n %></a>
 <%== session('sort') eq 'a' ? '&uarr;' : '&darr;' %>
@@ -19,14 +24,20 @@ filter
 % }
 </a>
 </div>
+
+% }
 </th>
 % }
 </tr>
 
 % foreach my $row ( @$sorted ) {
-<tr>
+<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 ) {
@@ -46,3 +57,44 @@ filter
 % } # sorted
 
 </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 %>><%= $code %></textarea>
+<input name=test   type=submit value="Test code">
+
+% 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="/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>