cvsuser     06/02/27 09:33:58

  Modified:    App-Widget/lib/App/Widget DataTable2.pm
  Log:
  remove non-style stuff
  
  Revision  Changes    Path
  1.3       +78 -54    p5ee/App-Widget/lib/App/Widget/DataTable2.pm
  
  Index: DataTable2.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/DataTable2.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DataTable2.pm     8 Nov 2005 04:51:31 -0000       1.2
  +++ DataTable2.pm     27 Feb 2006 17:33:58 -0000      1.3
  @@ -82,8 +82,27 @@
       $self->SUPER::_init(@_);
       $self->{table} = $self->{name} if (!$self->{table});
   
  -    $self->{context}->dbgprint("DataTable2->init()")
  -        if ($App::DEBUG && $self->{context}->dbg(1));
  +    if (!$self->{keycolidx}) {
  +        my $context = $self->{context};
  +        my $table   = $self->{table};
  +        my $rep     = $self->{repository};
  +        my $r       = $context->repository($rep);
  +        $r->_load_table_metadata($table);
  +        my $primary_key = $r->{table}{$table}{primary_key};
  +        if ($primary_key && ref($primary_key) eq "ARRAY" && $#$primary_key > 
-1) {
  +            my (@keycolidx, %colidx);
  +            my $columns = $self->get_columns();
  +            for (my $col = 0; $col <= $#$columns; $col++) {
  +                $colidx{$columns->[$col]} = $col;
  +            }
  +            for (my $col = 0; $col <= $#$primary_key; $col++) {
  +                if (defined $colidx{$primary_key->[$col]}) {
  +                    push(@keycolidx, $colidx{$primary_key->[$col]});
  +                }
  +            }
  +            $self->{keycolidx} = [EMAIL PROTECTED] if ($#keycolidx == 
$#$primary_key);
  +        }
  +    }
   }
   
   ######################################################################
  @@ -545,53 +564,55 @@
       my ($rowactions, $rowactiondefs, $rowaction, $rowactiondef);
       my (@select_actions, @single_select_actions, @row_actions);
   
  -    $table             = $self->get("table");
  -    return "No table defined." if (!$table);
  +    $table             = $self->{table};
       $columns           = $self->get_columns();
       return "No columns defined for table [$table]. (maybe it doesn't exist)" 
