* Finish task #4953.

This commit is contained in:
Yagami
2018-10-11 09:40:15 +08:00
parent c5f73613da
commit 5375f74140
6 changed files with 71 additions and 3 deletions
+2 -1
View File
@@ -143,6 +143,7 @@ class doc extends control
if($module) $title = $module->name;
if($libID) $title = $this->libs[$libID];
if(in_array($browseType, array_keys($this->lang->doc->fastMenuList))) $title = $this->lang->doc->fastMenuList[$browseType];
if($param) $title = $this->doc->buildBreadTitle($libID, $param, $title);
if($browseType == 'fastsearch')
{
if($this->post->searchDoc) $this->session->set('searchDoc', $this->post->searchDoc);
@@ -160,7 +161,7 @@ class doc extends control
$this->view->itemCounts = $this->doc->statLibCounts(array_keys($libs));
}
$this->view->title = $title;
$this->view->breadTitle = $title;
$this->view->libID = $libID;
$this->view->moduleID = $moduleID;
$this->view->modules = $this->doc->getDocMenu($libID, $moduleID, $orderBy == 'title_asc' ? 'name_asc' : 'id_desc', $browseType);
+1
View File
@@ -59,3 +59,4 @@
}
.main-col > .panel > .panel-body {padding-top: 20px;}
.main-col .panel-title a.active{color: #0c64eb}
+48
View File
@@ -1528,4 +1528,52 @@ class docModel extends model
return $statisticInfo;
}
/**
* Print doc child module.
*
* @access public
*/
public function printChildModule($module, $libID, $methodName, $browseType, $moduleID)
{
if(isset($module->children))
{
foreach($module->children as $childModule)
{
$active = '';
if($methodName == 'browse' && $browseType == 'bymodule' && $moduleID == $childModule->id) $active = "class='active'";
echo '<ul>';
echo "<li $active>";
echo html::a(helper::createLink('doc', 'browse', "libID=$libID&browseType=byModule&param={$childModule->id}"), "<i class='icon icon-folder-outline'></i> " . $childModule->name, '', "class='text-ellipsis' title='{$childModule->name}'");
if(isset($childModule->children)) $this->printChildModule($childModule, $libID, $methodName, $browseType, $moduleID);
echo '</li>';
echo '</ul>';
}
}
}
/**
* Build doc bread title.
*
* @access public
* @return string
*/
public function buildBreadTitle($libID = 0, $param = 0, $title = '')
{
$path = $this->dao->select('path')->from(TABLE_MODULE)->where('id')->eq($param)->fetch('path');
$parantMoudles = $this->dao->select('id, name')->from(TABLE_MODULE)
->where('id')->in($path)
->andWhere('deleted')->eq(0)
->fetchAll('id');
foreach($parantMoudles as $parentID => $moduleName)
{
$active = '';
if($param == $parentID) $active = "class='active'";
$title .= html::a(helper::createLink('doc', 'browse', "libID=$libID&browseType=byModule&param={$parentID}"), ' > ' . $moduleName->name , '', "$active");
}
return $title;
}
}
+1 -1
View File
@@ -36,7 +36,7 @@ var browseType = '<?php echo $browseType;?>';
<?php else:?>
<i class="icon icon-search text-muted"></i>
<?php endif;?>
<?php echo $title;?>
<?php echo $breadTitle;?>
</div>
<nav class="panel-actions btn-toolbar">
<div class="btn-group">
+11
View File
@@ -6,6 +6,11 @@ $allModules = $this->loadModel('tree')->getDocStructure();
$productSubLibs = $this->doc->getSubLibGroups('product', array_keys($products));
$projectSubLibs = $this->doc->getSubLibGroups('project', array_keys($projects));
if($this->methodName != 'browse')
{
$browseType = '';
$moduleID = '';
}
?>
<div class="side-col" style="width: 220px" data-min-width="220">
<div class="cell">
@@ -62,8 +67,10 @@ $projectSubLibs = $this->doc->getSubLibGroups('project', array_keys($projects));
<?php if(isset($allModules[$subLibID])):?>
<ul>
<?php foreach($allModules[$subLibID] as $module):?>
<?php if($module->parent != 0) continue;?>
<li <?php if($this->methodName == 'browse' && $browseType == 'bymodule' && $moduleID == $module->id) echo "class='active'";?>>
<?php echo html::a($this->createLink('doc', 'browse', "libID=$subLibID&browseType=byModule&param={$module->id}"), "<i class='icon icon-folder-outline'></i> " . $module->name, '', "class='text-ellipsis' title='{$module->name}'");?>
<?php $this->doc->printChildModule($module, $subLibID, $this->methodName, $browseType, $moduleID);?>
</li>
<?php endforeach;?>
</ul>
@@ -106,8 +113,10 @@ $projectSubLibs = $this->doc->getSubLibGroups('project', array_keys($projects));
<?php if(isset($allModules[$subLibID])):?>
<ul>
<?php foreach($allModules[$subLibID] as $module):?>
<?php if($module->parent != 0) continue;?>
<li <?php if($this->methodName == 'browse' && $browseType == 'bymodule' && $moduleID == $module->id) echo "class='active'";?>>
<?php echo html::a($this->createLink('doc', 'browse', "libID=$subLibID&browseType=byModule&param={$module->id}"), "<i class='icon icon-folder-outline'></i> " . $module->name, '', "class='text-ellipsis' title='{$module->name}'");?>
<?php $this->doc->printChildModule($module, $subLibID, $this->methodName, $browseType, $moduleID);?>
</li>
<?php endforeach;?>
</ul>
@@ -130,8 +139,10 @@ $projectSubLibs = $this->doc->getSubLibGroups('project', array_keys($projects));
<?php if(isset($allModules[$subLibID])):?>
<ul>
<?php foreach($allModules[$subLibID] as $module):?>
<?php if($module->parent != 0) continue;?>
<li <?php if($this->methodName == 'browse' && $browseType == 'bymodule' && $moduleID == $module->id) echo "class='active'";?>>
<?php echo html::a($this->createLink('doc', 'browse', "libID=$subLibID&browseType=byModule&param={$module->id}"), "<i class='icon icon-folder-outline'></i> " . $module->name, '', "class='text-ellipsis' title='{$module->name}'");?>
<?php $this->doc->printChildModule($module, $subLibID, $this->methodName, $browseType, $moduleID);?>
</li>
<?php endforeach;?>
</ul>
+8 -1
View File
@@ -1666,11 +1666,18 @@ class treeModel extends model
{
foreach($module->children as $children)
{
if($children->parent != 0) continue;//Filter project children modules.
if($children->parent != 0 && !empty($tree[$root]))
{
foreach($tree[$root] as $firstChildren)
{
if($firstChildren->id == $children->parent) $firstChildren->children[] = $children;
}
};//Filter project children modules.
$tree[$root][] = $children;
}
}
}
return $tree;
}
}