move selection of visible snippets to top
[MojoFacets.git] / lib / MojoFacets / Code.pm
index 8f52d69..703008d 100644 (file)
@@ -8,13 +8,19 @@ use base 'Mojolicious::Controller';
 use Data::Dump qw(dump);
 use File::Slurp;
 
+sub _code_dir { $_[0]->app->home->rel_dir('public') . '/code' }
+
 sub index {
        my $self = shift;
 
        $self->redirect_to('/data/columns') unless $self->session('columns');
        my $columns = { map { $_ => 1 } @{ $self->session('columns') } };
 
-       my $dir = $self->app->home->rel_dir('public') . '/code';
+       if ( $self->param('all_columns') ) {
+               $columns->{$_} = 1 foreach @{ $self->session('header') }
+       }
+
+       my $dir = $self->_code_dir;
 
        my $snippets;
 
@@ -28,7 +34,7 @@ sub index {
                my $found = -1;
                $found += $columns->{$_} foreach @deps;
 warn "# depends $depends $found $#deps\n";
-               next unless $found == $#deps;
+               next unless $found == $#deps || $self->param('all_code');
 
                $snippets->{$depends}->{$description} = read_file $full_path, binmode => ':utf8';
        }
@@ -38,4 +44,12 @@ warn "# depends $depends $found $#deps\n";
        );
 }
 
+sub remove {
+       my $self = shift;
+       if ( my $path = $self->param('path') ) {
+               unlink $self->_code_dir . '/' . $path;
+       }
+       $self->redirect_to('/code');
+}
+
 1;