mirror of
https://github.com/wassname/fullcalendar.git
synced 2026-06-27 16:10:13 +08:00
version 2.1.0
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "fullcalendar",
|
||||
"version": "2.1.0-beta3",
|
||||
"version": "2.1.0",
|
||||
"description": "Full-sized drag & drop event calendar",
|
||||
"keywords": [
|
||||
"calendar",
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
},
|
||||
defaultDate: '2014-08-12',
|
||||
editable: true,
|
||||
eventLimit: true, // allow "more" link when too many events
|
||||
//eventLimit: true, // allow "more" link when too many events
|
||||
events: [
|
||||
{
|
||||
title: 'All Day Event',
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
|
||||
function renderCalendar() {
|
||||
$('#calendar').fullCalendar({
|
||||
allDaySlot: false,
|
||||
header: {
|
||||
left: 'prev,next today',
|
||||
center: 'title',
|
||||
|
||||
Vendored
+71
-46
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* FullCalendar v2.1.0-beta3 Stylesheet
|
||||
* FullCalendar v2.1.0 Stylesheet
|
||||
* Docs & License: http://arshaw.com/fullcalendar/
|
||||
* (c) 2013 Adam Shaw
|
||||
*/
|
||||
@@ -380,7 +380,7 @@ temporary rendered events).
|
||||
.fc-row .fc-content-skeleton {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
padding-bottom: 1px; /* matches the space between events */
|
||||
padding-bottom: 2px; /* matches the space above the events */
|
||||
}
|
||||
|
||||
.fc-row .fc-helper-skeleton {
|
||||
@@ -422,10 +422,7 @@ temporary rendered events).
|
||||
/* Global Event Styles
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
||||
.fc-event,
|
||||
.fc-event:hover, /* extra precedents over other <a> tag hover styling */
|
||||
.ui-widget .fc-event { /* extra precedence over jqui theme <a> tag styling */
|
||||
|
||||
.fc-event {
|
||||
position: relative; /* for resize handle and other inner positioning */
|
||||
display: block; /* make the <a> tag block */
|
||||
font-size: .85em;
|
||||
@@ -433,9 +430,15 @@ temporary rendered events).
|
||||
border-radius: 3px;
|
||||
border: 1px solid #3a87ad; /* default BORDER color */
|
||||
background-color: #3a87ad; /* default BACKGROUND color */
|
||||
color: #fff; /* default TEXT color */
|
||||
text-decoration: none; /* if <a> has an href */
|
||||
font-weight: normal; /* undo jqui */
|
||||
font-weight: normal; /* undo jqui's ui-widget-header bold */
|
||||
}
|
||||
|
||||
/* overpower some of bootstrap's and jqui's styles on <a> tags */
|
||||
.fc-event,
|
||||
.fc-event:hover,
|
||||
.ui-widget .fc-event {
|
||||
color: #fff; /* default TEXT color */
|
||||
text-decoration: none; /* if <a> has an href */
|
||||
}
|
||||
|
||||
.fc-event[href],
|
||||
@@ -451,7 +454,8 @@ be a descendant of the grid when it is being dragged.
|
||||
*/
|
||||
|
||||
.fc-day-grid-event {
|
||||
margin: 1px 1px 0; /* spacing between events and edges */
|
||||
margin: 1px 2px 0; /* spacing between events and edges */
|
||||
padding: 0 1px;
|
||||
}
|
||||
|
||||
/* events that are continuing to/from another week. kill rounded corners and butt up against edge */
|
||||
@@ -502,6 +506,42 @@ be a descendant of the grid when it is being dragged.
|
||||
cursor: w-resize;
|
||||
}
|
||||
|
||||
|
||||
/* Event Limiting
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
||||
/* "more" link that represents hidden events */
|
||||
|
||||
a.fc-more {
|
||||
margin: 1px 3px;
|
||||
font-size: .85em;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.fc-more:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.fc-limited { /* rows and cells that are hidden because of a "more" link */
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* popover that appears when "more" link is clicked */
|
||||
|
||||
.fc-day-grid .fc-row {
|
||||
z-index: 1; /* make the "more" popover one higher than this */
|
||||
}
|
||||
|
||||
.fc-more-popover {
|
||||
z-index: 2;
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
.fc-more-popover .fc-event-container {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/* Toolbar
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
||||
@@ -590,9 +630,9 @@ be a descendant of the grid when it is being dragged.
|
||||
|
||||
.fc-basicWeek-view .fc-content-skeleton,
|
||||
.fc-basicDay-view .fc-content-skeleton {
|
||||
/* in basicWeek and basicDay views, where we are sure there are no day numbers, ensure
|
||||
a space at the bottom of the cell to allow for day selecting/clicking */
|
||||
padding-bottom: 1em;
|
||||
/* we are sure there are no day numbers in these views, so... */
|
||||
padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
|
||||
padding-bottom: 1em; /* ensure a space at bottom of cell for user selecting/clicking */
|
||||
}
|
||||
|
||||
.fc-basic-view tbody .fc-row {
|
||||
@@ -651,46 +691,20 @@ be a descendant of the grid when it is being dragged.
|
||||
making day-numbers bold also fixes the problem */
|
||||
}
|
||||
|
||||
/* "more" link that represents hidden events */
|
||||
|
||||
a.fc-more {
|
||||
margin: 1px 2px;
|
||||
font-size: .85em;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.fc-more:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.fc-limited { /* rows and cells that are hidden because of a "more" link */
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* popover that appears when "more" link is clicked */
|
||||
|
||||
.fc-day-grid .fc-row {
|
||||
z-index: 1; /* make the "more" popover one higher than this */
|
||||
}
|
||||
|
||||
.fc-more-popover {
|
||||
z-index: 2;
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
.fc-more-popover .fc-event-container {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/* AgendaView all-day area
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
||||
.fc-agenda-view .fc-day-grid {
|
||||
position: relative;
|
||||
z-index: 2; /* so the "more.." popover will be over the time grid */
|
||||
}
|
||||
|
||||
.fc-agenda-view .fc-day-grid .fc-row {
|
||||
min-height: 3em; /* all-day section will never get shorter than this */
|
||||
}
|
||||
|
||||
.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
|
||||
padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
|
||||
padding-bottom: 1em; /* give space underneath events for clicking/selecting days */
|
||||
}
|
||||
|
||||
@@ -720,8 +734,13 @@ a.fc-more:hover {
|
||||
/* TimeGrid Structure
|
||||
--------------------------------------------------------------------------------------------------*/
|
||||
|
||||
.fc-time-grid-container, /* so scroll container's z-index is below all-day */
|
||||
.fc-time-grid { /* so slats/bg/content/etc positions get scoped within here */
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.fc-time-grid {
|
||||
position: relative; /* so slats/bg/content/etc positions get scoped within here */
|
||||
min-height: 100%; /* so if height setting is 'auto', .fc-bg stretches to fill height */
|
||||
}
|
||||
|
||||
@@ -844,6 +863,11 @@ be a descendant of the grid when it is being dragged.
|
||||
z-index: 2; /* above the bg */
|
||||
}
|
||||
|
||||
.fc-time-grid-event .fc-time,
|
||||
.fc-time-grid-event .fc-title {
|
||||
padding: 0 1px;
|
||||
}
|
||||
|
||||
.fc-time-grid-event .fc-time {
|
||||
font-size: .85em;
|
||||
white-space: nowrap;
|
||||
@@ -884,6 +908,7 @@ be a descendant of the grid when it is being dragged.
|
||||
|
||||
.fc-time-grid-event.fc-short .fc-title {
|
||||
font-size: .85em; /* make the title text the same size as the time */
|
||||
padding: 0; /* undo padding from above */
|
||||
}
|
||||
|
||||
/* resizer */
|
||||
|
||||
Vendored
+97
-96
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* FullCalendar v2.1.0-beta3
|
||||
* FullCalendar v2.1.0
|
||||
* Docs & License: http://arshaw.com/fullcalendar/
|
||||
* (c) 2013 Adam Shaw
|
||||
*/
|
||||
@@ -102,11 +102,17 @@ var defaults = {
|
||||
|
||||
dragOpacity: .75,
|
||||
dragRevertDuration: 500,
|
||||
dragScroll: true,
|
||||
|
||||
//selectable: false,
|
||||
unselectAuto: true,
|
||||
|
||||
dropAccept: '*',
|
||||
|
||||
eventLimit: false,
|
||||
eventLimitText: 'more',
|
||||
eventLimitClick: 'popover',
|
||||
dayPopoverFormat: 'LL',
|
||||
|
||||
handleWindowResize: true,
|
||||
windowResizeDelay: 200 // milliseconds before a rerender happens
|
||||
@@ -168,7 +174,7 @@ var rtlDefaults = {
|
||||
|
||||
;;
|
||||
|
||||
var fc = $.fullCalendar = { version: "2.1.0-beta3" };
|
||||
var fc = $.fullCalendar = { version: "2.1.0" };
|
||||
var fcViews = fc.views = {};
|
||||
|
||||
|
||||
@@ -1156,8 +1162,8 @@ function Header(calendar, options) {
|
||||
tm + '-state-default'
|
||||
];
|
||||
|
||||
button = $(
|
||||
'<button class="' + classes.join(' ') + '">' +
|
||||
button = $( // type="button" so that it doesn't submit a form
|
||||
'<button type="button" class="' + classes.join(' ') + '">' +
|
||||
innerHtml +
|
||||
'</button>'
|
||||
)
|
||||
@@ -2118,7 +2124,7 @@ function setPotentialScroller(containerEl, height) {
|
||||
containerEl.height(height).addClass('fc-scroller');
|
||||
|
||||
// are scrollbars needed?
|
||||
if (containerEl[0].scrollHeight > containerEl[0].clientHeight) {
|
||||
if (containerEl[0].scrollHeight - 1 > containerEl[0].clientHeight) { // !!! -1 because IE is often off-by-one :(
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2237,15 +2243,6 @@ function smartProperty(obj, name) { // get a camel-cased/namespaced property of
|
||||
var dayIDs = [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' ];
|
||||
|
||||
|
||||
// Diffs the two moments into a Duration where only full-days are considered.
|
||||
// Moments will have their timezones normalized.
|
||||
function dayDiff(a, b) {
|
||||
return moment.duration({
|
||||
days: a.clone().stripTime().diff(b.clone().stripTime(), 'days')
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Diffs the two moments into a Duration where full-days are recorded first, then the remaining time.
|
||||
// Moments will have their timezones normalized.
|
||||
function dayishDiff(a, b) {
|
||||
@@ -3126,10 +3123,12 @@ Popover.prototype = {
|
||||
viewportLeft += windowEl.scrollLeft();
|
||||
|
||||
// constrain to the view port. if constrained by two edges, give precedence to top/left
|
||||
top = Math.min(top, viewportTop + viewportEl.outerHeight() - height - this.margin);
|
||||
top = Math.max(top, viewportTop + this.margin);
|
||||
left = Math.min(left, viewportLeft + viewportEl.outerWidth() - width - this.margin);
|
||||
left = Math.max(left, viewportLeft + this.margin);
|
||||
if (options.viewportConstrain !== false) {
|
||||
top = Math.min(top, viewportTop + viewportEl.outerHeight() - height - this.margin);
|
||||
top = Math.max(top, viewportTop + this.margin);
|
||||
left = Math.min(left, viewportLeft + viewportEl.outerWidth() - width - this.margin);
|
||||
left = Math.max(left, viewportLeft + this.margin);
|
||||
}
|
||||
|
||||
this.el.css({
|
||||
top: top - origin.top,
|
||||
@@ -3365,7 +3364,7 @@ DragListener.prototype = {
|
||||
if (!this.isListening) {
|
||||
|
||||
// grab scroll container and attach handler
|
||||
if (ev) {
|
||||
if (ev && this.options.scroll) {
|
||||
scrollParent = getScrollParent($(ev.target));
|
||||
if (!scrollParent.is(window) && !scrollParent.is(document)) {
|
||||
this.scrollEl = scrollParent;
|
||||
@@ -4113,6 +4112,7 @@ $.extend(Grid.prototype, {
|
||||
// if 'selectable' is enabled, this listener also detects selections.
|
||||
var dragListener = new DragListener(this.coordMap, {
|
||||
//distance: 5, // needs more work if we want dayClick to fire correctly
|
||||
scroll: view.opt('dragScroll'),
|
||||
dragStart: function() {
|
||||
view.unselect(); // since we could be rendering a new selection, we want to clear any old one
|
||||
},
|
||||
@@ -4475,7 +4475,7 @@ $.extend(Grid.prototype, {
|
||||
|
||||
// only call the handlers if there is not a drag/resize in progress
|
||||
if (seg && !_this.isDraggingSeg && !_this.isResizingSeg) {
|
||||
func.call(this, seg, ev); // `this` will be the event element
|
||||
return func.call(this, seg, ev); // `this` will be the event element
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -4526,6 +4526,7 @@ $.extend(Grid.prototype, {
|
||||
// of the view.
|
||||
var dragListener = new DragListener(view.coordMap, {
|
||||
distance: 5,
|
||||
scroll: view.opt('dragScroll'),
|
||||
listenStart: function(ev) {
|
||||
mouseFollower.hide(); // don't show until we know this is a real drag
|
||||
mouseFollower.start(ev);
|
||||
@@ -4537,7 +4538,8 @@ $.extend(Grid.prototype, {
|
||||
view.trigger('eventDragStart', el[0], event, ev, {}); // last argument is jqui dummy
|
||||
},
|
||||
cellOver: function(cell, date) {
|
||||
var res = _this.computeDraggedEventDates(seg, dragListener.origDate, date);
|
||||
var origDate = seg.cellDate || dragListener.origDate;
|
||||
var res = _this.computeDraggedEventDates(seg, origDate, date);
|
||||
newStart = res.start;
|
||||
newEnd = res.end;
|
||||
|
||||
@@ -4577,9 +4579,8 @@ $.extend(Grid.prototype, {
|
||||
},
|
||||
|
||||
|
||||
// Given a segment, where it originally resided on the grid, and the new date it has been dragged to,
|
||||
// calculates the Event Object's new start and end dates.
|
||||
computeDraggedEventDates: function(seg, origDate, newDate) {
|
||||
// Given a segment, the dates where a drag began and ended, calculates the Event Object's new start and end dates
|
||||
computeDraggedEventDates: function(seg, dragStartDate, dropDate) {
|
||||
var view = this.view;
|
||||
var event = seg.event;
|
||||
var start = event.start;
|
||||
@@ -4588,28 +4589,8 @@ $.extend(Grid.prototype, {
|
||||
var newStart;
|
||||
var newEnd;
|
||||
|
||||
// the segment might be explicitly marked as not-in-the-grid
|
||||
if (seg.isDetached) {
|
||||
origDate = null;
|
||||
}
|
||||
|
||||
// calculate the delta (a Duration) that the event's dates must be moved.
|
||||
// if `delta` remains undefined, that means the event's start will literally become newDate.
|
||||
if (!origDate) {
|
||||
if (newDate.hasTime()) { // over a time slot
|
||||
delta = dayishDiff(newDate, start); // will move the start to the exact new datetime
|
||||
}
|
||||
else { // over a whole-day cell
|
||||
delta = dayDiff(newDate, start); // will be a whole-day diff, so that start's time will be kept
|
||||
}
|
||||
}
|
||||
else if (newDate.hasTime() === origDate.hasTime()) { // staying all-day or staying timed
|
||||
delta = dayishDiff(newDate, origDate);
|
||||
}
|
||||
// if switching from day <-> timed, start should be reset to the dropped date, and the end cleared
|
||||
|
||||
// recalculate start/end
|
||||
if (delta) {
|
||||
if (dropDate.hasTime() === dragStartDate.hasTime()) {
|
||||
delta = dayishDiff(dropDate, dragStartDate);
|
||||
newStart = start.clone().add(delta);
|
||||
if (event.end === null) { // do we need to compute an end?
|
||||
newEnd = null;
|
||||
@@ -4619,7 +4600,8 @@ $.extend(Grid.prototype, {
|
||||
}
|
||||
}
|
||||
else {
|
||||
newStart = newDate;
|
||||
// if switching from day <-> timed, start should be reset to the dropped date, and the end cleared
|
||||
newStart = dropDate;
|
||||
newEnd = null; // end should be cleared
|
||||
}
|
||||
|
||||
@@ -4651,6 +4633,7 @@ $.extend(Grid.prototype, {
|
||||
// Tracks mouse movement over the *grid's* coordinate map
|
||||
dragListener = new DragListener(this.coordMap, {
|
||||
distance: 5,
|
||||
scroll: view.opt('dragScroll'),
|
||||
dragStart: function(ev) {
|
||||
_this.triggerSegMouseout(seg, ev); // ensure a mouseout on the manipulated event has been reported
|
||||
_this.isResizingSeg = true;
|
||||
@@ -4658,7 +4641,7 @@ $.extend(Grid.prototype, {
|
||||
},
|
||||
cellOver: function(cell, date) {
|
||||
// compute the new end. don't allow it to go before the event's start
|
||||
if (date < start) {
|
||||
if (date.isBefore(start)) { // allows comparing ambig to non-ambig
|
||||
date = start;
|
||||
}
|
||||
newEnd = date.clone().add(_this.cellDuration); // make it an exclusive end
|
||||
@@ -4829,16 +4812,12 @@ $.extend(DayGrid.prototype, {
|
||||
// Generates the HTML for a single row. `row` is the row number.
|
||||
dayRowHtml: function(row, isRigid) {
|
||||
var view = this.view;
|
||||
var classes = [ 'fc-row', 'fc-week' ];
|
||||
var classes = [ 'fc-row', 'fc-week', view.widgetContentClass ];
|
||||
|
||||
if (isRigid) {
|
||||
classes.push('fc-rigid');
|
||||
}
|
||||
|
||||
if (view.dayRowThemeClass) { // provides the view a hook to inject a theme className
|
||||
classes.push(view.dayRowThemeClass);
|
||||
}
|
||||
|
||||
return '' +
|
||||
'<div class="' + classes.join(' ') + '">' +
|
||||
'<div class="fc-bg">' +
|
||||
@@ -5410,7 +5389,7 @@ $.extend(DayGrid.prototype, {
|
||||
rowLevelLimit = this.computeRowLevelLimit(row);
|
||||
}
|
||||
|
||||
if (levelLimit !== false) {
|
||||
if (rowLevelLimit !== false) {
|
||||
this.limitRow(row, rowLevelLimit);
|
||||
}
|
||||
}
|
||||
@@ -5592,12 +5571,23 @@ $.extend(DayGrid.prototype, {
|
||||
var _this = this;
|
||||
var view = this.view;
|
||||
var moreWrap = moreLink.parent(); // the <div> wrapper around the <a>
|
||||
var options = {
|
||||
var topEl; // the element we want to match the top coordinate of
|
||||
var options;
|
||||
|
||||
if (view.rowCnt == 1) {
|
||||
topEl = this.view.el; // will cause the popover to cover any sort of header
|
||||
}
|
||||
else {
|
||||
topEl = this.rowEls.eq(cell.row); // will align with top of row
|
||||
}
|
||||
|
||||
options = {
|
||||
className: 'fc-more-popover',
|
||||
content: this.renderSegPopoverContent(date, segs),
|
||||
parentEl: this.el,
|
||||
top: this.rowEls.eq(cell.row).offset().top, // better than the <td>. no border confusion
|
||||
top: topEl.offset().top,
|
||||
autoHide: true, // when the user clicks elsewhere, hide the popover
|
||||
viewportConstrain: view.opt('popoverViewportConstrain'),
|
||||
hide: function() {
|
||||
// destroy everything when the popover is hidden
|
||||
_this.segPopover.destroy();
|
||||
@@ -5647,7 +5637,11 @@ $.extend(DayGrid.prototype, {
|
||||
this.popoverSegs = segs;
|
||||
|
||||
for (i = 0; i < segs.length; i++) {
|
||||
segs[i].isDetached = true; // signals the segment doesn't live in a cell. needed for event DnD
|
||||
|
||||
// because segments in the popover are not part of a grid coordinate system, provide a hint to any
|
||||
// grids that want to do drag-n-drop about which cell it came from
|
||||
segs[i].cellDate = date;
|
||||
|
||||
segContainer.append(segs[i].el);
|
||||
}
|
||||
|
||||
@@ -5787,7 +5781,7 @@ $.extend(TimeGrid.prototype, {
|
||||
minutes = slotDate.minutes();
|
||||
|
||||
axisHtml =
|
||||
'<td class="fc-axis fc-time ' + view.widgetHeaderClass + '" ' + view.axisStyleAttr() + '>' +
|
||||
'<td class="fc-axis fc-time ' + view.widgetContentClass + '" ' + view.axisStyleAttr() + '>' +
|
||||
((!slotNormal || !minutes) ? // if irregular slot duration, or on the hour, then display the time
|
||||
'<span>' + // for matchCellWidths
|
||||
htmlEscape(calendar.formatDate(slotDate, view.opt('axisFormat'))) +
|
||||
@@ -6615,8 +6609,6 @@ View.prototype = {
|
||||
widgetContentClass: null,
|
||||
highlightStateClass: null,
|
||||
|
||||
dayRowThemeClass: null, // sets the theme className applied to DayGrid rows (none by default)
|
||||
|
||||
// document handlers, bound to `this` object
|
||||
documentMousedownProxy: null,
|
||||
documentDragStartProxy: null,
|
||||
@@ -6760,7 +6752,7 @@ View.prototype = {
|
||||
|
||||
|
||||
// Removes event elements from the view.
|
||||
// Should be overridden by subclasses. Actual element destruction should happen first, then call super-method.
|
||||
// Should be overridden by subclasses. Should call this super-method FIRST, then subclass DOM destruction.
|
||||
destroyEvents: function() {
|
||||
this.segEach(function(seg) {
|
||||
this.trigger('eventDestroy', seg.event, seg.event, seg.el);
|
||||
@@ -7560,9 +7552,10 @@ $.extend(BasicView.prototype, {
|
||||
},
|
||||
|
||||
|
||||
// Determines whether each row should have a constant height. Overridable by subclasses.
|
||||
// Determines whether each row should have a constant height
|
||||
hasRigidRows: function() {
|
||||
return false;
|
||||
var eventLimit = this.opt('eventLimit');
|
||||
return eventLimit && typeof eventLimit !== 'number';
|
||||
},
|
||||
|
||||
|
||||
@@ -7584,15 +7577,28 @@ $.extend(BasicView.prototype, {
|
||||
|
||||
// Adjusts the vertical dimensions of the view to the specified values
|
||||
setHeight: function(totalHeight, isAuto) {
|
||||
var eventLimit = this.opt('eventLimit');
|
||||
var scrollerHeight;
|
||||
|
||||
// reset all heights to be natural
|
||||
unsetScroller(this.scrollerEl);
|
||||
uncompensateScroll(this.headRowEl);
|
||||
|
||||
this.dayGrid.destroySegPopover(); // kill the "more" popover if displayed
|
||||
|
||||
// is the event limit a constant level number?
|
||||
if (eventLimit && typeof eventLimit === 'number') {
|
||||
this.dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after
|
||||
}
|
||||
|
||||
scrollerHeight = this.computeScrollerHeight(totalHeight);
|
||||
this.setGridHeight(scrollerHeight, isAuto);
|
||||
|
||||
// is the event limit dynamically calculated?
|
||||
if (eventLimit && typeof eventLimit !== 'number') {
|
||||
this.dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set
|
||||
}
|
||||
|
||||
if (!isAuto && setPotentialScroller(this.scrollerEl, scrollerHeight)) { // using scrollbars?
|
||||
|
||||
compensateScroll(this.headRowEl, getScrollbarWidths(this.scrollerEl));
|
||||
@@ -7639,14 +7645,14 @@ $.extend(BasicView.prototype, {
|
||||
|
||||
// Unrenders all event elements and clears internal segment data
|
||||
destroyEvents: function() {
|
||||
View.prototype.destroyEvents.call(this); // do this before dayGrid's segs have been cleared
|
||||
|
||||
this.recordScroll(); // removing events will reduce height and mess with the scroll, so record beforehand
|
||||
this.dayGrid.destroyEvents();
|
||||
|
||||
// we DON'T need to call updateHeight() because:
|
||||
// A) a renderEvents() call always happens after this, which will eventually call updateHeight()
|
||||
// B) in IE8, this causes a flash whenever events are rerendered
|
||||
|
||||
View.prototype.destroyEvents.call(this); // call the super-method
|
||||
},
|
||||
|
||||
|
||||
@@ -7690,11 +7696,7 @@ $.extend(BasicView.prototype, {
|
||||
----------------------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
setDefaults({
|
||||
fixedWeekCount: true,
|
||||
eventLimit: false,
|
||||
eventLimitText: 'more',
|
||||
eventLimitClick: 'popover',
|
||||
dayPopoverFormat: 'LL'
|
||||
fixedWeekCount: true
|
||||
});
|
||||
|
||||
fcViews.month = MonthView; // register the view
|
||||
@@ -7747,7 +7749,6 @@ $.extend(MonthView.prototype, {
|
||||
|
||||
// Overrides the default BasicView behavior to have special multi-week auto-height logic
|
||||
setGridHeight: function(height, isAuto) {
|
||||
var eventLimit = this.opt('eventLimit');
|
||||
|
||||
isAuto = isAuto || this.opt('weekMode') === 'variable'; // LEGACY: weekMode is deprecated
|
||||
|
||||
@@ -7756,19 +7757,7 @@ $.extend(MonthView.prototype, {
|
||||
height *= this.rowCnt / 6;
|
||||
}
|
||||
|
||||
this.dayGrid.destroySegPopover(); // kill the "more" popover if displayed
|
||||
|
||||
// is the event limit a constant level number?
|
||||
if (eventLimit && typeof eventLimit === 'number') {
|
||||
this.dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after
|
||||
}
|
||||
|
||||
distributeHeight(this.dayGrid.rowEls, height, !isAuto); // if auto, don't compensate for height-hogging rows
|
||||
|
||||
// is the event limit dynamically calculated?
|
||||
if (eventLimit && typeof eventLimit !== 'number') {
|
||||
this.dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -7779,13 +7768,6 @@ $.extend(MonthView.prototype, {
|
||||
}
|
||||
|
||||
return this.opt('fixedWeekCount');
|
||||
},
|
||||
|
||||
|
||||
// If dynamically limiting events, signals that all rows need to be a constant height.
|
||||
hasRigidRows: function() {
|
||||
var eventLimit = this.opt('eventLimit');
|
||||
return eventLimit && typeof eventLimit !== 'number';
|
||||
}
|
||||
|
||||
});
|
||||
@@ -7894,6 +7876,8 @@ setDefaults({
|
||||
slotEventOverlap: true
|
||||
});
|
||||
|
||||
var AGENDA_ALL_DAY_EVENT_LIMIT = 5;
|
||||
|
||||
|
||||
function generateAgendaAxisFormat(options, langData) {
|
||||
return langData.longDateFormat('LT')
|
||||
@@ -7970,8 +7954,6 @@ $.extend(AgendaView.prototype, {
|
||||
.appendTo(this.timeGrid.el); // inject it into the time-grid
|
||||
|
||||
if (this.dayGrid) {
|
||||
this.dayRowThemeClass = this.widgetHeaderClass; // forces this class on each day-row
|
||||
|
||||
this.dayGrid.el = this.el.find('.fc-day-grid');
|
||||
this.dayGrid.render();
|
||||
|
||||
@@ -8011,7 +7993,7 @@ $.extend(AgendaView.prototype, {
|
||||
'</thead>' +
|
||||
'<tbody>' +
|
||||
'<tr>' +
|
||||
'<td class="' + this.widgetHeaderClass + '">' +
|
||||
'<td class="' + this.widgetContentClass + '">' +
|
||||
(this.dayGrid ?
|
||||
'<div class="fc-day-grid"/>' +
|
||||
'<hr class="' + this.widgetHeaderClass + '"/>' :
|
||||
@@ -8064,7 +8046,7 @@ $.extend(AgendaView.prototype, {
|
||||
// Queried by the DayGrid subcomponent when generating rows. Ordering depends on isRTL.
|
||||
dayIntroHtml: function() {
|
||||
return '' +
|
||||
'<td class="' + this.widgetHeaderClass + ' fc-axis" ' + this.axisStyleAttr() + '>' +
|
||||
'<td class="fc-axis ' + this.widgetContentClass + '" ' + this.axisStyleAttr() + '>' +
|
||||
'<span>' + // needed for matchCellWidths
|
||||
(this.opt('allDayHtml') || htmlEscape(this.opt('allDayText'))) +
|
||||
'</span>' +
|
||||
@@ -8072,6 +8054,12 @@ $.extend(AgendaView.prototype, {
|
||||
},
|
||||
|
||||
|
||||
// Generates the HTML that goes before the bg of the TimeGrid slot area. Long vertical column.
|
||||
slotBgIntroHtml: function() {
|
||||
return '<td class="fc-axis ' + this.widgetContentClass + '" ' + this.axisStyleAttr() + '></td>';
|
||||
},
|
||||
|
||||
|
||||
// Generates the HTML that goes before all other types of cells.
|
||||
// Affects content-skeleton, helper-skeleton, highlight-skeleton for both the time-grid and day-grid.
|
||||
// Queried by the TimeGrid and DayGrid subcomponents when generating rows. Ordering depends on isRTL.
|
||||
@@ -8109,6 +8097,7 @@ $.extend(AgendaView.prototype, {
|
||||
|
||||
// Adjusts the vertical dimensions of the view to the specified values
|
||||
setHeight: function(totalHeight, isAuto) {
|
||||
var eventLimit;
|
||||
var scrollerHeight;
|
||||
|
||||
if (this.bottomRuleHeight === null) {
|
||||
@@ -8122,6 +8111,19 @@ $.extend(AgendaView.prototype, {
|
||||
unsetScroller(this.scrollerEl);
|
||||
uncompensateScroll(this.noScrollRowEls);
|
||||
|
||||
// limit number of events in the all-day area
|
||||
if (this.dayGrid) {
|
||||
this.dayGrid.destroySegPopover(); // kill the "more" popover if displayed
|
||||
|
||||
eventLimit = this.opt('eventLimit');
|
||||
if (eventLimit && typeof eventLimit !== 'number') {
|
||||
eventLimit = AGENDA_ALL_DAY_EVENT_LIMIT; // make sure "auto" goes to a real number
|
||||
}
|
||||
if (eventLimit) {
|
||||
this.dayGrid.limitRows(eventLimit);
|
||||
}
|
||||
}
|
||||
|
||||
if (!isAuto) { // should we force dimensions of the scroll container, or let the contents be natural height?
|
||||
|
||||
scrollerHeight = this.computeScrollerHeight(totalHeight);
|
||||
@@ -8213,6 +8215,7 @@ $.extend(AgendaView.prototype, {
|
||||
|
||||
// Unrenders all event elements and clears internal segment data
|
||||
destroyEvents: function() {
|
||||
View.prototype.destroyEvents.call(this); // do this before the grids' segs have been cleared
|
||||
|
||||
// if destroyEvents is being called as part of an event rerender, renderEvents will be called shortly
|
||||
// after, so remember what the scroll value was so we can restore it.
|
||||
@@ -8227,8 +8230,6 @@ $.extend(AgendaView.prototype, {
|
||||
// we DON'T need to call updateHeight() because:
|
||||
// A) a renderEvents() call always happens after this, which will eventually call updateHeight()
|
||||
// B) in IE8, this causes a flash whenever events are rerendered
|
||||
|
||||
View.prototype.destroyEvents.call(this); // call the super-method
|
||||
},
|
||||
|
||||
|
||||
|
||||
Vendored
+5
File diff suppressed because one or more lines are too long
Vendored
+4
-4
File diff suppressed because one or more lines are too long
Vendored
+7
-14
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* FullCalendar v2.1.0-beta3 Print Stylesheet
|
||||
* FullCalendar v2.1.0 Print Stylesheet
|
||||
* Docs & License: http://arshaw.com/fullcalendar/
|
||||
* (c) 2013 Adam Shaw
|
||||
*/
|
||||
@@ -57,24 +57,17 @@ tbody,
|
||||
|
||||
.fc tbody .fc-row .fc-content-skeleton {
|
||||
position: static; /* undo .fc-rigid */
|
||||
/* don't have chunky padding underneath events (for Agenda, basicWeek, basicDay) */
|
||||
padding-bottom: 0 !important;
|
||||
padding-bottom: 0 !important; /* use a more border-friendly method for this... */
|
||||
}
|
||||
|
||||
/* give back the bottom spacing that was taken away from the content-skeleton's padding (above) */
|
||||
/* only works on modern browsers */
|
||||
.fc tbody .fc-row .fc-content-skeleton table tr:last-child td {
|
||||
padding-bottom: 1px;
|
||||
.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td { /* only works in newer browsers */
|
||||
padding-bottom: 1em; /* ...gives space within the skeleton. also ensures min height in a way */
|
||||
}
|
||||
|
||||
/* sets a min-height on the event skeleton. for IE8. was overexaggerating this, so make small */
|
||||
.fc tbody .fc-row .fc-content-skeleton table {
|
||||
height: 2em;
|
||||
}
|
||||
|
||||
/* sets a min-height on the event skeleton. for modern browsers (not IE8) */
|
||||
.fc tbody .fc-row .fc-content-skeleton table:last-child {
|
||||
height: 4em;
|
||||
/* provides a min-height for the row, but only effective for IE, which exaggerates this value,
|
||||
making it look more like 3em. for other browers, it will already be this tall */
|
||||
height: 1em;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* FullCalendar v2.1.0-beta3 Google Calendar Plugin
|
||||
* FullCalendar v2.1.0 Google Calendar Plugin
|
||||
* Docs & License: http://arshaw.com/fullcalendar/
|
||||
* (c) 2013 Adam Shaw
|
||||
*/
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
(function(e){"function"==typeof define&&define.amd?define(["jquery","moment"],e):e(jQuery,moment)})(function(e,t){function n(e,t,n){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?i[n][0]:i[n][1]}(t.defineLocale||t.lang).call(t,"de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm [Uhr]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT",sameElse:"L",nextDay:"[Morgen um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gestern um] LT",lastWeek:"[letzten] dddd [um] LT"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:n,mm:"%d Minuten",h:n,hh:"%d Stunden",d:n,dd:n,M:n,MM:n,y:n,yy:n},ordinal:"%d.",week:{dow:1,doy:4}}),e.fullCalendar.datepickerLang("de","de",{closeText:"Schließen",prevText:"<Zurück",nextText:"Vor>",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.lang("de",{defaultButtonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(e){return"+ weitere "+e}})});
|
||||
(function(t){"function"==typeof define&&define.amd?define(["jquery","moment"],t):t(jQuery,moment)})(function(t,e){function n(t,e,n){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?i[n][0]:i[n][1]}(e.defineLocale||e.lang).call(e,"de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm [Uhr]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT",sameElse:"L",nextDay:"[Morgen um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gestern um] LT",lastWeek:"[letzten] dddd [um] LT"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:n,mm:"%d Minuten",h:n,hh:"%d Stunden",d:n,dd:n,M:n,MM:n,y:n,yy:n},ordinal:"%d.",week:{dow:1,doy:4}}),t.fullCalendar.datepickerLang("de","de",{closeText:"Schließen",prevText:"<Zurück",nextText:"Vor>",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),t.fullCalendar.lang("de",{defaultButtonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(t){return"+ weitere "+t}})});
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
(function(e){"function"==typeof define&&define.amd?define(["jquery","moment"],e):e(jQuery,moment)})(function(e,t){(t.defineLocale||t.lang).call(t,"el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,t){return/D/.test(t.substring(0,t.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(e,t,n){return e>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,t){var n=this._calendarEl[e],i=t&&t.hours();return"function"==typeof n&&(n=n.apply(t)),n.replace("{}",1===i%12?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinal:function(e){return e+"η"},week:{dow:1,doy:4}}),e.fullCalendar.datepickerLang("el","el",{closeText:"Κλείσιμο",prevText:"Προηγούμενος",nextText:"Επόμενος",currentText:"Τρέχων Μήνας",monthNames:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthNamesShort:["Ιαν","Φεβ","Μαρ","Απρ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dayNames:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],dayNamesShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayNamesMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],weekHeader:"Εβδ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.lang("el",{defaultButtonText:{month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},allDayText:"Ολοήμερο",eventLimitText:"περισσότερα"})});
|
||||
(function(t){"function"==typeof define&&define.amd?define(["jquery","moment"],t):t(jQuery,moment)})(function(t,e){(e.defineLocale||e.lang).call(e,"el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(t,e){return/D/.test(e.substring(0,e.indexOf("MMMM")))?this._monthsGenitiveEl[t.month()]:this._monthsNominativeEl[t.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(t,e,n){return t>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(t,e){var n=this._calendarEl[t],i=e&&e.hours();return"function"==typeof n&&(n=n.apply(e)),n.replace("{}",1===i%12?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinal:function(t){return t+"η"},week:{dow:1,doy:4}}),t.fullCalendar.datepickerLang("el","el",{closeText:"Κλείσιμο",prevText:"Προηγούμενος",nextText:"Επόμενος",currentText:"Τρέχων Μήνας",monthNames:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthNamesShort:["Ιαν","Φεβ","Μαρ","Απρ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dayNames:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],dayNamesShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayNamesMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],weekHeader:"Εβδ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),t.fullCalendar.lang("el",{defaultButtonText:{month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},allDayText:"Ολοήμερο",eventLimitText:"περισσότερα"})});
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
(function(e){"function"==typeof define&&define.amd?define(["jquery","moment"],e):e(jQuery,moment)})(function(e,t){function n(e,t,n,r){var s="";switch(n){case"s":return r?"muutaman sekunnin":"muutama sekunti";case"m":return r?"minuutin":"minuutti";case"mm":s=r?"minuutin":"minuuttia";break;case"h":return r?"tunnin":"tunti";case"hh":s=r?"tunnin":"tuntia";break;case"d":return r?"päivän":"päivä";case"dd":s=r?"päivän":"päivää";break;case"M":return r?"kuukauden":"kuukausi";case"MM":s=r?"kuukauden":"kuukautta";break;case"y":return r?"vuoden":"vuosi";case"yy":s=r?"vuoden":"vuotta"}return s=i(e,r)+" "+s}function i(e,t){return 10>e?t?s[e]:r[e]:e}var r="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),s=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",r[7],r[8],r[9]];(t.defineLocale||t.lang).call(t,"fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] LT",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] LT",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] LT",llll:"ddd, Do MMM YYYY, [klo] LT"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},ordinal:"%d.",week:{dow:1,doy:4}}),e.fullCalendar.datepickerLang("fi","fi",{closeText:"Sulje",prevText:"«Edellinen",nextText:"Seuraava»",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayNames:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"d.m.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.lang("fi",{defaultButtonText:{month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},allDayText:"Koko päivä",eventLimitText:"lisää"})});
|
||||
(function(e){"function"==typeof define&&define.amd?define(["jquery","moment"],e):e(jQuery,moment)})(function(e,t){function n(e,t,n,r){var o="";switch(n){case"s":return r?"muutaman sekunnin":"muutama sekunti";case"m":return r?"minuutin":"minuutti";case"mm":o=r?"minuutin":"minuuttia";break;case"h":return r?"tunnin":"tunti";case"hh":o=r?"tunnin":"tuntia";break;case"d":return r?"päivän":"päivä";case"dd":o=r?"päivän":"päivää";break;case"M":return r?"kuukauden":"kuukausi";case"MM":o=r?"kuukauden":"kuukautta";break;case"y":return r?"vuoden":"vuosi";case"yy":o=r?"vuoden":"vuotta"}return o=i(e,r)+" "+o}function i(e,t){return 10>e?t?o[e]:r[e]:e}var r="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),o=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",r[7],r[8],r[9]];(t.defineLocale||t.lang).call(t,"fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] LT",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] LT",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] LT",llll:"ddd, Do MMM YYYY, [klo] LT"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},ordinal:"%d.",week:{dow:1,doy:4}}),e.fullCalendar.datepickerLang("fi","fi",{closeText:"Sulje",prevText:"«Edellinen",nextText:"Seuraava»",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayNames:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"d.m.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.lang("fi",{defaultButtonText:{month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},allDayText:"Koko päivä",eventLimitText:"lisää"})});
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "fullcalendar",
|
||||
"version": "2.1.0-beta3",
|
||||
"version": "2.1.0",
|
||||
|
||||
"description": "Full-sized drag & drop event calendar",
|
||||
"keywords": [ "calendar", "event", "full-sized" ],
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "fullcalendar",
|
||||
"version": "2.1.0-beta3",
|
||||
"version": "2.1.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/arshaw/fullcalendar.git"
|
||||
|
||||
Reference in New Issue
Block a user