diff options
author | Simon Rettberg | 2016-06-14 11:21:29 +0200 |
---|---|---|
committer | Simon Rettberg | 2016-06-14 11:21:29 +0200 |
commit | 91bfa07f909101a42476accff50981d649e725d2 (patch) | |
tree | da8fd8df10fe0376a1b746fe27931279f8d1f778 | |
parent | [install-all] cmdline script to install/update database (diff) | |
download | slx-admin-91bfa07f909101a42476accff50981d649e725d2.tar.gz slx-admin-91bfa07f909101a42476accff50981d649e725d2.tar.xz slx-admin-91bfa07f909101a42476accff50981d649e725d2.zip |
[dashboard] Add submenu feature
-rw-r--r-- | inc/dashboard.inc.php | 17 | ||||
-rw-r--r-- | modules-available/main/templates/main-menu.html | 3 | ||||
-rw-r--r-- | style/default.css | 6 |
3 files changed, 23 insertions, 3 deletions
diff --git a/inc/dashboard.inc.php b/inc/dashboard.inc.php index ddea6166..3c913b76 100644 --- a/inc/dashboard.inc.php +++ b/inc/dashboard.inc.php @@ -4,6 +4,7 @@ class Dashboard { private static $iconCache = array(); + private static $subMenu = array(); public static function createMenu() { @@ -16,6 +17,7 @@ class Dashboard continue; $modByCategory[$cat][] = $module; } + $currentPage = Page::getModule()->getIdentifier(); $categories = array(); $catSort = array(); foreach ($modByCategory as $catId => $modList) { @@ -23,11 +25,15 @@ class Dashboard $sectionSort = array(); foreach ($modList as $module) { $modId = $module->getIdentifier(); - $modules[] = array( + $newEntry = array( 'displayName' => $module->getDisplayName(), - 'identifier' => $module->getIdentifier(), - 'className' => ($module->getIdentifier() === Page::getModule()->getIdentifier()) ? 'active' : '' + 'identifier' => $module->getIdentifier() ); + if ($module->getIdentifier() === $currentPage) { + $newEntry['className'] = 'active'; + $newEntry['subMenu'] = self::$subMenu; + } + $modules[] = $newEntry; if (isset($MENU_SETTING_SORT_ORDER[$modId])) { $sectionSort[] = (string)($MENU_SETTING_SORT_ORDER[$modId] + 1000); } else { @@ -82,5 +88,10 @@ class Dashboard } return 'glyphicon glyphicon-' . self::$iconCache[$module][$icon]; } + + public static function addSubmenu($url, $name) + { + self::$subMenu[] = array('url' => $url, 'name' => $name); + } }
\ No newline at end of file diff --git a/modules-available/main/templates/main-menu.html b/modules-available/main/templates/main-menu.html index af8f833f..6538e2a3 100644 --- a/modules-available/main/templates/main-menu.html +++ b/modules-available/main/templates/main-menu.html @@ -33,6 +33,9 @@ <ul class="dropdown-menu sidebar-visible-block" role="menu"> {{#modules}} <li class="{{className}}"><a href="?do={{identifier}}">{{displayName}}</a></li> + {{#subMenu}} + <li class="slx-submenu"><a href="{{url}}">{{name}}</a></li> + {{/subMenu}} {{/modules}} </ul> </li> diff --git a/style/default.css b/style/default.css index 3701c43f..c77149da 100644 --- a/style/default.css +++ b/style/default.css @@ -469,6 +469,12 @@ section{ padding-left: 15px; } +li.slx-submenu { + font-size: 80%; + font-weight: bold; + padding-left: 1em; +} + /* * Sysconfig Module Editor */ |