From 878dc659b1425f159e466218d49f61ad3428806f Mon Sep 17 00:00:00 2001 From: nathangray Date: Fri, 24 Apr 2020 10:54:08 -0600 Subject: [PATCH] * Calendar: Add clickable link to videoconference in event tooltip --- calendar/inc/class.calendar_uilist.inc.php | 2 +- calendar/js/app.js | 20 +++- calendar/js/app.ts | 25 ++++- calendar/js/et2_widget_event.js | 30 ++++- calendar/js/et2_widget_event.ts | 35 +++++- calendar/templates/default/app.css | 5 + calendar/templates/pixelegg/app.css | 125 +++++++++++---------- 7 files changed, 172 insertions(+), 70 deletions(-) diff --git a/calendar/inc/class.calendar_uilist.inc.php b/calendar/inc/class.calendar_uilist.inc.php index 888d3467ed..ed3531eb58 100644 --- a/calendar/inc/class.calendar_uilist.inc.php +++ b/calendar/inc/class.calendar_uilist.inc.php @@ -962,7 +962,7 @@ class calendar_uilist extends calendar_ui 'join' => [ 'caption' => 'Join', 'icon' => 'status/videoconference_join', - 'onExecute' => 'javaScript:app.calendar.joinVideoConference', + 'onExecute' => 'javaScript:app.calendar.joinVideoConferenceAction', 'allowOnMultiple' => false, ] ] diff --git a/calendar/js/app.js b/calendar/js/app.js index 541d925211..2f688eba07 100644 --- a/calendar/js/app.js +++ b/calendar/js/app.js @@ -3367,9 +3367,25 @@ var CalendarApp = /** @class */ (function (_super) { var data = egw.dataGetUIDdata(_selected[0].id); return data && data.data ? data.data['##videoconference'] : false; }; - CalendarApp.prototype.joinVideoConference = function (_action, _sender) { + /** + * Action handler for join videoconference context menu + * + * @param _action + * @param _sender + */ + CalendarApp.prototype.joinVideoConferenceAction = function (_action, _sender) { var data = egw.dataGetUIDdata(_sender[0].id)['data']; - egw.json("EGroupware\\Status\\Videoconference\\Call::ajax_genMeetingUrl", [data['##videoconference'], + return this.joinVideoConference(data['##videoconference']); + }; + /** + * Join a videoconference + * + * Using the videoconference tag/ID, generate the URL and open it via JSON + * + * @param {string} videoconference + */ + CalendarApp.prototype.joinVideoConference = function (videoconference) { + return egw.json("EGroupware\\Status\\Videoconference\\Call::ajax_genMeetingUrl", [videoconference, { name: egw.user('account_fullname'), account_id: egw.user('account_id'), diff --git a/calendar/js/app.ts b/calendar/js/app.ts index aea0a79d64..e4e41e3a89 100644 --- a/calendar/js/app.ts +++ b/calendar/js/app.ts @@ -4172,12 +4172,31 @@ class CalendarApp extends EgwApp return data && data.data ? data.data['##videoconference'] : false; } - public joinVideoConference(_action, _sender) + /** + * Action handler for join videoconference context menu + * + * @param _action + * @param _sender + */ + public joinVideoConferenceAction(_action : egwAction, _sender : egwActionObject[]) { let data = egw.dataGetUIDdata(_sender[0].id)['data']; - egw.json( + + return this.joinVideoConference(data['##videoconference']); + } + + /** + * Join a videoconference + * + * Using the videoconference tag/ID, generate the URL and open it via JSON + * + * @param {string} videoconference + */ + public joinVideoConference(videoconference) + { + return egw.json( "EGroupware\\Status\\Videoconference\\Call::ajax_genMeetingUrl", - [data['##videoconference'], + [videoconference, { name:egw.user('account_fullname'), account_id:egw.user('account_id'), diff --git a/calendar/js/et2_widget_event.js b/calendar/js/et2_widget_event.js index 73d42012a5..2f487819a4 100644 --- a/calendar/js/et2_widget_event.js +++ b/calendar/js/et2_widget_event.js @@ -411,6 +411,21 @@ var et2_calendar_event = /** @class */ (function (_super) { } cat.destroy(); } + // Location + Videoconference + var location = ''; + if (this.options.value.location || this.options.value['##videoconference']) { + location += '

' + this.egw().lang('Location') + ':' + + egw.htmlspecialchars(this.options.value.location); + if (this.options.value['##videoconference']) { + // Click handler is set in _bind_videoconference() + location += (this.options.value.location.trim() ? '
' : '') + + '' + this.egw().lang('Videoconference') + + ''; + this._bind_videoconference(); + } + location += '

'; + } + // Participants var participants = ''; if (this.options.value.participant_types['']) { participants += this.options.value.participant_types[''].join("
"); @@ -432,8 +447,7 @@ var et2_calendar_event = /** @class */ (function (_super) { '' + egw.htmlspecialchars(this.options.value.title) + '
' + egw.htmlspecialchars(this.options.value.description) + '

' + '

' + times + '

' + - (this.options.value.location ? '

' + this.egw().lang('Location') + ':' + - egw.htmlspecialchars(this.options.value.location) + '

' : '') + + location + (cat_label ? '

' + this.egw().lang('Category') + ':' + cat_label + '

' : '') + '

' + this.egw().lang('Participants') + ':
' + participants + '

' + this._participant_summary(this.options.value.participants) + @@ -527,6 +541,18 @@ var et2_calendar_event = /** @class */ (function (_super) { } return icons; }; + /** + * Bind the click handler for opening the video conference + * + * Tooltips are placed in the DOM directly in the body, managed by egw. + */ + et2_calendar_event.prototype._bind_videoconference = function () { + var vc_event = 'click.calendar_videoconference'; + jQuery('body').off(vc_event) + .on(vc_event, '[data-videoconference]', function (event) { + app.calendar.joinVideoConference(this.dataset.videoconference); + }); + }; /** * Get a text representation of the timespan of the event. Either start * - end, or 'all day' diff --git a/calendar/js/et2_widget_event.ts b/calendar/js/et2_widget_event.ts index 99748667d4..0c6c0b66b9 100644 --- a/calendar/js/et2_widget_event.ts +++ b/calendar/js/et2_widget_event.ts @@ -525,6 +525,25 @@ export class et2_calendar_event extends et2_valueWidget implements et2_IDetached } cat.destroy(); } + + // Location + Videoconference + let location = ''; + if(this.options.value.location || this.options.value['##videoconference']) + { + location += '

' + this.egw().lang('Location') + ':' + + egw.htmlspecialchars(this.options.value.location); + if(this.options.value['##videoconference']) + { + // Click handler is set in _bind_videoconference() + location += (this.options.value.location.trim() ? '
' : '') + + '' + this.egw().lang('Videoconference') + + ''; + this._bind_videoconference(); + } + location += '

'; + } + + // Participants let participants = ''; if(this.options.value.participant_types['']) { @@ -550,8 +569,7 @@ export class et2_calendar_event extends et2_valueWidget implements et2_IDetached ''+egw.htmlspecialchars(this.options.value.title)+'
'+ egw.htmlspecialchars(this.options.value.description)+'

'+ '

'+times+'

'+ - (this.options.value.location ? '

'+this.egw().lang('Location') + ':' + - egw.htmlspecialchars(this.options.value.location)+'

' : '')+ + location + (cat_label ? '

'+this.egw().lang('Category') + ':' + cat_label +'

' : '')+ '

'+this.egw().lang('Participants')+':
'+ participants + '

'+ this._participant_summary(this.options.value.participants) + @@ -672,6 +690,19 @@ export class et2_calendar_event extends et2_valueWidget implements et2_IDetached return icons; } + /** + * Bind the click handler for opening the video conference + * + * Tooltips are placed in the DOM directly in the body, managed by egw. + */ + _bind_videoconference() + { + let vc_event = 'click.calendar_videoconference'; + jQuery('body').off(vc_event) + .on(vc_event, '[data-videoconference]',function(event) { + app.calendar.joinVideoConference(this.dataset.videoconference); + }); + } /** * Get a text representation of the timespan of the event. Either start * - end, or 'all day' diff --git a/calendar/templates/default/app.css b/calendar/templates/default/app.css index b57e2a70c4..b0fdd7536b 100644 --- a/calendar/templates/default/app.css +++ b/calendar/templates/default/app.css @@ -807,6 +807,11 @@ Hide subsequent headers in week view with non-consolidated owners } .calendar_calEventTooltip img { max-width: 1.5em; + vertical-align: middle; + padding-left: 5px; +} +.calendar_calEventTooltip [data-videoconference] { + cursor: pointer; } .calendar_calAddEvent{ diff --git a/calendar/templates/pixelegg/app.css b/calendar/templates/pixelegg/app.css index c79cc22ec7..ed75709b12 100755 --- a/calendar/templates/pixelegg/app.css +++ b/calendar/templates/pixelegg/app.css @@ -791,6 +791,11 @@ Hide subsequent headers in week view with non-consolidated owners } .calendar_calEventTooltip img { max-width: 1.5em; + vertical-align: middle; + padding-left: 5px; +} +.calendar_calEventTooltip [data-videoconference] { + cursor: pointer; } .calendar_calAddEvent { width: 100%; @@ -1597,13 +1602,13 @@ img.sideboxstar:active { .calendar_calEventBodySmall img[src$="svg"], .calendar_calDayColHeader img[src$="svg"] { background-color: #0c5da5; - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iZzc0MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj48c3RvcCBzdG9wLWNvbG9yPSIjMEM1REE1IiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjMEM1REE1IiBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzc0MykiLz48L3N2Zz4=); - background-image: -moz-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: -ms-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0C5DA5), to(#0C5DA5)); - background-image: -webkit-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: -o-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: linear-gradient(top, #0C5DA5, #0C5DA5); + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iZzc0MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj48c3RvcCBzdG9wLWNvbG9yPSIjMGM1ZGE1IiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjMGM1ZGE1IiBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzc0MykiLz48L3N2Zz4=); + background-image: -moz-linear-gradient(top, #0c5da5, #0c5da5); + background-image: -ms-linear-gradient(top, #0c5da5, #0c5da5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0c5da5), to(#0c5da5)); + background-image: -webkit-linear-gradient(top, #0c5da5, #0c5da5); + background-image: -o-linear-gradient(top, #0c5da5, #0c5da5); + background-image: linear-gradient(top, #0c5da5, #0c5da5); background-repeat: repeat-x; } /* calender view*/ @@ -1627,26 +1632,26 @@ div.calendar { /* They are the navigation buttons */ padding: 2px; /* Make the buttons seem like they're pressing */ - background-color: #FFDD73; + background-color: #ffdd73; } .calendar .nav { /*background: url(../images/menuarrow.png) no-repeat 100% 100%;*/ background-image: none; - background-color: #FFDD73; + background-color: #ffdd73; } .calendar thead .title { /* This holds the current "month, year" */ font-weight: bold; /* Pressing it will take you to the current date */ /*text-align: center;*/ - background-color: #679FD2; + background-color: #679fd2; } .calendar thead .title:hover { - background-color: #E6E6E6 !important; + background-color: #e6e6e6 !important; } .calendar thead .headrow { /* Row containing navigation buttons */ - background-color: #FFDD73; + background-color: #ffdd73; color: #fff; } .calendar thead .daynames { @@ -1676,7 +1681,7 @@ div.calendar { } .calendar thead .active { /* Active (pressed) buttons in header */ - background_color: #408DD2; + background_color: #408dd2; /*padding: 2px 0px 0px 2px;*/ } .calendar tbody tr, @@ -1721,7 +1726,7 @@ div.calendar { /*border: 0px solid @gray_50;*/ /*padding: 1px 3px 1px 1px;*/ /*padding: 0px;*/ - background-color: #FFDD73; + background-color: #ffdd73; color: #000; -webkit-box-shadow: inset 1px 2px 1px #000000; -moz-box-shadow: inset 1px 2px 1px #000000; @@ -1903,7 +1908,7 @@ div.calendar { box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6); } #calendar-edit #calendar-edit_calendar-edit-details #calendar-edit_details_alarms { - background-color: #CDCDCD; + background-color: #cdcdcd; display: block !important; } #calendar-edit #calendar-edit_calendar-edit-description #calendar-edit_details_category { @@ -1921,7 +1926,7 @@ div.calendar { } #calendar-edit #calendar-edit_calendar-edit-description #calendar-edit_category { border: 1px solid; - border-color: #B4B4B4; + border-color: #b4b4b4; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; @@ -2025,10 +2030,10 @@ e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget */ .calendar_calToday, .calendar_calTimeGrid .calendar_calDayColHeader .calendar_calToday.et2_link.et2_clickable { - background-color: #FFDD73; + background-color: #ffdd73; } .calendar_calWeek { - background-color: #FFFFFF; + background-color: #ffffff; width: auto; margin: 0 auto; text-align: center; @@ -2036,7 +2041,7 @@ e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget } .calendar_calMonth { /*.background_table_cal_head;*/ - background-color: #FFFFFF; + background-color: #ffffff; width: auto; margin: 0 auto; text-align: center; @@ -2144,12 +2149,12 @@ e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget * border-color: depending on category * background: depending on category (shade) */ - background-color: #679FD2; + background-color: #679fd2; border-top: 1px solid; } .calendar_calEvent:not([class*=" cat_"]) { /* Defaults for no category, so we don't override it */ - background-color: #679FD2; + background-color: #679fd2; } /** * All participants accepted the invitation @@ -2165,7 +2170,7 @@ e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget overflow: auto; } .calendar_calAddEvent:hover { - background-color: #FFDD73; + background-color: #ffdd73; cursor: pointer; color: #ffffff; } @@ -2190,7 +2195,7 @@ e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget position: absolute; right: 0px; top: 0px; - background-color: #E6E6E6; + background-color: #e6e6e6; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; @@ -2212,13 +2217,13 @@ e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget } .calendar_calDayTodos .calendar_calDayTodosHeader a img[src$="svg"] { background-color: #0c5da5; - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iZzc0MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj48c3RvcCBzdG9wLWNvbG9yPSIjMEM1REE1IiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjMEM1REE1IiBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzc0MykiLz48L3N2Zz4=); - background-image: -moz-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: -ms-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0C5DA5), to(#0C5DA5)); - background-image: -webkit-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: -o-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: linear-gradient(top, #0C5DA5, #0C5DA5); + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iZzc0MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj48c3RvcCBzdG9wLWNvbG9yPSIjMGM1ZGE1IiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjMGM1ZGE1IiBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzc0MykiLz48L3N2Zz4=); + background-image: -moz-linear-gradient(top, #0c5da5, #0c5da5); + background-image: -ms-linear-gradient(top, #0c5da5, #0c5da5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0c5da5), to(#0c5da5)); + background-image: -webkit-linear-gradient(top, #0c5da5, #0c5da5); + background-image: -o-linear-gradient(top, #0c5da5, #0c5da5); + background-image: linear-gradient(top, #0c5da5, #0c5da5); background-repeat: repeat-x; } .calendar_calDayTodos .calendar_calDayTodosHeader a img { @@ -2239,7 +2244,7 @@ e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget -moz-transition-timing-function: linear; -o-transition-timing-function: linear; transition-timing-function: linear; - background-color: #E6E6E6; + background-color: #e6e6e6; width: 16px; height: 16px; } @@ -2250,7 +2255,7 @@ e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget background-color: inherit; } .calendar_calDayTodos .calendar_calDayTodosTable table tr:nth-child(even) { - background: #FFFFFF; + background: #ffffff; } .calendar_calDayTodos .calendar_calDayTodosTable table tr:nth_child(odd) { background: #f2f2f2; @@ -2260,13 +2265,13 @@ e.g. the div with class calendar_calTimeGrid is generated by the timeGridWidget } .calendar_calDayTodos .calendar_calDayTodosTable table td img[src$="svg"] { background-color: #0c5da5; - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iZzc0MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj48c3RvcCBzdG9wLWNvbG9yPSIjMEM1REE1IiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjMEM1REE1IiBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzc0MykiLz48L3N2Zz4=); - background-image: -moz-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: -ms-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0C5DA5), to(#0C5DA5)); - background-image: -webkit-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: -o-linear-gradient(top, #0C5DA5, #0C5DA5); - background-image: linear-gradient(top, #0C5DA5, #0C5DA5); + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iZzc0MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj48c3RvcCBzdG9wLWNvbG9yPSIjMGM1ZGE1IiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjMGM1ZGE1IiBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzc0MykiLz48L3N2Zz4=); + background-image: -moz-linear-gradient(top, #0c5da5, #0c5da5); + background-image: -ms-linear-gradient(top, #0c5da5, #0c5da5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0c5da5), to(#0c5da5)); + background-image: -webkit-linear-gradient(top, #0c5da5, #0c5da5); + background-image: -o-linear-gradient(top, #0c5da5, #0c5da5); + background-image: linear-gradient(top, #0c5da5, #0c5da5); background-repeat: repeat-x; } .calendar_calDayTodos .calendar_calDayTodosTable table td img { @@ -2435,7 +2440,7 @@ button#series { -moz-transition-timing-function: linear; -o-transition-timing-function: linear; transition-timing-function: linear; - background-color: #E6E6E6; + background-color: #e6e6e6; padding-left: 30px; background-position: 6px center; background-repeat: no-repeat; @@ -2445,13 +2450,13 @@ button#series { } button#series img[url*="svg"] { background-color: #b4b4b4; - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iZzc0MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj48c3RvcCBzdG9wLWNvbG9yPSIjQjRCNEI0IiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjQjRCNEI0IiBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzc0MykiLz48L3N2Zz4=); - background-image: -moz-linear-gradient(top, #B4B4B4, #B4B4B4); - background-image: -ms-linear-gradient(top, #B4B4B4, #B4B4B4); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#B4B4B4), to(#B4B4B4)); - background-image: -webkit-linear-gradient(top, #B4B4B4, #B4B4B4); - background-image: -o-linear-gradient(top, #B4B4B4, #B4B4B4); - background-image: linear-gradient(top, #B4B4B4, #B4B4B4); + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iZzc0MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj48c3RvcCBzdG9wLWNvbG9yPSIjYjRiNGI0IiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjYjRiNGI0IiBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzc0MykiLz48L3N2Zz4=); + background-image: -moz-linear-gradient(top, #b4b4b4, #b4b4b4); + background-image: -ms-linear-gradient(top, #b4b4b4, #b4b4b4); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b4b4b4), to(#b4b4b4)); + background-image: -webkit-linear-gradient(top, #b4b4b4, #b4b4b4); + background-image: -o-linear-gradient(top, #b4b4b4, #b4b4b4); + background-image: linear-gradient(top, #b4b4b4, #b4b4b4); background-repeat: repeat-x; fill: red; } @@ -2488,7 +2493,7 @@ button#exception { -moz-transition-timing-function: linear; -o-transition-timing-function: linear; transition-timing-function: linear; - background-color: #E6E6E6; + background-color: #e6e6e6; padding-left: 30px; background-position: 6px center; background-repeat: no-repeat; @@ -2498,13 +2503,13 @@ button#exception { } button#exception img[url*="svg"] { background-color: #b4b4b4; - background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iZzc0MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj48c3RvcCBzdG9wLWNvbG9yPSIjQjRCNEI0IiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjQjRCNEI0IiBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzc0MykiLz48L3N2Zz4=); - background-image: -moz-linear-gradient(top, #B4B4B4, #B4B4B4); - background-image: -ms-linear-gradient(top, #B4B4B4, #B4B4B4); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#B4B4B4), to(#B4B4B4)); - background-image: -webkit-linear-gradient(top, #B4B4B4, #B4B4B4); - background-image: -o-linear-gradient(top, #B4B4B4, #B4B4B4); - background-image: linear-gradient(top, #B4B4B4, #B4B4B4); + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iZzc0MyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMCUiIHkyPSIxMDAlIj48c3RvcCBzdG9wLWNvbG9yPSIjYjRiNGI0IiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjYjRiNGI0IiBvZmZzZXQ9IjEiLz48L2xpbmVhckdyYWRpZW50PjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZzc0MykiLz48L3N2Zz4=); + background-image: -moz-linear-gradient(top, #b4b4b4, #b4b4b4); + background-image: -ms-linear-gradient(top, #b4b4b4, #b4b4b4); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b4b4b4), to(#b4b4b4)); + background-image: -webkit-linear-gradient(top, #b4b4b4, #b4b4b4); + background-image: -o-linear-gradient(top, #b4b4b4, #b4b4b4); + background-image: linear-gradient(top, #b4b4b4, #b4b4b4); background-repeat: repeat-x; fill: red; } @@ -2568,22 +2573,22 @@ div#calendar-container div.calendar table { font-family: Verdana, "Lucida Grande", Helvetica, Sans-Serif; } div#calendar-container div.calendar table thead .button { - background-color: #FFDD73; + background-color: #ffdd73; } div#calendar-container div.calendar table thead .title { border: none; box-shadow: none; -webkit-box-shadow: none; - background-color: #FFDD73; + background-color: #ffdd73; } div#calendar-container div.calendar table thead .headrow { - color: #1E1E1E; + color: #1e1e1e; } div#calendar-container div.calendar table thead .headrow td { background-color: #ffc200; } div#calendar-container div.calendar table thead .daynames { - background-color: #679FD2; + background-color: #679fd2; } div#calendar-container div.calendar table tbody tr.daysrow:hover { background-color: #ffc200; @@ -2612,7 +2617,7 @@ div#calendar-container div.calendar table tbody tr.rowhilite td { box-shadow: none; } #calendar-sidebox_date .ui-datepicker-today { - background-color: #FFDD73; + background-color: #ffdd73; } #calendar-sidebox_date .ui-datepicker-calendar .ui-state-hover { background-color: rgba(153, 204, 255, 0.4);