(css) Keep the fab button visible
parent
4db1f8185a
commit
d90533399d
1
NEWS
1
NEWS
|
@ -9,6 +9,7 @@ Bug fixes
|
|||
- [web] ignore mouse events in scrollbars of Month view (#3990)
|
||||
- [web] fixed public URL with special characters (#3993)
|
||||
- [eas] improved EAS parameters parsing (#4003)
|
||||
- [web] keep the fab button visible when the center list is hidden
|
||||
|
||||
3.2.6a (2017-01-26)
|
||||
-------------------
|
||||
|
|
|
@ -501,9 +501,13 @@
|
|||
md-mode="indeterminate"
|
||||
md-diameter="32"><!-- progress --></md-progress-circular>
|
||||
</div>
|
||||
</md-content>
|
||||
</div>
|
||||
|
||||
<md-fab-speed-dial
|
||||
class="md-scale md-fab-bottom-right"
|
||||
class="md-scale sg-fab-bottom-center"
|
||||
ng-cloak="ng-cloak"
|
||||
ng-class="{ 'sg-sidenav-close': leftIsClose, 'sg-center-close': centerIsClose }"
|
||||
md-direction="up"
|
||||
ng-show="addressbook.selectedFolder.isOwned || addressbook.selectedFolder.acls.objectCreator">
|
||||
<md-fab-trigger>
|
||||
|
@ -525,8 +529,6 @@
|
|||
</md-button>
|
||||
</md-fab-actions>
|
||||
</md-fab-speed-dial>
|
||||
</md-content>
|
||||
</div>
|
||||
|
||||
<div id="detailView" class="view-detail"
|
||||
layout="column" layout-align="start center"
|
||||
|
|
|
@ -331,14 +331,13 @@
|
|||
md-mode="indeterminate"
|
||||
md-diameter="32"><!-- mailbox loading progress --></md-progress-circular>
|
||||
</div>
|
||||
<md-button class="md-fab md-fab-bottom-right md-accent"
|
||||
label:aria-label="Write a new message"
|
||||
ng-click="mailbox.newMessage($event)">
|
||||
<md-icon>edit</md-icon>
|
||||
</md-button>
|
||||
</md-content>
|
||||
</div>
|
||||
|
||||
<md-fab-speed-dial
|
||||
class="md-scale md-fab-bottom-right"
|
||||
class="md-scale sg-fab-bottom-center"
|
||||
ng-cloak="ng-cloak"
|
||||
ng-class="{ 'sg-sidenav-close': leftIsClose, 'sg-center-close': centerIsClose }"
|
||||
md-direction="up">
|
||||
<md-fab-trigger>
|
||||
<md-button class="md-fab md-accent" label:aria-label="Write a new message">
|
||||
|
@ -358,8 +357,6 @@
|
|||
</md-button>
|
||||
</md-fab-actions>
|
||||
</md-fab-speed-dial>
|
||||
</md-content>
|
||||
</div>
|
||||
|
||||
<div id="detailView" class="view-detail"
|
||||
layout="column" layout-align="start center"
|
||||
|
|
|
@ -677,8 +677,11 @@
|
|||
md-mode="indeterminate"
|
||||
md-diameter="32"><!-- mailbox loading progress --></md-progress-circular>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<md-fab-speed-dial
|
||||
class="md-scale md-fab-bottom-right"
|
||||
class="md-scale sg-fab-bottom-center"
|
||||
ng-class="{ 'sg-sidenav-close': leftIsClose, 'sg-center-close': centerIsClose }"
|
||||
ng-cloak="ng-cloak"
|
||||
md-direction="up">
|
||||
<md-fab-trigger>
|
||||
|
@ -699,7 +702,7 @@
|
|||
</md-button>
|
||||
</md-fab-actions>
|
||||
</md-fab-speed-dial>
|
||||
</div>
|
||||
|
||||
<div id="detailView" class="view-detail hide show-gt-xs"
|
||||
layout="column"
|
||||
md-colors="::{backgroundColor: 'default-background-200'}"
|
||||
|
|
|
@ -5,10 +5,83 @@ md-sidenav md-list .md-button {
|
|||
font-weight: normal;
|
||||
}
|
||||
|
||||
.md-button.md-fab-overlap-bottom {
|
||||
&.md-fab-bottom-right,
|
||||
&.md-fab-bottom-left {
|
||||
bottom: -(($button-fab-width + $button-fab-padding)/2);
|
||||
/**
|
||||
* Keep main fab button visible and either at the bottom right of the list
|
||||
* view or at the bottom left of the detail view
|
||||
*
|
||||
* Three-pane view (full view):
|
||||
*
|
||||
* +------+-------+--------------+
|
||||
* | x | | x |
|
||||
* | | | |
|
||||
* | | | |
|
||||
* | | | |
|
||||
* | | (*)| |
|
||||
* +------+-------+--------------+
|
||||
*
|
||||
* Sidenav closed:
|
||||
*
|
||||
* +-------+--------------+
|
||||
* |= | x |
|
||||
* | | |
|
||||
* | | |
|
||||
* | | |
|
||||
* | (*)| |
|
||||
* +-------+--------------+
|
||||
*
|
||||
* Detail view expanded (list view closed):
|
||||
*
|
||||
* +------+--------------+
|
||||
* | x | + |
|
||||
* | | |
|
||||
* | | |
|
||||
* | | |
|
||||
* | |(*) |
|
||||
* +------+--------------+
|
||||
*
|
||||
* Sidenav closed and detail view expanded:
|
||||
*
|
||||
* +--------------+
|
||||
* | + |
|
||||
* | |
|
||||
* | |
|
||||
* | |
|
||||
* |(*) |
|
||||
* +--------------+
|
||||
*
|
||||
*/
|
||||
md-fab-speed-dial.sg-fab-bottom-center {
|
||||
position: absolute;
|
||||
bottom: ($button-fab-height - $button-fab-padding)/2;
|
||||
left: auto;
|
||||
right: ($button-fab-width - $button-fab-padding)/2;
|
||||
top: auto;
|
||||
transition: $swift-ease-out;
|
||||
@include at(sm) {
|
||||
right: col-width($breakpoint: sm, $nb: 10) + 2vw;
|
||||
&.sg-center-close {
|
||||
left: ($button-fab-width - $button-fab-padding)/2;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
@include at(md) {
|
||||
// sidenav is hidden, center list can be closed
|
||||
right: col-width($breakpoint: md, $nb: 14) + 2vw;
|
||||
&.sg-center-close {
|
||||
left: ($button-fab-width - $button-fab-padding)/2;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
@include from(lg) {
|
||||
// both sidenav and center list can be closed
|
||||
right: col-width($breakpoint: lg, $nb: 10) + 2vw;
|
||||
&.sg-sidenav-close, &.sg-center-close {
|
||||
right: col-width($breakpoint: lg, $nb: 14) + 2vw;
|
||||
}
|
||||
&.sg-sidenav-close.sg-center-close {
|
||||
left: ($button-fab-width - $button-fab-padding)/2;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -160,9 +160,17 @@
|
|||
//@include responsive-columns('md', 'at');
|
||||
//@include responsive-columns('lg', 'from');
|
||||
|
||||
// Utility to implement a specific one without extending
|
||||
// todo: include error handling
|
||||
/**
|
||||
* Return a column width according to a breakpoint grid
|
||||
*/
|
||||
@function col-width($breakpoint, $nb) {
|
||||
$cols: map-get($base-grid-total-columns, $breakpoint);
|
||||
@return ((100 / $cols) * $nb * 1vw);
|
||||
}
|
||||
|
||||
/**
|
||||
* Style a column according to a breakpoint grid
|
||||
*/
|
||||
@mixin flex-col($breakpoint, $nb, $grow: 1, $shrink: 1) {
|
||||
$cols: map-get($base-grid-total-columns, $breakpoint);
|
||||
$colWidth: ((100 / $cols) * 1vw);
|
||||
|
|
|
@ -64,20 +64,20 @@ $touch-zone: $touch-zone-width;
|
|||
|
||||
/**
|
||||
* Breakpoint: 0 600px 960px 1024px 1280px
|
||||
* ├───────────────────┼─────────┼─────────┼───────────┼─────────>
|
||||
* Slice : xs · sm · md · lg . xl
|
||||
* |----------------------|----------|----------|-------------|---------->
|
||||
* Slice : . xs · sm · md · lg . xl
|
||||
* · · · · ·
|
||||
* · · · at(md) · ·
|
||||
* · · ├─────────┤ ·
|
||||
* · · |----------| ·
|
||||
* · · · · ·
|
||||
* · · · from(md) · ·
|
||||
* · · ├───────────────────────────────>
|
||||
* · · · ·
|
||||
* · · to(md) · ·
|
||||
* ├─────────────────────────────────────────┤ ·
|
||||
* · ·
|
||||
* · between(sm, lg) ·
|
||||
* ├───────────────────────────────┤
|
||||
* · · |----------------------------------->
|
||||
* · · . · ·
|
||||
* · · . to(md) · ·
|
||||
* |--------------------------------------------| ·
|
||||
* . · . . ·
|
||||
* . · between(sm, lg) ·
|
||||
* . |-----------------------------------|
|
||||
*/
|
||||
|
||||
$layout-breakpoint-xs: 600px !default;
|
||||
|
|
|
@ -16,7 +16,8 @@ $quarter_height: 10px;
|
|||
[ui-view=calendars] {
|
||||
|
||||
// Decrease width of middle column (list of events and tasks)
|
||||
$listView-width: grid-step(4) !global;
|
||||
//$listView-width: grid-step(4) !global;
|
||||
$listView-width: grid-step(4);
|
||||
//$detailView-width: grid-step(10) !global;
|
||||
|
||||
.view-list {
|
||||
|
@ -39,9 +40,37 @@ $quarter_height: 10px;
|
|||
|
||||
.view-list--close {
|
||||
@include from(md) {
|
||||
$cols: map-get($base-grid-total-columns, md);
|
||||
$colWidth: ((100 / $cols) * -5vw);
|
||||
margin-right: $colWidth;
|
||||
$colWidth: col-width($breakpoint: md, $nb: 5);
|
||||
margin-right: $colWidth * -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Redefine fab button since center column width is different.
|
||||
* See button.scss
|
||||
*/
|
||||
md-fab-speed-dial.sg-fab-bottom-center {
|
||||
@include at(md) {
|
||||
// sidenav is hidden, center list can be closed
|
||||
right: col-width($breakpoint: md, $nb: 15) + 2vw;
|
||||
&.sg-center-close {
|
||||
left: ($button-fab-width - $button-fab-padding)/2;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
@include from(lg) {
|
||||
// both sidenav and center list can be closed
|
||||
right: col-width($breakpoint: lg, $nb: 11) + 2vw;
|
||||
&.sg-sidenav-close {
|
||||
right: col-width($breakpoint: lg, $nb: 15) + 2vw;
|
||||
}
|
||||
&.sg-center-close {
|
||||
right: col-width($breakpoint: lg, $nb: 14) + 2vw;
|
||||
}
|
||||
&.sg-sidenav-close.sg-center-close {
|
||||
left: ($button-fab-width - $button-fab-padding)/2;
|
||||
right: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ body {
|
|||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Variables
|
||||
$listView-width: grid-step(6) !global;
|
||||
//$listView-width: grid-step(6) !global;
|
||||
//$detailView-width: grid-step(8) !global;
|
||||
|
||||
[class|="view"] {
|
||||
|
@ -93,14 +93,12 @@ $listView-width: grid-step(6) !global;
|
|||
transform: translateX(-100%);
|
||||
|
||||
@include at(sm) {
|
||||
$cols: map-get($base-grid-total-columns, sm);
|
||||
$colWidth: ((100 / $cols) * -6vw);
|
||||
margin-right: $colWidth;
|
||||
$colWidth: col-width($breakpoint: sm, $nb: 6);
|
||||
margin-right: $colWidth * -1;
|
||||
}
|
||||
@include from(md) {
|
||||
$cols: map-get($base-grid-total-columns, md);
|
||||
$colWidth: ((100 / $cols) * -6vw);
|
||||
margin-right: $colWidth;
|
||||
$colWidth: col-width($breakpoint: md, $nb: 6);
|
||||
margin-right: $colWidth * -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue