From: Dobrica Pavlinusic Date: Tue, 25 May 2010 20:31:45 +0000 (+0200) Subject: another sorting fix X-Git-Url: http://git.rot13.org/?p=MojoFacets.git;a=commitdiff_plain;h=0bb06bc63b9a08116ecfe68938d19087e796bfec another sorting fix last one hopefully, thanks to new debug messages --- diff --git a/lib/MojoFacets/Data.pm b/lib/MojoFacets/Data.pm index 2a35b2d..b81816b 100644 --- a/lib/MojoFacets/Data.pm +++ b/lib/MojoFacets/Data.pm @@ -307,7 +307,7 @@ sub _filter_on_data { #warn "# filter $name ",dump($filtered_items); $loaded->{$path}->{filters}->{$name} = $filtered_items; - warn "generated ", scalar keys %$filtered_items, " filtered items\n"; + warn "filter $name with ", scalar keys %$filtered_items, " items created\n"; } sub _data_items { @@ -467,18 +467,19 @@ sub items { my $filtered = $loaded->{$path}->{filtered}->{$filtered_names} if defined $loaded->{$path}->{filtered}->{$filtered_names}; - warn "filters $filtered_names" if $filtered; + warn "filtered_names $filtered_names",dump( $filtered ) if $filtered; my $sorted_items; my $data = $self->_loaded('data'); - my $sort_start = $sort eq 'd' ? $#$filtered : 0; + my $from_end = $sort eq 'd' ? $#$filtered : 0; foreach ( 0 .. $limit ) { - my $i = $sort_start - ( $_ + $offset ); + my $i = $_ + $offset; last unless defined $filtered->[$i]; + $i = $from_end - $i if $from_end; push @$sorted_items, $data->{items}->[ $filtered->[$i] ]; } - warn "# sorted_items ", $#$sorted_items + 1, " offset $offset limit $limit"; + warn "# sorted_items ", $#$sorted_items + 1, " offset $offset limit $limit order $sort"; $self->render( order => $order,