normalize JUST column names
[MojoFacets.git] / lib / MojoFacets / Data.pm
index ac7dc21..5aed26c 100644 (file)
@@ -326,8 +326,7 @@ sub _export_path {
        }
        my $dir = $self->app->home->rel_dir('public') . "/export/$path";
        mkpath $dir unless -e $dir;
-       my $name = unac_string( join('.', @_) );
-       $name =~ s/\W+/_/g;
+       my $name = join('.', map { my $n = unac_string($_); $n =~ s/\W+/_/g; $n; } @_ );
        $dir . '/' . $name;
 }
 
@@ -467,15 +466,12 @@ sub _filter_on_data {
 sub _current_filters {
        my $self = shift;
        my $current_filters;
-       my $columns = $self->_loaded('header');
-       if ( my $sc = $self->session('columns') ) {
-               $columns = $sc;
-       }
+       my $stats = $self->_loaded('stats');
 
        $current_filters->{ $_ } = $filters->{ $_ }
-               foreach ( grep { defined $filters->{ $_ } } @$columns )
+               foreach ( grep { defined $filters->{ $_ } } keys %$stats )
        ;
-       warn "# _current_filters ",dump($columns);
+       warn "# _current_filters ",dump( keys %$current_filters );
        return $current_filters;
 }
 
@@ -748,11 +744,16 @@ sub items {
                foreach my $f ( 0 .. $#$filtered ) {
                        print $fh join("\t", map {
                                my $i = $data->{items}->[ $filtered->[$f] ];
-                               if ( ref $i->{$_} eq 'ARRAY' ) {
-                                       join(',', @{ $i->{$_} });
+                               my $v = '\N';
+                               if ( ! defined $i->{$_} ) {
+                                       # nop
+                               } elsif ( ref $i->{$_} eq 'ARRAY' ) {
+                                       $v =join(',', @{ $i->{$_} });
+                                       $v = '\N' if length($v) == 0;
                                } else {
-                                       dump $i->{$_};
+                                       $v = dump $i->{$_};
                                }
+                               $v;
                        } @columns),"\n";
                }
                close($fh);