HTML-Menu-TreeView

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

httpdocs/style/simple/16/mimetypes/link_overlay.png
httpdocs/style/treeview.js
lib/HTML/Menu/TreeView.pm
LICENSE
Makefile.PL
MANIFEST			This list of files
META.json
META.yml
README
SIGNATURE
t/01-Treeview.t
t/02-Treeview.t
t/03-Treeview.t
t/04-Treeview.t
t/05-Treeview.t
t/06-Treeview.t
t/07-Treeview.t
t/08-Treeview.t
t/09-coverage.t
t/10-pod.t

examples/Treenavi.pl  view on Meta::CPAN

$size = param('size') ? param('size') : $style =~ /(simple)/ ? 16 : 32;
$size = $1 if $size =~ /(\d+)/;
$htpath = documentRoot();

size($size);
clasic(1) if ($style eq 'simple');
Style($style);

my @t = (
         {
          text    => 'Treeview.pm',
          href    => '/html-menu-treeview.html',
          target  => 'rightFrame',
          subtree => [openTree()],
         },
        );
$dump = './tree.pl';
loadTree($dump);
*tree = \@{$HTML::Menu::TreeView::TreeView[0]};
push @t, @tree;

examples/Treenavi.pl  view on Meta::CPAN

}

print qq(</select></td><td valign="middle">$zoom</td></tr></table></form><br/>
<div align="center"><a href="http://validator.w3.org/check?uri=referer" target="_parent"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" height="31" width="88" border="0"/></a><br/><a href="http://jigsaw.w3.org/css...
  end_html;

sub openTree {
    my @TREEVIEW;

    system(
        "pod2html --noindex --title=Treeview.pm --infile=lib/HTML/Menu/TreeView.pm  --outfile=$htpath/html-menu-treeview.html"
    );
    use Fcntl qw(:flock);
    use Symbol;
    my $fh   = gensym;
    my $file = "$htpath/html-menu-treeview.html";
    open $fh, "$file" or die "$!: $file";
    seek $fh, 0, 0;
    my @lines = <$fh>;
    close $fh;

examples/edit.pl  view on Meta::CPAN

                            'subtree' => [],
                            'id'      => 'a11',
                            'rid'     => 11
                        }
                    ],
                    'id'  => 'a10',
                    'rid' => 10
                },
                {
                    'target'  => 'rightFrame',
                    'text'    => 'Sort the Treeview',
                    'href'    => 'folderFirst.pl',
                    'subtree' => [
                        {
                            'target'  => 'rightFrame',
                            'href'    => 'folderSource.pl',
                            'text'    => 'Source',
                            'subtree' => [],
                            'id'      => 'a13',
                            'rid'     => 13
                        }

examples/edit.pl  view on Meta::CPAN

</script>
<table align="center" class="mainborder" cellpadding="0"  cellspacing="0" summary="mainLayout" ><tr><td align="left">'
);
my $m_nPrid = param('rid');
$m_nPrid =~ s/^a(.*)/$1/;
SWITCH: {
    if ( $action eq 'newEntry' ) {
        &newEntry();
        last SWITCH;
    } ## end if ( $action eq 'newEntry')
    if ( $action eq 'saveTreeviewEntry' ) {
        &saveTreeviewEntry();
        last SWITCH;
    } ## end if ( $action eq 'saveTreeviewEntry')
    if ( $action eq 'addTreeviewEntry' ) {
        &addTreeviewEntry();
        last SWITCH;
    } ## end if ( $action eq 'addTreeviewEntry')
    if ( $action eq 'editable' ) {
        &updateTree( \@tree );
        TrOver(1);
        print Tree( \@tree );
        last SWITCH;
    } ## end if ( $action eq 'editable')
    if ( $action eq 'editTreeviewEntry' ) {
        &editTreeviewEntry();
        last SWITCH;
    } ## end if ( $action eq 'editTreeviewEntry')
    if ( $action eq 'deleteTreeviewEntry' ) {
        deleteTreeviewEntry();
        last SWITCH;
    } ## end if ( $action eq 'deleteTreeviewEntry')
    if ( $action eq 'upEntry' ) {
        &upEntry();
        last SWITCH;
    } ## end if ( $action eq 'upEntry')
    if ( $action eq 'downEntry' ) {
        downEntry();
        last SWITCH;
    } ## end if ( $action eq 'downEntry')
    if ( $action eq 'MoveTreeViewEntry' ) {
        MoveTreeViewEntry();
        last SWITCH;
    } ## end if ( $action eq 'MoveTreeViewEntry')
    print Tree( \@tree );
} ## end SWITCH:
print "$m_sContent</td></tr></table>", end_html;

sub saveTreeviewEntry {
    &load();
    &saveEntry( \@tree, $m_nPrid );
    &updateTree( \@tree );
    TrOver(1);
    $m_sContent .= br();
    $m_sContent .= table(
        {
            align => 'center',
            width => '*'
        },
        Tr( td( Tree( \@tree ) ) )
    );
    TrOver(0);
} ## end sub saveTreeviewEntry

sub addTreeviewEntry {
    &load();
    &addEntry( \@tree, $m_nPrid );
    &updateTree( \@tree );
    TrOver(1);
    $m_sContent .= br();
    $m_sContent .= table(
        {
            align => 'center',
            width => '*'
        },
        Tr( td( Tree( \@tree ) ) )
    );
    TrOver(0);
} ## end sub addTreeviewEntry

sub editTreeview {
    &load();
    &rid();
    saveTree( $dump, \@tree );
    &updateTree( \@tree );
    TrOver(1);
    $m_sContent .= br();
    $m_sContent .= table(
        {
            align => 'center',
            width => '*'
        },
        Tr( td( Tree( \@tree ) ) )
    );
    TrOver(0);
} ## end sub editTreeview

sub editTreeviewEntry {
    &load();
    &editEntry( \@tree, $m_nPrid );
} ## end sub editTreeviewEntry

sub deleteTreeviewEntry {
    &load();
    &deleteEntry( \@tree, $m_nPrid );
    &updateTree( \@tree );
    TrOver(1);
    $m_sContent .= br();
    $m_sContent .= table(
        {
            align => 'center',
            width => '*'
        },
        Tr( td( Tree( \@tree ) ) )
    );
    TrOver(0);
} ## end sub deleteTreeviewEntry

sub upEntry {
    &load();
    &sortUp( \@tree, $m_nPrid );
    &updateTree( \@tree );
    TrOver(1);
    $m_sContent .= br();
    $m_sContent .= table(
        {
            align => 'center',

examples/edit.pl  view on Meta::CPAN


sub newEntry {
    $m_sContent .=
qq(<b>New Entry</b><form action="$ENV{SCRIPT_NAME}#a$m_nPrid"><br/><table align="center" class="mainborder" cellpadding="2"  cellspacing="2" summary="mainLayolut"><tr><td>Text:</td><td><input type="text" value="" name="text"></td></tr><tr><td>Folder<...
    my $node = help();
    foreach my $key ( sort( keys %{$node} ) ) {
        $m_sContent .= qq(<tr><td></td><td>$node->{$key}</td></tr><tr><td>$key :</td><td><input type="text" value="" name="$key"/><br/></td></tr>)
          if ( $key ne 'class' );
    } ## end foreach my $key ( sort( keys...))
    $m_sContent .=
        '<tr><td><input type="hidden" name="action" value="addTreeviewEntry"/><input type="hidden" name="rid" value="a'
      . $m_nPrid
      . '"></td><td><input type="submit"/></td></tr></table></form>';
} ## end sub newEntry

sub addEntry {
    my $t    = shift;
    my $find = shift;
    for ( my $i = 0 ; $i < @$t ; $i++ ) {
        if ( @$t[$i]->{rid} == $find ) {
            my %params = Vars();

examples/edit.pl  view on Meta::CPAN

            return;
        } elsif ( defined @{ @$t[$i]->{subtree} } ) {
            &saveEntry( \@{ @$t[$i]->{subtree} }, $find );
        } ## end elsif ( defined @{ @$t[$i...]})
    } ## end for ( my $i = 0 ; $i < ...)
} ## end sub saveEntry

sub editEntry {
    my $t    = shift;
    my $find = shift;
    my $href = "$ENV{SCRIPT_NAME}?action=editTreeviewEntry";
    for ( my $i = 0 ; $i < @$t ; $i++ ) {
        if ( @$t[$i]->{rid} == $find ) {
            $m_sContent .= br();
            $m_sContent .= "<b>"
              . @$t[$i]->{text}
              . '</b><form action="'
              . $href
              . "#a$m_nPrid"
              . '><table align=" center " class=" mainborder " cellpadding="0"  cellspacing="0" summary="mainLayolut">';
            language('de') if $ENV{HTTP_ACCEPT_LANGUAGE} =~ /^de.*/;

examples/edit.pl  view on Meta::CPAN

                    && $key ne 'class'
                    && $key ne 'addition' );
            } ## end foreach my $key ( sort( keys...))
            foreach my $key2 ( sort( keys %{$node} ) ) {
                unless ( defined @$t[$i]->{$key2} ) {
                    $m_sContent .=
                      qq(<tr><td></td><td>$node->{$key2}</td></tr><tr><td>$key2 :</td><td><input type="text" value="" name="$key2"/><br/></td></tr>);
                } ## end unless ( defined @$t[$i]->...)
            } ## end foreach my $key2 ( sort( keys...))
            $m_sContent .=
qq(<tr><td><input type="hidden" name="action" value="saveTreeviewEntry"/><input type="hidden" name="rid" value="@$t[$i]->{id}"/></td><td><input type="submit" value="save"/></td></tr></table></form>);
            saveTree( $dump, \@tree );
            return;
        } elsif ( defined @{ @$t[$i]->{subtree} } ) {
            &editEntry( \@{ @$t[$i]->{subtree} }, $find );
        } ## end elsif ( defined @{ @$t[$i...]})
    } ## end for ( my $i = 0 ; $i < ...)
} ## end sub editEntry

sub sortUp {
    my $t    = shift;

examples/edit.pl  view on Meta::CPAN

    for ( my $i = 0 ; $i < @$t ; $i++ ) {
        if ( defined @$t[$i] ) {
            @$t[$i]->{onmouseup}   = "confirmMove()";
            @$t[$i]->{id}          = @$t[$i]->{id};
            @$t[$i]->{name}        = @$t[$i]->{rid};
            @$t[$i]->{onmousedown} = "prepareMove('" . @$t[$i]->{id} . "')";
            @$t[$i]->{onmousemove} = "enableDropZone('" . @$t[$i]->{id} . "')";
            @$t[$i]->{onmouseout}  = "disableDropZone('" . @$t[$i]->{id} . "')";
            @$t[$i]->{addition}    = qq(<table border="0" cellpadding="0" cellspacing="0" align="right" summary="layout"><tr>
<td><a class="treeviewLink$size" target="_blank" title="@$t[$i]->{text}" href="@$t[$i]->{href}"><img src="/style/$m_sStyle/$size/mimetypes/www.png" border="0" alt=""/></a></td>
<td ><a class="treeviewLink$size" href="$ENV{SCRIPT_NAME}?action=editTreeviewEntry&amp;rid=@$t[$i]->{id}"><img src="/style/$m_sStyle/$size/mimetypes/edit.png" border="0" alt="edit"/></a></td><td><a class="treeviewLink$size" href="$ENV{SCRIPT_NAME}?ac...
            @$t[$i]->{href} = '';
            updateTree( \@{ @$t[$i]->{subtree} } ) if ( defined @{ @$t[$i]->{subtree} } );
        } ## end if ( defined @$t[$i] )
    } ## end for ( my $i = 0 ; $i < ...)
} ## end sub updateTree

sub rid {
    no warnings;
    $m_nRid = 0;
    &getRid( \@tree );

examples/folderFirst.pl  view on Meta::CPAN

my @tree = (
    {
        text => 'Folderfirst',
        href => "./folderFirst.pl?folderFirst=$changeState&amp;sort=$isSorted",
    },
    {
        text => 'Sort',
        href => "./folderFirst.pl?folderFirst=$folderfirst&amp;sort=$sort",
    },
    {
        text    => 'Treeview.pm',
        href    => '/html-menu-treeview.html',
        onclick => '',
        subtree => [
            {
                text => 'Source Code',
                href => 'treeviewsource.pl',
            },
        ],
    },
    {

examples/folderFirst.pl  view on Meta::CPAN

                text   => 'Forum',
                href   => 'http://www.cpanforum.com/dist/HTML-Menu-TreeView/',
                target => '_parent',
            },
            {
                text   => 'Lindnerei.de',
                href   => 'http://www.lindnerei.de',
                target => '_parent',
            },
            {
                text    => 'Treeview.pm',
                href    => 'http://treeview.lindnerei.de/',
                subtree => [
                    {
                        text => 'Source Code',
                        href => 'treeviewsource.pl',
                    },
                ],
            },
        ]
    },

examples/html/html-menu-treeview.html  view on Meta::CPAN

     my @tree =(</pre>
<pre>
          {</pre>
<pre>
               image =&gt; 'tar.png',</pre>
<pre>
               text =&gt; 'Node'
          },
     );</pre>
<pre>
     my $Treeview = new HTML::Menu::TreeView();</pre>
<pre>
     print $Treeview-&gt;css(&quot;/srv/www/httpdocs&quot;);</pre>
<pre>
     print $Treeview-&gt;jscript();</pre>
<pre>
     print $Treeview-&gt;preload();</pre>
<pre>
     print $Treeview-&gt;Tree(\@tree);</pre>
<p>
</p>
<h2><a name="fo_syntax">FO Syntax</a></h2>
<pre>
     use HTML::Menu::TreeView qw(css jscript preload Tree);</pre>
<pre>
     print css();</pre>
<pre>
     print jscript();</pre>
<pre>

examples/html/html-menu-treeview.html  view on Meta::CPAN

<p>set the style in scalar context or get in void context.</p>
<pre>
     Style('simple');</pre>
<p>simple = redmond like style.</p>
<p>Crystal = Crystal style (default).</p>
<p>
</p>
<h2><a name="tree">Tree</a></h2>
<pre>
     Tree(\@tree,optional $style);</pre>
<p>Returns the html part of the Treeview without javasript and css.</p>
<p>
</p>
<h2><a name="clasic">clasic</a></h2>
<p>enable clasic node decoration:</p>
<pre>
     clasic(1);</pre>
<p>disable clasic node decoration:</p>
<pre>
     clasic(0);</pre>
<p>return the status in void context.</p>

examples/html/index.html  view on Meta::CPAN

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>HTML::Menu::TreeView</title>
<meta name="AUTHOR" content="Dirk Lindner">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="robots" content="index">
<meta name="keywords" lang="de" content="HTML::Menu::TreeView Treeview Treeview.pm Treeview.html html-menu-treeview ">
</head>
<frameset cols="350,*">
<frame src="/cgi-bin/Treenavi.pl" name="navi">
<frame src="/html-menu-treeview.html" name="rightFrame">
</frameset>
</html>

examples/tree.pl  view on Meta::CPAN

                                        'subtree' => [],
                                        'id'      => 'a11',
                                        'rid'     => 11
                                       }
                                      ],
                         'id'  => 'a10',
                         'rid' => 10
                        },
                        {
                         'target'  => 'rightFrame',
                         'text'    => 'Sort the Treeview',
                         'href'    => 'folderFirst.pl',
                         'subtree' => [
                                       {
                                        'target'  => 'rightFrame',
                                        'href'    => 'folderSource.pl',
                                        'text'    => 'Source',
                                        'subtree' => [],
                                        'id'      => 'a13',
                                        'rid'     => 13
                                       }

lib/HTML/Menu/TreeView.pm  view on Meta::CPAN

     my @tree =(

          {

               image => 'tar.png',

               text => 'Node'
          },
     );

     my $Treeview = new HTML::Menu::TreeView();

     print $Treeview->css("/srv/www/httpdocs");

     print $Treeview->jscript();

     print $Treeview->preload();

     print $Treeview->Tree(\@tree);

=head2 FO Syntax

     use HTML::Menu::TreeView qw(css jscript preload Tree);

     print css();

     print jscript();

     print preload();

lib/HTML/Menu/TreeView.pm  view on Meta::CPAN

        } ## end else [ if ( -e $path . '/style/'...)]
    } else {
        return $style;
    } ## end else [ if ( defined $p[0] ) ]
} ## end sub Style

=head2 Tree

     Tree(\@tree,optional $style);

Returns the html part of the Treeview without javasript and css.

=cut

sub Tree {
    my ( $self, @p ) = getSelf(@_);
    $style = $p[1] if ( defined $p[1] );
    @TreeView = @p ? @p : @TreeView;
    $self->initTree(@TreeView) if (@TreeView);
    my $r;
    if ( defined $self->{subtree} ) {



( run in 0.735 second using v1.01-cache-2.11-cpan-49f99fa48dc )