Author: spadkins
Date: Fri Feb 20 14:21:56 2009
New Revision: 12526

Modified:
   p5ee/trunk/App-Widget/lib/App/Widget/Graph.pm

Log:
A few more changes

Modified: p5ee/trunk/App-Widget/lib/App/Widget/Graph.pm
==============================================================================
--- p5ee/trunk/App-Widget/lib/App/Widget/Graph.pm       (original)
+++ p5ee/trunk/App-Widget/lib/App/Widget/Graph.pm       Fri Feb 20 14:21:56 2009
@@ -290,25 +290,32 @@
         }
 
         foreach my $graph_key (@$keys) {
-            my $domain = $column_defs->{$graph_key}{domain};
-            if ($domain =~ /^dow$/) {
+            if ($graph_key =~ /^dow$/) {
                 my @x_new;
-                my $value_domain = $context->value_domain($domain);
+                my $value_domain = 
$context->value_domain($column_defs->{$graph_key}{domain});
                 my $labels       = $value_domain->labels();
                 foreach my $x_val (@x) {
                     push(@x_new, $labels->{$x_val});
                 }
                 @x = @x_new;
             }
-            if ($domain =~ /days_left_type\d_abbr/) {
-                my ($val_sort, $vals_sort_idx, $sign, @x_new, @yn_new);
-
-                my %numeric      = ( "integer" => 1, "float" => 1 );
-                my $value_domain = $context->value_domain($domain);
-                my $domain_vals  = $value_domain->values();
+            else {
+                my ($val_sort, $vals_sort_idx, $sign, @x_new, @yn_new, 
$graph_key_vals);
+                my %numeric = ( "integer" => 1, "float" => 1 );
 
-                for (my $i = 0; $i <= $#$domain_vals; $i++) {
-                    $val_sort->{$graph_key}{$domain_vals->[$i]} = $i;
+                if ($spec->{params}{$graph_key}) {
+                    $graph_key_vals = [ split(/,/, 
$spec->{params}{$graph_key}) ];
+                    for (my $i = 0; $i <= $#$graph_key_vals; $i++) {
+                        $val_sort->{$graph_key}{$graph_key_vals->[$i]} = $i;
+                    }
+                }
+                else {
+                    next if (!$column_defs->{$graph_key}{domain});
+                    my $value_domain = 
$context->value_domain($column_defs->{$graph_key}{domain});
+                    my $domain_vals  = $value_domain->values();
+                    for (my $i = 0; $i <= $#$domain_vals; $i++) {
+                       $val_sort->{$graph_key}{$domain_vals->[$i]} = $i;
+                    }
                 }
 
                 @$vals_sort_idx = sort {
@@ -398,42 +405,43 @@
         }
 
         foreach my $graph_key (@$keys) {
-            if ($graph_key =~ /mkt_seg_abbr/) {
-                my ($graph_key_vals, $val_sort, $vals_sort_idx, $sign, 
@yn_new, @y_new);
-                my %numeric = ( "integer" => 1, "float" => 1 );
+            my ($graph_key_vals, $val_sort, $vals_sort_idx, $sign, @yn_new, 
@y_new);
+            my %numeric = ( "integer" => 1, "float" => 1 );
 
-                if ($spec->{params}{$graph_key}) {
-                    $graph_key_vals = [ split(/,/, 
$spec->{params}{$graph_key}) ];
-                }
+            if ($spec->{params}{$graph_key}) {
+                $graph_key_vals = [ split(/,/, $spec->{params}{$graph_key}) ];
+            }
+            else {
+                next;
+            }
 
-                for (my $i = 0; $i <= $#$graph_key_vals; $i++) {
-                    $val_sort->{$graph_key}{$graph_key_vals->[$i]} = $i;
-                }
+            for (my $i = 0; $i <= $#$graph_key_vals; $i++) {
+                $val_sort->{$graph_key}{$graph_key_vals->[$i]} = $i;
+            }
 
-                @$vals_sort_idx = sort {
-                    $sign = 0;
-                    for (my $i = 0; $i <= $#y; $i++) {
-                        my $val_a = $y[$a];
-                        my $val_b = $y[$b];
-                        $sign = (defined $val_sort->{$graph_key}) ?
-                            ($val_sort->{$graph_key}{$val_a} <=> 
$val_sort->{$graph_key}{$val_b}) :
-                            ($numeric{$column_defs->{$graph_key}{type}} ? 
($val_a <=> $val_b) : ($val_a cmp $val_b));
-                        last if ($sign);
-                    }
-                    $sign;
-                } (0 .. $#y);
+            @$vals_sort_idx = sort {
+                $sign = 0;
+                for (my $i = 0; $i <= $#y; $i++) {
+                    my $val_a = $y[$a];
+                    my $val_b = $y[$b];
+                    $sign = (defined $val_sort->{$graph_key}) ?
+                        ($val_sort->{$graph_key}{$val_a} <=> 
$val_sort->{$graph_key}{$val_b}) :
+                        ($numeric{$column_defs->{$graph_key}{type}} ? ($val_a 
<=> $val_b) : ($val_a cmp $val_b));
+                    last if ($sign);
+                }
+                $sign;
+            } (0 .. $#y);
 
-                if ($#$vals_sort_idx != -1) {
-                    for (my $i = 0; $i <= $#$vals_sort_idx; $i++) {
-                        push(@yn_new, $yn[$vals_sort_idx->[$i]]);
-                    }
-                    for (my $i = 0; $i <= $#$vals_sort_idx; $i++) {
-                        $y_new[$i] = $y[$vals_sort_idx->[$i]]
-                    }
-                    
-                    @y  = @y_new;
-                    @yn = @yn_new;
+            if ($#$vals_sort_idx != -1) {
+                for (my $i = 0; $i <= $#$vals_sort_idx; $i++) {
+                    push(@yn_new, $yn[$vals_sort_idx->[$i]]);
                 }
+                for (my $i = 0; $i <= $#$vals_sort_idx; $i++) {
+                    $y_new[$i] = $y[$vals_sort_idx->[$i]]
+                }
+
+                @y  = @y_new;
+                @yn = @yn_new;
             }
         }
 

Reply via email to