HTML-Menu-TreeView
view release on metacpan or search on metacpan
examples/edit.pl view on Meta::CPAN
my $node = help();
foreach my $key ( sort( keys %{ @$t[$i] } ) ) {
$m_sContent .= "<tr><td></td><td>$node->{$key}</td></tr>"
if ( defined $node->{$key} );
$m_sContent .= qq(<tr><td>$key </td><td><input type="text" value="@$t[$i]->{$key}" name="$key"></td></tr>)
if ( $key ne 'subtree'
&& $key ne 'rid'
&& $key ne 'action'
&& $key ne 'dump'
&& $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;
my $find = shift;
for ( my $i = 0 ; $i <= @$t ; $i++ ) {
if ( defined @$t[$i] ) {
if ( @$t[$i]->{rid} == $find ) {
$i++ if ($down);
return if ( ( $down && $i == @$t ) or ( !$down && $i == 0 ) );
splice @$t, $i - 1, 2, ( @$t[$i], @$t[ $i - 1 ] );
saveTree( $dump, \@tree );
} ## end if ( @$t[$i]->{rid} ==...)
if ( defined @{ @$t[$i]->{subtree} } ) {
sortUp( \@{ @$t[$i]->{subtree} }, $find );
saveTree( $dump, \@tree );
} ## end if ( defined @{ @$t[$i...]})
} ## end if ( defined @$t[$i] )
} ## end for ( my $i = 0 ; $i <=...)
} ## end sub sortUp
sub deleteEntry {
my $t = shift;
my $find = shift;
for ( my $i = 0 ; $i < @$t ; $i++ ) {
if ( @$t[$i]->{rid} == $find ) {
splice @$t, $i, 1;
saveTree( $dump, \@tree );
} elsif ( defined @{ @$t[$i]->{subtree} } ) {
deleteEntry( \@{ @$t[$i]->{subtree} }, $find );
} ## end elsif ( defined @{ @$t[$i...]})
} ## end for ( my $i = 0 ; $i < ...)
} ## end sub deleteEntry
sub updateTree {
my $t = shift;
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&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 );
sub getRid {
my $t = shift;
for ( my $i = 0 ; $i < @$t ; $i++ ) {
$m_nRid++;
next unless ref @$t[$i] eq "HASH";
@$t[$i]->{rid} = $m_nRid;
@$t[$i]->{id} = "a$m_nRid";
getRid( \@{ @$t[$i]->{subtree} } ) if ( defined @{ @$t[$i]->{subtree} } );
} ## end for ( my $i = 0 ; $i < ...)
} ## end sub getRid
} ## end sub rid
sub load {
if ( -e $dump ) {
loadTree($dump);
*tree = \@{ $HTML::Menu::TreeView::TreeView[0] };
} ## end if ( -e $dump )
} ## end sub load
1;
( run in 0.357 second using v1.01-cache-2.11-cpan-39bf76dae61 )