Elastic: Toolbar/menus/layout refactoring
Refactoring for better consistency and simplicity. 5KB less in size of (minified) styles.css file. Layout changes: - body > #layout > .menu -> #layout-menu - body > #layout > .list -> #layout-list - body > #layout > .sidebar -> #layout-sidebar - body > #layout > .content -> #layout-content Toolbar/menu changes: - .toolbar -> .toolbar.menu - .toolbarmenu -> .menu.listing - .menu-button -> .task-menu-button - .pagenav.toolbar -> .pagenav.menu - #taskmenu -> #taskmenu.menu.toolbar - .image-tools .menu -> .image-tools .menu.toolbar - required .disabled class to de-activate menu items - .button class is not required on .menu children - merge toolbar.less and taskmenu.less into menu.less - @color-toolbarmenu-hover -> @color-menu-hover - @color-toolbarmenu-hover-background -> @color-menu-hover-background Also cleaned/removed some code in spellchecker.js. Made .googie_list a list not table.pull/6798/head
parent
dbf6e0a81d
commit
f1e911ec03
@ -1,221 +0,0 @@
|
|||||||
/**
|
|
||||||
* Roundcube webmail styles for the Elastic skin
|
|
||||||
*
|
|
||||||
* Copyright (c) 2017-2018, The Roundcube Dev Team
|
|
||||||
*
|
|
||||||
* The contents are subject to the Creative Commons Attribution-ShareAlike
|
|
||||||
* License. It is allowed to copy, distribute, transmit and to adapt the work
|
|
||||||
* by keeping credits to the original authors in the README.md file.
|
|
||||||
* See http://creativecommons.org/licenses/by-sa/3.0/ for details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*** Taskmenu ***/
|
|
||||||
|
|
||||||
#taskmenu {
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
a {
|
|
||||||
.overflow-ellipsis;
|
|
||||||
text-decoration: none;
|
|
||||||
display: block;
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
&:extend(.font-icon-class);
|
|
||||||
}
|
|
||||||
|
|
||||||
&.mail:before {
|
|
||||||
content: @fa-var-envelope;
|
|
||||||
}
|
|
||||||
&.addressbook:before {
|
|
||||||
content: @fa-var-users;
|
|
||||||
}
|
|
||||||
&.settings:before {
|
|
||||||
content: @fa-var-sliders-h;
|
|
||||||
}
|
|
||||||
&.help:before {
|
|
||||||
content: @fa-var-life-ring;
|
|
||||||
}
|
|
||||||
&.logout:before {
|
|
||||||
content: @fa-var-power-off;
|
|
||||||
}
|
|
||||||
&.about:before {
|
|
||||||
content: @fa-var-question;
|
|
||||||
}
|
|
||||||
&.refresh:before {
|
|
||||||
content: @fa-var-sync;
|
|
||||||
}
|
|
||||||
&.compose:before {
|
|
||||||
content: @fa-var-edit;
|
|
||||||
}
|
|
||||||
&.calendar:before {
|
|
||||||
content: @fa-var-calendar-alt;
|
|
||||||
}
|
|
||||||
&.tasklist:before {
|
|
||||||
content: @fa-var-tasks;
|
|
||||||
}
|
|
||||||
&.files:before {
|
|
||||||
content: @fa-var-folder;
|
|
||||||
}
|
|
||||||
&.notes:before {
|
|
||||||
content: @fa-var-sticky-note;
|
|
||||||
}
|
|
||||||
&.chat:before {
|
|
||||||
content: @fa-var-comments;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: @screen-width-xs) {
|
|
||||||
z-index: 30001; // because autocompletion popup uses z-index:30000
|
|
||||||
overflow-x: hidden;
|
|
||||||
|
|
||||||
a {
|
|
||||||
width: 100%;
|
|
||||||
padding: 0 .5em;
|
|
||||||
text-align: left;
|
|
||||||
line-height: @layout-touch-menu-record-height;
|
|
||||||
height: @layout-touch-menu-record-height;
|
|
||||||
border-bottom: 1px solid @color-list-border;
|
|
||||||
color: @color-list;
|
|
||||||
font-size: 1.2rem;
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
margin-right: .5rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: (@screen-width-xs + 1px)) {
|
|
||||||
a {
|
|
||||||
text-align: center;
|
|
||||||
color: @color-taskmenu-button;
|
|
||||||
padding: .45rem 0;
|
|
||||||
width: @layout-menu-width-sm;
|
|
||||||
font-size: 1.2rem;
|
|
||||||
margin-bottom: 1px;
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
display: block;
|
|
||||||
height: 2.1rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
width: @layout-menu-width-sm;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.selected {
|
|
||||||
color: @color-taskmenu-button-selected;
|
|
||||||
background: @color-taskmenu-button-selected-background;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: @color-taskmenu-button-hover;
|
|
||||||
background: @color-taskmenu-button-background-hover;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.special-buttons {
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
background-color: @color-taskmenu-background;
|
|
||||||
}
|
|
||||||
|
|
||||||
.action-buttons {
|
|
||||||
a {
|
|
||||||
color: @color-taskmenu-button-action;
|
|
||||||
background: @color-taskmenu-button-action-background;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: @color-taskmenu-button-action-hover;
|
|
||||||
background: @color-taskmenu-button-action-background-hover;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.selected {
|
|
||||||
background: @color-taskmenu-button-selected-background;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
span.inner {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.logout {
|
|
||||||
color: @color-taskmenu-button-logout-hover !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: (@screen-width-medium + 1px)) {
|
|
||||||
a {
|
|
||||||
width: @layout-menu-width;
|
|
||||||
height: (@layout-header-height - .05rem);
|
|
||||||
font-size: 1rem;
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
width: @layout-menu-width;
|
|
||||||
height: 1.75rem;
|
|
||||||
line-height: 1.5;
|
|
||||||
float: none; // fixed overflowing text in Edge
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
span.inner {
|
|
||||||
display: inline;
|
|
||||||
font-size: 85%;
|
|
||||||
padding: 0 .1em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu {
|
|
||||||
.popover-header {
|
|
||||||
height: @layout-header-height;
|
|
||||||
line-height: @layout-header-height;
|
|
||||||
border: 0;
|
|
||||||
border-radius: 0;
|
|
||||||
text-align: center;
|
|
||||||
|
|
||||||
img {
|
|
||||||
max-height: @layout-header-height;
|
|
||||||
max-width: @layout-menu-width;
|
|
||||||
padding: .25rem;
|
|
||||||
|
|
||||||
@media screen and (min-width: (@screen-width-xs + 1px)) and (max-width: @screen-width-medium) {
|
|
||||||
max-width: @layout-menu-width * 0.45;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: (@screen-width-xs + 1px)) {
|
|
||||||
padding: 0 !important;
|
|
||||||
background-color: @color-taskmenu-background !important;
|
|
||||||
|
|
||||||
a {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
html.layout-phone & {
|
|
||||||
display: flex !important;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
padding: 0 .5rem;
|
|
||||||
|
|
||||||
img {
|
|
||||||
max-width: @layout-mobile-menu-width - 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
width: auto;
|
|
||||||
flex: 1;
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
height: @layout-touch-header-height;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inner {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,37 +1,37 @@
|
|||||||
<div class="menu">
|
<div id="layout-menu">
|
||||||
<h2 id="aria-label-tasknav" class="voice"><roundcube:label name="arialabeltasknav" /></h2>
|
<h2 id="aria-label-tasknav" class="voice"><roundcube:label name="arialabeltasknav" /></h2>
|
||||||
<div class="popover-header">
|
<div class="popover-header">
|
||||||
<roundcube:object name="logo" src="/images/logo.svg" data-src-small="0" id="logo" alt="Logo" />
|
<roundcube:object name="logo" src="/images/logo.svg" data-src-small="0" id="logo" alt="Logo" />
|
||||||
<a class="button icon cancel"><span class="inner"><roundcube:label name="close" /></span></a>
|
<a class="button icon cancel"><span class="inner"><roundcube:label name="close" /></span></a>
|
||||||
</div>
|
</div>
|
||||||
<div id="taskmenu" role="navigation" aria-labelledby="aria-label-tasknav">
|
<div id="taskmenu" class="menu toolbar" role="navigation" aria-labelledby="aria-label-tasknav">
|
||||||
<span class="action-buttons">
|
<span class="action-buttons">
|
||||||
<roundcube:if condition="env:action == 'compose' and env:task == 'mail'" />
|
<roundcube:if condition="env:action == 'compose' and env:task == 'mail'" />
|
||||||
<roundcube:button command="compose" type="link" class="button compose selected"
|
<roundcube:button command="compose" type="link" class="compose selected"
|
||||||
label="compose" title="writenewmessage" innerclass="inner" />
|
label="compose" title="writenewmessage" innerclass="inner" />
|
||||||
<roundcube:else />
|
<roundcube:else />
|
||||||
<roundcube:button command="compose" type="link" class="button compose"
|
<roundcube:button command="compose" type="link" class="compose"
|
||||||
label="compose" title="writenewmessage" innerclass="inner"
|
label="compose" title="writenewmessage" innerclass="inner"
|
||||||
data-fab="true" data-fab-task="mail" data-fab-action="none" />
|
data-fab="true" data-fab-task="mail" data-fab-action="none" />
|
||||||
<roundcube:endif />
|
<roundcube:endif />
|
||||||
</span>
|
</span>
|
||||||
<roundcube:if condition="env:action == 'compose' and env:task == 'mail'" />
|
<roundcube:if condition="env:action == 'compose' and env:task == 'mail'" />
|
||||||
<roundcube:button command="mail" label="mail" type="link" innerClass="inner"
|
<roundcube:button command="mail" label="mail" type="link" innerClass="inner"
|
||||||
class="button mail" />
|
class="mail" />
|
||||||
<roundcube:else />
|
<roundcube:else />
|
||||||
<roundcube:button command="mail" label="mail" type="link" innerClass="inner"
|
<roundcube:button command="mail" label="mail" type="link" innerClass="inner"
|
||||||
class="button mail" classSel="button mail selected" />
|
class="mail" classSel="mail selected" />
|
||||||
<roundcube:endif />
|
<roundcube:endif />
|
||||||
<roundcube:button command="addressbook" label="contacts" type="link" innerClass="inner"
|
<roundcube:button command="addressbook" label="contacts" type="link" innerClass="inner"
|
||||||
class="button addressbook" classSel="button addressbook selected" />
|
class="contacts" classSel="contacts selected" />
|
||||||
<roundcube:container name="taskbar" id="taskmenu" />
|
<roundcube:container name="taskbar" id="taskmenu" />
|
||||||
<roundcube:button command="settings" label="settings" type="link" innerClass="inner"
|
<roundcube:button command="settings" label="settings" type="link" innerClass="inner"
|
||||||
class="button settings" classSel="button settings selected" />
|
class="settings" classSel="settings selected" />
|
||||||
<span class="special-buttons">
|
<span class="special-buttons">
|
||||||
<roundcube:button name="about" label="about" type="link"
|
<roundcube:button name="about" label="about" type="link"
|
||||||
class="button about" innerClass="inner" onclick="UI.about_dialog(this)" />
|
class="about" innerClass="inner" onclick="UI.about_dialog(this)" />
|
||||||
<roundcube:button command="logout" label="logout" type="link"
|
<roundcube:button command="logout" label="logout" type="link"
|
||||||
class="button logout" innerClass="inner" />
|
class="logout" innerClass="inner" />
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue