Merge branch 'dev' of https://github.com/redmatrix/hubzilla into dev_merge
This commit is contained in:
commit
aa77b04860
@ -1,8 +1,51 @@
|
||||
|
||||
v2.7.3 (2016-06-02)
|
||||
-------------------
|
||||
|
||||
internal enhancements that plugins can benefit from:
|
||||
- EventEmitter not correctly working with stopListeningTo
|
||||
- normalizeEvent hook for manipulating event data
|
||||
|
||||
|
||||
v2.7.2 (2016-05-20)
|
||||
-------------------
|
||||
|
||||
- fixed desktops/laptops with touch support not accepting mouse events for
|
||||
dayClick/dragging/resizing (#3154, #3149)
|
||||
- fixed dayClick incorrectly triggered on touch scroll (#3152)
|
||||
- fixed touch event dragging wrongfully beginning upon scrolling document (#3160)
|
||||
- fixed minified JS still contained comments
|
||||
- UI change: mouse users must hover over an event to reveal its resizers
|
||||
|
||||
|
||||
v2.7.1 (2016-05-01)
|
||||
-------------------
|
||||
|
||||
- dayClick not firing on touch devices (#3138)
|
||||
- icons for prev/next not working in MS Edge (#2852)
|
||||
- fix bad languages troubles with firewalls (#3133, #3132)
|
||||
- update all dev dependencies (#3145, #3010, #2901, #251)
|
||||
- git-ignore npm debug logs (#3011)
|
||||
- misc automated test updates (#3139, #3147)
|
||||
- Google Calendar htmlLink not always defined (#2844)
|
||||
|
||||
|
||||
v2.7.0 (2016-04-23)
|
||||
-------------------
|
||||
|
||||
touch device support (#994):
|
||||
- smoother scrolling
|
||||
- interactions initiated via "long press":
|
||||
- event drag-n-drop
|
||||
- event resize
|
||||
- time-range selecting
|
||||
- `longPressDelay`
|
||||
|
||||
|
||||
v2.6.1 (2016-02-17)
|
||||
-------------------
|
||||
|
||||
- make nowIndicator positioning refresh on window resize
|
||||
- make `nowIndicator` positioning refresh on window resize
|
||||
|
||||
|
||||
v2.6.0 (2016-01-07)
|
||||
|
@ -41,7 +41,7 @@ Also, you will need the [grunt-cli][grunt-cli] and [bower][bower] packages insta
|
||||
|
||||
Then, clone FullCalendar's git repo:
|
||||
|
||||
git clone git://github.com/arshaw/fullcalendar.git
|
||||
git clone git://github.com/fullcalendar/fullcalendar.git
|
||||
|
||||
Enter the directory and install FullCalendar's development dependencies:
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* FullCalendar v2.6.1 Stylesheet
|
||||
* FullCalendar v2.7.3 Stylesheet
|
||||
* Docs & License: http://fullcalendar.io/
|
||||
* (c) 2015 Adam Shaw
|
||||
* (c) 2016 Adam Shaw
|
||||
*/
|
||||
|
||||
|
||||
@ -28,6 +28,7 @@ body .fc { /* extra precedence to overcome jqui */
|
||||
.fc-unthemed tbody,
|
||||
.fc-unthemed .fc-divider,
|
||||
.fc-unthemed .fc-row,
|
||||
.fc-unthemed .fc-content, /* for gutter border */
|
||||
.fc-unthemed .fc-popover {
|
||||
border-color: #ddd;
|
||||
}
|
||||
@ -72,7 +73,6 @@ body .fc { /* extra precedence to overcome jqui */
|
||||
|
||||
.fc-icon {
|
||||
display: inline-block;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
line-height: 1em;
|
||||
font-size: 1em;
|
||||
@ -99,7 +99,6 @@ NOTE: use percentage font sizes or else old IE chokes
|
||||
|
||||
.fc-icon:after {
|
||||
position: relative;
|
||||
margin: 0 -1em; /* ensures character will be centered, regardless of width */
|
||||
}
|
||||
|
||||
.fc-icon-left-single-arrow:after {
|
||||
@ -107,7 +106,6 @@ NOTE: use percentage font sizes or else old IE chokes
|
||||
font-weight: bold;
|
||||
font-size: 200%;
|
||||
top: -7%;
|
||||
left: 3%;
|
||||
}
|
||||
|
||||
.fc-icon-right-single-arrow:after {
|
||||
@ -115,7 +113,6 @@ NOTE: use percentage font sizes or else old IE chokes
|
||||
font-weight: bold;
|
||||
font-size: 200%;
|
||||
top: -7%;
|
||||
left: -3%;
|
||||
}
|
||||
|
||||
.fc-icon-left-double-arrow:after {
|
||||
@ -134,14 +131,12 @@ NOTE: use percentage font sizes or else old IE chokes
|
||||
content: "\25C4";
|
||||
font-size: 125%;
|
||||
top: 3%;
|
||||
left: -2%;
|
||||
}
|
||||
|
||||
.fc-icon-right-triangle:after {
|
||||
content: "\25BA";
|
||||
font-size: 125%;
|
||||
top: 3%;
|
||||
left: 2%;
|
||||
}
|
||||
|
||||
.fc-icon-down-triangle:after {
|
||||
@ -491,15 +486,15 @@ temporary rendered events).
|
||||
/* Scrolling Container
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
||||
.fc-scroller { /* this class goes on elements for guaranteed vertical scrollbars */
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
.fc-scroller {
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.fc-scroller > * { /* we expect an immediate inner element */
|
||||
/* TODO: move to agenda/basic */
|
||||
.fc-scroller > .fc-day-grid,
|
||||
.fc-scroller > .fc-time-grid {
|
||||
position: relative; /* re-scope all positions */
|
||||
width: 100%; /* hack to force re-sizing this inner element when scrollbars appear/disappear */
|
||||
overflow: hidden; /* don't let negative margins or absolute positioning create further scroll */
|
||||
}
|
||||
|
||||
|
||||
@ -547,15 +542,68 @@ temporary rendered events).
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* resizer (cursor AND touch devices) */
|
||||
|
||||
.fc-event .fc-resizer {
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
z-index: 4;
|
||||
}
|
||||
|
||||
/* resizer (touch devices) */
|
||||
|
||||
.fc-event .fc-resizer {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fc-event.fc-allow-mouse-resize .fc-resizer,
|
||||
.fc-event.fc-selected .fc-resizer {
|
||||
/* only show when hovering or selected (with touch) */
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* hit area */
|
||||
|
||||
.fc-event.fc-selected .fc-resizer:before {
|
||||
/* 40x40 touch area */
|
||||
content: "";
|
||||
position: absolute;
|
||||
z-index: 9999; /* user of this util can scope within a lower z-index */
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-left: -20px;
|
||||
margin-top: -20px;
|
||||
}
|
||||
|
||||
|
||||
/* Event Selection (only for touch devices)
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
||||
.fc-event.fc-selected {
|
||||
z-index: 9999 !important; /* overcomes inline z-index */
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.fc-event.fc-selected.fc-dragging {
|
||||
box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
|
||||
/* Horizontal Events
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
||||
/* bigger touch area when selected */
|
||||
.fc-h-event.fc-selected:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
z-index: 3; /* below resizers */
|
||||
top: -10px;
|
||||
bottom: -10px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
|
||||
|
||||
.fc-ltr .fc-h-event.fc-not-start,
|
||||
@ -576,36 +624,56 @@ temporary rendered events).
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
|
||||
/* resizer */
|
||||
|
||||
.fc-h-event .fc-resizer { /* positioned it to overcome the event's borders */
|
||||
top: -1px;
|
||||
bottom: -1px;
|
||||
left: -1px;
|
||||
right: -1px;
|
||||
width: 5px;
|
||||
}
|
||||
/* resizer (cursor AND touch devices) */
|
||||
|
||||
/* left resizer */
|
||||
.fc-ltr .fc-h-event .fc-start-resizer,
|
||||
.fc-ltr .fc-h-event .fc-start-resizer:before,
|
||||
.fc-ltr .fc-h-event .fc-start-resizer:after,
|
||||
.fc-rtl .fc-h-event .fc-end-resizer,
|
||||
.fc-rtl .fc-h-event .fc-end-resizer:before,
|
||||
.fc-rtl .fc-h-event .fc-end-resizer:after {
|
||||
right: auto; /* ignore the right and only use the left */
|
||||
.fc-rtl .fc-h-event .fc-end-resizer {
|
||||
cursor: w-resize;
|
||||
left: -1px; /* overcome border */
|
||||
}
|
||||
|
||||
/* right resizer */
|
||||
.fc-ltr .fc-h-event .fc-end-resizer,
|
||||
.fc-ltr .fc-h-event .fc-end-resizer:before,
|
||||
.fc-ltr .fc-h-event .fc-end-resizer:after,
|
||||
.fc-rtl .fc-h-event .fc-start-resizer,
|
||||
.fc-rtl .fc-h-event .fc-start-resizer:before,
|
||||
.fc-rtl .fc-h-event .fc-start-resizer:after {
|
||||
left: auto; /* ignore the left and only use the right */
|
||||
.fc-rtl .fc-h-event .fc-start-resizer {
|
||||
cursor: e-resize;
|
||||
right: -1px; /* overcome border */
|
||||
}
|
||||
|
||||
/* resizer (mouse devices) */
|
||||
|
||||
.fc-h-event.fc-allow-mouse-resize .fc-resizer {
|
||||
width: 7px;
|
||||
top: -1px; /* overcome top border */
|
||||
bottom: -1px; /* overcome bottom border */
|
||||
}
|
||||
|
||||
/* resizer (touch devices) */
|
||||
|
||||
.fc-h-event.fc-selected .fc-resizer {
|
||||
/* 8x8 little dot */
|
||||
border-radius: 4px;
|
||||
border-width: 1px;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-style: solid;
|
||||
border-color: inherit;
|
||||
background: #fff;
|
||||
/* vertically center */
|
||||
top: 50%;
|
||||
margin-top: -4px;
|
||||
}
|
||||
|
||||
/* left resizer */
|
||||
.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
|
||||
.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
|
||||
margin-left: -4px; /* centers the 8x8 dot on the left edge */
|
||||
}
|
||||
|
||||
/* right resizer */
|
||||
.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
|
||||
.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
|
||||
margin-right: -4px; /* centers the 8x8 dot on the right edge */
|
||||
}
|
||||
|
||||
|
||||
@ -620,6 +688,20 @@ be a descendant of the grid when it is being dragged.
|
||||
padding: 0 1px;
|
||||
}
|
||||
|
||||
.fc-day-grid-event.fc-selected:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
z-index: 1; /* same z-index as fc-bg, behind text */
|
||||
/* overcome the borders */
|
||||
top: -1px;
|
||||
right: -1px;
|
||||
bottom: -1px;
|
||||
left: -1px;
|
||||
/* darkening effect */
|
||||
background: #000;
|
||||
opacity: .25;
|
||||
filter: alpha(opacity=25); /* for IE */
|
||||
}
|
||||
|
||||
.fc-day-grid-event .fc-content { /* force events to be one-line tall */
|
||||
white-space: nowrap;
|
||||
@ -630,10 +712,18 @@ be a descendant of the grid when it is being dragged.
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.fc-day-grid-event .fc-resizer { /* enlarge the default hit area */
|
||||
left: -3px;
|
||||
right: -3px;
|
||||
width: 7px;
|
||||
/* resizer (cursor devices) */
|
||||
|
||||
/* left resizer */
|
||||
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
|
||||
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
|
||||
margin-left: -2px; /* to the day cell's edge */
|
||||
}
|
||||
|
||||
/* right resizer */
|
||||
.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
|
||||
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
|
||||
margin-right: -2px; /* to the day cell's edge */
|
||||
}
|
||||
|
||||
|
||||
@ -681,6 +771,20 @@ a.fc-more:hover {
|
||||
border: 0 solid red;
|
||||
}
|
||||
|
||||
|
||||
/* Utilities
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
||||
.fc-unselectable {
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
/* Toolbar
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
||||
@ -1031,6 +1135,20 @@ be a descendant of the grid when it is being dragged.
|
||||
overflow: hidden; /* don't let the bg flow over rounded corners */
|
||||
}
|
||||
|
||||
.fc-time-grid-event.fc-selected {
|
||||
/* need to allow touch resizers to extend outside event's bounding box */
|
||||
/* common fc-selected styles hide the fc-bg, so don't need this anyway */
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.fc-time-grid-event.fc-selected .fc-bg {
|
||||
display: none; /* hide semi-white background, to appear darker */
|
||||
}
|
||||
|
||||
.fc-time-grid-event .fc-content {
|
||||
overflow: hidden; /* for when .fc-selected */
|
||||
}
|
||||
|
||||
.fc-time-grid-event .fc-time,
|
||||
.fc-time-grid-event .fc-title {
|
||||
padding: 0 1px;
|
||||
@ -1072,9 +1190,9 @@ be a descendant of the grid when it is being dragged.
|
||||
padding: 0; /* undo padding from above */
|
||||
}
|
||||
|
||||
/* resizer */
|
||||
/* resizer (cursor device) */
|
||||
|
||||
.fc-time-grid-event .fc-resizer {
|
||||
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
@ -1087,10 +1205,28 @@ be a descendant of the grid when it is being dragged.
|
||||
cursor: s-resize;
|
||||
}
|
||||
|
||||
.fc-time-grid-event .fc-resizer:after {
|
||||
.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
|
||||
content: "=";
|
||||
}
|
||||
|
||||
/* resizer (touch device) */
|
||||
|
||||
.fc-time-grid-event.fc-selected .fc-resizer {
|
||||
/* 10x10 dot */
|
||||
border-radius: 5px;
|
||||
border-width: 1px;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-style: solid;
|
||||
border-color: inherit;
|
||||
background: #fff;
|
||||
/* horizontally center */
|
||||
left: 50%;
|
||||
margin-left: -5px;
|
||||
/* center on the bottom edge */
|
||||
bottom: -5px;
|
||||
}
|
||||
|
||||
|
||||
/* Now Indicator
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
File diff suppressed because it is too large
Load Diff
6
library/fullcalendar/fullcalendar.min.css
vendored
6
library/fullcalendar/fullcalendar.min.css
vendored
File diff suppressed because one or more lines are too long
12
library/fullcalendar/fullcalendar.min.js
vendored
12
library/fullcalendar/fullcalendar.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* FullCalendar v2.6.1 Print Stylesheet
|
||||
* FullCalendar v2.7.3 Print Stylesheet
|
||||
* Docs & License: http://fullcalendar.io/
|
||||
* (c) 2015 Adam Shaw
|
||||
* (c) 2016 Adam Shaw
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* FullCalendar v2.6.1 Google Calendar Plugin
|
||||
* FullCalendar v2.7.3 Google Calendar Plugin
|
||||
* Docs & License: http://fullcalendar.io/
|
||||
* (c) 2015 Adam Shaw
|
||||
* (c) 2016 Adam Shaw
|
||||
*/
|
||||
|
||||
(function(factory) {
|
||||
@ -136,10 +136,10 @@ function transformOptions(sourceOptions, start, end, timezone, calendar) {
|
||||
}
|
||||
else if (data.items) {
|
||||
$.each(data.items, function(i, entry) {
|
||||
var url = entry.htmlLink;
|
||||
var url = entry.htmlLink || null;
|
||||
|
||||
// make the URLs for each event show times in the correct timezone
|
||||
if (timezoneArg) {
|
||||
if (timezoneArg && url !== null) {
|
||||
url = injectQsComponent(url, 'ctz=' + timezoneArg);
|
||||
}
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,3 +1,7 @@
|
||||
.fc-scroller {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
/* fix borders */
|
||||
|
||||
.fc th:first-child,
|
||||
|
@ -1,3 +1,7 @@
|
||||
.fc-scroller {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
/* fix borders */
|
||||
|
||||
.fc th:first-child,
|
||||
|
22
view/js/mod_cal.js
Normal file
22
view/js/mod_cal.js
Normal file
@ -0,0 +1,22 @@
|
||||
/**
|
||||
* JavaScript for mod/cal
|
||||
*/
|
||||
|
||||
$(document).ready( function() {
|
||||
$(document).on('click','#fullscreen-btn', on_fullscreen);
|
||||
$(document).on('click','#inline-btn', on_inline);
|
||||
});
|
||||
|
||||
function on_fullscreen() {
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
if(view.type === 'month') {
|
||||
$('#events-calendar').fullCalendar('option', 'height', $(window).height() - $('.section-title-wrapper').outerHeight(true) - 2); // -2 is for border width (top and bottom) of .generic-content-wrapper
|
||||
}
|
||||
}
|
||||
|
||||
function on_inline() {
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
if(view.type === 'month') {
|
||||
$('#events-calendar').fullCalendar('option', 'height', 'auto');
|
||||
}
|
||||
}
|
@ -5,11 +5,29 @@
|
||||
$(document).ready( function() {
|
||||
enableDisableFinishDate();
|
||||
$('#comment-edit-text-desc, #comment-edit-text-loc').bbco_autocomplete('bbcode');
|
||||
|
||||
$(document).on('click','#fullscreen-btn', on_fullscreen);
|
||||
$(document).on('click','#inline-btn', on_inline);
|
||||
});
|
||||
|
||||
|
||||
function enableDisableFinishDate() {
|
||||
if( $('#id_nofinish').is(':checked'))
|
||||
$('#id_finish_text').prop("disabled", true);
|
||||
else
|
||||
$('#id_finish_text').prop("disabled", false);
|
||||
}
|
||||
|
||||
function on_fullscreen() {
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
if(view.type === 'month') {
|
||||
$('#events-calendar').fullCalendar('option', 'height', $(window).height() - $('.section-title-wrapper').outerHeight(true) - 2); // -2 is for border width (top and bottom) of .generic-content-wrapper
|
||||
}
|
||||
}
|
||||
|
||||
function on_inline() {
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
if(view.type === 'month') {
|
||||
$('#events-calendar').fullCalendar('option', 'height', 'auto');
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user