mirror of
https://github.com/nadrad/h-m-m.git
synced 2024-05-02 20:23:11 +02:00
sibling activated when node becomes hidden
This commit is contained in:
parent
d16214e78d
commit
2dc9ebdd4c
28
h-m-m
28
h-m-m
|
@ -1211,8 +1211,30 @@ function toggle_hide(&$mm)
|
|||
{
|
||||
$mm['nodes'][ $mm['active_node'] ]['title'] = '[HIDDEN] ' . $mm['nodes'][ $mm['active_node'] ]['title'];
|
||||
$is_hidden = true;
|
||||
|
||||
if (!$mm['show_hidden'])
|
||||
$mm['active_node'] = $mm['nodes'][ $mm['active_node'] ]['parent'];
|
||||
{
|
||||
$parent_id = $mm['nodes'][ $mm['active_node'] ]['parent'];
|
||||
if (count($mm['nodes'][$parent_id]['visible_children'])<=1)
|
||||
$mm['active_node'] = $parent_id;
|
||||
else
|
||||
{
|
||||
$previous_sibling = 0;
|
||||
$passed = false;
|
||||
foreach ($mm['nodes'][$parent_id]['visible_children'] as $cid)
|
||||
if ($cid==$mm['active_node'])
|
||||
{
|
||||
if ($previous_sibling!=0) break;
|
||||
$passed = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$previous_sibling = $cid;
|
||||
if ($passed) break;
|
||||
}
|
||||
$mm['active_node'] = $previous_sibling;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
build_map($mm);
|
||||
|
@ -2606,7 +2628,7 @@ function delete_node_internal(&$mm, $active_node, $exclude_parent = false )
|
|||
|
||||
$previous_sibling = 0;
|
||||
$passed = false;
|
||||
foreach ($mm['nodes'][$parent_id]['children'] as $cid)
|
||||
foreach ($mm['nodes'][$parent_id]['visible_children'] as $cid)
|
||||
if ($cid==$active_node)
|
||||
{
|
||||
if ($previous_sibling!=0) break;
|
||||
|
@ -2631,7 +2653,7 @@ function delete_node_internal(&$mm, $active_node, $exclude_parent = false )
|
|||
|
||||
unset($mm['nodes'][ $active_node ]);
|
||||
|
||||
if ($mm['nodes'][$parent_id]['is_leaf'])
|
||||
if (count($mm['nodes'][$parent_id]['visible_children'])==0)
|
||||
$mm['active_node'] = $parent_id;
|
||||
else
|
||||
$mm['active_node'] = $previous_sibling;
|
||||
|
|
Loading…
Reference in a new issue