diff --git a/HISTORY.rst b/HISTORY.rst index cedc1152ba..64cd15ae0e 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -4,6 +4,7 @@ - Add icons and no-result template to the object error log view and links. - Use Select2 widget for the document type selection form. +- Backport the vertical main menu update. 3.2.5 (2019-07-05) ================== diff --git a/docs/releases/3.3.rst b/docs/releases/3.3.rst index 47bcc0a2d0..b75446368b 100644 --- a/docs/releases/3.3.rst +++ b/docs/releases/3.3.rst @@ -11,6 +11,12 @@ Changes - Add icons and no-result template to the object error log view and links. - Use Select2 widget for the document type selection form. +- Backport the vertical main menu update. This update splits the previous + main menu into a new menu in the same location as the previous one + now called the top bar, and a new vertical main menu on the left side. + The vertical menu remain open even when clicking on items and upon + a browser refresh will also restore its state to match the selected + view. Removals -------- diff --git a/mayan/apps/appearance/static/appearance/css/base.css b/mayan/apps/appearance/static/appearance/css/base.css index 2e57afddb9..0959dddf57 100644 --- a/mayan/apps/appearance/static/appearance/css/base.css +++ b/mayan/apps/appearance/static/appearance/css/base.css @@ -12,7 +12,7 @@ } body { - padding-top: 70px; + padding-top: 60px; } .navbar-brand { @@ -331,7 +331,7 @@ a i { .main { padding-right: 0px; padding-left: 0px; - /*margin-left: 210px;*/ + margin-left: 210px; } } @@ -413,3 +413,120 @@ a i { .btn-list { margin-bottom: 2px; } + + +/* + * Top navigation + * Hide default border to remove 1px line. + */ +.navbar-fixed-top { + border: 0; +} + + +/* menu_main */ +/* Hide for mobile, show later */ + +#menu-main { + display: none; + background-color: #2c3e50; + border-right: 1px solid #18bc9c; + bottom: 0; + left: 0; + overflow-x: hidden; + overflow-y: auto; + padding-top: 10px; + position: fixed; + top: 51px; + width: 210px; + z-index: 1000; +} + +@media (min-width: 768px) { + #menu-main { + display: block; + } + + .navbar-brand { + text-align: center; + width: 210px; + } +} + +.main .page-header { + margin-top: 0; +} + +.navbar-brand { +} + +.navbar-brand { + outline: none; +} + +.container-fluid { + margin-right: 0px; + margin-left: 0px; + width: 100%; +} + +#accordion-sidebar a { + padding: 10px 15px; +} + +#accordion-sidebar a[aria-expanded="true"] { + background: #1a242f; +} + +#accordion-sidebar .panel { + border: 0px; +} + +#accordion-sidebar a { + text-decoration: none; + outline: none; + position: relative; + display: block; +} + +#accordion-sidebar .panel-heading { + background-color: #2c3e50; + color: white; + padding: 0px; +} + +#accordion-sidebar .panel-heading:hover { + background-color: #517394; +} + +#accordion-sidebar > .panel > div > .panel-body > ul > li > a:hover { + background-color: #517394; +} + +#accordion-sidebar > .panel > div > .panel-body > ul > li.active { + background: #1a242f; +} + +#accordion-sidebar .panel-title { + font-size: 15px; +} + +#accordion-sidebar .panel-body { + font-size: 13px; + border: 0px; + background-color: #2c3e50; + padding-top: 5px; + padding-left: 20px; + padding-right: 0px; + padding-bottom: 0px; +} + +#accordion-sidebar .panel-body li { + padding: 0px; +} + +#accordion-sidebar .panel-body a { + color: white; + text-decoration: none; + padding: 9px; +} diff --git a/mayan/apps/appearance/static/appearance/js/mayan_app.js b/mayan/apps/appearance/static/appearance/js/mayan_app.js index 4011ce59ca..d96c7f4c9b 100644 --- a/mayan/apps/appearance/static/appearance/js/mayan_app.js +++ b/mayan/apps/appearance/static/appearance/js/mayan_app.js @@ -41,6 +41,17 @@ class MayanApp { } } + static setupNavBarState () { + $('body').on('click', '.a-main-menu-accordion-link', function (event) { + console.log('ad'); + $('.a-main-menu-accordion-link').each(function (index, value) { + $(this).parent().removeClass('active'); + }); + + $(this).parent().addClass('active'); + }); + } + static updateNavbarState () { var uri = new URI(window.location.hash); var uriFragment = uri.fragment(); @@ -160,6 +171,7 @@ class MayanApp { this.setupFullHeightResizing(); this.setupItemsSelector(); this.setupNavbarCollapse(); + MayanApp.setupNavBarState(); this.setupNewWindowAnchor(); $.each(this.ajaxMenusOptions, function(index, value) { value.app = self; diff --git a/mayan/apps/appearance/templates/appearance/menu_main.html b/mayan/apps/appearance/templates/appearance/menu_main.html new file mode 100644 index 0000000000..d9e356607a --- /dev/null +++ b/mayan/apps/appearance/templates/appearance/menu_main.html @@ -0,0 +1,70 @@ +{% load i18n %} + +{% load navigation_tags %} +{% load smart_settings_tags %} + +{% load common_tags %} +{% load navigation_tags %} + +{% spaceless %} +