Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F257105
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
40 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/plugins/calendar/skins/elastic/templates/itipattend.html b/plugins/calendar/skins/elastic/templates/itipattend.html
index 20b4acab..2b3ce326 100644
--- a/plugins/calendar/skins/elastic/templates/itipattend.html
+++ b/plugins/calendar/skins/elastic/templates/itipattend.html
@@ -1,29 +1,10 @@
-<roundcube:object name="doctype" value="html5" />
-<html>
-<head>
-<title><roundcube:object name="pagetitle" /></title>
-<roundcube:include file="/includes/links.html" />
-</head>
-<body class="extwin calendaritipattend">
+<roundcube:include file="includes/layout.html" />
-<div id="header">
-<div id="topnav">
- <roundcube:object name="logo" src="/images/roundcube_logo.png" id="toplogo" border="0" alt="Logo" />
-</div>
-</div>
+<roundcube:object name="plugin.event_inviteform" class="standalone-invitebox" />
+ <div class="calendar-invitebox invitebox boxinformation">
+ <roundcube:object name="plugin.event_invitebox" />
+ <roundcube:object name="plugin.event_rsvp_buttons" type="submit" iname="rsvp" id="event-rsvp" delegate="false" />
+ </div>
+</form>
-<div id="mainscreen">
-
-<div class="centerbox uibox">
- <roundcube:object name="plugin.event_inviteform" />
- <roundcube:object name="plugin.event_invitebox" class="calendar-invitebox" />
- <roundcube:object name="plugin.event_rsvp_buttons" type="submit" iname="rsvp" id="event-rsvp" delegate="false" />
- </form>
-</div>
-
-<roundcube:object name="message" id="message" />
-
-</div>
-
-</body>
-</html>
\ No newline at end of file
+<roundcube:include file="includes/footer.html" />
diff --git a/plugins/libkolab/skins/elastic/include/calendar.less b/plugins/libkolab/skins/elastic/include/calendar.less
index 163f057a..12ffe523 100644
--- a/plugins/libkolab/skins/elastic/include/calendar.less
+++ b/plugins/libkolab/skins/elastic/include/calendar.less
@@ -1,1173 +1,1186 @@
/**
* Kolab core library
*
* This file contains Elastic skin styles for calendar plugin.
*
* @author Aleksander Machniak <machniak@kolabsys.com>
*
* Copyright (C) 2012-2018, Kolab Systems AG <contact@kolabsys.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
.toolbarmenu.listing li {
a.calendarlink:before {
.font-icon-regular(@fa-var-calendar);
}
a.send:before {
content: @fa-var-paper-plane;
}
}
// Icon for resources in autocompletion list
.listing.iconized li.resource > i:before {
content: @fa-var-cube;
}
.listing {
li {
& > div {
&.calendar .calname:before {
&:extend(.font-icon-class);
content: @fa-var-calendar-alt;
}
&.calendar.cal---invitation--pending .calname:before,
&.calendar.cal---invitation--declined .calname:before {
.font-icon-regular(@fa-var-calendar-alt);
}
&.calendar.cal-__bdays__ .calname:before {
content: @fa-var-birthday-cake;
}
&.calendar.cal---invitation--pending,
&.calendar.cal---invitation--declined,
&.calendar.cal-__bdays__ {
font-style: italic;
a.quickview {
padding-right: .25rem;
}
a.calname {
padding-right: 4em;
}
.count {
right: 5.5em;
}
}
}
// Calednars list element (color indicator) used in Larry
span.handle {
display: none;
}
}
}
#calendarcategories {
.input-group:not(:last-child) {
margin-bottom: .25rem;
}
}
fieldset.categories .input-group {
.minicolors-input {
border-radius: 0;
}
.minicolors + .input-group-append {
margin-left: 0;
}
a.button.create {
&:before {
&:extend(.font-icon-class);
content: @fa-var-plus;
line-height: 1;
}
}
}
.calendar-invitebox {
& > i.icon:before {
content: @fa-var-calendar !important;
}
}
.calendar-agenda-preview {
display: none;
margin-top: .5rem;
border-top: 1px solid #ddd;
h3 {
margin-top: .5rem;
}
.event-row {
white-space: nowrap;
.overflow-ellipsis;
&.current {
color: #333;
font-weight: bold;
}
&.no-event {
color: @color-black-shade-text;
font-style: italic;
}
}
.event-title {
padding-left: .5rem;
}
.event-date {
}
}
.calendar-datepicker {
// overwrite jQuery-UI datepicker styles
.ui-datepicker {
top: initial !important;
left: initial !important;
position: relative !important;
transform: unset;
box-shadow: none;
border: 0;
border-radius: 0;
width: auto;
min-width: auto !important;
font-size: .9rem;
background-color: @color-black-shade-bg;
td a {
font-size: .9rem !important;
}
}
.ui-datepicker-header {
background-color: @color-black-shade-bg;
border-top: 1px solid @color-layout-border;
}
}
// Fullcalendar styles
.fc {
flex: auto !important;
.fc-header {
}
.fc-header-left {
}
.fc-header-right {
}
.fc-header-title {
h2 {
font-size: 1.5rem;
font-weight: bold;
}
}
.fc-content {
}
.fc-view {
width: 100%;
overflow: hidden;
}
// Cell Styles
.fc-widget-header, // <th>, usually
.fc-widget-content { // <td>, usually
border: 1px solid #ddd;
}
.fc-cell-overlay { // semi-transparent rectangle while dragging
background: #bce8f1;
opacity: .3;
filter: alpha(opacity=30); /* for IE */
}
// Buttons
.fc-button {
position: relative;
display: inline-block;
padding: 0 .6em;
overflow: hidden;
height: 1.9em;
line-height: 1.9em;
white-space: nowrap;
cursor: pointer;
}
// Our default prev/next buttons use HTML entities like ‹ › « »
// and we'll try to make them look good cross-browser.
.fc-text-arrow {
margin: 0 .1em;
font-size: 2em;
}
.fc-button-prev .fc-text-arrow,
.fc-button-next .fc-text-arrow { // for ‹ ›
font-weight: bold;
}
// icon (for jquery ui)
.fc-button {
.fc-icon-wrap {
position: relative;
float: left;
top: 50%;
}
.ui-icon {
position: relative;
float: left;
margin-top: -50%;
}
}
// Button states
// borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
.fc-state-highlight { // <td> today cell, TODO: add .fc-today to <th>
background: #fcf8e3;
}
.fc-state-default {
border: 1px solid;
background-color: #f5f5f5;
&.fc-corner-left { // non-theme
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
&.fc-corner-right { // non-theme
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
}
.fc-state-hover,
.fc-state-down,
.fc-state-active,
.fc-state-disabled {
color: #333333;
background-color: #e6e6e6;
}
.fc-state-hover {
color: #333333;
text-decoration: none;
}
.fc-state-down,
.fc-state-active {
background-color: #cccccc;
outline: 0;
}
.fc-state-disabled {
cursor: default;
background-image: none;
opacity: 0.65;
}
// Global Event Styles
.fc-event-container {
& > * {
z-index: 8;
}
& > .ui-draggable-dragging,
& > .ui-resizable-resizing {
z-index: 9;
}
}
.fc-event {
border: 1px solid #3a87ad; // default BORDER color
background-color: #3a87ad; // default BACKGROUND color
color: #fff; // default TEXT color
font-size: .85em;
cursor: default;
&:focus {
outline: 2px solid ActiveBorder;
}
.fc-rtl & {
text-align: right;
}
}
a.fc-event {
text-decoration: none;
}
a.fc-event,
.fc-event-draggable {
cursor: pointer;
}
.fc-event-inner {
width: 100%;
height: 100%;
overflow: hidden;
}
.fc-event-time,
.fc-event-title {
padding: 0 1px;
}
.ui-resizable-handle {
display: block;
position: absolute;
z-index: 99999;
font-size: 300%;
line-height: 50%;
}
// Horizontal Events
.fc-event-hori {
border-width: 1px 0;
margin-bottom: 1px;
}
.fc-ltr .fc-event-hori.fc-event-start,
.fc-rtl .fc-event-hori.fc-event-end {
border-left-width: 1px;
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
}
.fc-ltr .fc-event-hori.fc-event-end,
.fc-rtl .fc-event-hori.fc-event-start {
border-right-width: 1px;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
}
// resizable
.fc-event-hori .ui-resizable-e {
top: 0 !important; // importants override pre jquery ui 1.7 styles
right: -3px !important;
width: 7px !important;
height: 100% !important;
cursor: e-resize;
}
.fc-event-hori .ui-resizable-w {
top: 0 !important;
left: -3px !important;
width: 7px !important;
height: 100% !important;
cursor: w-resize;
}
// Reusable Separate-border Table
.fc-border-separate {
border-collapse: separate;
th,
td {
border-width: 1px 0 0 1px;
&.fc-last {
border-right-width: 1px;
}
}
tr.fc-last th,
tr.fc-last td {
border-bottom-width: 1px;
}
tbody tr.fc-first td,
tbody tr.fc-first th {
border-top-width: 0;
}
}
// Month View, Basic Week View, Basic Day View
.fc-week-number {
width: 22px;
text-align: center;
div {
padding: 0 2px;
}
}
.fc-grid {
th {
text-align: center;
}
.fc-day-number {
float: right;
padding: 0 2px;
}
.fc-other-month .fc-day-number {
opacity: 0.3;
}
.fc-day-content {
clear: both;
padding: 2px 2px 1px; // distance between events and day edges
}
// event styles
.fc-event-time {
font-weight: bold;
}
// right-to-left
.fc-rtl & .fc-day-number {
float: left;
}
.fc-rtl & .fc-event-time {
float: right;
}
}
.fc-more-link {
font-size: 0.85em;
white-space: nowrap;
text-decoration: none;
cursor: pointer;
padding: 1px;
}
.fc-first .fc-day-header,
.fc-week .fc-first {
border-left: 0;
}
// Agenda Week View, Agenda Day View
.fc-agenda-days th {
text-align: center;
}
.fc-agenda {
table {
border-collapse: separate;
}
.fc-agenda-axis {
width: 50px;
padding: 0 4px;
vertical-align: middle;
text-align: right;
white-space: nowrap;
font-weight: normal;
border-left: 0;
}
.fc-week-number {
font-weight: bold;
}
.fc-agenda .fc-day-content {
padding: 2px 2px 1px;
}
}
// make axis border take precedence
.fc-agenda-days .fc-agenda-axis {
border-right-width: 1px;
}
.fc-agenda-days .fc-col0 {
border-left-width: 0;
}
// all-day area
.fc-agenda-allday {
th {
border-width: 0 1px;
}
.fc-day-content {
min-height: 34px;
}
}
// divider (between all-day and slots)
.fc-agenda-divider-inner {
height: 2px;
overflow: hidden;
.fc-widget-header & {
background: #eee;
}
}
// slot rows
.fc-agenda-slots {
th {
border-width: 1px 1px 0;
}
td {
border-width: 1px 0 0;
background: none;
}
td div {
height: 20px;
}
tr.fc-slot0 th,
tr.fc-slot0 td {
border-top-width: 0;
}
tr.fc-minor th,
tr.fc-minor td {
border-top-style: dotted;
}
}
// Vertical Events
.fc-event-vert {
border-width: 0 1px;
.fc-event-head,
.fc-event-content {
position: relative;
z-index: 2;
width: 100%;
overflow: hidden;
}
&.fc-event-start {
border-top-width: 1px;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
&.fc-event-end {
border-bottom-width: 1px;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
}
.fc-event-time {
white-space: nowrap;
font-size: 10px;
}
.fc-event-inner {
position: relative;
z-index: 2;
}
.fc-event-bg { // makes the event lighter w/ a semi-transparent overlay
position: absolute;
z-index: 1;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #fff;
opacity: .25;
}
}
// resizable
.fc-event-vert .ui-resizable-s {
bottom: 0 !important; // importants override pre jquery ui 1.7 styles
width: 100% !important;
height: 8px !important;
overflow: hidden !important;
line-height: 8px !important;
font-size: 11px !important;
font-family: monospace;
text-align: center;
cursor: s-resize;
}
.fc-timeline {
position: absolute;
width: 100%;
left: 0;
margin: 0;
padding: 0;
border: none;
border-top: 2px solid #3ec400;
z-index: 999;
}
// List view (by bruederli@kolabsys.com)
.fc-view-list,
.fc-view-table {
border: 1px solid #ccc; // TODO: border
border-left: 0;
border-bottom: 0;
width: auto;
.fc-list-header,
td.fc-list-header {
border-width: 0;
border-bottom-width: 1px;
padding: 3px 5px;
}
}
.fc-list-section {
padding: 4px 2px;
border-width: 0;
border-bottom-width: 1px;
}
.fc-view-list .fc-last {
border-bottom-width: 0;
}
.fc-list-section .fc-event {
position: relative;
margin: 1px 2px 3px 2px;
}
.fc-view-table {
tr.fc-event {
background: inherit;
color: inherit;
td {
padding: 2px;
border-bottom: 1px solid #ccc;
}
td.fc-event-handle {
padding: 3px 8px 3px 3px;
}
}
.fc-first td.fc-list-header {
border-top-width: 0;
}
.fc-event-handle {
.fc-event-skin {
border-radius: 2px;
}
.fc-event-inner {
display: block;
width: 8px;
height: 10px;
border-radius: 2px;
}
}
table {
table-layout: fixed;
width: 100%;
}
.fc-event-inner {
border-color: inherit;
background-color: inherit;
}
col.fc-event-handle {
width: 18px;
}
col.fc-event-date {
width: 7em;
white-space: nowrap;
padding-right: 1em;
.fc-list-day & {
width: 1px;
}
}
col.fc-event-time {
width: 9em;
white-space: nowrap;
padding-right: 1em;
}
}
.fc-icon-alarms,
.fc-icon-sensitive,
.fc-icon-recurring {
display: inline-block;
width: 1em;
height: 1em;
margin-left: .25rem;
&:before {
&:extend(.font-icon-class);
font-size: 1em;
line-height: 1;
}
}
.fc-icon-recurring:before {
.font-icon-regular(@fa-var-clone);
}
.fc-icon-alarms:before {
content: @fa-var-bell;
}
.fc-icon-sensitive:before {
content: @fa-var-lock;
}
}
#timezone-display {
}
#eventshow {
margin: 0;
.event-title {
font-size: 1.5rem;
font-weight: bold;
}
.event-location {
.overflow-ellipsis;
white-space: nowrap;
}
.event-description {
margin: 1rem 0;
}
.event-attendees {
margin-bottom: 1rem;
}
}
@color-availability-unknown: #bbb; // Larry: #ddd;
@color-availability-free: @color-success; // Larry: #abd640;
@color-availability-busy: @color-error; // Larry: #e26569;
@color-availability-tentative: #8383fc;
@color-availability-out-of-office: #fbaa68;
.availability {
span {
margin-right: .5rem;
color: @color-black-shade-text;
&:before {
&:extend(.font-icon-class);
content: @fa-var-square;
display: inline;
float: none;
}
&.legend:before {
font-size: 1em;
}
&.loading:before {
.animated-icon-class;
content: @fa-var-circle-notch;
display: block;
line-height: 1;
}
&.unknown:before {
color: @color-availability-unknown;
}
&.free:before {
color: @color-availability-free;
}
&.busy:before {
color: @color-availability-busy;
}
&.tentative:before {
color: @color-availability-tentative;
}
&.out-of-office:before {
color: @color-availability-out-of-office;
}
}
}
// fixes additional checkbox in Elastic's .datetime widget
.datetime {
label {
margin-left: 1em;
line-height: 2.2;
text-align: right;
flex: 1;
}
input {
width: 10em !important;
}
input[type=checkbox] {
width: auto !important;
}
}
.calendar-scheduler {
.schedule-nav {
position: absolute;
right: 1rem;
top: 1rem;
button {
padding: 0 1rem;
}
}
.schedule-range {
width: 50%;
margin-top: 2rem;
}
.schedule-legend {
.attendee {
margin-right: .5rem;
}
}
.schedule-find-buttons {
margin-right: 1rem;
float: left;
button:first-child {
margin-right: .5rem;
}
.prev-slot:before {
content: @fa-var-chevron-left;
}
.next-slot:after {
&:extend(.font-icon-class);
content: @fa-var-chevron-right;
display: inline-block;
float: none;
margin-right: 0;
}
}
.schedule-options {
line-height: 2.8;
label {
vertical-align: middle;
}
}
.attendees-list {
position: relative;
a.attendee-role-toggle {
position: absolute;
left: 0;
display: inline-block;
width: 1em;
cursor: pointer;
}
div.attendee {
border-top: 1px solid @color-list-border;
line-height: 1.7rem;
height: 1.8rem;
}
.attendee {
white-space: nowrap;
&.spacer {
height: 10px;
}
&.loading:before {
.animated-icon-class;
.font-icon-solid(@fa-var-circle-notch);
}
&.total {
font-weight: bold;
}
&.total,
&.spacer {
&:before {
display: none;
}
}
}
}
.schedule-table {
table-layout: fixed;
th {
border-top: 0;
}
td.attendees {
width: 25%;
overflow: hidden;
border-top: 0;
.attendees-list {
border-bottom: 1px solid @color-table-border;
}
}
td.times {
width: auto;
border-top: 0;
table {
margin: 0;
}
td {
height: 1.8rem;
border-top: 1px solid @color-list-border;
}
}
div.scroll {
position: relative;
overflow: auto;
}
.timesheader {
height: 1.4rem;
border-top: 1px solid @color-table-border;
}
.boxtitle {
margin: 0;
padding: 0;
font-size: 1rem;
font-weight: bold;
padding-top: .5rem;
line-height: 2;
}
td {
padding: 4px;
}
tbody td {
padding: 0;
div {
height: 100%;
}
}
tr.spacer td {
padding: 0;
height: 10px;
}
tr.times td {
cursor: pointer;
min-width: 30px;
font-size: .7rem;
text-align: center;
color: @color-link;
height: 1.4rem;
padding: 0 .25rem;
vertical-align: middle;
border-top: 1px solid @color-table-border;
border-left: 1px solid @color-list-border;
}
.fbcontent {
td {
border-left: 1px solid @color-list-border;
}
&:last-child td {
border-bottom: 1px solid @color-table-border;
}
}
div.unknown {
background-color: @color-availability-unknown;
}
div.free {
background-color: @color-availability-free;
}
div.busy {
background-color: @color-availability-busy;
}
div.tentative {
background-color: @color-availability-tentative;
}
div.out-of-office {
background-color: @color-availability-out-of-office;
}
div.all-busy,
div.all-tentative,
div.all-out-of-office {
overflow: hidden;
// This span imitates a slanting line across the parent element
span {
display: block;
width: 200%;
height: 200%;
border: 1px solid #fff;
background: darken(@color-availability-busy, 10%);
transform: rotate(33deg) translate(10%);
}
&.w10 span {
display: none;
}
&.w20 span,
&.w25 span {
transform: rotate(10deg) translate(10%);
}
&.w30 span {
transform: rotate(15deg) translate(10%);
}
&.w40 span {
transform: rotate(20deg) translate(10%);
}
&.w70 span,
&.w75 span {
transform: rotate(42deg) translate(13%);
}
&.w80 span {
transform: rotate(48deg) translate(15%);
}
&.w90 span {
transform: rotate(52deg) translate(18%);
}
&.w100 span {
transform: rotate(55deg) translate(20%, 15%);
}
}
div.all-tentative span {
background: darken(@color-availability-tentative, 10%);
}
div.all-out-of-office span {
background: darken(@color-availability-out-of-office, 10%);
}
}
}
#schedule-event-time {
position: absolute;
opacity: .75;
border-radius: .3rem;
cursor: move;
border: 2px solid @color-black-shade-text;
background-color: @color-black-shade-bg;
}
.resources-dialog {
display: flex;
height: 100%;
.resource-selection {
flex: 4;
border: 1px solid @color-layout-border;
min-width: 300px;
justify-content: center;
.header {
border-bottom: 1px solid @color-layout-border;
display: flex;
background-color: @color-layout-header-background;
font-size: @layout-header-font-size;
font-weight: bold;
line-height: @layout-header-height;
height: @layout-header-height;
min-height: @layout-header-height;
padding: 0 .25em;
position: relative; // for absolute positioning of searchbar
overflow: hidden;
white-space: nowrap;
}
}
.resource-content {
flex: 10;
display: flex;
flex-direction: column;
margin-left: 1em;
}
.listing li.resource > a {
color: @color-font;
&:before {
&:extend(.font-icon-class);
content: @fa-var-cube;
}
}
}
+
+.standalone-invitebox {
+ margin: 0 auto;
+ padding-top: 36vh;
+ max-width: 500px;
+ width: 95%;
+ background: url(../../../../skins/elastic/images/watermark.jpg) center -20px no-repeat;
+ background-size: auto 40%;
+
+ .invitebox {
+ border: 1px solid @color-layout-border !important;
+ }
+}
diff --git a/plugins/libkolab/skins/elastic/include/libcalendaring.less b/plugins/libkolab/skins/elastic/include/libcalendaring.less
index f062cdbd..febf93ae 100644
--- a/plugins/libkolab/skins/elastic/include/libcalendaring.less
+++ b/plugins/libkolab/skins/elastic/include/libcalendaring.less
@@ -1,645 +1,646 @@
/**
* Kolab core library
*
* This file contains Elastic skin styles for libcalendaring plugin.
*
* @author Aleksander Machniak <machniak@kolabsys.com>
*
* Copyright (C) 2012-2018, Kolab Systems AG <contact@kolabsys.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
.invitebox {
& > i.icon {
position: absolute;
top: 0;
padding-top: .5em;
}
& > span {
padding-left: 2.5em;
}
td {
padding: 2px;
+ vertical-align: top;
&.ititle {
font-weight: bold;
padding-right: 0.5em;
}
&.label {
color: #666;
padding-right: 1em;
}
&.sensitivity {
font-weight: bold;
}
&.recurrence-id {
text-transform: uppercase;
font-style: italic;
}
&.date.modified {
font-weight: bold;
color: @color-error;
}
em {
font-weight: bold;
}
}
.itip-buttons {
display: flex;
flex-wrap: wrap;
input.button {
margin: 0 .25rem .25rem 0;
}
}
.rsvp-buttons {
width: 100%;
padding-top: .25rem;
}
.itip-reply-controls {
margin-top: .25rem;
width: 100%;
& > label {
display: inline;
label {
line-height: 1;
margin-right: .25rem;
}
}
a {
margin-left: 1em;
white-space: nowrap;
}
}
.rsvp-status {
margin: .5rem 0;
width: 100%;
&.hint {
color: #666;
font-style: italic;
}
&:before {
line-height: 1.1;
color: lighten(@color-black, 25%);
}
&.loading:before {
&:extend(.font-icon-class);
.animated-icon-class;
content: @fa-var-circle-notch;
line-height: 1;
}
&.declined:before {
&:extend(.font-icon-class);
content: @fa-var-ban;
color: @color-error;
}
&.tentative:before {
&:extend(.font-icon-class);
content: @fa-var-check-circle;
color: @color-warning;
}
&.accepted:before {
&:extend(.font-icon-class);
content: @fa-var-check-circle;
color: @color-success;
}
&.delegated:before {
&:extend(.font-icon-class);
content: @fa-var-share;
}
&.needs-action:before {
&:extend(.font-icon-class);
content: @fa-var-question-circle;
}
}
.folder-select {
white-space: nowrap;
select {
display: initial;
width: auto;
}
}
}
.attendee {
&:before {
&:extend(.font-icon-class);
content: @fa-var-question-circle;
display: inline;
float: none;
font-size: 1em;
color: @color-black-shade-text;
}
&.req-participant:before {
content: @fa-var-user;
}
&.opt-participant:before {
.font-icon-regular(@fa-var-user);
}
&.non-participant:before {
content: @fa-var-user;
color: #ccc;
}
&.chair:before {
content: @fa-var-user; // todo
color: @color-warning;
}
&.completed:before,
&.accepted:before {
content: @fa-var-check-circle;
color: @color-success;
}
&.declined:before {
content: @fa-var-ban;
color: @color-error;
}
&.tentative:before {
content: @fa-var-check-circle;
color: @color-warning;
}
&.delegated:before {
content: @fa-var-share;
}
&.organizer:before {
content: @fa-var-briefcase; // TODO: better icon
}
&.in-process:before {
content: @fa-var-cog;
}
}
.attendees-comentbox {
label {
display: inline;
}
}
.edit-attendees-table {
width: 100%;
th, td {
width: 1%;
text-align: center;
}
td {
border: 0;
padding: 0 .3rem;
}
th {
border-bottom: 1px solid #eee !important;
}
th.name, td.name, th.role, td.role {
width: auto;
text-align: left;
}
th.invite {
input {
display: none;
}
label {
cursor: pointer;
}
label:before {
&:extend(.font-icon-class);
content: @fa-var-envelope;
display: inline;
float: none;
margin-left: .25rem;
}
}
td.invite {
label:before {
line-height: 1.6;
height: 1.5em;
}
}
td.name {
span {
line-height: 2.5;
display: flex;
& > :first-child {
.overflow-ellipsis;
// width and flex is required to make overflow working
flex: 1;
width: 1px;
white-space: nowrap;
}
}
}
td.availability,
td.confirmstate {
span {
margin: 0;
}
span:after,
span:before {
line-height: 2;
margin: 0;
font-size: 1.2em;
height: 2em;
width: 2em;
}
}
td.options {
a {
display: inline-block;
height: 2em;
&:before {
line-height: 1.8;
margin: 0;
}
}
}
a.expandlink {
&:before {
content: @fa-var-plus-square;
line-height: 2;
}
}
.inner {
display: none;
}
}
html.touch {
.edit-attendees-table {
td.invite {
label:before {
line-height: 1.2;
height: 1.2em;
}
}
}
}
.form-searchbar {
display: flex;
margin-bottom: .5rem;
input[type=text] {
flex: 1;
}
input[type=button] {
margin-left: .5em;
.overflow-ellipsis;
}
}
.attachmentslist li.link {
&.message.eml:before {
content: @fa-var-envelope;
}
a.messagelink {
.overflow-ellipsis;
margin-right: .25rem;
}
a.delete .inner {
display: none;
}
}
.attachmentslist li.ics:before,
.attachmentslist li.text.calendar:before,
.messagelist tbody .attachment span.ical:before {
.font-icon-regular(@fa-var-calendar-alt);
}
.alarms-input {
.edit-alarm-item {
display: flex;
& + .edit-alarm-item {
margin-top: .25rem;
}
}
.edit-alarm-buttons {
a {
line-height: 1;
padding: .375em .25em;
margin: 0 .25rem;
&:before {
margin: 0;
width: 1em;
}
}
.inner {
display: none;
}
}
.edit-alarm-item.first .delete-alarm {
display: none;
}
.edit-alarm-item:not(.first) .add-alarm {
display: none;
}
.edit-alarm-type {
flex: 1;
}
.edit-alarm-set {
display: flex;
flex: 1;
}
.edit-alarm-values {
margin-left: .25rem;
flex: 5;
}
.edit-alarm-offset {
flex: 5;
}
.edit-alarm-date,
.edit-alarm-time,
.edit-alarm-related {
flex: 3;
}
}
.recurrence-form {
.recurrence-rdates {
width: 100%;
padding: 0;
list-style-type: none;
&:empty {
margin: 0;
}
a.delete {
margin-left: 2em;
&:before {
display: inline-block;
float: none;
}
}
.inner {
display: none;
}
}
.recurrence-onevery {
select {
width: 35%;
display: inline;
}
}
.inputform {
display: flex;
input.button {
margin-left: .25rem;
}
}
div.line {
width: 100%;
display: flex;
margin-bottom: .25rem;
label {
margin-left: .5em;
min-width: 4em;
line-height: 2.5;
}
}
.month,
.monthday,
.weekday {
display: inline-block;
width: 3.5em;
margin-right: .5rem;
input {
margin-right: .25rem;
}
}
.monthday {
width: 2.75em;
}
.table td {
border: 0;
padding: 0;
&:first-child label {
line-height: 2.5;
}
& label.monthday:first-child {
margin-top: .5rem;
}
}
.input-group-append,
.input-group-prepend {
display: initial; // fixes buggy height of the element
}
}
#event-status-badge {
width: 7rem;
height: 7rem;
position: absolute;
top: 0;
right: 0;
overflow: hidden;
span {
display: none;
text-transform: uppercase;
line-height: 20px;
position: absolute;
left: -2.4rem;
top: 2.4rem;
width: 13.2rem;
text-align: center;
font-weight: bold;
font-size: .85rem;
color: #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
&:before {
&:extend(.font-icon-class);
display: inline;
float: none;
}
.status-cancelled & {
background-color: darken(@color-error, 10%);
display: block;
&:before {
content: @fa-var-times-circle;
}
}
.sensitivity-private & {
background-color: darken(@color-warning, 10%);
display: block;
&:before {
content: @fa-var-lock;
}
}
.sensitivity-confidential & {
background-color: darken(@color-error, 10%);
display: block;
&:before {
content: @fa-var-user-secret;
}
}
}
}
#alarm-display {
h3 {
font-size: 1.2rem;
margin-bottom: .25rem;
&:before {
&:extend(.font-icon-class);
.font-icon-regular(@fa-var-calendar-alt);
font-size: 1em;
}
&.type-task:before {
.font-icon-regular(@fa-var-calendar-check);
}
}
.event-section {
font-size: .9rem;
color: @color-black-shade-text;
white-space: nowrap;
.overflow-ellipsis;
}
.alarm-actions {
text-align: right;
margin-bottom: .25rem;
a {
&:first-child {
margin-right: 1em;
}
&:before {
&:extend(.font-icon-class);
display: inline;
float: none;
}
}
}
a.alarm-action-snooze:before {
content: @fa-var-bell-slash;
}
a.alarm-action-dismiss:before {
content: @fa-var-trash-alt;
}
}
#alarm-snooze-dropdown a:before {
.font-icon-regular(@fa-var-clock);
}
.dialog-message {
margin: 0;
opacity: .95;
width: 100%;
padding: .75em;
margin-top: .25em;
color: @color-message;
background-color: @color-message-warning-background;
& > label {
margin: 0;
display: block;
label:before {
line-height: 1.25;
margin-right: .25rem;
}
}
}
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Tue, Jun 10, 3:15 PM (1 d, 13 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
197154
Default Alt Text
(40 KB)
Attached To
Mode
R14 roundcubemail-plugins-kolab
Attached
Detach File
Event Timeline
Log In to Comment