From ac420ce4538c97a193931d4bd80183f7172f548a Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Thu, 1 Jul 2010 22:35:33 +0200 Subject: [PATCH 1/1] save selected column in views and load them This allows easy switch between clusters (chunks) of columns in similar scale for easy graphing --- lib/MojoFacets/Data.pm | 25 +++++++++++++++++++++++++ templates/data/columns.html.ep | 14 +++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/lib/MojoFacets/Data.pm b/lib/MojoFacets/Data.pm index b0cc4fa..314e72e 100644 --- a/lib/MojoFacets/Data.pm +++ b/lib/MojoFacets/Data.pm @@ -382,12 +382,30 @@ sub _export_path { sub columns { my $self = shift; + my $view_path = $self->_permanent_path( 'views' ); + if ( $self->param('columns') ) { my @columns = $self->_param_array('columns'); write_file( $self->_permanent_path( 'columns' ), { binmode => ':utf8' }, map { "$_\n" } @columns ); + if ( my $view = $self->param('view') ) { + mkdir $view_path unless -e $view_path; + write_file( "$view_path/$view", { binmode => ':utf8' }, map { "$_\n" } @columns ); + warn "view $view_path/$view ", -s "$view_path/$view", " bytes\n"; + } + $self->redirect_to('/data/items'); } + if ( my $id = $self->param('id') ) { + my $view_full = "$view_path/$id"; + if ( -f $view_full ) { + my @columns = map { chomp; $_ } read_file $view_full, binmode => ':utf8'; + warn "view $view_full loaded ", dump @columns; + $self->session( 'columns' => [ @columns ] ); + $self->redirect_to('/data/items'); + } + } + my $stats = $self->_loaded( 'stats' ); my @columns; @@ -397,11 +415,18 @@ sub columns { push @columns, $c unless grep { /^\Q$c\E$/ } @columns; } + my @views; + if ( -d $view_path ) { + @views = map { s{^\Q$view_path\E/*}{}; $_ } glob "$view_path/*"; + warn "# views ",dump @views; + } + $self->render( message => 'Select columns to display', stats => $stats, columns => \@columns, checked => $self->_checked( $self->_param_array('columns') ), + views => \@views, ); } diff --git a/templates/data/columns.html.ep b/templates/data/columns.html.ep index 0eb4e34..8c8c1e7 100644 --- a/templates/data/columns.html.ep +++ b/templates/data/columns.html.ep @@ -17,6 +17,16 @@ $(document).ready(function() { +
+% if ( $views ) { +Load view: + +% } +

Select and reorder columns

@@ -46,7 +56,9 @@ $(document).ready(function() { -from + + + rebuild stats -- 2.20.1