2015-07-28 21:53:48 +02:00
|
|
|
/// SchedulerUI.scss -*- Mode: scss; indent-tabs-mode: nil; basic-offset: 2 -*-
|
2015-04-10 18:32:51 +02:00
|
|
|
$hours_margin: 50px;
|
2015-11-06 21:12:24 +01:00
|
|
|
$block_margin: 2%; // See sgCalendarDayBlock.directive.js
|
2015-11-17 18:22:06 +01:00
|
|
|
$block_radius: 3px;
|
2016-01-26 15:09:25 +01:00
|
|
|
$quarter_height: 10px;
|
2015-09-23 21:19:39 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Affected templates:
|
|
|
|
* - SchedulerUI/UIxCalDayView.wox
|
|
|
|
* - SchedulerUI/UIxCalWeekView.wox
|
|
|
|
* - SchedulerUI/UIxCalDayTable.wox
|
|
|
|
* - SchedulerUI/UIxCalMonthView.wox
|
2015-09-29 20:08:05 +02:00
|
|
|
* - SchedulerUI/UIxCalMulticolumnDayView.wox
|
2015-09-23 21:19:39 +02:00
|
|
|
*/
|
2015-04-10 18:32:51 +02:00
|
|
|
|
2015-09-22 02:56:55 +02:00
|
|
|
[ui-view=calendars] {
|
2015-09-23 21:19:39 +02:00
|
|
|
|
2015-12-02 20:53:06 +01:00
|
|
|
// Decrease width of middle column (list of events and tasks)
|
2017-02-02 03:32:16 +01:00
|
|
|
//$listView-width: grid-step(4) !global;
|
|
|
|
$listView-width: grid-step(4);
|
2016-02-25 16:57:32 +01:00
|
|
|
//$detailView-width: grid-step(10) !global;
|
2015-09-22 15:41:47 +02:00
|
|
|
|
|
|
|
.view-list {
|
|
|
|
min-width: ($listView-width - ($pitch * 2));
|
2016-02-25 16:57:32 +01:00
|
|
|
|
|
|
|
@include to(xs) {
|
|
|
|
min-width: 100%;
|
|
|
|
@include flex-col($breakpoint: xs, $nb: 1, $grow: 1, $shrink: 1);
|
2015-09-22 15:41:47 +02:00
|
|
|
}
|
2015-11-30 20:13:15 +01:00
|
|
|
@include from(md) {
|
2016-02-25 16:57:32 +01:00
|
|
|
@include flex-col($breakpoint: md, $nb: 5, $grow: 1, $shrink: 1);
|
2015-09-22 15:41:47 +02:00
|
|
|
}
|
2015-09-25 22:07:56 +02:00
|
|
|
|
|
|
|
// The color chip is smaller; adjust the "selected" icon accordingly
|
2016-04-21 19:40:47 +02:00
|
|
|
.sg-list-selectable .sg-avatar-selectable:before,
|
|
|
|
.sg-avatar-selectable:hover:before {
|
|
|
|
margin: 0 (($sg-color-chip-width + 2*$bl) - $icon-size)/2;
|
2015-09-25 22:07:56 +02:00
|
|
|
}
|
2015-09-22 15:41:47 +02:00
|
|
|
}
|
|
|
|
|
2016-11-10 22:03:00 +01:00
|
|
|
.view-list--close {
|
2015-11-30 20:13:15 +01:00
|
|
|
@include from(md) {
|
2017-02-02 03:32:16 +01:00
|
|
|
$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;
|
|
|
|
}
|
2015-09-22 15:41:47 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-09-23 21:19:39 +02:00
|
|
|
// The calendar view container
|
|
|
|
.calendarView {
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
bottom: 0;
|
|
|
|
right: 0;
|
|
|
|
left: 0;
|
2015-09-22 02:56:55 +02:00
|
|
|
}
|
2015-08-07 21:32:00 +02:00
|
|
|
|
2015-09-23 21:19:39 +02:00
|
|
|
// The days labels appear in the toolbar
|
|
|
|
md-toolbar {
|
2016-03-30 17:10:09 +02:00
|
|
|
flex-shrink: 0;
|
2015-09-29 20:08:05 +02:00
|
|
|
&.daysView, &.monthView {
|
2015-10-15 16:50:24 +02:00
|
|
|
background-color: #fff;
|
2016-07-11 16:19:31 +02:00
|
|
|
flex-shrink: 1;
|
2015-09-23 21:19:39 +02:00
|
|
|
z-index: $z-index-toolbar - 1;
|
|
|
|
.days {
|
2016-01-27 16:28:40 +01:00
|
|
|
&:not([sg-calendar-scroll-view$="allday"]) {
|
|
|
|
overflow-y: scroll;
|
|
|
|
}
|
2015-09-23 21:19:39 +02:00
|
|
|
&.dayLabels {
|
2016-03-30 17:10:09 +02:00
|
|
|
flex-shrink: 0;
|
2016-02-02 18:07:44 +01:00
|
|
|
min-height: 0;
|
2015-09-23 21:19:39 +02:00
|
|
|
.day {
|
|
|
|
padding-left: 1%;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2016-03-30 17:10:09 +02:00
|
|
|
&.monthView {
|
|
|
|
// Toolbar of month view
|
2016-05-17 22:31:35 +02:00
|
|
|
min-height: 0;
|
2016-03-30 17:10:09 +02:00
|
|
|
> div {
|
|
|
|
overflow-y: scroll;
|
|
|
|
}
|
|
|
|
}
|
2015-09-29 20:08:05 +02:00
|
|
|
&[sg-view$=dayview] {
|
2016-01-27 16:28:40 +01:00
|
|
|
// Toolbar of day view only
|
2015-09-23 21:19:39 +02:00
|
|
|
.dayLabels {
|
|
|
|
.day {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
}
|
2015-09-22 02:56:55 +02:00
|
|
|
}
|
2015-07-28 21:53:48 +02:00
|
|
|
}
|
2015-04-10 18:32:51 +02:00
|
|
|
|
2015-09-23 21:19:39 +02:00
|
|
|
// The all-day events appear in the shrinkable toolbar, bellow the days labels
|
2019-03-27 14:48:00 +01:00
|
|
|
.allDaysView--container {
|
|
|
|
overflow: hidden;
|
|
|
|
}
|
2015-09-23 21:19:39 +02:00
|
|
|
.allDaysView {
|
2015-09-22 02:56:55 +02:00
|
|
|
border-bottom: 1px solid sg-color($sogoPaper, 300);
|
2015-09-23 21:19:39 +02:00
|
|
|
max-height: $sg-font-size-4 * 6;
|
2016-02-02 18:07:44 +01:00
|
|
|
min-height: 0;
|
2016-01-27 16:28:40 +01:00
|
|
|
overflow: hidden;
|
|
|
|
overflow-y: scroll;
|
2015-09-23 21:19:39 +02:00
|
|
|
|
2015-11-06 21:12:24 +01:00
|
|
|
.day {
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
|
2015-09-23 21:19:39 +02:00
|
|
|
.sg-event {
|
2016-02-02 18:09:55 +01:00
|
|
|
margin: 3px $block_margin;
|
2015-09-23 21:19:39 +02:00
|
|
|
line-height: initial;
|
|
|
|
position: relative;
|
2015-11-06 21:12:24 +01:00
|
|
|
|
|
|
|
&--ghost {
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
margin-left: 0;
|
|
|
|
margin-right: 0;
|
|
|
|
border-radius: 0;
|
|
|
|
padding-left: $block_margin;
|
|
|
|
padding-right: $block_margin;
|
|
|
|
&--first {
|
|
|
|
margin-left: $block_margin;
|
|
|
|
padding-left: 0;
|
2015-11-17 18:22:06 +01:00
|
|
|
border-top-left-radius: $block_radius;
|
|
|
|
border-bottom-left-radius: $block_radius;
|
2015-11-06 21:12:24 +01:00
|
|
|
}
|
|
|
|
&--last {
|
|
|
|
margin-right: $block_margin;
|
|
|
|
padding-right: 0;
|
2015-11-17 18:22:06 +01:00
|
|
|
border-top-right-radius: $block_radius;
|
|
|
|
border-bottom-right-radius: $block_radius;
|
2015-11-06 21:12:24 +01:00
|
|
|
}
|
|
|
|
}
|
2015-09-23 21:19:39 +02:00
|
|
|
}
|
|
|
|
|
2015-11-06 21:12:24 +01:00
|
|
|
.text {
|
2015-11-20 19:30:26 +01:00
|
|
|
position: static;
|
|
|
|
padding: 3px 1%;
|
2015-09-23 21:19:39 +02:00
|
|
|
}
|
2015-09-22 02:56:55 +02:00
|
|
|
}
|
2015-09-19 03:08:01 +02:00
|
|
|
|
2016-03-30 17:10:09 +02:00
|
|
|
// Toolbar of all-day events when expanded to display all events
|
|
|
|
.allDaysView__expanded {
|
|
|
|
max-height: none;
|
|
|
|
min-height: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Side column on the left of the days labels and all-day events;
|
|
|
|
// Contains the toggle button to collapse/expand the toolbar
|
|
|
|
.allDaysView--sidenav {
|
|
|
|
border-bottom: 1px solid sg-color($sogoPaper, 300);
|
2016-05-06 20:14:45 +02:00
|
|
|
min-width: $hours_margin;
|
2016-03-30 17:10:09 +02:00
|
|
|
width: $hours_margin;
|
|
|
|
.md-icon-button {
|
|
|
|
position: absolute;
|
|
|
|
bottom: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-12-04 21:00:58 +01:00
|
|
|
md-card {
|
|
|
|
// All views wrap a md-card
|
|
|
|
position: absolute;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
top: 0;
|
|
|
|
bottom: 0;
|
2016-02-02 18:07:44 +01:00
|
|
|
md-card-actions {
|
|
|
|
min-height: 0;
|
|
|
|
}
|
2015-12-04 21:00:58 +01:00
|
|
|
}
|
|
|
|
|
2015-11-11 22:44:26 +01:00
|
|
|
md-content[sg-calendar-scroll-view] {
|
2016-04-22 18:13:07 +02:00
|
|
|
background-color: #fff;
|
2015-11-06 21:12:24 +01:00
|
|
|
overflow-y: scroll;
|
|
|
|
overflow-x: hidden;
|
|
|
|
}
|
|
|
|
|
2015-09-23 21:19:39 +02:00
|
|
|
// Days row
|
2015-09-22 02:56:55 +02:00
|
|
|
.days {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: row;
|
|
|
|
align-items: stretch;
|
|
|
|
.day {
|
2016-04-29 16:52:21 +02:00
|
|
|
border-left: 1px solid sg-color($sogoPaper, 300);
|
2015-09-23 21:19:39 +02:00
|
|
|
flex-grow: 1;
|
|
|
|
flex-basis: 0;
|
2016-04-29 16:52:21 +02:00
|
|
|
overflow: hidden;
|
2015-09-22 02:56:55 +02:00
|
|
|
.clickableHourCell {
|
2016-01-26 15:09:25 +01:00
|
|
|
height: $quarter_height * 4;
|
2015-09-22 02:56:55 +02:00
|
|
|
border-bottom: 1px solid sg-color($sogoPaper, 300);
|
2015-11-06 21:12:24 +01:00
|
|
|
user-select: none;
|
|
|
|
&.outOfDay {
|
|
|
|
background-color: $colorGrey50;
|
|
|
|
}
|
2015-09-22 02:56:55 +02:00
|
|
|
}
|
2015-03-30 21:11:20 +02:00
|
|
|
}
|
2015-07-28 21:53:48 +02:00
|
|
|
}
|
2015-03-30 21:11:20 +02:00
|
|
|
|
2015-09-23 21:19:39 +02:00
|
|
|
// Header of month tiles
|
2015-09-22 02:56:55 +02:00
|
|
|
.sg-calendar-tile-header {
|
|
|
|
font-size: $sg-font-size-2;
|
2015-10-15 16:50:24 +02:00
|
|
|
min-height: $sg-font-size-2 + 8px;
|
2015-11-06 21:12:24 +01:00
|
|
|
overflow: hidden;
|
|
|
|
padding: 4px;
|
2015-10-15 16:50:24 +02:00
|
|
|
text-align: right;
|
2015-11-06 21:12:24 +01:00
|
|
|
text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
2015-09-23 21:19:39 +02:00
|
|
|
//font-weight: $sg-font-light;
|
2015-09-22 02:56:55 +02:00
|
|
|
}
|
2015-04-01 17:18:19 +02:00
|
|
|
|
2015-09-23 21:19:39 +02:00
|
|
|
// The left column of hours
|
2015-09-22 02:56:55 +02:00
|
|
|
.hours {
|
|
|
|
display: inline-block;
|
|
|
|
float: left;
|
|
|
|
clear: left;
|
|
|
|
font-weight: $sg-font-light;
|
|
|
|
height: auto;
|
2015-09-18 22:11:31 +02:00
|
|
|
left: 0;
|
|
|
|
position: relative;
|
|
|
|
top: 0;
|
2015-09-22 02:56:55 +02:00
|
|
|
width: $hours_margin;
|
|
|
|
.hour {
|
|
|
|
border-bottom: 1px solid sg-color($sogoPaper, 300);
|
|
|
|
text-align: right;
|
2016-01-26 15:09:25 +01:00
|
|
|
height: $quarter_height * 4;
|
2015-09-22 02:56:55 +02:00
|
|
|
left: 0;
|
|
|
|
padding: 2px;
|
|
|
|
position: relative;
|
|
|
|
right: 0;
|
|
|
|
top: 0;
|
|
|
|
}
|
2015-09-18 22:11:31 +02:00
|
|
|
}
|
|
|
|
|
2015-09-23 21:19:39 +02:00
|
|
|
// A container for a day-long (column) of hour cells
|
|
|
|
.hourCells {
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
|
2016-09-29 21:59:39 +02:00
|
|
|
// The "now" line that overlaps the current day in day/week/multicolumn views
|
|
|
|
sg-now-line {
|
|
|
|
display: block;
|
|
|
|
position: absolute;
|
|
|
|
width: 100%;
|
|
|
|
height: 2px;
|
|
|
|
background: red;
|
|
|
|
z-index: $z-index-view + 1;
|
|
|
|
}
|
|
|
|
|
2015-09-23 21:19:39 +02:00
|
|
|
// Events from editable calendars are draggable
|
2015-11-06 21:12:24 +01:00
|
|
|
.sg-draggable-calendar-block,
|
|
|
|
.sg-event--ghost {
|
2015-09-23 21:19:39 +02:00
|
|
|
cursor: move;
|
|
|
|
}
|
|
|
|
|
2015-11-13 21:45:44 +01:00
|
|
|
// The outer event container
|
2015-09-23 21:19:39 +02:00
|
|
|
.sg-event {
|
2018-02-06 20:13:40 +01:00
|
|
|
font-size: $sg-font-size-1;
|
2015-11-14 20:29:21 +01:00
|
|
|
font-weight: $sg-font-medium;
|
2015-11-17 18:22:06 +01:00
|
|
|
border-radius: $block_radius;
|
2017-01-16 22:30:24 +01:00
|
|
|
//overflow: hidden;
|
2015-09-23 21:19:39 +02:00
|
|
|
position: absolute;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
2018-02-06 20:13:40 +01:00
|
|
|
margin-left: 1px;
|
2015-09-23 21:19:39 +02:00
|
|
|
opacity: 0.9; // When events from a same calendar overlap, it creates a border to help distinguish the events
|
2016-06-02 19:22:21 +02:00
|
|
|
outline: none;
|
2015-11-06 21:12:24 +01:00
|
|
|
user-select: none;
|
2016-07-22 17:35:18 +02:00
|
|
|
//transition: $swift-linear;
|
2015-09-23 21:19:39 +02:00
|
|
|
$i: 0;
|
2016-01-26 15:05:27 +01:00
|
|
|
@while $i <= 96 { // number of 15-minutes blocks in a day
|
2016-01-26 15:09:25 +01:00
|
|
|
&.starts#{$i} { top: $quarter_height * $i; }
|
2018-02-06 20:13:40 +01:00
|
|
|
&.lasts#{$i} { height: $quarter_height * $i - 1; }
|
2015-09-23 21:19:39 +02:00
|
|
|
$i: $i + 1;
|
2015-03-30 21:11:20 +02:00
|
|
|
}
|
2015-11-06 21:12:24 +01:00
|
|
|
|
|
|
|
&--ghost {
|
|
|
|
opacity: 1;
|
|
|
|
left: $block_margin;
|
|
|
|
right: $block_margin;
|
|
|
|
}
|
|
|
|
|
|
|
|
&--dragging {
|
|
|
|
background-image: repeating-linear-gradient(-45deg,
|
|
|
|
rgba(255,255,255,0.2),
|
|
|
|
rgba(255,255,255,0.2) 2px,
|
|
|
|
transparent 2px,
|
|
|
|
transparent 4px );
|
|
|
|
opacity: 0.5;
|
|
|
|
}
|
|
|
|
|
2015-12-02 20:07:29 +01:00
|
|
|
&.lasts1 {
|
|
|
|
.text {
|
|
|
|
top: 0px;
|
|
|
|
bottom: 0px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-04-22 16:50:19 +02:00
|
|
|
// User participation status is "needs action"
|
|
|
|
&--needs-action {
|
|
|
|
border-width: 1px;
|
|
|
|
border-style: dashed;
|
|
|
|
opacity: 0.7;
|
|
|
|
}
|
|
|
|
|
|
|
|
// User participation status is "tentative"
|
|
|
|
&--tentative {
|
|
|
|
opacity: 0.7;
|
|
|
|
}
|
|
|
|
|
|
|
|
// User has declined the invitation
|
|
|
|
&--declined {
|
|
|
|
opacity: 0.4;
|
|
|
|
}
|
|
|
|
|
2016-04-22 18:22:02 +02:00
|
|
|
// Event is transparent (not opaque)
|
|
|
|
&--transparent {
|
|
|
|
&:before {
|
|
|
|
content: "";
|
|
|
|
display: block;
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
right: 0;
|
|
|
|
bottom: 0;
|
|
|
|
left: 0;
|
|
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
|
|
border-bottom: 0;
|
|
|
|
background-origin: border-box;
|
|
|
|
background-image: linear-gradient(
|
|
|
|
to right bottom,
|
|
|
|
rgba(255, 255, 255, 0),
|
2016-07-08 14:56:45 +02:00
|
|
|
rgba(255, 255, 255, .25) 50%,
|
2016-04-22 18:22:02 +02:00
|
|
|
rgba(255, 255, 255, 0) 50%,
|
|
|
|
rgba(255, 255, 255, 0)
|
2016-06-23 16:07:59 +02:00
|
|
|
);
|
|
|
|
pointer-events: none;
|
2016-04-22 18:22:02 +02:00
|
|
|
}
|
2018-10-09 20:36:56 +02:00
|
|
|
}
|
2016-07-05 15:08:51 +02:00
|
|
|
|
2018-10-09 20:36:56 +02:00
|
|
|
// Event is cancelled
|
|
|
|
&--cancelled .text {
|
|
|
|
text-decoration: line-through;
|
2016-04-22 18:22:02 +02:00
|
|
|
}
|
|
|
|
|
2015-09-23 21:19:39 +02:00
|
|
|
.eventInside {
|
2015-07-28 21:53:48 +02:00
|
|
|
overflow: hidden;
|
2015-09-18 22:11:31 +02:00
|
|
|
}
|
2015-11-06 21:12:24 +01:00
|
|
|
|
2015-11-13 21:45:44 +01:00
|
|
|
.material-icons {
|
2016-06-02 19:22:21 +02:00
|
|
|
font-size: $sg-font-size-2;
|
|
|
|
min-height: $sg-font-size-2;
|
|
|
|
min-width: $sg-font-size-2;
|
2015-11-13 21:45:44 +01:00
|
|
|
}
|
|
|
|
|
2015-11-14 20:29:21 +01:00
|
|
|
.icons md-icon {
|
|
|
|
float: right;
|
|
|
|
}
|
|
|
|
|
2015-11-13 21:45:44 +01:00
|
|
|
.secondary { // location in days view, hours in month view
|
|
|
|
font-weight: $sg-font-light;
|
2017-10-16 16:26:08 +02:00
|
|
|
span {
|
|
|
|
word-break: break-all;
|
|
|
|
}
|
2015-11-13 21:45:44 +01:00
|
|
|
}
|
|
|
|
|
2015-11-17 18:22:06 +01:00
|
|
|
.sg-category {
|
2015-11-17 17:28:10 +01:00
|
|
|
&:first-child {
|
2015-11-17 18:22:06 +01:00
|
|
|
border-top-right-radius: $block_radius;
|
|
|
|
border-bottom-right-radius: $block_radius;
|
2015-11-17 17:28:10 +01:00
|
|
|
}
|
2015-11-14 20:29:21 +01:00
|
|
|
}
|
|
|
|
|
2015-11-06 21:12:24 +01:00
|
|
|
// Event DnD drag grips
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
.dragGrip {
|
|
|
|
&-top, &-bottom {
|
2017-01-16 22:30:24 +01:00
|
|
|
opacity: 1;
|
2015-11-06 21:12:24 +01:00
|
|
|
cursor: ns-resize;
|
|
|
|
}
|
|
|
|
&-left, &-right {
|
2017-01-16 22:30:24 +01:00
|
|
|
opacity: 1;
|
2015-11-06 21:12:24 +01:00
|
|
|
cursor: ew-resize;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.dragGrip {
|
|
|
|
&-top, &-bottom, &-left, &-right {
|
2017-01-16 22:30:24 +01:00
|
|
|
opacity: 0;
|
2015-11-06 21:12:24 +01:00
|
|
|
position: absolute;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-top, &-bottom {
|
|
|
|
left: 1px;
|
|
|
|
right: 1px;
|
2015-12-02 20:07:29 +01:00
|
|
|
height: 8px;
|
2015-11-06 21:12:24 +01:00
|
|
|
line-height: 8px;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-top {
|
|
|
|
top: 0;
|
|
|
|
.dragGrip {
|
|
|
|
right: 0;
|
|
|
|
top: -3px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&-bottom {
|
|
|
|
bottom: 0;
|
|
|
|
.dragGrip {
|
|
|
|
bottom: -3px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&-left, &-right {
|
|
|
|
top: 1px;
|
|
|
|
bottom: 1px;
|
2015-12-02 20:07:29 +01:00
|
|
|
width: 8px;
|
2015-11-06 21:12:24 +01:00
|
|
|
line-height: 8px;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-left {
|
2016-01-27 16:28:40 +01:00
|
|
|
left: -2px;
|
2015-11-06 21:12:24 +01:00
|
|
|
.dragGrip {
|
|
|
|
bottom: 0;
|
|
|
|
left: -1px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&-right {
|
2016-01-27 16:28:40 +01:00
|
|
|
right: -2px;
|
2015-11-06 21:12:24 +01:00
|
|
|
.dragGrip {
|
|
|
|
right: -1px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.dragGrip {
|
|
|
|
background-color: white;
|
|
|
|
border-radius: 50%;
|
|
|
|
border-style: solid;
|
|
|
|
border-width: 1px;
|
|
|
|
display: inline-block;
|
|
|
|
height: 8px;
|
|
|
|
position: absolute;
|
|
|
|
width: 8px;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Event DnD ghost start/end hours
|
|
|
|
|
|
|
|
.ghostStartHour,
|
|
|
|
.ghostEndHour {
|
2016-01-22 02:46:04 +01:00
|
|
|
color: $colorGrey900;
|
|
|
|
font-weight: $sg-font-light;
|
2015-11-06 21:12:24 +01:00
|
|
|
height: 14px;
|
|
|
|
left: 0px;
|
2016-01-22 02:46:04 +01:00
|
|
|
position: absolute;
|
2015-11-06 21:12:24 +01:00
|
|
|
text-align: center;
|
2016-01-22 02:46:04 +01:00
|
|
|
vertical-align: baseline;
|
|
|
|
width: 100%;
|
2015-11-06 21:12:24 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
.ghostStartHour {
|
|
|
|
top: -14px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ghostEndHour {
|
|
|
|
bottom: -14px;
|
|
|
|
}
|
2017-09-08 19:24:58 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// Middle list view of events
|
|
|
|
|
|
|
|
.view-list {
|
|
|
|
.sg-calendar-date {
|
|
|
|
white-space: nowrap;
|
|
|
|
width: 72px;
|
|
|
|
min-width: 72px;
|
|
|
|
> * {
|
|
|
|
display: inline-block;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.sg-calendar-day {
|
|
|
|
font-weight: 200;
|
|
|
|
padding-right: 3px;
|
|
|
|
}
|
|
|
|
.sg-calendar-list {
|
|
|
|
padding-bottom: 16px;
|
|
|
|
md-divider {
|
|
|
|
margin-bottom: 8px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.sg-event {
|
|
|
|
margin: 0 0 4px 0;
|
|
|
|
padding: $bl;
|
|
|
|
cursor: pointer;
|
|
|
|
position: relative;
|
|
|
|
.eventInside {
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.text {
|
|
|
|
position: relative;
|
|
|
|
overflow: auto;
|
|
|
|
}
|
2015-09-18 22:11:31 +02:00
|
|
|
}
|
2015-09-22 02:56:55 +02:00
|
|
|
|
2015-09-29 20:08:05 +02:00
|
|
|
// Multicolumn day cell that contains the calendar name
|
|
|
|
.multicolumnDay {
|
2015-10-15 16:50:24 +02:00
|
|
|
color: $colorGrey900;
|
2015-09-29 20:08:05 +02:00
|
|
|
font-size: $subhead-font-size-base;
|
|
|
|
font-weight: $sg-font-light;
|
|
|
|
overflow: hidden;
|
|
|
|
max-height: $subhead-font-size-base * 3;
|
|
|
|
padding-left: 2px;
|
|
|
|
margin-right: 2px;
|
|
|
|
}
|
|
|
|
|
2015-11-20 19:30:26 +01:00
|
|
|
// Styles specific to the month view
|
2015-09-22 02:56:55 +02:00
|
|
|
.monthView {
|
2015-10-15 16:50:24 +02:00
|
|
|
.dayLabels {
|
|
|
|
// Cells of week days of all the same width
|
2016-05-11 19:49:41 +02:00
|
|
|
border-bottom: 1px solid $colorGrey100;
|
2015-10-15 16:50:24 +02:00
|
|
|
flex: 1 1 0;
|
|
|
|
text-align: center;
|
|
|
|
}
|
2018-12-12 21:24:00 +01:00
|
|
|
md-grid-list {
|
|
|
|
height: 100%;
|
|
|
|
}
|
2015-09-22 02:56:55 +02:00
|
|
|
md-grid-tile {
|
2015-10-15 16:50:24 +02:00
|
|
|
// Border of month day cell
|
|
|
|
border-right: 1px solid $colorGrey100;
|
|
|
|
border-bottom: 1px solid $colorGrey100;
|
2015-09-22 02:56:55 +02:00
|
|
|
overflow: auto;
|
2015-11-20 19:30:26 +01:00
|
|
|
user-select: none;
|
2015-10-15 16:50:24 +02:00
|
|
|
// Cells of another month
|
2015-09-29 20:08:05 +02:00
|
|
|
&.dayOfAnotherMonth {
|
2015-10-15 16:50:24 +02:00
|
|
|
background-color: $colorGrey50;
|
2015-10-02 21:13:30 +02:00
|
|
|
.sg-calendar-tile-header,
|
|
|
|
.sg-calendar-tile-header > span {
|
2015-10-15 16:50:24 +02:00
|
|
|
color: $colorGrey300 !important;
|
2015-09-29 20:08:05 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
&.dayOfToday {
|
|
|
|
.sg-calendar-tile-header {
|
2015-10-02 21:13:30 +02:00
|
|
|
> span {
|
2015-10-15 16:50:24 +02:00
|
|
|
// Circle today's date
|
2015-10-02 21:13:30 +02:00
|
|
|
border-radius: 50%;
|
|
|
|
color: #fff;
|
|
|
|
display: inline-block;
|
|
|
|
font-weight: 600;
|
|
|
|
margin-right: auto;
|
|
|
|
margin-left: 1px;
|
|
|
|
min-width: $sg-font-size-2 + 4px;
|
|
|
|
min-height: $sg-font-size-2 + 4px;
|
|
|
|
line-height: $sg-font-size-2 + 4px;
|
|
|
|
text-align: center;
|
|
|
|
}
|
2015-09-29 20:08:05 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
md-content {
|
|
|
|
background-color: transparent; // See the grid tile background color
|
2015-11-20 19:30:26 +01:00
|
|
|
height: 100%; // Fix a scrolling issue when dragging blocks
|
|
|
|
overflow: hidden;
|
|
|
|
overflow-y: auto;
|
2015-09-22 02:56:55 +02:00
|
|
|
}
|
2015-09-18 22:11:31 +02:00
|
|
|
.sg-event {
|
2015-11-20 21:36:24 +01:00
|
|
|
position: relative;
|
2015-11-20 19:30:26 +01:00
|
|
|
padding: 3px 1%;
|
2015-11-06 21:12:24 +01:00
|
|
|
margin: $block_margin;
|
2015-11-20 19:30:26 +01:00
|
|
|
overflow: hidden;
|
|
|
|
&--ghost {
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
margin-left: 0;
|
|
|
|
margin-right: 0;
|
|
|
|
border-radius: 0;
|
|
|
|
padding-left: $block_margin;
|
|
|
|
padding-right: $block_margin;
|
|
|
|
&--first {
|
|
|
|
margin-left: $block_margin;
|
|
|
|
padding-left: 0;
|
|
|
|
border-top-left-radius: $block_radius;
|
|
|
|
border-bottom-left-radius: $block_radius;
|
|
|
|
}
|
|
|
|
&--last {
|
|
|
|
margin-right: $block_margin;
|
|
|
|
padding-right: 0;
|
|
|
|
border-top-right-radius: $block_radius;
|
|
|
|
border-bottom-right-radius: $block_radius;
|
|
|
|
}
|
|
|
|
}
|
2015-07-28 21:53:48 +02:00
|
|
|
}
|
|
|
|
}
|
2015-03-30 21:11:20 +02:00
|
|
|
|
2016-04-21 23:02:07 +02:00
|
|
|
.sg-priority {
|
|
|
|
background-color: $colorGrey200;
|
|
|
|
border-radius: 50%;
|
|
|
|
color: $colorGrey700;
|
|
|
|
display: inline-block;
|
|
|
|
font-size: 11px;
|
|
|
|
font-weight: bold;
|
|
|
|
line-height: 1;
|
|
|
|
padding: 2px 5px;
|
|
|
|
}
|
|
|
|
|
2015-09-22 02:56:55 +02:00
|
|
|
.minutes15, .minutes30, .minutes45 {
|
|
|
|
display: block;
|
|
|
|
height: 25%;
|
2015-07-28 21:53:48 +02:00
|
|
|
}
|
2015-09-22 02:56:55 +02:00
|
|
|
|
|
|
|
.minutes30 {
|
|
|
|
border-bottom: 1px dotted sg-color($sogoPaper, 300);
|
|
|
|
}
|
|
|
|
|
2015-11-06 21:12:24 +01:00
|
|
|
.text {
|
2015-09-22 02:56:55 +02:00
|
|
|
position: absolute;
|
2015-11-20 19:30:26 +01:00
|
|
|
top: 3px;
|
|
|
|
left: 1%;
|
|
|
|
right: 1%;
|
|
|
|
bottom: 3px;
|
2015-11-06 21:12:24 +01:00
|
|
|
margin: 0 2px;
|
2015-07-28 21:53:48 +02:00
|
|
|
overflow: hidden;
|
2015-11-06 21:12:24 +01:00
|
|
|
line-height: $sg-font-size-2;
|
2015-07-28 21:53:48 +02:00
|
|
|
}
|
2015-03-30 21:11:20 +02:00
|
|
|
|
2015-09-22 02:56:55 +02:00
|
|
|
.gradient > IMG {
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
bottom: 0;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
height: 100%;
|
|
|
|
min-height: 15px; /* for 15-minute events */
|
|
|
|
width: 100%;
|
2015-09-18 22:11:31 +02:00
|
|
|
}
|
2015-09-22 15:41:47 +02:00
|
|
|
}
|
2015-06-04 22:08:45 +02:00
|
|
|
|
2016-06-16 20:46:05 +02:00
|
|
|
.attendees-chips {
|
|
|
|
md-chips-wrap {
|
|
|
|
max-height: ($chip-height * 10); // show a maximum of 10 rows
|
|
|
|
opacity: 1;
|
|
|
|
overflow: auto;
|
|
|
|
transition: $swift-ease-in-out;
|
|
|
|
transition-delay: $swift-ease-in-out-duration;
|
|
|
|
}
|
|
|
|
&.ng-hide {
|
|
|
|
transition-duration: $swift-ease-in-out-duration;
|
|
|
|
md-chips-wrap {
|
|
|
|
max-height: 0;
|
|
|
|
opacity: 0;
|
|
|
|
overflow: hidden;
|
|
|
|
transition: $swift-ease-in-out;
|
|
|
|
transition-delay: 0s;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-05-19 18:13:01 +02:00
|
|
|
/* Tasks list */
|
|
|
|
|
|
|
|
.cancelled .sg-md-subhead {
|
|
|
|
text-decoration: line-through;
|
|
|
|
}
|
|
|
|
|
2016-06-16 20:46:05 +02:00
|
|
|
/* Attendees dialog Editor */
|
2015-09-22 15:41:47 +02:00
|
|
|
.attendees {
|
2016-06-16 20:46:05 +02:00
|
|
|
max-height: ($list-item-height * 20); // show a maximum of 20 attendees
|
|
|
|
opacity: 1;
|
|
|
|
overflow: auto;
|
|
|
|
transition: $swift-ease-in-out;
|
|
|
|
transition-delay: $swift-ease-in-out-duration;
|
|
|
|
&.ng-hide {
|
|
|
|
max-height: 0;
|
|
|
|
opacity: 0;
|
|
|
|
overflow: hidden;
|
|
|
|
transition-delay: 0s;
|
|
|
|
}
|
|
|
|
|
2015-09-22 15:41:47 +02:00
|
|
|
md-content {
|
2016-06-16 20:46:05 +02:00
|
|
|
background-color: transparent;
|
2015-09-22 15:41:47 +02:00
|
|
|
display: table-row;
|
2019-02-20 20:41:58 +01:00
|
|
|
position: unset;
|
2019-02-08 14:17:23 +01:00
|
|
|
scroll-behavior: smooth;
|
2015-09-22 15:41:47 +02:00
|
|
|
}
|
|
|
|
md-list {
|
|
|
|
display: table-cell;
|
|
|
|
vertical-align: top;
|
|
|
|
padding-top: 0;
|
|
|
|
&.day {
|
2016-06-16 20:46:05 +02:00
|
|
|
max-width: (16px * 24);
|
|
|
|
width: (16px * 24);
|
2015-09-22 02:56:55 +02:00
|
|
|
md-list-item {
|
2015-09-22 15:41:47 +02:00
|
|
|
//padding: 0;
|
|
|
|
align-items: stretch;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
md-list-item {
|
|
|
|
padding-left: 0;
|
2015-11-06 21:12:24 +01:00
|
|
|
padding-right: 0;
|
2015-09-22 15:41:47 +02:00
|
|
|
&:hover {
|
|
|
|
background-color: initial;
|
|
|
|
}
|
2015-09-23 21:19:39 +02:00
|
|
|
// img {
|
|
|
|
// margin-right: $mg/4;
|
|
|
|
// }
|
2015-11-13 16:46:32 +01:00
|
|
|
> .md-avatar {
|
|
|
|
// Overwrite default margin to gain some space and match 48px
|
|
|
|
margin-top: $baseline-grid/2;
|
|
|
|
margin-bottom: $baseline-grid/2;
|
|
|
|
}
|
2015-09-22 15:41:47 +02:00
|
|
|
}
|
|
|
|
.md-tile-left {
|
2015-11-13 16:46:32 +01:00
|
|
|
// Use in the top-left empty cell, which is in the first item of the attendees list
|
2015-09-22 15:41:47 +02:00
|
|
|
height: initial;
|
|
|
|
min-height: 48px;
|
|
|
|
width: initial;
|
|
|
|
padding: 4px;
|
|
|
|
}
|
|
|
|
.hours {
|
|
|
|
font-size: 9px;
|
|
|
|
}
|
|
|
|
.hour {
|
|
|
|
display: flex;
|
|
|
|
border-left: 1px solid sg-color($sogoPaper, 100);
|
|
|
|
min-width: 16px;
|
|
|
|
min-height: 16px;
|
|
|
|
flex-wrap: nowrap;
|
|
|
|
flex-grow: 0;
|
2016-06-16 20:46:05 +02:00
|
|
|
flex-basis: 16px; // hour's width
|
2015-09-22 15:41:47 +02:00
|
|
|
align-items: stretch;
|
2017-03-10 20:43:02 +01:00
|
|
|
}
|
|
|
|
.sg-no-freebusy {
|
|
|
|
background-color: sg-color($sogoPaper, 200);
|
|
|
|
background-image: repeating-linear-gradient(-45deg,
|
|
|
|
rgb(255,255,255),
|
|
|
|
rgb(255,255,255) 2px,
|
|
|
|
transparent 2px,
|
|
|
|
transparent 4px);
|
|
|
|
opacity: 0.5;
|
2015-09-22 15:41:47 +02:00
|
|
|
}
|
|
|
|
.quarter {
|
|
|
|
min-width: 4px;
|
|
|
|
display: flex;
|
|
|
|
align-items: stretch;
|
2017-03-10 20:43:02 +01:00
|
|
|
}
|
|
|
|
.busy {
|
|
|
|
margin: 8px 0;
|
|
|
|
min-width: 4px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.sg-color-sample {
|
|
|
|
border-radius: 2px;
|
|
|
|
border-width: 0;
|
|
|
|
width: $baseline-grid*2;
|
|
|
|
height: $baseline-grid*2;
|
|
|
|
margin: 0 $baseline-grid 0 $baseline-grid*2;
|
|
|
|
padding: 0;
|
|
|
|
}
|
2016-09-29 21:59:39 +02:00
|
|
|
}
|
2017-03-10 20:43:02 +01:00
|
|
|
|
2018-12-17 22:45:35 +01:00
|
|
|
/**
|
|
|
|
* Print page preview
|
|
|
|
*/
|
|
|
|
$preview-size: 200px;
|
|
|
|
$preview-letter-ratio: 8.5 / 11;
|
|
|
|
$preview-legal-ratio: 8.5 / 14;
|
|
|
|
$preview-a4-ratio: 210 / 297;
|
|
|
|
|
|
|
|
.sg-print-preview {
|
|
|
|
.letter.portrait & {
|
|
|
|
height: $preview-size;
|
|
|
|
width: $preview-letter-ratio * $preview-size;
|
|
|
|
}
|
|
|
|
.letter.landscape & {
|
|
|
|
height: $preview-letter-ratio * $preview-size;
|
|
|
|
width: $preview-size;
|
|
|
|
}
|
|
|
|
.legal.portrait & {
|
|
|
|
height: $preview-size;
|
|
|
|
width: $preview-legal-ratio * $preview-size;
|
|
|
|
}
|
|
|
|
.legal.landscape & {
|
|
|
|
height: $preview-legal-ratio * $preview-size;
|
|
|
|
width: $preview-size;
|
|
|
|
}
|
|
|
|
.a4.portrait & {
|
|
|
|
height: $preview-size;
|
|
|
|
width: $preview-a4-ratio * $preview-size;
|
|
|
|
}
|
|
|
|
.a4.landscape & {
|
|
|
|
height: $preview-a4-ratio * $preview-size;
|
|
|
|
width: $preview-size;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Print media
|
|
|
|
*/
|
|
|
|
@media print {
|
|
|
|
[ui-view=calendars] {
|
|
|
|
|
|
|
|
.allDaysView,
|
|
|
|
md-toolbar.daysView .days:not([sg-calendar-scroll-view$="allday"]),
|
|
|
|
md-toolbar.monthView > div {
|
|
|
|
overflow-y: hidden; // hide scrollbar
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[ui-view=calendars] {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Events/tasks center list
|
|
|
|
*/
|
|
|
|
md-tab-data,
|
|
|
|
md-tab-item:not(.md-active),
|
|
|
|
md-ink-bar,
|
|
|
|
// md-divider,
|
|
|
|
// .md-subheader,
|
|
|
|
md-list-item .md-secondary-container {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
[ui-view=listView]:not(.view-list--close) {
|
|
|
|
// border-right: 1px solid $colorGrayLighter;
|
|
|
|
padding-right: 2 * $layout-gutter-width;
|
|
|
|
|
|
|
|
.sg-tile-content .sg-md-subhead {
|
|
|
|
font-size: $caption-font-size-base;
|
|
|
|
}
|
|
|
|
|
|
|
|
md-list-item,
|
|
|
|
md-list-item::before,
|
|
|
|
md-list-item .md-list-item-inner::before {
|
|
|
|
min-height: 6 * $baseline-grid;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.md-tab {
|
|
|
|
font-size: $title-font-size-base;
|
|
|
|
padding: $layout-gutter-width;
|
|
|
|
color: $colorGrayDark;
|
|
|
|
}
|
|
|
|
|
|
|
|
.sg-tile-icons {
|
|
|
|
height: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Calendar view
|
|
|
|
*/
|
|
|
|
.view-detail md-card {
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.days .day {
|
|
|
|
border-left-color: $colorGrayLight;
|
|
|
|
}
|
|
|
|
|
|
|
|
.allDaysView,
|
|
|
|
.allDaysView--sidenav,
|
|
|
|
.hours .hour,
|
|
|
|
.days .day .clickableHourCell {
|
|
|
|
border-bottom-color: $colorGrayLight;
|
|
|
|
}
|
|
|
|
|
|
|
|
.sg-event {
|
|
|
|
&.sg-event--transparent:before {
|
|
|
|
content: none;
|
|
|
|
}
|
|
|
|
&[class*=bg-folder],
|
|
|
|
&[class*=bg-folder] md-icon {
|
|
|
|
background: white !important;
|
|
|
|
color: black !important;
|
|
|
|
}
|
|
|
|
&[class*=contrast-bdr-folder] {
|
|
|
|
border-color: black !important;
|
|
|
|
border-width: 1px !important;
|
|
|
|
border-style: solid !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|