2 <h2>Latest actions</h2>
4 <form class=action_filter>
5 <input type=submit value="Filter">
7 % foreach my $type ( sort keys %$stats ) {
9 <input type=checkbox name=action_filter value="<%= $type %>">
10 <%= $type %><span class=count><%= $stats->{$type} %></span>
14 <input type=submit value="Filter">
18 <tr><th>action</th><th>timestamp</th></tr>
19 % foreach my $action ( @$actions ) {
21 <a class="view" href="<%= url_for( controller => 'actions', action => 'view' )->query( uid => $action->{uid} ) %>"><%= $action->{action} %></a>
23 <tt class=ts><%= $action->{t} %></tt>
28 % my $more = ( $#$actions ) * 10;
29 Show <a href="<%= url_for( controller => 'actions', action => 'index' )->query( max => $more ) %>"><%= $more %> actions</a>
31 <script type="text/javascript" src="/js/date_pretty.js"></script>
32 <script type="text/javascript">
33 $(document).ready( function(){
34 console.debug('convert timestamps');
35 $('tt.ts').each( function(){
36 $(this).text( date_pretty( new Date(this.textContent * 1000) ) );
39 $('a.view').live( 'click', function() {
40 console.debug(this.href);
41 var e = $(this).parent();
42 var link_html = e.html();
45 success: function(data){
46 var form = $(data).filter('form');
47 console.debug('ajax',e,form);
49 .addClass( 'action_view' )
50 .removeClass( 'action_hide' )
52 $('<input type=button value=hide>').click( function() {
53 console.debug(this,link_html);
54 e.html( link_html ).removeClass( 'action_view' ).addClass( 'action_hide' );
63 $('form input[name=_master]').live( 'click', function(){
64 var master = this.value;
65 console.debug('replication master', master);
67 $(this).closest('form').attr('action', function() {
68 return master + this.action;
69 }).css({ 'background': '#ffe' });
72 $('label.checkbox_to_text span.value' ).live( 'dblclick', function() {
73 console.debug('checkbox to text',this);
74 var $checkbox = $(this).find('input[type=checkbox]');
76 '<input type=text name="'+$checkbox.attr('name')+'" value="'+$checkbox.attr('value')+'">'
81 console.debug('ready');