drop down to switch datasets loaded in items display
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 14 Jan 2011 15:51:11 +0000 (16:51 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 14 Jan 2011 15:51:11 +0000 (16:51 +0100)
lib/MojoFacets/Data.pm
templates/admin.html.ep

index 1e1f87d..acf860e 100644 (file)
@@ -626,9 +626,27 @@ sub __commit_path_code {
        #warn "__commit_path_code $path $i ",dump( $update );
 }
 
+# uses templates/admin.html.ep
+sub _switch_dataset {
+       my $self = shift;
+
+       my $datasets;
+
+       foreach my $path ( keys %$loaded ) {
+               next unless exists $loaded->{$path}->{data};
+               push @$datasets, $path;
+       }
+
+       warn "# datasets ",dump($datasets);
+
+       $self->stash( 'datasets' => $datasets );
+}
+
 sub items {
        my $self = shift;
 
+       $self->_switch_dataset;
+
        if ( my $show = $self->param('id') ) {
                $self->param('show', $show);
                warn "show $show\n";
index d98a64c..b3d29d3 100644 (file)
@@ -1,5 +1,29 @@
 <div class=admin>
 
+% if ( my $datasets = stash('datasets' ) ) {
+<form action=/data/load id="switch_dataset" style="display: inline">
+<select name="path">
+% foreach my $path ( @$datasets ) {
+<option <%= session('path') eq $path ? 'selected="selected"' : '' %> ><%= $path %></option>
+% }
+</select>
+% foreach my $path ( @$datasets ) {
+<input name=paths type=hidden value="<%= $path %>">
+% }
+</form>
+<script>
+$(document).ready( function() {
+       $('#switch_dataset').change( function() {
+               console.log( 'switch_dataset', this );
+               $(this).submit();
+       });
+       console.debug('installed switch_dataset' );
+});
+</script>
+% } else {
+<tt><%= session('path') %>
+% }
+
 <a href="<%= url_for( controller => 'data', action => 'index', id => 0 ) %>">load</a>
 <a href="<%= url_for( controller => 'data', action => 'columns', id => 0 ) %>">columns</a>
 &middot;