if (!$columns || $#$columns == -1);
       $headings          = $self->get_headings();
       $data              = $self->get_data();
  -    $startrow          = $self->get("startrow",         1);
  -    $title             = $self->get("title");
  -    $width             = $self->get("width");
  -    $bgcolor           = $self->get("bgcolor");
  -    $font_color        = $self->get("font_color");
  -    $border            = $self->get("border",           0);
  -    $cellspacing       = $self->get("cellspacing",      2);
  -    $cellpadding       = $self->get("cellpadding",      2);
  -    $align             = $self->get("align",            "");
  -    $valign            = $self->get("valign",           "top");
  -    $nowrap            = $self->get("nowrap",           1);
  -    $font_face         = $self->get("font_face",         
"verdana,geneva,arial,sans-serif");
  -    $font_size         = $self->get("font_size",         -2);
  -    $heading_bgcolor   = $self->get("heading_bgcolor",   "#cccccc");
  -    $heading_align     = $self->get("heading_align",     $align);
  -    $heading_valign    = $self->get("heading_valign",    "bottom");
  -    $heading_nowrap    = $self->get("heading_nowrap",    $nowrap);
  -    $mode              = $self->get("mode",             "view");
  -    $scrollable        = $self->get("scrollable",       0);
  -    $sortable          = $self->get("sortable",         0);
  -    $filterable        = $self->get("filterable",       0);
  -    $editable          = $self->get("editable",         0);
  -    $numbered          = $self->get("numbered",         1);
  -    $column_selectable = $self->get("column_selectable", 1);
  -    $row_selectable    = $self->get("row_selectable",    (($mode eq "edit") 
? 1 : 0));
  -    $row_single_selectable = $self->get("row_single_selectable", 0);
  -    $keys              = $self->get("keys");
  -    $sql               = $self->get("sql");
  -    $rowactions        = $self->get("rowactions");
  -    $rowactiondefs     = $self->get("rowaction");
  +    my $compatibility     = $self->{compatibility}  || "";  # values: 
[HTML32]
  +    $startrow          = $self->{startrow}          || 1;
  +    $title             = $self->{title};
  +    $width             = $self->{width};
  +    $bgcolor           = $self->{bgcolor};
  +    $font_color        = $self->{font_color};
  +    $border            = $self->{border}            || 0;
  +    $cellspacing       = $self->{cellspacing}       || 2;
  +    $cellpadding       = $self->{cellpadding}       || 2;
  +    $align             = $self->{align}             || "";
  +    $valign            = $self->{valign}            || "top";
  +    $nowrap            = $self->{nowrap}            || 1;
  +    $font_face         = $self->{font_face}         || 
"verdana,geneva,arial,sans-serif";
  +    $font_size         = $self->{font_size}         || -2;
  +    $heading_bgcolor   = $self->{heading_bgcolor}   || "#cccccc";
  +    $heading_align     = $self->{heading_align}     || $align;
  +    $heading_valign    = $self->{heading_valign}    || "bottom";
  +    $heading_nowrap    = $self->{heading_nowrap}    || $nowrap;
  +    $mode              = $self->{mode}              || "view";
  +    $scrollable        = $self->{scrollable}        || 0;
  +    $sortable          = $self->{sortable}          || 0;
  +    $filterable        = $self->{filterable}        || 0;
  +    $editable          = $self->{editable}          || 0;
  +    $numbered          = $self->{numbered}          || 1;
  +    $column_selectable = $self->{column_selectable} || 1;
  +    $row_selectable    = $self->{row_selectable}    || (($mode eq "edit") ? 
1 : 0);
  +    $row_single_selectable = $self->{row_single_selectable} || 0;
  +    $keys              = $self->{keys};
  +    $sql               = $self->{sql};
  +    $rowactions        = $self->{rowactions};
  +    $rowactiondefs     = $self->{rowaction};
   
  -    my $repname = $self->get("repository");
  +    my $repname = $self->{repository};
       my $rep = $context->repository($repname);
  +    $rep->_load_table_metadata($table);
       my $table_def = $rep->{table}{$table};
       my $table_column_defs = $table_def->{column};
       my $view_column_defs = $self->{column} || {};
   
       if (! $self->{keycolidx}) {
  -        $rowactions     = undef;
  -        $row_selectable = 0;        # can't select row(s) if no primary key
  +        $rowactions            = undef;
  +        $row_selectable        = 0;  # can't select row(s) if no primary key
           $row_single_selectable = 0;  # can't select row    if no primary key
  +        $editable              = 0;  # can't edit if you can't select rows
       }
       elsif ($rowactions && $rowactiondefs) {
           foreach $rowaction (@$rowactions) {
  @@ -639,13 +660,15 @@
   
           $elem_begin = "";
           $elem_end = "";
  -        if ($font_face || $font_size || $font_color) {
  -            $elem_begin = "<font";
  -            $elem_begin .= " face=\"$font_face\""   if ($font_face);
  -            $elem_begin .= " size=\"" . ($font_size+1) . "\""   if 
($font_size);
  -            $elem_begin .= " color=\"$font_color\"" if ($font_color);
  -            $elem_begin .= ">";
  -            $elem_end = "</font>";
  +        if ($compatibility eq "HTML32") {
  +            if ($font_face || $font_size || $font_color) {
  +                $elem_begin = "<font";
  +                $elem_begin .= " face=\"$font_face\""   if ($font_face);
  +                $elem_begin .= " size=\"" . ($font_size+1) . "\""   if 
($font_size);
  +                $elem_begin .= " color=\"$font_color\"" if ($font_color);
  +                $elem_begin .= ">";
  +                $elem_end = "</font>";
  +            }
           }
   
           if ($scrollable) {
  @@ -832,15 +855,16 @@
   
       $elem_begin = "";
       $elem_end = "";
  -    if ($font_face || $font_size || $font_color) {
  -        $elem_begin = "<font";
  -        $elem_begin .= " face=\"$font_face\""   if ($font_face);
  -        $elem_begin .= " size=\"$font_size\""   if ($font_size);
  -        $elem_begin .= " color=\"$font_color\"" if ($font_color);
  -        $elem_begin .= ">";
  -        $elem_end = "</font>";
  +    if ($compatibility eq "HTML32") {
  +        if ($font_face || $font_size || $font_color) {
  +            $elem_begin = "<font";
  +            $elem_begin .= " face=\"$font_face\""   if ($font_face);
  +            $elem_begin .= " size=\"$font_size\""   if ($font_size);
  +            $elem_begin .= " color=\"$font_color\"" if ($font_color);
  +            $elem_begin .= ">";
  +            $elem_end = "</font>";
  +        }
       }
  -
       $td_row_attrib = "";
       $td_row_attrib .= " bgcolor=\"$heading_bgcolor\"" if ($heading_bgcolor);
       $td_row_attrib .= " align=\"$heading_align\""     if ($heading_align);
  
  
  

Reply via email to