NAME
HTML::TreeStructured - Perl extension for generating tree structured HTML
SYNOPSIS
use HTML::TreeStructured;
### Describe tree via collection of Node and its properties
### Method 1: Via ArrayRef
###
### Node can be a string or '/' concatenated strings to show ancestry
### Properties are name/value pairs
my $tree1 = [
['/aaa', color => 'green'],
['/aaa/bbb' mouseover => 'This is addl info'],
['/aaa/ccc', color => 'red', active => 0]
];
### Method 2: Via Hashref
my $tree2 = {
aaa => {
color => 'green',
bbb => {
mouseover => 'This is addl info',
},
ccc => {
color => 'red',
active => 0,
},
};
Interpreted Node Properties:
color = Color of the node name
mouseover = Mouse Over text for the node (Info image is displayed next to node)
active = 0 would cause strike thru on node
highlight = color code used for marker highlight of node
url = URL to hyperlink the node
tooltip = popup when mouse is over the link (together with url) (See HTML::Tooltip::Javascript)
closed = 1 if node be closed on default display (default, all nodes are open)
comment = Text to display next to node in bold
weight = A numeric value on node which will be used for sorting node position in at sibling level
(Default, nodes are sorted in ascending order per dictionary order)
### Now get HTML equivalent for the tree
### The associated JavaScript for nodes close/open and ExpandAll/CollapseAll is generated alongside
$tree_html = HTML::TreeStructured->new(
name => 'tree_name',
image_path => '/images/',
data => $tree1,
title => "My Tree",
title_width => 300,
level => {}, ### If scalar, close BEYOND this depth. Depth start at 0.
### If Hash, close for depths specified in keys
)->output;
### The same module can be used to generate FAQ - see "examples/faq.cgi"
AUTHOR
Ramana Mokkapati, <mvr707@yahoo.com> 10 May 2004
I have been using HTML tables for structuring HTML presentation. After seeing HTML::PopupTreeSelect from Sam Tregar <sam@tregar.com> I liked the idea of stylesheets to indent HTML and adapted the same.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.2 or, at your option, any later version of Perl 5 you may have available.