Elastic: Add style for iTip invitation handling boxes

This commit is contained in:
Aleksander Machniak 2018-02-28 17:03:16 +00:00
parent 7b748e93e3
commit f8692a19dc
6 changed files with 195 additions and 4 deletions

View file

@ -2638,7 +2638,7 @@ class calendar extends rcube_plugin
&& ($response['action'] == 'rsvp' || $response['action'] == 'import')
) {
$calendars = $this->driver->list_calendars($mode);
$calendar_select = new html_select(array('name' => 'calendar', 'id' => 'itip-saveto', 'is_escaped' => true));
$calendar_select = new html_select(array('name' => 'calendar', 'id' => 'itip-saveto', 'is_escaped' => true, 'class' => 'form-control'));
$calendar_select->add('--', '');
$numcals = 0;
foreach ($calendars as $calendar) {
@ -2912,7 +2912,7 @@ class calendar extends rcube_plugin
) . '%before%' . $this->mail_agenda_event_row($event, 'current') . '%after%');
}
$html .= html::div('calendar-invitebox',
$html .= html::div('calendar-invitebox invitebox boxinformation',
$this->itip->mail_itip_inline_ui(
$event,
$ical_objects->method,

View file

@ -50,3 +50,41 @@ fieldset.categories .input-group {
}
}
}
.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 {
}
}

View file

@ -0,0 +1,146 @@
/**
* 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;
&.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%;
}
.itip-reply-controls {
margin-top: .25rem;
a {
margin-left: 1em;
}
}
.rsvp-status {
margin: .5rem 0;
&.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;
}
}
}

View file

@ -27,3 +27,9 @@
content: @fa-var-tasks;
}
}
.tasklist-invitebox {
& > i.icon:before {
content: @fa-var-tasks !important;
}
}

View file

@ -282,4 +282,5 @@ a.history {
@import "include/kolab_files";
@import "include/kolab_notes";
@import "include/kolab_tags";
@import "include/libcalendaring";
@import "include/tasklist";

View file

@ -1884,7 +1884,7 @@ class tasklist extends rcube_plugin
// get prepared inline UI for this event object
if ($ical_objects->method) {
$html .= html::div('tasklist-invitebox',
$html .= html::div('tasklist-invitebox invitebox boxinformation',
$this->itip->mail_itip_inline_ui(
$task,
$ical_objects->method,
@ -2394,7 +2394,7 @@ class tasklist extends rcube_plugin
// get a list of writeable lists to save new tasks to
if ((!$existing || $is_shared) && $response['action'] == 'rsvp' || $response['action'] == 'import') {
$lists = $this->driver->get_lists($mode);
$select = new html_select(array('name' => 'tasklist', 'id' => 'itip-saveto', 'is_escaped' => true));
$select = new html_select(array('name' => 'tasklist', 'id' => 'itip-saveto', 'is_escaped' => true, 'class' => 'form-control'));
$select->add('--', '');
foreach ($lists as $list) {