From e164c7be4db9a0587809eefb028d464ca8e321d9 Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Mon, 10 Apr 2023 16:13:54 +0800 Subject: [PATCH] * Code for task #90971. --- module/api/control.php | 20 ++++++++++++++++++++ module/api/css/common.css | 4 ++++ module/api/view/content.html.php | 1 + module/doc/control.php | 22 ++++++++++++++++++++++ module/doc/css/view.css | 4 ++++ module/doc/view/content.html.php | 1 + 6 files changed, 52 insertions(+) diff --git a/module/api/control.php b/module/api/control.php index 98dddbfcd6..11f6863233 100755 --- a/module/api/control.php +++ b/module/api/control.php @@ -169,12 +169,32 @@ class api extends control $this->view->actions = $apiID ? $this->action->getList('api', $apiID) : array(); } + /* Crumbs links array. */ + $lib = zget($libs, $libID); + $type = $lib->product ? 'product' : ($lib->project ? 'project' : 'unlink'); + + $methodName = $type != 'unlink' ? $type . 'Space' : 'index'; + if($this->app->tab == 'doc') $methodName = 'index'; + + $linkObject = zget($lib, $type, 0); + $linkParams = "libID=$lib->id"; + if($methodName != 'index') $linkParams = "objectID=$linkObject&$linkParams"; + + $crumbs[] = html::a(inLink($methodName, $linkParams), html::image("static/svg/interface.svg") . $lib->name); + $moduleList = $this->loadModel('tree')->getParents($api->module); + foreach($moduleList as $module) + { + $linkParams .= "&moduleID=$module->id"; + $crumbs[] = html::a(inLink($methodName, $linkParams), $module->name); + } + $this->view->title = $this->lang->api->pageTitle; $this->view->libs = $libs; $this->view->isRelease = $release > 0; $this->view->release = $release; $this->view->libID = $libID; $this->view->apiID = $apiID; + $this->view->crumbs = $crumbs; $this->view->users = $this->user->getPairs('noclosed,noletter'); $this->view->moduleTree = $this->doc->getApiModuleTree($libID, $apiID, $release, $moduleID); $this->view->objectDropdown = $this->generateLibsDropMenu($libs[$libID], $release); diff --git a/module/api/css/common.css b/module/api/css/common.css index 5cbde1de73..d72371dec4 100644 --- a/module/api/css/common.css +++ b/module/api/css/common.css @@ -159,3 +159,7 @@ form .table-data, #content .table-data {border: 1px solid #e2e2e3;} .paramsTable th {text-align: left!important; font-size: 14px;} .paramsTable td {text-align: left;} + +.info .version, .info .crumbs {float: left;} +.info .crumbs {font-size: 13px; margin-top: 5px; font-weight: normal;} +.info .crumbs img {margin-right: 3px;} diff --git a/module/api/view/content.html.php b/module/api/view/content.html.php index ddc1469a3d..ec29ce4c2b 100644 --- a/module/api/view/content.html.php +++ b/module/api/view/content.html.php @@ -20,6 +20,7 @@ +
', $crumbs);?>
', '', "title='{$lang->fullscreen}' class='btn btn-link fullscreen-btn'");?> diff --git a/module/doc/control.php b/module/doc/control.php index 011f93dce0..c55aabd249 100755 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -1218,6 +1218,27 @@ class doc extends control $doc = $docID ? $doc : ''; $spaceType = $objectType . 'Space'; + /* Crumbs links array. */ + $methodName = in_array($type, array('product', 'project')) ? $objectType . 'Space' : 'tableContents'; + $linkObject = zget($lib, $type, 0); + if($this->app->tab == 'execution' and $objectType == 'execution') $linkObject = zget($lib, 'execution', 0); + + $linkParams = "objectID=$linkObject&libID=$lib->id"; + if($this->app->tab == 'execution' or $objectType == 'custom') + { + $linkParams = "objectType=$objectType&$linkParams"; + $methodName = 'tableContents'; + } + + $crumbs[] = html::a(inLink($methodName, $linkParams), html::image("static/svg/wiki-file-lib.svg") . $lib->name); + + $moduleList = $this->loadModel('tree')->getParents($doc->module); + foreach($moduleList as $module) + { + $linkParams .= "&moduleID=$module->id"; + $crumbs[] = html::a(inLink($methodName, $linkParams), $module->name); + } + $this->view->title = isset($this->lang->doc->{$spaceType}) ? $this->lang->doc->{$spaceType} : $this->lang->doc->common; $this->view->docID = $docID; $this->view->doc = $doc; @@ -1227,6 +1248,7 @@ class doc extends control $this->view->objectType = $objectType; $this->view->type = $type; $this->view->libID = $libID; + $this->view->crumbs = $crumbs; $this->view->lib = isset($libs[$libID]) ? $libs[$libID] : new stdclass(); $this->view->libs = $this->doc->getLibsByObject($type, $objectID); $this->view->canBeChanged = common::canModify($type, $object); // Determines whether an object is editable. diff --git a/module/doc/css/view.css b/module/doc/css/view.css index ea22ab4536..1a779644c6 100644 --- a/module/doc/css/view.css +++ b/module/doc/css/view.css @@ -56,3 +56,7 @@ .flex-content > #history {flex: 0 0 302px; position: relative;} .flex-content > #history > #closeIcon {position: absolute; right: 10px; top: 10px;} .panel {margin-bottom: 0;} + +.info .version, .info .crumbs {float: left;} +.info .crumbs {font-size: 13px; margin-top: 5px; font-weight: normal;} +.info .crumbs img {margin-right: 3px;} diff --git a/module/doc/view/content.html.php b/module/doc/view/content.html.php index aa18eb083e..9cdfd07025 100644 --- a/module/doc/view/content.html.php +++ b/module/doc/view/content.html.php @@ -28,6 +28,7 @@
+
', $crumbs);?>
doc->diff?>