OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/app/assets/stylesheets/layout/_main_menu.sass

258 lines
6.9 KiB

//-- copyright
// OpenProject is a project management system.
// Copyright (C) 2012-2015 the OpenProject Foundation (OPF)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License version 3.
//
// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
// Copyright (C) 2006-2013 Jean-Philippe Lang
// Copyright (C) 2010-2013 the ChiliProject Team
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// See doc/COPYRIGHT.rdoc for more details.
//++
$toggler-width: 40px
@mixin highlight-left-item-border
border-left: $main-menu-selected-hover-indicator-width solid $main-menu-selected-hover-indicator-color
@mixin toggle-menu-item-background($bg-color: $main-menu-bg-hover-selected-background, $color: $main-menu-selected-font-color)
@include default-transition
&:hover
background: $bg-color
@if $main-menu-enable-toggle-highlighting != true
// simultaneously hover all menu item anchor tags
> a
color: $color
> a
@include default-transition
cursor: pointer
text-decoration: none
&.selected, &.selected + a
background: $bg-color
&:hover, &.selected, &.selected + a
color: $color
#main-menu
bottom: auto
width: $main-menu-width
float: left
left: 0
background-color: $main-menu-bg-color
@include default-transition
%absolute-layout-mode &
position: relative
height: 100%
#menu-sidebar
height: 100%
+allow-vertical-scrolling
-ms-overflow-style: -ms-autohiding-scrollbar
ul
margin: 0
padding: 0
&.menu_root
border-right: $main-menu-border-width solid $main-menu-border-color
// main menu items
> li
border-bottom: $main-menu-item-border-width solid $main-menu-item-border-color
.main-item-wrapper
+toggle-menu-item-background
// left item border hover / selected effect
&:hover > a:not(.toggler)
+highlight-left-item-border
// placeholder for highlighted left-item-border
a:not(.toggler)
border-left: $main-menu-selected-hover-indicator-width solid $main-menu-bg-color
&.selected
+highlight-left-item-border
.open .toggler
.icon-toggler:before
content: "\e0cc"
// padding for placeholder for highlighted left-item-border
a
// work around due to dom manipulation on document: ready:
// this isn't scoped to .main-item-wrapper to avoid flickering
padding-left: 7px
a.toggler
// explicitly reset to zero to avoid selector precedence problems
padding-left: 0
// all menu items
li
float: none
list-style-type: none
margin: 0
padding: 0
white-space: nowrap
position: relative
min-height: 23px
&.ng-leave
@include animation(0.5s fade-out)
a
background: none
ul.menu-children
display: none
padding-top: 1px
padding-bottom: 1px
background-color: $main-menu-child-menu-bg-color
padding: 0
&.unattached
border-top: 1px solid #ddd
li
+toggle-menu-item-background($main-menu-child-bg-hover-selected-color, $main-menu-child-selected-font-color)
a
padding-left: 10px
font-size: $main-menu-child-font-size
line-height: $main-menu-child-item-height
height: $main-menu-child-item-height
border: none
color: $main-menu-child-font-color
margin-top: 1px
&:hover
border: none
text-decoration: none
color: $main-menu-child-selected-font-color
&.selected
border: none !important
color: $main-menu-child-selected-font-color
font-weight: bold
a
text-decoration: none
line-height: $main-menu-item-height
display: block
position: relative
height: $main-menu-item-height
color: $main-menu-font-color
font-family: $body-font-family
font-weight: normal
font-size: $main-menu-font-size
font-style: normal
.toggler
position: absolute
right: 0
top: 0
width: $toggler-width
height: $main-menu-item-height
text-align: center
.sub-menu-heading
float: left
#toggle-project-menu
border: $main-menu-item-border-width solid $main-menu-item-border-color
border-left: none
height: $main-menu-item-height - $main-menu-item-border-width
width: $main-menu-width - $main-menu-item-border-width
background-color: $main-menu-bg-color
@include default-transition
&:hover
background: $main-menu-bg-hover-selected-background
&.show
width: $main-menu-folded-width - $main-menu-item-border-width
a.navigation-toggler
height: 100%
padding: 0 10px 0 0
&:before
content: "\e00a"
a.navigation-toggler
@include default-transition
position: relative
height: $main-menu-item-height
text-align: right
padding: 0 6px 0 0
&:hover
color: $main-menu-navigation-toggler-font-hover-color
.toggle-follow
position: absolute
width: 140px
.icon-time
background: none
padding: 0
.hidden-navigation
#main-menu
width: $main-menu-folded-width
.ellipsis
text-overflow: clip
-o-text-overflow: clip
-ms-text-overflow: clip
.toggler
display: none
#sidebar
display: none
#sidebar
margin: 30px 0 0 0
padding: 0 17px 0 17px
width: auto
color: $main-menu-sidebar-font-color
font-family: $body-font-family
font-style: normal
h3
display: block
border: none
//border-top: 1px solid $main-menu-sidebar-h3-border-top-color
color: $main-menu-sidebar-h3-color
font-weight: normal
font-size: $main-menu-sidebar-h3-font-size
margin: 30px 0 8px 0
padding: 10px 0 0 0
text-transform: uppercase
> h3:first-child
margin-top: 0
a, a:link
color: $main-menu-sidebar-link-color
display: inline
position: static
text-decoration: underline
a:hover
text-decoration: underline
ul
border: none
overflow-x: hidden
li
border: none
li a
padding: 0