cvsuser 02/06/15 21:48:02
Modified: P5EEx/Blue/P5EEx/Blue/Widget/HTML DataTable.pm
Log:
use all columns from target table if column list not supplied
Revision Changes Path
1.14 +27 -16 p5ee/P5EEx/Blue/P5EEx/Blue/Widget/HTML/DataTable.pm
Index: DataTable.pm
===================================================================
RCS file: /cvs/public/p5ee/P5EEx/Blue/P5EEx/Blue/Widget/HTML/DataTable.pm,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -w -r1.13 -r1.14
--- DataTable.pm 7 Jun 2002 22:42:30 -0000 1.13
+++ DataTable.pm 16 Jun 2002 04:48:02 -0000 1.14
@@ -1,10 +1,10 @@
######################################################################
-## $Id: DataTable.pm,v 1.13 2002/06/07 22:42:30 spadkins Exp $
+## $Id: DataTable.pm,v 1.14 2002/06/16 04:48:02 spadkins Exp $
######################################################################
package P5EEx::Blue::Widget::HTML::DataTable;
-$VERSION = do { my @r=(q$Revision: 1.13 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
+$VERSION = do { my @r=(q$Revision: 1.14 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
use P5EEx::Blue::P5EE;
use P5EEx::Blue::Widget::HTML;
@@ -78,16 +78,6 @@
$self->{context}->dbgprint("DataTable->init()")
if ($P5EEx::Blue::DEBUG && $self->{context}->dbg(1));
-
- my $columns = $self->get("columns");
-
- if (defined $columns && ref($columns) eq "") {
- $columns = [ $columns ];
- $self->set("columns", $columns);
- }
-
- $self->{context}->dbgprint("DataTable->init(): columns=[", join(",",
@{$self->get("columns",[])}), "]")
- if ($P5EEx::Blue::DEBUG && $self->{context}->dbg(1));
}
######################################################################
@@ -146,7 +136,7 @@
($colnum, $direction) = @args;
my ($columns, $directions, $ordercols, $column, $i);
- $columns = $self->get("columns",[]);
+ $columns = $self->get_columns();
$column = $columns->[$colnum];
$ordercols = $self->get("ordercols");
@@ -192,13 +182,34 @@
# METHODS
######################################################################
+sub get_columns {
+ my $self = shift;
+ my ($columns);
+ $columns = $self->{columns};
+ if (defined $columns && ref($columns) eq "") {
+ $columns = [ $columns ];
+ $self->set("columns", $columns);
+ }
+ if (!defined $columns) {
+ my ($repository, $rep, $table);
+ $repository = $self->{repository};
+ $table = $self->{table};
+ $rep = $self->{context}->repository($repository) if ($repository);
+ if ($rep && $table) {
+ $columns = $rep->get_column_names($table);
+ }
+ }
+ $columns = [] if (!defined $columns || ref($columns) eq "");
+ $columns;
+}
+
sub get_headings {
my $self = shift;
$self->{context}->dbgprint("DataTable->get_headings()")
if ($P5EEx::Blue::DEBUG && $self->{context}->dbg(1));
my ($table, $headings, $heading, $columns, $column, $lang);
$table = $self->get("table");
- $columns = $self->get("columns");
+ $columns = $self->get_columns();
$headings = $self->get("headings");
$lang = $self->{lang};
if (!defined $headings) {
@@ -273,7 +284,7 @@
return;
}
- $columns = $self->get("columns");
+ $columns = $self->get_columns();
if (! defined $columns || $#$columns == -1) {
$columns = $rep->get_column_names($table);
if (!defined $columns || $#$columns == -1) {
@@ -469,7 +480,7 @@
my ($columnSelectable, $rowSelectable, $elemSelected);
my (@edit_style, @column_length);
- $columns = $self->get("columns",[]);
+ $columns = $self->get_columns();
$headings = $self->get_headings();
$data = $self->get_data();
$startrow = $self->get("startrow", 1);