minor improvements in folder tree (show 'plus' if children exists)

This commit is contained in:
Uwe Steinmann 2020-06-03 10:53:49 +02:00
parent 095c63b884
commit 932cfab13e

View File

@ -1638,7 +1638,7 @@ $(document).ready(function() {
* @param boolean $partialtree set to true if the given folder is the start folder * @param boolean $partialtree set to true if the given folder is the start folder
*/ */
function printNewTreeNavigationJs($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='', $partialtree=false) { /* {{{ */ function printNewTreeNavigationJs($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='', $partialtree=false) { /* {{{ */
function jqtree($path, $folder, $user, $accessmode, $showdocs=1, $expandtree=0, $orderby='', $level=0) { function jqtree($path, $folder, $user, $accessmode, $showdocs=1, $expandtree=0, $orderby='', $level=0) { /* {{{ */
$orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc'); $orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc');
if($path/* || $expandtree>=$level*/) { if($path/* || $expandtree>=$level*/) {
if($path) if($path)
@ -1651,7 +1651,7 @@ $(document).ready(function() {
$subfolders = array($pathfolder); $subfolders = array($pathfolder);
} }
foreach($subfolders as $subfolder) { foreach($subfolders as $subfolder) {
$node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>(0 && ($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs))) ? true : false, 'is_folder'=>true); $node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>(1 && ($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs))) ? true : false, 'is_folder'=>true);
if(/*$expandtree>=$level ||*/ $pathfolder->getID() == $subfolder->getID()) { if(/*$expandtree>=$level ||*/ $pathfolder->getID() == $subfolder->getID()) {
$node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs, $expandtree, $orderby, $level+1); $node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs, $expandtree, $orderby, $level+1);
if($showdocs) { if($showdocs) {
@ -1677,7 +1677,7 @@ $(document).ready(function() {
return $children; return $children;
} }
return array(); return array();
} } /* }}} */
$orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc'); $orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc');
if($folderid) { if($folderid) {
@ -1719,7 +1719,7 @@ var data = <?php echo json_encode($tree); ?>;
$(function() { $(function() {
const $tree = $('#jqtree<?php echo $formid ?>'); const $tree = $('#jqtree<?php echo $formid ?>');
$tree.tree({ $tree.tree({
// saveState: true, // saveState: false,
selectable: true, selectable: true,
data: data, data: data,
saveState: 'jqtree<?php echo $formid; ?>', saveState: 'jqtree<?php echo $formid; ?>',
@ -1742,7 +1742,7 @@ $(function() {
} }
}); });
// Unfold node for currently selected folder // Unfold node for currently selected folder
$('#jqtree<?php echo $formid ?>').tree('selectNode', $('#jqtree<?php echo $formid ?>').tree('getNodeById', <?php echo $folderid ?>), false); $('#jqtree<?php echo $formid ?>').tree('selectNode', $('#jqtree<?php echo $formid ?>').tree('getNodeById', <?php echo $folderid ?>), false, true);
$('#jqtree<?php echo $formid ?>').on( $('#jqtree<?php echo $formid ?>').on(
'tree.click', 'tree.click',
function(event) { function(event) {