HTML-Menu-TreeView
view release on metacpan or search on metacpan
lib/HTML/Menu/TreeView.pm view on Meta::CPAN
push @{ $openArrays{$key} }, $id;
} ## end foreach my $key ( keys %openArrays)
$tmpref = \@{ $openArrays{$id} };
} ## end if ( $columns > 0 )
my $onclick = qq(location.href='$node->{href}');
$node->{class} = defined $node->{class} ? $node->{class} : "treeviewLink$size";
my $FolderClass =
defined $node->{folderclass}
? $node->{folderclass} . "Closed$size"
: "folderClosed$size";
$node->{title} = defined $node->{title} ? $node->{title} : $node->{text};
my $tt;
foreach my $key ( keys %{$node} ) {
$tt .= $key . '="' . $node->{$key} . '" ' if ( $anker{$key} && $node->{$key} );
} ## end foreach my $key ( keys %{$node...})
my $st = $node->{style} =
( ( $columns > 0 or defined $node->{addition} ) and not defined $node->{style} ) ? 'style="white-space:nowrap;"' : '';
my $addon =
defined $node->{addition}
? qq(<table align="left" border="0" cellpadding="0" cellspacing="0" summary="appendLastFolder" width="100%"><tr><td $st> <a $tt >$node->{text}</a> </td><td $st>$node->{addition}</td></tr></table>)
: " <a $tt>$node->{text}</a> ";
my $lastpusnode = $clasic ? "clasicLastPlusNode$size" : "lastPlusNode$size";
$self->{tree} .= (
$bTrOver
? qq(<tr onmouseover = "trOver('$id');" onmouseout="trUnder('$id');" id="tree$id">)
: '<tr>'
)
. qq(<td id="$id.node" class="$lastpusnode" onclick="$onclick"><img src="/style/$style/$size/html-menu-treeview/spacer.gif" border="0" width="$size" height="$size" alt="" /></td><td align="left" valign="top" class="$FolderClass" id="$id.folder...
if ( $columns > 0 ) {
my $class = $border ? "columnsFolderBorder$size" : "columnsFolder$size";
$self->{subtree} .= (
$bTrOver
? qq(<tr onmouseover = "trOver('$id');" onmouseout="trUnder('$id');" id="tr$id">)
: qq(<tr id="tr$id">)
);
for ( my $i = 0 ; $i < $columns ; $i++ ) {
if ( defined $node->{columns}[$i] ) {
my $txt = $node->{columns}[$i];
$self->{subtree} .= qq(<td class="$class">$txt</td>);
} ## end if ( defined $node->{columns...})
} ## end for ( my $i = 0 ; $i < ...)
$self->{subtree} .= '</tr>';
for ( my $i = 0 ; $i < @$tmpref ; $i++ ) {
$self->{js}{$ty}[$i] = $$tmpref[$i];
} ## end for ( my $i = 0 ; $i < ...)
undef @$tmpref;
} ## end if ( $columns > 0 )
} ## end sub appendLastEmptyFolder
=head2 appendNode
$self->appendNode(\$node);
called by initTree() if the current item of the (sub)Tree is a node.
=cut
sub appendNode {
my $self = shift;
my $node = shift;
$node->{image} = defined $node->{image} ? $node->{image} : 'link_overlay.png';
$node->{class} = defined $node->{class} ? $node->{class} : "treeviewLink$size";
$node->{title} = defined $node->{title} ? $node->{title} : $node->{text};
$id++;
if ( $columns > 0 ) {
foreach my $key ( keys %openArrays ) {
push @{ $openArrays{$key} }, $id;
} ## end foreach my $key ( keys %openArrays)
} ## end if ( $columns > 0 )
my $tt;
foreach my $key ( keys %{$node} ) {
$tt .= $key . '="' . $node->{$key} . '" ' if ( $anker{$key} && $node->{$key} );
} ## end foreach my $key ( keys %{$node...})
my $st = $node->{style} =
( ( $columns > 0 or defined $node->{addition} ) and not defined $node->{style} ) ? 'style="white-space:nowrap;"' : '';
my $addon =
defined $node->{addition}
? qq(<table align="left" border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td $st> <a $tt>$node->{text}</a> </td><td $st>$node->{addition}</td></tr></table>)
: " <a $tt>$node->{text}</a>";
$self->{tree} .= (
$bTrOver
? qq(<tr onmouseover = "trOver('$id');" onmouseout="trUnder('$id');" id="tree$id">)
: '<tr>'
)
. qq(<td class="node$size"><img src="/style/$style/$size/html-menu-treeview/spacer.gif" border="0" width="$size" height="$size" alt="" align="middle"/></td><td align="left" style="background-image:url('/style/$style/$size/mimetypes/$node->{ima...
if ( $columns > 0 ) {
$self->{subtree} .= (
$bTrOver
? qq(<tr onmouseover = "trOver('$id');" onmouseout="trUnder('$id');" id="tr$id">)
: qq(<tr id="tr$id">)
);
my $class = $border ? "columnsNodeBorder$size" : "columnsNode$size";
for ( my $i = 0 ; $i < $columns ; $i++ ) {
if ( defined $node->{columns}[$i] ) {
my $txt = $node->{columns}[$i];
$self->{subtree} .= qq(<td class="$class">$txt</td>);
} ## end if ( defined $node->{columns...})
} ## end for ( my $i = 0 ; $i < ...)
$self->{subtree} .= '</tr>';
} ## end if ( $columns > 0 )
} ## end sub appendNode
=head2 appendLastNode
$self->appendLastNode(\$node);
called by initTree() if the last item of the current (sub)Tree is a node.
=cut
sub appendLastNode {
my $self = shift;
my $node = shift;
$node->{image} = defined $node->{image} ? $node->{image} : 'link_overlay.png';
$node->{class} = defined $node->{class} ? $node->{class} : "treeviewLink$size";
$node->{title} = defined $node->{title} ? $node->{title} : $node->{text};
$id++;
if ( $columns > 0 ) {
foreach my $key ( keys %openArrays ) {
push @{ $openArrays{$key} }, $id;
} ## end foreach my $key ( keys %openArrays)
} ## end if ( $columns > 0 )
my $tt;
foreach my $key ( keys %{$node} ) {
$tt .= $key . '="' . $node->{$key} . '" ' if ( $anker{$key} && $node->{$key} );
} ## end foreach my $key ( keys %{$node...})
my $st = $node->{style} =
( ( $columns > 0 or defined $node->{addition} ) and not defined $node->{style} ) ? 'style="white-space:nowrap;"' : '';
my $addon =
defined $node->{addition}
? qq(<table align="left" border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td $st> <a $tt>$node->{text}</a> </td><td $st>$node->{addition}</td></tr></table>)
: " <a $tt>$node->{text}</a>";
$self->{tree} .= (
$bTrOver
? qq(<tr onmouseover = "trOver('$id');" onmouseout="trUnder('$id');" id="tree$id">)
: '<tr>'
)
. qq(<td class="lastNode$size"><img src="/style/$style/$size/html-menu-treeview/spacer.gif" border="0" width="$size" height="$size" alt=""/></td><td align="left" style="background-image:url('/style/$style/$size/mimetypes/$node->{image}');" cla...
if ( $columns > 0 ) {
my $class = $border ? "columnsLastNodeBorder$size" : "columnsLastNode$size";
$self->{subtree} .= (
$bTrOver
? qq(<tr onmouseover = "trOver('$id');" onmouseout="trUnder('$id');" id="tr$id">)
: qq(<tr id="tr$id">)
);
for ( my $i = 0 ; $i < $columns ; $i++ ) {
if ( defined $node->{columns}[$i] ) {
my $txt = $node->{columns}[$i];
$self->{subtree} .= qq(<td class="$class">$txt</td>);
} ## end if ( defined $node->{columns...})
} ## end for ( my $i = 0 ; $i < ...)
$self->{subtree} .= '</tr>';
} ## end if ( $columns > 0 )
} ## end sub appendLastNode
=head1 SEE ALSO
http://lindnerei.sourceforge.net
=head1 AUTHOR
Dirk Lindner <lze@cpan.org>
=head1 LICENSE
LGPL
Copyright (C) 2018 by Hr. Dirk Lindner
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation;
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
( run in 0.562 second using v1.01-cache-2.11-cpan-63c85eba8c4 )