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?>