]>
git.proxmox.com Git - pve-manager.git/blob - lib/PVE.old/HTMLTable.pm
1 package PVE
::HTMLTable
;
7 my ($type, $width) = @_;
11 $self->{rowcount
} = 0;
12 $self->{link_edit
} = '';
13 $self->{width
} = $width;
21 $self->{link_edit
} = $v;
27 my ($self,$headinfo) = @_;
28 $self->{headline
} = $headinfo;
34 $self->{rowdata
}->{$self->{rowcount
}}->{param
} = $self->{rowdata
}->{$self->{rowcount
}}->{param
} . "&" . $v;
39 my ($self, $row) = @_;
41 return $self->{rowdata
}->{$row}->{param
};
47 my ($self,$lnk,$row) = @_;
49 if (!(defined($row))) { $row = $self->{rowcount
}; }
50 $self->{rowdata
}->{$row}->{lnk
} = $lnk;
55 my ($self,$span,$row) = @_;
56 if (!(defined($row))) { $row = $self->{rowcount
}; }
57 $self->{rowdata
}->{$row}->{span
} = $span;
62 my ($self,$id,@row) = @_;
65 $self->{rowdata
}->{$self->{rowcount
}}->{len
} = $#row;
66 $self->{rowdata
}->{$self->{rowcount
}}->{id
} = $id;
69 $self->{rowdata
}->{$self->{rowcount
}}->{"$i"} = $row[$i];
71 $self->{rowcount
} = $self->{rowcount
} + 1;
76 my ($self, $width) = @_;
78 # NOTE: width = 100% if not specified
79 # but you can also pass 0 or '' to avoid that behaviour
81 if (!defined ($width)) { $width='100%'; }
83 my $htmlout = "<table class='normal' cellspacing=0 cellpadding=3";
85 $htmlout .= " style='width:$width;'" if $width;
95 return "" if !$self->{headline
};
97 my @headinfo = @{$self->{headline
}};
99 my $htmlout = "<thead><tr>";
100 for my $i (0 .. ($#headinfo/3)) {
101 my ($span, $width, $text) = ($headinfo[$i*3], $headinfo[($i*3)+1],$headinfo[($i*3)+2]);
102 $htmlout .= "<th colspan=$span ";
103 $htmlout .= " style='width:$width;'" if $width;
104 $htmlout .= ">$text</th>";
106 $htmlout .= "</tr></thead>";
118 my ($self,$row,$col) = @_;
119 my $data = $self->{rowdata
}->{"$row"}->{"$col"};
124 my ($self, $width, $sel) = @_;
127 my $col1 = "#EDEDED";
128 my $col2 = "#FFFFFF";
129 my $col3 = "#FFF3BF";
131 $htmlout .= $self->out_header($width);
134 $htmlout .= $self->out_headline ();
136 $htmlout .= "<tbody>";
139 for my $i (0 .. ($self->{rowcount
}-1)) {
140 my $col = $i % 2 ?
$col2 : $col1;
142 $col = $col3 if defined ($sel) && $sel == $i;
144 $htmlout .= "<tr style='background-color:$col;'";
146 my $rid = $self->{rowdata
}->{$i}->{id
};
147 $htmlout .= " id='$rid'" if $rid;
149 if (defined($self->{rowdata
}->{$i}->{lnk
})) {
150 $htmlout .= " class='link' onClick='goTo(\"$self->{rowdata}->{$i}->{lnk}\");'";
155 my @wa = @{$self->{width
}};
156 my $span = $self->{rowdata
}->{$i}->{span
};
157 for my $c (0 .. $self->{rowdata
}->{"$i"}->{len
}) {
159 if (defined ($span) && (@$span[$c] > 1)) {
160 $sw = "colspan=@$span[$c]";
162 my $wtxt = $wa[$c] ?
"width:$wa[$c];" : '';
163 $htmlout .= "<td $sw style='$wtxt'>".$self->out_celldata($i, $c)."</td>";
165 $c += @$span[$c] - 1 if $sw;
167 $htmlout .= "</tr>\n";
170 $htmlout .= "</tbody>";
173 $htmlout .= $self->out_footer();