diff --git a/notNeededPackages.json b/notNeededPackages.json
index f62f91bfe4..f1736daaf4 100644
--- a/notNeededPackages.json
+++ b/notNeededPackages.json
@@ -414,6 +414,12 @@
"sourceRepoURL": "http://foundation.zurb.com/",
"asOfVersion": "6.4.3"
},
+ {
+ "libraryName": "FullCalendar",
+ "typingsPackageName": "fullcalendar",
+ "sourceRepoURL": "http://arshaw.com/fullcalendar/",
+ "asOfVersion": "3.8.0"
+ },
{
"libraryName": "gaea-model",
"typingsPackageName": "gaea-model",
diff --git a/types/fullcalendar/fullcalendar-tests.ts b/types/fullcalendar/fullcalendar-tests.ts
deleted file mode 100644
index 13df4e3853..0000000000
--- a/types/fullcalendar/fullcalendar-tests.ts
+++ /dev/null
@@ -1,854 +0,0 @@
-///
-
-import * as FullCalendar from 'fullcalendar';
-import * as moment from 'moment';
-
-// All examples from http://arshaw.com/fullcalendar/docs/
-
-$('#calendar').fullCalendar({});
-
-$('#calendar').fullCalendar({
- weekends: false
-});
-
-$('#calendar').fullCalendar({
- dayClick() {
- alert('a day has been clicked!');
- }
-});
-
-$('#calendar').fullCalendar('next');
-
-$('#calendar').fullCalendar({
- events: 'http://www.google.com/your_feed_url/'
-});
-
-$('#calendar').fullCalendar({
- events: {
- url: 'http://www.google.com/your_feed_url/',
- className: 'gcal-event', // an option!
- currentTimezone: 'America/Chicago' // an option!
- }
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- // source with no options
- "http://www.google.com/your_feed_url1/",
-
- // source with no options
- "http://www.google.com/your_feed_url2/",
-
- // source WITH options
- {
- url: "http://www.google.com/your_feed_url3/",
- className: 'nice-event'
- }
- ]
-});
-
-$('#calendar').fullCalendar({
- height: 650
-});
-
-$('#calendar').fullCalendar('option', 'height', 700);
-
-$('#calendar').fullCalendar({
- contentHeight: 600
-});
-
-$('#calendar').fullCalendar('option', 'contentHeight', 650);
-
-$('#calendar').fullCalendar({
- aspectRatio: 2
-});
-
-$('#calendar').fullCalendar('option', 'aspectRatio', 1.8);
-
-$('#calendar').fullCalendar({
- viewRender(view) {
- alert('The new title of the view is ' + view.title);
- }
-});
-
-$('#calendar').fullCalendar({
- windowResize(view) {
- alert('The calendar has adjusted to a window resize');
- }
-});
-
-$('#calendar').fullCalendar('render');
-
-$('#calendar').fullCalendar({
- dragOpacity: .5
-});
-
-const view = $('#calendar').fullCalendar('getView');
-alert("The view's title is " + view.title);
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,basicWeek,basicDay'
- },
- editable: true,
- events: [
- {
- title: 'All Day Event',
- start: new Date(y, m, 1)
- },
- {
- title: 'Long Event',
- start: new Date(y, m, d - 5),
- end: new Date(y, m, d - 2)
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d - 3, 16, 0),
- allDay: false
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d + 4, 16, 0),
- allDay: false
- },
- {
- title: 'Meeting',
- start: new Date(y, m, d, 10, 30),
- allDay: false
- },
- {
- title: 'Lunch',
- start: new Date(y, m, d, 12, 0),
- end: new Date(y, m, d, 14, 0),
- allDay: false
- },
- {
- title: 'Birthday Party',
- start: new Date(y, m, d + 1, 19, 0),
- end: new Date(y, m, d + 1, 22, 30),
- allDay: false
- },
- {
- title: 'Click for Google',
- start: new Date(y, m, 28),
- end: new Date(y, m, 29),
- url: 'http://google.com/'
- }
- ]
- });
-});
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,basicWeek,basicDay'
- },
- defaultView: 'basicWeek',
- editable: true,
- events: [
- {
- title: 'All Day Event',
- start: new Date(y, m, 1)
- },
- {
- title: 'Long Event',
- start: new Date(y, m, d - 5),
- end: new Date(y, m, d - 2)
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d - 3, 16, 0),
- allDay: false
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d + 4, 16, 0),
- allDay: false
- },
- {
- title: 'Meeting',
- start: new Date(y, m, d, 10, 30),
- allDay: false
- },
- {
- title: 'Lunch',
- start: new Date(y, m, d, 12, 0),
- end: new Date(y, m, d, 14, 0),
- allDay: false
- },
- {
- title: 'Birthday Party',
- start: new Date(y, m, d + 1, 19, 0),
- end: new Date(y, m, d + 1, 22, 30),
- allDay: false
- },
- {
- title: 'Click for Google',
- start: new Date(y, m, 28),
- end: new Date(y, m, 29),
- url: 'http://google.com/'
- }
- ]
- });
-});
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,basicWeek,basicDay'
- },
- defaultView: 'basicDay',
- editable: true,
- events: [
- {
- id: 1,
- title: "Long Event",
- start: new Date(y, m, d, 14, 0),
- end: new Date(y, m, d + 3),
- allDay: false
- },
- {
- id: 2,
- title: "Repeating Event",
- start: new Date(y, m, d - 1),
- allDay: true
- },
- {
- id: 2,
- title: "Repeating Event",
- start: new Date(y, m, d + 6),
- allDay: true
- },
- {
- id: 3,
- title: "Meeting",
- start: new Date(y, m, d, 9, 0),
- allDay: false
- },
- {
- id: 4,
- title: "Click for Facebook",
- start: new Date(y, m, d, 16),
- end: new Date(y, m, d),
- url: "http://facebook.com/",
- allDay: false
- }
- ]
- });
-});
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- editable: true,
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- defaultView: 'agendaWeek',
- events: [
- {
- title: 'All Day Event',
- start: new Date(y, m, 1)
- },
- {
- title: 'Long Event',
- start: new Date(y, m, d - 5),
- end: new Date(y, m, d - 2)
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d - 3, 16, 0),
- allDay: false
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d + 4, 16, 0),
- allDay: false
- },
- {
- title: 'Meeting',
- start: new Date(y, m, d, 10, 30),
- allDay: false
- },
- {
- title: 'Lunch',
- start: new Date(y, m, d, 12, 0),
- end: new Date(y, m, d, 14, 0),
- allDay: false
- },
- {
- title: 'Birthday Party',
- start: new Date(y, m, d + 1, 19, 0),
- end: new Date(y, m, d + 1, 22, 30),
- allDay: false
- },
- {
- title: 'Click for Google',
- start: new Date(y, m, 28),
- end: new Date(y, m, 29),
- url: 'http://google.com/'
- }
- ]
- });
-});
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- defaultView: 'agendaDay',
- editable: true,
- events: [
- {
- id: 1,
- title: "Long Event",
- start: new Date(y, m, d),
- end: new Date(y, m, d + 3),
- allDay: true
- },
- {
- id: 2,
- title: "Repeating Event",
- start: new Date(y, m, d - 1),
- allDay: true
- },
- {
- id: 2,
- title: "Repeating Event",
- start: new Date(y, m, d + 6),
- allDay: true
- },
- {
- id: 3,
- title: "Meeting",
- start: new Date(y, m, d, 10, 0),
- allDay: false
- },
- {
- id: 4,
- title: "Click for Facebook",
- start: new Date(y, m, d, 11, 30),
- end: new Date(y, m, d),
- url: "http://facebook.com/",
- allDay: false
- }
- ]
- });
-});
-
-$('#my-prev-button').click(() => {
- $('#calendar').fullCalendar('prev');
-});
-
-$('#my-next-button').click(() => {
- $('#calendar').fullCalendar('next');
-});
-
-$('#my-today-button').click(() => {
- $('#calendar').fullCalendar('today');
-});
-
-$('#calendar').fullCalendar('gotoDate', 1, 0, 1);
-
-$('#my-button').click(() => {
- const d = $('#calendar').fullCalendar('getDate');
- alert("The current date of the calendar is " + d);
-});
-
-$('#calendar').fullCalendar({
- events: [
- {
- title: 'My Event',
- start: '2010-01-01T14:30:00',
- allDay: false
- }
- // other events here...
- ],
- timeFormat: 'H(:mm)' // uppercase H for 24-hour clock
-});
-
-$('#calendar').fullCalendar({
- buttonText: {
- prev: '<',
- next: '>'
- }
-});
-
-$('#calendar').fullCalendar({
- dayClick(date, jsEvent, view) {
- alert(`Coordinates: ${jsEvent.pageX},${jsEvent.pageY}`);
-
- alert('Current view: ' + view.name);
-
- // change the day's background color just for fun
- $(this).css('background-color', 'red');
- }
-});
-
-$('#calendar').fullCalendar({
- eventClick(calEvent, jsEvent, view) {
- alert('Event: ' + calEvent.title);
- alert(`Coordinates: ${jsEvent.pageX},${jsEvent.pageY}`);
- alert('View: ' + view.name);
-
- // change the border color just for fun
- $(this).css('border-color', 'red');
- }
-});
-
-$('#calendar').fullCalendar({
- events: [
- {
- title: 'My Event',
- start: '2010-01-01',
- url: 'http://google.com/'
- }
- // other events here
- ],
- eventClick(event) {
- if (event.url) {
- window.open(event.url);
- return false;
- }
- }
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- // your event source
- {
- url: '/myfeed.php',
- type: 'POST',
- data: {
- custom_param1: 'something',
- custom_param2: 'somethingelse'
- },
- error() {
- alert('there was an error while fetching events!');
- },
- color: 'yellow', // a non-ajax option
- textColor: 'black' // a non-ajax option
- }
-
- // any other sources...
- ]
-});
-
-$('#calendar').fullCalendar({
- events: {
- url: '/myfeed.php',
- type: 'POST',
- data: {
- custom_param1: 'something',
- custom_param2: 'somethingelse'
- },
- error() {
- alert('there was an error while fetching events!');
- },
- color: 'yellow', // a non-ajax option
- textColor: 'black' // a non-ajax option
- }
-});
-
-$('#calendar').fullCalendar({
- events: {
- url: '/myfeed.php',
- cache: true
- }
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- // your event source
- {
- url: '/myfeed.php', // use the `url` property
- color: 'yellow', // an option!
- textColor: 'black' // an option!
- }
-
- // any other sources...
- ]
-});
-
-$('#calendar').fullCalendar({
- events: '/myfeed.php'
-});
-
-$('#calendar').fullCalendar({
- events: [
- {
- title: 'event1',
- start: '2010-01-01'
- },
- {
- title: 'event2',
- start: '2010-01-05',
- end: '2010-01-07'
- },
- {
- title: 'event3',
- start: '2010-01-09 12:30:00',
- allDay: false // will make the time show
- }
- ]
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- // your event source
- {
- events: [ // put the array in the `events` property
- {
- title: 'event1',
- start: '2010-01-01'
- },
- {
- title: 'event2',
- start: '2010-01-05',
- end: '2010-01-07'
- },
- {
- title: 'event3',
- start: '2010-01-09 12:30:00',
- }
- ],
- color: 'black', // an option!
- textColor: 'yellow' // an option!
- }
-
- // any other event sources...
- ]
-});
-
-$('#calendar').fullCalendar({
- events(start: moment.Moment, end: moment.Moment, timezone: string | boolean, callback: (events: FullCalendar.EventObject[]) => void) {
- $.ajax({
- url: 'myxmlfeed.php',
- dataType: 'xml',
- data: {
- // our hypothetical feed requires UNIX timestamps
- start: Math.round(start.toDate().getTime() / 1000),
- end: Math.round(end.toDate().getTime() / 1000)
- },
- success(doc) {
- const events: any[] = [];
- $(doc).find('event').each(() => {
- events.push({
- title: $(this).attr('title'),
- start: $(this).attr('start') // will be parsed
- });
- });
- callback(events);
- }
- });
- }
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- // your event source
- {
- events(start: moment.Moment, end: moment.Moment, timezone: string | boolean, callback: (events: FullCalendar.EventObject[]) => void) {
- // ...
- },
- color: 'yellow', // an option!
- textColor: 'black' // an option!
- }
- // any other sources...
- ]
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- '/feed1.php',
- '/feed2.php'
- ]
-});
-
-$('#calendar').fullCalendar({
- eventClick(event, element) {
- event.title = "CLICKED!";
-
- $('#calendar').fullCalendar('updateEvent', event);
- }
-});
-
-$('#calendar').fullCalendar({
- events: [
- // my event data
- ],
- eventColor: '#378006'
-});
-
-interface JQueryQTip extends JQuery {
- qtip(options: Object): JQuery; // dummy plugin interface
-}
-
-$('#calendar').fullCalendar({
- events: [
- {
- title: 'My Event',
- start: '2010-01-01',
- description: 'This is a cool event'
- }
- // more events here
- ],
- eventRender(event: FullCalendar.EventObject, element: JQueryQTip, view: FullCalendar.ViewObject) {
- element.qtip({
- content: event.description
- });
- }
-});
-$('#my-draggable').draggable({
- revert: true, // immediately snap back to original position
- revertDuration: 0 //
-});
-
-$('#calendar').fullCalendar({
- droppable: true,
- drop(date, allDay) {
- alert(`Dropped on ${date} with allDay=${allDay}`);
- }
-});
-
-$('#calendar').fullCalendar({
- droppable: true,
- dropAccept: '.cool-event',
- drop() {
- alert('dropped!');
- }
-});
-
-$('#draggable1').draggable();
-$('#draggable2').draggable();
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- editable: true,
- events: [
- {
- title: 'All Day Event',
- start: new Date(y, m, 1)
- },
- {
- title: 'Long Event',
- start: new Date(y, m, d - 5),
- end: new Date(y, m, d - 2)
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d - 3, 16, 0),
- allDay: false
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d + 4, 16, 0),
- allDay: false
- },
- {
- title: 'Meeting',
- start: new Date(y, m, d, 10, 30),
- allDay: false
- },
- {
- title: 'Lunch',
- start: new Date(y, m, d, 12, 0),
- end: new Date(y, m, d, 14, 0),
- allDay: false
- },
- {
- title: 'Birthday Party',
- start: new Date(y, m, d + 1, 19, 0),
- end: new Date(y, m, d + 1, 22, 30),
- allDay: false
- },
- {
- title: 'Click for Google',
- start: new Date(y, m, 28),
- end: new Date(y, m, 29),
- url: 'http://google.com/'
- }
- ]
- });
-});
-
-$(document).ready(() => {
- /* initialize the external events
- -----------------------------------------------------------------*/
- $('#external-events div.external-event').each(() => {
- // create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
- // it doesn't need to have a start or end
- const eventObject = {
- title: $.trim($(this).text()) // use the element's text as the event title
- };
-
- // store the Event Object in the DOM element so we can get to it later
- $(this).data('eventObject', eventObject);
-
- // make the event draggable using jQuery UI
- $(this).draggable({
- zIndex: 999,
- revert: true, // will cause the event to go back to its
- revertDuration: 0 // original position after the drag
- });
- });
- /* initialize the calendar
- -----------------------------------------------------------------*/
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- editable: true,
- droppable: true, // this allows things to be dropped onto the calendar !!!
- drop(date, allDay) { // this function is called when something is dropped
-
- // retrieve the dropped element's stored Event Object
- const originalEventObject = $(this).data('eventObject');
-
- // we need to copy it, so that multiple events don't have a reference to the same object
- const copiedEventObject: any = $.extend({}, originalEventObject);
-
- // assign it the date that was reported
- copiedEventObject.start = date;
- copiedEventObject.allDay = allDay;
-
- // render the event on the calendar
- // the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
- $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
-
- // is the "remove after drop" checkbox checked?
- if ($('#drop-remove').is(':checked')) {
- // if so, remove the element from the "Draggable Events" list
- $(this).remove();
- }
- }
- });
-});
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- editable: true,
- events: [{
- id: 'test1',
- title: 'event full of features',
- start: new Date(y, m, 1),
- startEditable: true,
- allDay: false,
- url: 'http://www.google.com',
- className: 'gcal-event',
- editable: false,
- durationEditable: false,
- rendering: 'background',
- overlap: false,
- constraint: {
- start: '10:00',
- end: '18:00',
- dow: [ 1, 2 ],
- // days of week. an array of zero-based day of week integers (0=Sunday)
- // (Monday-Tuesday in this example)
- },
- color: 'white',
- backgroundColor: 'black',
- borderColor: 'grey',
- textColor: 'white',
- }],
- });
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- editable: true,
- events: [{
- id: 'test2',
- title: 'just an event',
- start: new Date(y, m, 1),
- }],
- eventConstraint: 'businessHours',
- eventLimit: true,
- businessHours: [{
- start: '10:00',
- end: '18:00',
- dow: [ 1, 2 ],
- // days of week. an array of zero-based day of week integers (0=Sunday)
- // (Monday-Tuesday in this example)
- }, {
- start: '09:00',
- end: '19:00',
- dow: [ 3, 4 ],
- }],
- });
-
- $('#calendar').fullCalendar('refetchEventSources', 'http://www.google.com/your_feed_url1/');
-});
-
-$('#calendar').fullCalendar('refetchEvents');
diff --git a/types/fullcalendar/index.d.ts b/types/fullcalendar/index.d.ts
deleted file mode 100644
index 3d5ff28f12..0000000000
--- a/types/fullcalendar/index.d.ts
+++ /dev/null
@@ -1,1134 +0,0 @@
-// Type definitions for FullCalendar 3.5
-// Project: http://fullcalendar.io/
-// Definitions by: Neil Stalker ,
-// Marcelo Camargo ,
-// Patrick Niemann
-// Hadrien Milano
-// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.3
-
-///
-
-import * as moment from 'moment';
-
-export as namespace FC;
-
-export interface Calendar {
- /**
- * Gets the version of Fullcalendar
- */
- version: string;
-}
-
-export interface BusinessHours {
- start: moment.Duration | string | Date;
- end: moment.Duration | string | Date;
- dow: number[];
-}
-
-export interface Timespan {
- start: moment.Moment | string | Date;
- end?: moment.Moment | string | Date;
-}
-
-export interface Header {
- left: string;
- center: string;
- right: string;
-}
-
-export interface CustomButtonDefinition {
- text: string;
- click(element: JQuery): void;
- icon?: string;
- themeIcon?: string;
- bootstrapGlyphicon?: string;
-}
-
-export interface ButtonIconsDefinition {
- prev: string;
- next: string;
- prevYear: string;
- nextYear: string;
-}
-
-export interface EventSegment {
- /**
- * the Event Object
- */
- event: EventObject;
-
- /**
- * the Moment for when this stretch of the event begins
- */
- start: moment.Moment;
-
- /**
- * the Moment for when this stretch of the event ends (exclusive)
- */
- end: moment.Moment;
-
- /**
- * boolean if this is chronologically the first segment for the event
- */
- isStart: boolean;
-
- /**
- * boolean if this is chronologically the last segment for the event
- */
- isEnd: boolean;
-}
-
-export interface CellInfo {
- /**
- * the Moment date of the day
- */
- date: moment.Moment;
-
- /**
- * jQuery element for the day cell
- */
- dayEl: JQuery;
-
- /**
- * jQuery element for the "more" link
- */
- moreEl: JQuery;
-
- /**
- * array of all event "segment" objects for the given day
- */
- segs: EventSegment[];
-
- /**
- * array of only the segment objects that were not displayed prior
- */
- hiddenSegs: EventSegment[];
-}
-
-export interface TimeRange {
- start: string | Date | moment.Moment;
- end: string | Date | moment.Moment;
-}
-
-export interface DropInfo {
- start: moment.Moment;
-
- /**
- * exclusive end date/time
- */
- end: moment.Moment;
-
- /**
- * if you are using a Resource View
- */
- resourceId?: string;
-}
-
-export interface Options extends
- GeneralDisplayOptions,
- TimezoneOptions,
- ViewsOptions,
- AgendaOptions,
- ListViewOptions,
- CurrentDateOptions,
- TextTimeCustomizationOptions,
- ClickingAndHoveringOptions,
- SelectionOptions,
- EventDataOptions,
- EventRenderingOptions,
- EventDraggingResizingOptions,
- DroppingExternalElementsOptions {
- // scheduler options
- resourceAreaWidth?: number;
- schedulerLicenseKey?: string;
- resourceLabelText?: any;
- resourceColumns?: any;
- displayEventTime?: any;
-}
-
-/**
- * General display - https://fullcalendar.io/docs/display/
- */
-export interface GeneralDisplayOptions {
- /**
- * Defines the buttons and title at the top of the calendar.
- *
- * default:
- * {
- * left: 'title',
- * center: '',
- * right: 'today prev,next'
- * }
- */
- header?: boolean | Header;
-
- /**
- * Renders a set of controls at the bottom of the calendar.
- *
- * default: false
- */
- footer?: boolean | Header;
-
- /**
- * Defines custom buttons that can be used in the header.
- */
- customButtons?: { [name: string]: CustomButtonDefinition };
-
- /**
- * Determines which icons are displayed in buttons of the header.
- *
- * default:
- * {
- * prev: 'left-single-arrow',
- * next: 'right-single-arrow',
- * prevYear: 'left-double-arrow',
- * nextYear: 'right-double-arrow'
- * }
- *
- */
- buttonIcons?: boolean | ButtonIconsDefinition;
-
- /**
- * Renders the calendar with a given theme system.
- *
- * default: 'standard'
- */
- themeSystem?: 'standard' | 'bootstrap3' | 'jquery-ui';
-
- /**
- * Determines which icons are displayed in buttons of the header when jQuery UI theming is on.
- */
- themeButtonIcons?: boolean | ButtonIconsDefinition;
-
- /**
- * Determines which icons are displayed in buttons of the header when Bootstrap theming is on.
- */
- bootstrapGlyphicons?: boolean | ButtonIconsDefinition;
-
- /**
- * The day that each week begins.
- *
- * 0 = Sunday
- *
- * default: set by the current `locale`
- */
- firstDay?: number;
-
- /**
- * Displays the calendar in right-to-left mode.
- *
- * default: false
- */
- isRTL?: boolean;
-
- /**
- * Whether to include Saturday/Sunday columns in any of the calendar views.
- *
- * default: true
- */
- weekends?: boolean;
-
- /**
- * Exclude certain days-of-the-week from being displayed.
- *
- * default: []
- */
- hiddenDays?: number[];
-
- /**
- * Determines the number of weeks displayed in a month view.
- *
- * default: true
- */
- fixedWeekCount?: boolean;
-
- /**
- * Determines if week numbers should be displayed on the calendar.
- *
- * default: false
- */
- weekNumbers?: boolean;
-
- /**
- * Determines the styling for week numbers in month view and the basic views.
- *
- * default: false
- */
- weekNumbersWithinDays?: boolean;
-
- /**
- * The method for calculating week numbers that are displayed with the weekNumbers setting.
- *
- * default: 'local'
- */
- weekNumberCalculation?: 'local' | 'ISO' | ((m: moment.Moment) => number);
-
- /**
- * Emphasizes certain time slots on the calendar. By default, Monday-Friday, 9am-5pm.
- *
- * default: false
- */
- businessHours?: boolean | BusinessHours | BusinessHours[];
-
- /**
- * In month view, whether dates in the previous or next month should be rendered at all.
- *
- * default: true
- */
- showNonCurrentDates?: boolean;
-
- /**
- * Will make the entire calendar (including header) a pixel height.
- *
- * default: undefined
- */
- height?: number | 'auto' | 'parent' | (() => number);
-
- /**
- * Will make the calendar's content area a pixel height.
- */
- contentHeight?: number | 'auto' | (() => number);
-
- /**
- * Determines the width-to-height aspect ratio of the calendar.
- *
- * default: 1.35
- */
- aspectRatio?: number;
-
- /**
- * Whether to automatically resize the calendar when the browser window resizes.
- *
- * default: true
- */
- handleWindowResize?: boolean;
-
- /**
- * Time, in milliseconds, the calendar will wait to adjust its size after a window resize event occurs.
- *
- * default: 100
- */
- windowResizeDelay?: number;
-
- /**
- * Limits the number of events displayed on a day.
- *
- * default: false
- */
- eventLimit?: boolean | number;
-
- /**
- * Determines the action taken when the user clicks on a "more" link created by the eventLimit option.
- */
- eventLimitClick?: 'popover' | 'week' | 'day' | string | ((cellinfo: CellInfo, jsevent: Event) => void);
-
- /**
- * Triggered when a new date-range is rendered, or when the view type switches.
- */
- viewRender?(view: ViewObject, element: JQuery): void;
-
- /**
- * Triggered when a rendered date-range needs to be torn down.
- */
- viewDestroy?(view: ViewObject, element: JQuery): void;
-
- /**
- * A hook for modifying a day cell.
- */
- dayRender?(date: moment.Moment, cell: JQuery): void;
-
- /**
- * Triggered after the calendar's dimensions have been changed due to the browser window being resized.
- */
- windowResize?(view: ViewObject): void;
-}
-
-/**
- * Timezone - https://fullcalendar.io/docs/timezone/
- */
-export interface TimezoneOptions {
- /**
- * Determines the timezone in which dates throughout the API are parsed and rendered.
- *
- * default: false
- */
- timezone?: string | boolean;
-
- /**
- * Explicitly sets the "today" date of the calendar. This is the day that is normally highlighted in yellow.
- */
- now?: moment.Moment | Date | string | (() => moment.Moment);
-}
-
-/**
- * Views - https://fullcalendar.io/docs/views/
- */
-export interface ViewsOptions {
- /**
- * The initial view when the calendar loads.
- *
- * default: 'month'
- */
- defaultView?: string;
-
- views?: ViewSpecificOptions;
-}
-
-/**
- * Agenda Options - https://fullcalendar.io/docs/agenda/
- */
-export interface AgendaOptions {
- /**
- * Determines if the "all-day" slot is displayed at the top of the calendar.
- *
- * default: true
- */
- allDaySlot?: boolean;
-
- /**
- * The text titling the "all-day" slot at the top of the calendar.
- *
- * default: 'all-day'
- */
- allDayText?: string;
-
- /**
- * The frequency for displaying time slots.
- *
- * default: '00:30:00'
- */
- slotDuration?: moment.Duration;
-
- /**
- * Determines the time-text that will be displayed on the vertical axis of the agenda views.
- *
- * default: 'h(:mm)a'
- */
- slotLabelFormat?: string;
-
- /**
- * Determines how often the time-axis is labeled with text displaying the date/time of slots.
- */
- slotLabelInterval?: moment.Duration;
-
- /**
- * The time interval at which a dragged event will snap to the agenda view time grid. Also affects the granularity at which `selections` can be made.
- */
- snapDuration?: moment.Duration;
-
- /**
- * Determines how far down the scroll pane is initially scrolled down.
- *
- * default: '06:00:00' (6am)
- */
- scrollTime?: moment.Duration;
-
- /**
- * Determines the starting time that will be displayed, even when the scrollbars have been scrolled all the way up.
- *
- * default: "00:00:00"
- */
- minTime?: moment.Duration;
-
- /**
- * Determines the end time (exclusively) that will be displayed, even when the scrollbars have been scrolled all the way down.
- *
- * default: "24:00:00"
- */
- maxTime?: moment.Duration;
-
- /**
- * Determines if timed events in agenda view should visually overlap.
- *
- * default: true
- */
- slotEventOverlap?: boolean;
-}
-
-/**
- * List View - https://fullcalendar.io/docs/list_view/
- */
-export interface ListViewOptions {
- /**
- * A date formatting string that affects the text on the left side of the day headings in list view.
- */
- listDayFormat?: string | boolean;
-
- /**
- * A date formatting string that affects the text on the right side of the day headings in list view.
- */
- listDayAltFormat?: string | boolean;
-
- /**
- * The text that is displayed in the middle of list view, alerting the user that there are no events within the given range.
- *
- * default: "No events to display"
- */
- noEventsMessage?: string;
-}
-
-/**
- * Current Date - https://fullcalendar.io/docs/current_date/
- */
-export interface CurrentDateOptions {
- /**
- * The initial date displayed when the calendar first loads.
- */
- defaultDate?: moment.Moment | Date | string;
-
- /**
- * Whether or not to display a marker indicating the current time.
- *
- * default: false
- */
- nowIndicator?: boolean;
-
- /**
- * Sets the exact date range that is visible in a view.
- */
- visibleRange?: ((currentDate: moment.Moment) => TimeRange) | TimeRange;
-
- /**
- * Limits which dates the user can navigate to and where events can go.
- */
- validRange?: TimeRange;
-
- /**
- * How far into the future/past the calendar navigates when prev/next is executed.
- */
- dateIncrement?: moment.Duration;
-
- /**
- * Determines the first visible day for a Custom or Generic view.
- */
- dateAlignment?: string;
-
- /**
- * Sets the exact duration of a Custom or Generic view.
- */
- duration?: moment.Duration;
-
- /**
- * Sets the exact number of days displayed in a Custom or Generic view, regardless of weekends or hiddenDays.
- */
- dayCount?: number;
-}
-
-/**
- * Text/Time Customization - https://fullcalendar.io/docs/text/
- */
-export interface TextTimeCustomizationOptions {
- /**
- * Customize the language and localization options for the calendar.
- *
- * default 'en'
- */
- locale?: string;
-
- /**
- * Determines the time-text that will be displayed on each event.
- */
- timeFormat?: string;
-
- /**
- * Determines the text that will be displayed on the calendar's column headings.
- */
- columnFormat?: string;
-
- /**
- * Determines the text that will be displayed in the header's title.
- */
- titleFormat?: string;
-
- /**
- * Text that will be displayed on buttons of the header.
- */
- buttonText?: ButtonTextObject;
-
- /**
- * Full names of months.
- */
- monthNames?: string[];
-
- /**
- * Abbreviated names of months.
- */
- monthNamesShort?: string[];
-
- /**
- * Full names of days-of-week.
- */
- dayNames?: string[];
-
- /**
- * Abbreviated names of days-of-week.
- */
- dayNamesShort?: string[];
-
- /**
- * The heading text for week numbers.
- *
- * default: 'W'
- */
- weekNumberTitle?: string;
-
- /**
- * Whether or not to display the text for an event's time.
- */
- displayEventTime?: boolean;
-
- /**
- * Whether or not to display an event's end time text when it is rendered on the calendar.
- */
- displayEventEnd?: boolean;
-
- /**
- * Determines the text of the link created by eventLimit setting.
- *
- * default: "more"
- */
- eventLimitText?: string | ((nEvents: number) => string);
-
- /**
- * Determines the date format of title of the popover created by the eventLimitClick option.
- */
- dayPopoverFormat?: string;
-}
-
-/**
- * Clicking & Hovering - https://fullcalendar.io/docs/mouse/
- */
-export interface ClickingAndHoveringOptions {
- /**
- * Determines if day names and week names are clickable.
- *
- * default: false
- */
- navLinks?: boolean;
-
- /**
- * Determines what happens upon a day heading nav-link click.
- */
- navLinkDayClick?: string | ((date: any, jsEvent: Event) => void);
-
- /**
- * Determines what happens upon a week-number nav-link click.
- */
- navLinkWeekClick?: string | ((weekStart: any, jsEvent: Event) => void);
-
- /**
- * Triggered when the user clicks on a day.
- */
- dayClick?(date: Date, jsEvent: MouseEvent, view: ViewObject): void;
-
- /**
- * Triggered when the user clicks an event.
- */
- eventClick?(event: EventObject, jsEvent: MouseEvent, view: ViewObject): boolean | void; // return type boolean or void
-
- /**
- * Triggered when the user mouses over an event.
- */
- eventMouseover?(event: EventObject, jsEvent: MouseEvent, view: ViewObject): void;
-
- /**
- * Triggered when the user mouses out of an event.
- */
- eventMouseout?(event: EventObject, jsEvent: MouseEvent, view: ViewObject): void;
-}
-
-/**
- * Selection - https://fullcalendar.io/docs/selection/
- */
-export interface SelectionOptions {
- selectable?: boolean;
- selectHelper?: boolean;
- unselectAuto?: boolean;
- unselectCancel?: string;
- selectOverlap?: boolean | ((event: EventObject) => boolean);
- selectConstraint?: Timespan | BusinessHours;
- select?(start: moment.Moment, end: moment.Moment, jsEvent: MouseEvent, view: ViewObject, resource?: any): void;
- unselect?(view: ViewObject, jsEvent: Event): void;
-}
-
-/**
- * Event Data - https://fullcalendar.io/docs/event_data/
- *
- * TODO: update interface to v3
- */
-export interface EventDataOptions {
- /**
- * This has one of the following types:
- *
- * - EventObject[]
- * - string (JSON feed)
- * - (start: moment.Moment, end: moment.Moment, timezone: string | boolean, callback: {(events: EventObject[]) => void;}) => void;
- */
- events?: any;
-
- /**
- * An array, each element being one of the following types:
- *
- * - EventSource
- * - EventObject[]
- * - string (JSON feed)
- * - (start: moment.Moment, end: moment.Moment, timezone: string | boolean, callback: {(events: EventObject[]) => void;}) => void;
- */
- eventSources?: any[];
-
- allDayDefault?: boolean;
- startParam?: string;
- endParam?: string;
- lazyFetching?: boolean;
- eventDataTransform?(eventData: any): EventObject;
- loading?(isLoading: boolean, view: ViewObject): void;
-}
-
-/**
- * Event Rendering - https://fullcalendar.io/docs/event_rendering/
- */
-export interface EventRenderingOptions {
- /**
- * Sets the background and border colors for all events on the calendar.
- */
- eventColor?: string;
-
- /**
- * Sets the background color for all events on the calendar.
- */
- eventBackgroundColor?: string;
-
- /**
- * Sets the border color for all events on the calendar.
- */
- eventBorderColor?: string;
-
- /**
- * Sets the text color for all events on the calendar.
- */
- eventTextColor?: string;
-
- /**
- * When an event's end time spans into another day, the minimum time it must be in order for it to render as if it were on that day.
- *
- * default: "09:00:00" (9am)
- */
- nextDayThreshold?: moment.Duration;
-
- /**
- * Determines the vertical ordering events that have the same dates / times.
- *
- * default 'title'
- */
- eventOrder?: string | Array<((a: EventObject, b: EventObject) => number) | (string | ((a: EventObject, b: EventObject) => number))>;
-
- /**
- * The amount of milliseconds to wait after an operation, before rendering events.
- *
- * default: null
- */
- eventRenderWait?: number | null;
-
- /**
- * Triggered while an event is being rendered.
- */
- eventRender?(event: EventObject, element: JQuery, view: ViewObject): void;
-
- /**
- * Triggered after an event has been placed on the calendar in its final position.
- */
- eventAfterRender?(event: EventObject, element: JQuery, view: ViewObject): void;
-
- /**
- * Triggered after all events have finished rendering.
- */
- eventAfterAllRender?(view: ViewObject): void;
-
- /**
- * Called before an event's element is removed from the DOM.
- */
- eventDestroy?(event: EventObject, element: JQuery, view: ViewObject): void;
-}
-
-/**
- * Event Dragging & Resizing - https://fullcalendar.io/docs/event_ui/
- */
-export interface EventDraggingResizingOptions {
- /**
- * Determines whether the events on the calendar can be modified.
- *
- * default: false
- */
- editable?: boolean;
-
- /**
- * Allow events' start times to be editable through dragging.
- *
- * default: true
- */
- eventStartEditable?: boolean;
-
- /**
- * Allow events' durations to be editable through resizing.
- *
- * default: true
- */
- eventDurationEditable?: boolean;
-
- /**
- * Time it takes for an event to revert to its original position after an unsuccessful drag.
- *
- * default: 500
- */
- dragRevertDuration?: number; // integer, milliseconds
-
- /**
- * The opacity of an event while it is being dragged.
- *
- * default: .75
- */
- dragOpacity?: number;
-
- /**
- * Whether to automatically move scroll containers during event drag-and-drop or while selecting.
- *
- * default: true
- */
- dragScroll?: boolean;
-
- /**
- * Determines if events on the calendar, when dragged and resized, are allowed to overlap each other.
- *
- * default: true
- */
- eventOverlap?: boolean | ((stillEvent: EventObject, movingEvent: EventObject) => boolean);
-
- /**
- * Limits event dragging and resizing to certain windows of time.
- */
- eventConstraint?: "businessHours" | BusinessHours | Timespan | string;
-
- /**
- * Exact programmatic control over where an event can be dropped.
- */
- eventAllow?: ((dropInfo: DropInfo, draggedEvent: Event) => boolean);
-
- /**
- * For touch devices, the amount of time the user most hold down before an event becomes draggable or a date becomes selectable.
- *
- * default: 1000
- */
- longPressDelay?: number;
-
- /**
- * For touch devices, the amount of time the user most hold down before an event becomes draggable.
- *
- * default: 1000
- */
- eventLongPressDelay?: number;
-
- /**
- * Triggered when event dragging begins.
- */
- eventDragStart?(event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject): void;
-
- /**
- * Triggered when event dragging stops.
- */
- eventDragStop?(event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject): void;
-
- /**
- * Triggered when dragging stops and the event has moved to a different day/time.
- */
- eventDrop?(event: EventObject, delta: moment.Duration, revertFunc: Function, jsEvent: Event, ui: any, view: ViewObject): void;
-
- /**
- * Triggered when event resizing begins.
- */
- eventResizeStart?(event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject): void;
-
- /**
- * Triggered when event resizing stops.
- */
- eventResizeStop?(event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject): void;
-
- /**
- * Triggered when resizing stops and the event has changed in duration.
- */
- eventResize?(event: EventObject, delta: moment.Duration, revertFunc: Function, jsEvent: Event, ui: any, view: ViewObject): void;
-}
-
-/**
- * Dropping External Elements - https://fullcalendar.io/docs/dropping/
- */
-export interface DroppingExternalElementsOptions {
- /**
- * Determines if jQuery UI draggables can be dropped onto the calendar.
- *
- * default: false
- */
- droppable?: boolean;
-
- /**
- * Provides a way to filter which elements can be dropped onto the calendar.
- */
- dropAccept?: string | ((draggable: any) => boolean);
-
- /**
- * Called when a valid jQuery UI draggable has been dropped onto the calendar.
- */
- drop?(date: moment.Moment, jsEvent: MouseEvent, ui: any): void;
-
- /**
- * Called when an external element, containing event data, is dropped on the calendar.
- */
- eventReceive?(event: EventObject): void;
-}
-
-export interface ButtonTextObject {
- prev?: string;
- next?: string;
- prevYear?: string;
- nextYear?: string;
- today?: string;
- month?: string;
- week?: string;
- day?: string;
- list?: string;
-}
-
-// TODO: check compatibility with v3 and update if necessary
-/* Refer to http://fullcalendar.io/docs/event_data/Event_Object/ */
-export interface EventObject extends Timespan {
- id?: any; // String/number
- title: string;
- allDay?: boolean;
- url?: string;
- className?: string | string[];
- editable?: boolean;
- startEditable?: boolean;
- durationEditable?: boolean;
- rendering?: string;
- overlap?: boolean;
- constraint?: Timespan | BusinessHours;
- source?: EventSource;
- color?: string;
- backgroundColor?: string;
- borderColor?: string;
- textColor?: string;
- // non-standard fields, see https://fullcalendar.io/docs/event_data/Event_Object/ and https://fullcalendar.io/docs/event_rendering/eventRender/
- [x: string]: any;
-}
-
-// TODO: check compatibility with v3 and update if necessary
-export interface ViewObject extends Timespan {
- name: string;
- title: string;
- intervalStart: moment.Moment;
- intervalEnd: moment.Moment;
-}
-
-// TODO: check compatibility with v3 and update if necessary
-export interface EventSource extends JQueryAjaxSettings {
- /**
- * This has one of the following types:
- *
- * - EventObject[]
- * - string (JSON feed)
- * - (start: moment.Moment, end: moment.Moment, timezone: string | boolean, callback: {(events: EventObject[]) => void;}) => void;
- */
- events?: any;
-
- color?: string;
- backgroundColor?: string;
- borderColor?: string;
- textColor?: string;
- className?: any; // string/string[]
- editable?: boolean;
- allDayDefault?: boolean;
- ignoreTimezone?: boolean;
- eventTransform?: any;
- startParam?: string;
- endParam?: string;
-}
-
-/*
-* View Specific Options - http://fullcalendar.io/docs/views/View-Specific-Options/
-* TODO: check compatibility with v3 and update if necessary
-*/
-export interface ViewSpecificOptions {
- basic?: Options;
- agenda?: Options;
- week?: Options;
- day?: Options;
- month?: Options;
- basicWeek?: Options;
- basicDay?: Options;
- agendaWeek?: Options;
- agendaDay?: Options;
-}
-
-declare global {
- // TODO: check compatibility with v3 and update if necessary
- interface JQuery {
- /**
- * Get/Set option value
- */
- fullCalendar(method: 'option', option: string, value?: any): void;
-
- /**
- * Immediately forces the calendar to render and/or readjusts its size.
- */
- fullCalendar(method: 'render'): void;
-
- /**
- * Restores the element to the state before FullCalendar was initialized.
- */
- fullCalendar(method: 'destroy'): void;
-
- /**
- * Returns the View Object for the current view.
- */
- fullCalendar(method: 'getView'): ViewObject;
-
- /**
- * Immediately switches to a different view.
- */
- fullCalendar(method: 'changeView', viewName: string, dateOrRange?: moment.Moment | Date | string | TimeRange): void;
-
- /**
- * Moves the calendar one step back (either by a month, week, or day).
- */
- fullCalendar(method: 'prev'): void;
-
- /**
- * Moves the calendar one step forward (either by a month, week, or day).
- */
- fullCalendar(method: 'next'): void;
-
- /**
- * Moves the calendar back one year.
- */
- fullCalendar(method: 'prevYear'): void;
-
- /**
- * Moves the calendar forward one year.
- */
- fullCalendar(method: 'nextYear'): void;
-
- /**
- * Moves the calendar to the current date.
- */
- fullCalendar(method: 'today'): void;
-
- /**
- * Moves the calendar to an arbitrary year/month/date.
- */
- fullCalendar(method: 'gotoDate', year: number, month?: number, date?: number): void;
-
- /**
- * Moves the calendar to an arbitrary date.
- */
- fullCalendar(method: 'gotoDate', date: moment.Moment | Date | string): void;
-
- /**
- * Moves the calendar forward/backward an arbitrary amount of time.
- */
- fullCalendar(method: 'incrementDate', year: number, month?: number, date?: number): void;
-
- /**
- * Returns a Date object for the current date of the calendar.
- */
- fullCalendar(method: 'getDate'): Date;
-
- /**
- * A method for programmatically selecting a period of time.
- */
- fullCalendar(method: 'select', startDate: Date, endDate: Date, allDay: boolean): void;
-
- /**
- * A method for programmatically clearing the current selection.
- */
- fullCalendar(method: 'unselect'): void;
-
- /**
- * Reports changes to an event and renders them on the calendar.
- */
- fullCalendar(method: 'updateEvent', event: EventObject): void;
-
- /**
- * Reports changes for multiple events and renders them on the calendar.
- */
- fullCalendar(method: 'updateEvents', events: EventObject[]): void;
-
- /**
- * Retrieves events that FullCalendar has in memory.
- */
- fullCalendar(method: 'clientEvents', idOrfilter?: any): EventObject[];
-
- /**
- * Retrieves events that FullCalendar has in memory.
- */
- fullCalendar(method: 'clientEvents', idOrfilter?: (e: EventObject) => boolean): EventObject[];
-
- /**
- * Removes events from the calendar.
- */
- fullCalendar(method: 'removeEvents', idOrfilter?: any): void;
-
- /**
- * Removes events from the calendar.
- */
- fullCalendar(method: 'removeEvents', idOrfilter?: (e: EventObject) => boolean): void;
-
- /**
- * Refetches events from all sources and rerenders them on the screen.
- */
- fullCalendar(method: 'refetchEvents'): void;
-
- /**
- * Dynamically adds an event source.
- */
- fullCalendar(method: 'addEventSource', source: any): void;
-
- /**
- * Dynamically removes an event source.
- */
- fullCalendar(method: 'removeEventSource', source: any): void;
-
- /**
- * Renders a new event on the calendar.
- */
- fullCalendar(method: 'renderEvent', event: EventObject, stick?: boolean): void;
-
- /**
- * Renders new events on the calendar.
- */
- fullCalendar(method: 'renderEvents', events: EventObject[], stick?: boolean): void;
-
- /**
- * Rerenders all events on the calendar.
- */
- fullCalendar(method: 'rerenderEvents'): void;
-
- /**
- * Refetches one or more specific event sources.
- */
- fullCalendar(method: 'refetchEventSources', source: any): void;
-
- /**
- * Create calendar object
- */
- fullCalendar(options: Options): JQuery;
-
- /**
- * Generic method function
- */
- fullCalendar(method: string, arg1: any, arg2: any, arg3: any): void;
- }
-
- interface JQueryStatic {
- fullCalendar: Calendar;
- }
-}
diff --git a/types/fullcalendar/package.json b/types/fullcalendar/package.json
deleted file mode 100644
index 19e5fb0d14..0000000000
--- a/types/fullcalendar/package.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "private": true,
- "dependencies": {
- "moment": ">=2.14.0"
- }
-}
diff --git a/types/fullcalendar/tsconfig.json b/types/fullcalendar/tsconfig.json
deleted file mode 100644
index 289c13f80e..0000000000
--- a/types/fullcalendar/tsconfig.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "compilerOptions": {
- "module": "commonjs",
- "lib": [
- "es6",
- "dom"
- ],
- "noImplicitAny": false,
- "noImplicitThis": false,
- "strictNullChecks": false,
- "strictFunctionTypes": true,
- "baseUrl": "../",
- "typeRoots": [
- "../"
- ],
- "types": [],
- "noEmit": true,
- "forceConsistentCasingInFileNames": true
- },
- "files": [
- "index.d.ts",
- "fullcalendar-tests.ts"
- ]
-}
\ No newline at end of file
diff --git a/types/fullcalendar/tslint.json b/types/fullcalendar/tslint.json
deleted file mode 100644
index 1b62a88e52..0000000000
--- a/types/fullcalendar/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "dtslint/dt.json",
- "rules": {
- "ban-types": false,
- "unified-signatures": false
- }
-}
diff --git a/types/fullcalendar/v1/fullcalendar-tests.ts b/types/fullcalendar/v1/fullcalendar-tests.ts
deleted file mode 100644
index f5c81c0727..0000000000
--- a/types/fullcalendar/v1/fullcalendar-tests.ts
+++ /dev/null
@@ -1,793 +0,0 @@
-///
-
-// All examples from http://arshaw.com/fullcalendar/docs/
-
-$('#calendar').fullCalendar({});
-
-$('#calendar').fullCalendar({
- weekends: false
-});
-
-$('#calendar').fullCalendar({
- dayClick: () => {
- alert('a day has been clicked!');
- }
-});
-
-$('#calendar').fullCalendar('next');
-
-$('#calendar').fullCalendar({
- events: 'http://www.google.com/your_feed_url/'
-});
-
-$('#calendar').fullCalendar({
- events: {
- url: 'http://www.google.com/your_feed_url/',
- className: 'gcal-event', // an option!
- currentTimezone: 'America/Chicago' // an option!
- }
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- // source with no options
- "http://www.google.com/your_feed_url1/",
-
- // source with no options
- "http://www.google.com/your_feed_url2/",
-
- // source WITH options
- {
- url: "http://www.google.com/your_feed_url3/",
- className: 'nice-event'
- }
- ]
-});
-
-$('#calendar').fullCalendar({
- height: 650
-});
-
-$('#calendar').fullCalendar('option', 'height', 700);
-
-$('#calendar').fullCalendar({
- contentHeight: 600
-});
-
-$('#calendar').fullCalendar('option', 'contentHeight', 650);
-
-$('#calendar').fullCalendar({
- aspectRatio: 2
-});
-
-$('#calendar').fullCalendar('option', 'aspectRatio', 1.8);
-
-$('#calendar').fullCalendar({
- viewRender: view => {
- alert('The new title of the view is ' + view.title);
- }
-});
-
-$('#calendar').fullCalendar({
- windowResize: view => {
- alert('The calendar has adjusted to a window resize');
- }
-});
-
-$('#calendar').fullCalendar('render');
-
-$('#calendar').fullCalendar({
- dragOpacity: .5
-});
-
-const view = $('#calendar').fullCalendar('getView');
-alert("The view's title is " + view.title);
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,basicWeek,basicDay'
- },
- editable: true,
- events: [
- {
- title: 'All Day Event',
- start: new Date(y, m, 1)
- },
- {
- title: 'Long Event',
- start: new Date(y, m, d - 5),
- end: new Date(y, m, d - 2)
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d - 3, 16, 0),
- allDay: false
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d + 4, 16, 0),
- allDay: false
- },
- {
- title: 'Meeting',
- start: new Date(y, m, d, 10, 30),
- allDay: false
- },
- {
- title: 'Lunch',
- start: new Date(y, m, d, 12, 0),
- end: new Date(y, m, d, 14, 0),
- allDay: false
- },
- {
- title: 'Birthday Party',
- start: new Date(y, m, d + 1, 19, 0),
- end: new Date(y, m, d + 1, 22, 30),
- allDay: false
- },
- {
- title: 'Click for Google',
- start: new Date(y, m, 28),
- end: new Date(y, m, 29),
- url: 'http://google.com/'
- }
- ]
- });
-});
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,basicWeek,basicDay'
- },
- defaultView: 'basicWeek',
- editable: true,
- events: [
- {
- title: 'All Day Event',
- start: new Date(y, m, 1)
- },
- {
- title: 'Long Event',
- start: new Date(y, m, d - 5),
- end: new Date(y, m, d - 2)
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d - 3, 16, 0),
- allDay: false
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d + 4, 16, 0),
- allDay: false
- },
- {
- title: 'Meeting',
- start: new Date(y, m, d, 10, 30),
- allDay: false
- },
- {
- title: 'Lunch',
- start: new Date(y, m, d, 12, 0),
- end: new Date(y, m, d, 14, 0),
- allDay: false
- },
- {
- title: 'Birthday Party',
- start: new Date(y, m, d + 1, 19, 0),
- end: new Date(y, m, d + 1, 22, 30),
- allDay: false
- },
- {
- title: 'Click for Google',
- start: new Date(y, m, 28),
- end: new Date(y, m, 29),
- url: 'http://google.com/'
- }
- ]
- });
-});
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,basicWeek,basicDay'
- },
- defaultView: 'basicDay',
- editable: true,
- events: [
- {
- id: 1,
- title: "Long Event",
- start: new Date(y, m, d, 14, 0),
- end: new Date(y, m, d + 3),
- allDay: false
- },
- {
- id: 2,
- title: "Repeating Event",
- start: new Date(y, m, d - 1),
- allDay: true
- },
- {
- id: 2,
- title: "Repeating Event",
- start: new Date(y, m, d + 6),
- allDay: true
- },
- {
- id: 3,
- title: "Meeting",
- start: new Date(y, m, d, 9, 0),
- allDay: false
- },
- {
- id: 4,
- title: "Click for Facebook",
- start: new Date(y, m, d, 16),
- end: new Date(y, m, d),
- url: "http://facebook.com/",
- allDay: false
- }
- ]
- });
-});
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- editable: true,
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- defaultView: 'agendaWeek',
- events: [
- {
- title: 'All Day Event',
- start: new Date(y, m, 1)
- },
- {
- title: 'Long Event',
- start: new Date(y, m, d - 5),
- end: new Date(y, m, d - 2)
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d - 3, 16, 0),
- allDay: false
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d + 4, 16, 0),
- allDay: false
- },
- {
- title: 'Meeting',
- start: new Date(y, m, d, 10, 30),
- allDay: false
- },
- {
- title: 'Lunch',
- start: new Date(y, m, d, 12, 0),
- end: new Date(y, m, d, 14, 0),
- allDay: false
- },
- {
- title: 'Birthday Party',
- start: new Date(y, m, d + 1, 19, 0),
- end: new Date(y, m, d + 1, 22, 30),
- allDay: false
- },
- {
- title: 'Click for Google',
- start: new Date(y, m, 28),
- end: new Date(y, m, 29),
- url: 'http://google.com/'
- }
- ]
- });
-});
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- defaultView: 'agendaDay',
- editable: true,
- events: [
- {
- id: 1,
- title: "Long Event",
- start: new Date(y, m, d),
- end: new Date(y, m, d + 3),
- allDay: true
- },
- {
- id: 2,
- title: "Repeating Event",
- start: new Date(y, m, d - 1),
- allDay: true
- },
- {
- id: 2,
- title: "Repeating Event",
- start: new Date(y, m, d + 6),
- allDay: true
- },
- {
- id: 3,
- title: "Meeting",
- start: new Date(y, m, d, 10, 0),
- allDay: false
- },
- {
- id: 4,
- title: "Click for Facebook",
- start: new Date(y, m, d, 11, 30),
- end: new Date(y, m, d),
- url: "http://facebook.com/",
- allDay: false
- }
- ]
- });
-});
-
-$('#my-prev-button').click(() => {
- $('#calendar').fullCalendar('prev');
-});
-
-$('#my-next-button').click(() => {
- $('#calendar').fullCalendar('next');
-});
-
-$('#my-today-button').click(() => {
- $('#calendar').fullCalendar('today');
-});
-
-$('#calendar').fullCalendar('gotoDate', 1, 0, 1);
-
-$('#my-button').click(() => {
- const d = $('#calendar').fullCalendar('getDate');
- alert("The current date of the calendar is " + d);
-});
-
-$('#calendar').fullCalendar({
- events: [
- {
- title: 'My Event',
- start: '2010-01-01T14:30:00',
- allDay: false
- }
- // other events here...
- ],
- timeFormat: 'H(:mm)' // uppercase H for 24-hour clock
-});
-
-$('#calendar').fullCalendar({
- buttonText: {
- prev: '<',
- next: '>'
- }
-});
-
-$('#calendar').fullCalendar({
- dayClick(date, allDay, jsEvent, view) {
- if (allDay) {
- alert('Clicked on the entire day: ' + date);
- } else {
- alert('Clicked on the slot: ' + date);
- }
-
- alert(`Coordinates: ${jsEvent.pageX},${jsEvent.pageY}`);
-
- alert('Current view: ' + view.name);
-
- // change the day's background color just for fun
- $(this).css('background-color', 'red');
- }
-});
-
-$('#calendar').fullCalendar({
- eventClick(calEvent, jsEvent, view) {
- alert('Event: ' + calEvent.title);
- alert(`Coordinates: ${jsEvent.pageX},${jsEvent.pageY}`);
- alert('View: ' + view.name);
-
- // change the border color just for fun
- $(this).css('border-color', 'red');
- }
-});
-
-$('#calendar').fullCalendar({
- events: [
- {
- title: 'My Event',
- start: '2010-01-01',
- url: 'http://google.com/'
- }
- // other events here
- ],
- eventClick(event) {
- if (event.url) {
- window.open(event.url);
- return false;
- }
- }
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- // your event source
- {
- url: '/myfeed.php',
- type: 'POST',
- data: {
- custom_param1: 'something',
- custom_param2: 'somethingelse'
- },
- error: () => {
- alert('there was an error while fetching events!');
- },
- color: 'yellow', // a non-ajax option
- textColor: 'black' // a non-ajax option
- }
-
- // any other sources...
- ]
-});
-
-$('#calendar').fullCalendar({
- events: {
- url: '/myfeed.php',
- type: 'POST',
- data: {
- custom_param1: 'something',
- custom_param2: 'somethingelse'
- },
- error: () => {
- alert('there was an error while fetching events!');
- },
- color: 'yellow', // a non-ajax option
- textColor: 'black' // a non-ajax option
- }
-});
-
-$('#calendar').fullCalendar({
- events: {
- url: '/myfeed.php',
- cache: true
- }
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- // your event source
- {
- url: '/myfeed.php', // use the `url` property
- color: 'yellow', // an option!
- textColor: 'black' // an option!
- }
-
- // any other sources...
- ]
-});
-
-$('#calendar').fullCalendar({
- events: '/myfeed.php'
-});
-
-$('#calendar').fullCalendar({
- events: [
- {
- title: 'event1',
- start: '2010-01-01'
- },
- {
- title: 'event2',
- start: '2010-01-05',
- end: '2010-01-07'
- },
- {
- title: 'event3',
- start: '2010-01-09 12:30:00',
- allDay: false // will make the time show
- }
- ]
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- // your event source
- {
- events: [ // put the array in the `events` property
- {
- title: 'event1',
- start: '2010-01-01'
- },
- {
- title: 'event2',
- start: '2010-01-05',
- end: '2010-01-07'
- },
- {
- title: 'event3',
- start: '2010-01-09 12:30:00',
- }
- ],
- color: 'black', // an option!
- textColor: 'yellow' // an option!
- }
-
- // any other event sources...
- ]
-});
-
-$('#calendar').fullCalendar({
- events(start: any, end: any, callback: any) {
- $.ajax({
- url: 'myxmlfeed.php',
- dataType: 'xml',
- data: {
- // our hypothetical feed requires UNIX timestamps
- start: Math.round(start.getTime() / 1000),
- end: Math.round(end.getTime() / 1000)
- },
- success(doc) {
- const events: any[] = [];
- $(doc).find('event').each(() => {
- events.push({
- title: $(this).attr('title'),
- start: $(this).attr('start') // will be parsed
- });
- });
- callback(events);
- }
- });
- }
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- // your event source
- {
- events(start: any, end: any, callback: any) {
- // ...
- },
- color: 'yellow', // an option!
- textColor: 'black' // an option!
- }
-
- // any other sources...
- ]
-});
-
-$('#calendar').fullCalendar({
- eventSources: [
- '/feed1.php',
- '/feed2.php'
- ]
-});
-
-$('#calendar').fullCalendar({
- eventClick(event, element) {
- event.title = "CLICKED!";
-
- $('#calendar').fullCalendar('updateEvent', event);
- }
-});
-
-$('#calendar').fullCalendar({
- events: [
- // my event data
- ],
- eventColor: '#378006'
-});
-
-interface EventWithDescription extends FullCalendar.EventObject {
- description: string;
-}
-interface JQuery {
- qtip: any; // dummy plugin interface
-}
-
-$('#calendar').fullCalendar({
- events: [
- {
- title: 'My Event',
- start: '2010-01-01',
- description: 'This is a cool event'
- }
- // more events here
- ],
- eventRender(event: EventWithDescription, element: any) {
- element.qtip({
- content: event.description
- });
- }
-});
-$('#my-draggable').draggable({
- revert: true, // immediately snap back to original position
- revertDuration: 0 //
-});
-
-$('#calendar').fullCalendar({
- droppable: true,
- drop(date, allDay) {
- alert(`Dropped on ${date} with allDay=${allDay}`);
- }
-});
-
-$('#calendar').fullCalendar({
- droppable: true,
- dropAccept: '.cool-event',
- drop: () => {
- alert('dropped!');
- }
-});
-
-$('#draggable1').draggable();
-$('#draggable2').draggable();
-
-$(document).ready(() => {
- const date = new Date();
- const d = date.getDate();
- const m = date.getMonth();
- const y = date.getFullYear();
-
- $('#calendar').fullCalendar({
- theme: true,
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- editable: true,
- events: [
- {
- title: 'All Day Event',
- start: new Date(y, m, 1)
- },
- {
- title: 'Long Event',
- start: new Date(y, m, d - 5),
- end: new Date(y, m, d - 2)
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d - 3, 16, 0),
- allDay: false
- },
- {
- id: 999,
- title: 'Repeating Event',
- start: new Date(y, m, d + 4, 16, 0),
- allDay: false
- },
- {
- title: 'Meeting',
- start: new Date(y, m, d, 10, 30),
- allDay: false
- },
- {
- title: 'Lunch',
- start: new Date(y, m, d, 12, 0),
- end: new Date(y, m, d, 14, 0),
- allDay: false
- },
- {
- title: 'Birthday Party',
- start: new Date(y, m, d + 1, 19, 0),
- end: new Date(y, m, d + 1, 22, 30),
- allDay: false
- },
- {
- title: 'Click for Google',
- start: new Date(y, m, 28),
- end: new Date(y, m, 29),
- url: 'http://google.com/'
- }
- ]
- });
-});
-
-$(document).ready(() => {
- /* initialize the external events
- -----------------------------------------------------------------*/
- $('#external-events div.external-event').each(() => {
- // create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
- // it doesn't need to have a start or end
- const eventObject = {
- title: $.trim($(this).text()) // use the element's text as the event title
- };
-
- // store the Event Object in the DOM element so we can get to it later
- $(this).data('eventObject', eventObject);
-
- // make the event draggable using jQuery UI
- $(this).draggable({
- zIndex: 999,
- revert: true, // will cause the event to go back to its
- revertDuration: 0 // original position after the drag
- });
- });
- /* initialize the calendar
- -----------------------------------------------------------------*/
-
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- editable: true,
- droppable: true, // this allows things to be dropped onto the calendar !!!
- drop(date, allDay) { // this function is called when something is dropped
-
- // retrieve the dropped element's stored Event Object
- const originalEventObject = $(this).data('eventObject');
-
- // we need to copy it, so that multiple events don't have a reference to the same object
- const copiedEventObject: any = $.extend({}, originalEventObject);
-
- // assign it the date that was reported
- copiedEventObject.start = date;
- copiedEventObject.allDay = allDay;
-
- // render the event on the calendar
- // the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
- $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
-
- // is the "remove after drop" checkbox checked?
- if ($('#drop-remove').is(':checked')) {
- // if so, remove the element from the "Draggable Events" list
- $(this).remove();
- }
- }
- });
-});
-
-$('#calendar').fullCalendar('refetchEvents');
diff --git a/types/fullcalendar/v1/index.d.ts b/types/fullcalendar/v1/index.d.ts
deleted file mode 100644
index 63b70c9cc7..0000000000
--- a/types/fullcalendar/v1/index.d.ts
+++ /dev/null
@@ -1,427 +0,0 @@
-// Type definitions for FullCalendar 1.6
-// Project: http://arshaw.com/fullcalendar/
-// Definitions by: Neil Stalker , Marcelo Camargo
-// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.3
-
-///
-import * as moment from "moment";
-
-declare global {
- namespace FullCalendar {
- interface Calendar {
- /**
- * Formats a Date object into a string.
- */
- formatDate(date: Date, format: string, options?: Options): string;
-
- /**
- * Formats a date range (two Date objects) into a string.
- */
- formatDates(date1: Date, date2: Date, format: string, options?: Options): string;
-
- /**
- * Parses a string into a Date object.
- */
- parseDate(dateString: string, ignoreTimezone?: boolean): Date;
-
- /**
- * Parses an ISO8601 string into a Date object.
- */
- parseISO8601(dateString: string, ignoreTimezone?: boolean): Date;
-
- /**
- * Gets the version of Fullcalendar
- */
- version: string;
- }
-
- interface BusinessHours {
- start: moment.Duration;
- end: moment.Duration;
- dow: number[];
- }
-
- interface Timespan {
- start: moment.Moment;
- end: moment.Moment;
- }
-
- interface Options extends AgendaOptions, EventDraggingResizingOptions, DroppingExternalElementsOptions, SelectionOptions {
- // General display - http://arshaw.com/fullcalendar/docs/display/
-
- header?: {
- left: string;
- center: string;
- right: string;
- };
- theme?: boolean;
- buttonIcons?: {
- prev: string;
- next: string;
- };
- firstDay?: number;
- isRTL?: boolean;
- weekends?: boolean;
- hiddenDays?: number[];
- weekMode?: string;
- weekNumbers?: boolean;
- weekNumberCalculation?: any; // String/Function
- businessHours?: boolean | BusinessHours;
- height?: number;
- contentHeight?: number;
- aspectRatio?: number;
- handleWindowResize?: boolean;
- viewRender?(view: ViewObject, element: JQuery): void;
- viewDestroy?(view: ViewObject, element: JQuery): void;
- dayRender?(date: Date, cell: HTMLTableDataCellElement): void;
- windowResize?(view: ViewObject): void;
-
- // Timezone
- timezone?: string | boolean;
- now?: moment.Moment | Date | string | (() => moment.Moment);
-
- // Views - http://arshaw.com/fullcalendar/docs/views/
-
- defaultView?: string;
-
- // Current Date - http://arshaw.com/fullcalendar/docs/current_date/
-
- defaultDate?: moment.Moment | Date | string;
- year?: number;
- month?: number;
- date?: number;
-
- // Text/Time Customization - http://arshaw.com/fullcalendar/docs/text/
-
- timeFormat?: any; // String/ViewOptionHash
- columnFormat?: any; // String/ViewOptionHash
- titleFormat?: any; // String/ViewOptionHash
-
- buttonText?: ButtonTextObject;
- monthNames?: string[];
- monthNamesShort?: string[];
- dayNames?: string[];
- dayNamesShort?: string[];
- weekNumberTitle?: string;
-
- // Clicking & Hovering - http://arshaw.com/fullcalendar/docs/mouse/
-
- dayClick?(date: Date, allDay: boolean, jsEvent: MouseEvent, view: ViewObject): void;
- eventClick?(event: EventObject, jsEvent: MouseEvent, view: ViewObject): any; // return type boolean or void
- eventMouseover?(event: EventObject, jsEvent: MouseEvent, view: ViewObject): void;
- eventMouseout?(event: EventObject, jsEvent: MouseEvent, view: ViewObject): void;
-
- // Event Data - http://arshaw.com/fullcalendar/docs/event_data/
-
- /**
- * This has one of the following types:
- *
- * - EventObject[]
- * - string (JSON feed)
- * - (start: Date | string, end: Date | string, callback: {(events: EventObject[]) => void;}) => void;
- */
- events?: any;
-
- /**
- * An array, each element being one of the following types:
- *
- * - EventSource
- * - EventObject[]
- * - string (JSON feed)
- * - (start: Date | string, end: Date | string, callback: {(events: EventObject[]) => void;}) => void;
- */
- eventSources?: any[];
-
- allDayDefault?: boolean;
- ignoreTimezone?: boolean;
- startParam?: string;
- endParam?: string;
- lazyFetching?: boolean;
- eventDataTransform?(eventData: any): EventObject;
- loading?(isLoading: boolean, view: ViewObject): void;
-
- // Event Rendering - http://arshaw.com/fullcalendar/docs/event_rendering/
-
- eventColor?: string;
- eventBackgroundColor?: string;
- eventBorderColor?: string;
- eventTextColor?: string;
- eventRender?(event: EventObject, element: HTMLDivElement, view: ViewObject): void;
- eventAfterRender?(event: EventObject, element: HTMLDivElement, view: ViewObject): void;
- eventAfterAllRender?(view: ViewObject): void;
- eventDestroy?(event: EventObject, element: JQuery, view: ViewObject): void;
- }
-
- interface ViewOptionHash {
- month?: any;
- week?: any;
- day?: any;
- agenda?: any;
- agendaDay?: any;
- agendaWeek?: any;
- basic?: any;
- basicDay?: any;
- basicWeek?: any;
- ''?: any;
- }
-
- /**
- * Agenda Options - http://arshaw.com/fullcalendar/docs/agenda/
- */
- interface AgendaOptions {
- allDaySlot?: boolean;
- allDayText?: string;
- slotDuration?: moment.Duration;
- slotLabelFormat?: string;
- slotLabelInterval?: moment.Duration;
- snapDuration?: moment.Duration;
- scrollTime?: moment.Duration;
- minTime?: moment.Duration; // Integer/String
- maxTime?: moment.Duration; // Integer/String
- slotEventOverlap?: boolean;
- }
-
- /*
- * Event Dragging & Resizing
- */
- interface EventDraggingResizingOptions {
- editable?: boolean;
- eventStartEditable?: boolean;
- eventDurationEditable?: boolean;
- dragRevertDuration?: number; // integer, milliseconds
- dragOpacity?: number; // float
- dragScroll?: boolean;
- eventOverlap?: boolean | ((stillEvent: EventObject, movingEvent: EventObject) => boolean);
- eventConstraint?: BusinessHours | Timespan;
- eventDragStart?(event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject): void;
- eventDragStop?(event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject): void;
- eventDrop?(event: EventObject, delta: moment.Duration, revertFunc: Function, jsEvent: Event, ui: any, view: ViewObject): void;
- eventResizeStart?(event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject): void;
- eventResizeStop?(event: EventObject, jsEvent: MouseEvent, ui: any, view: ViewObject): void;
- eventResize?(event: EventObject, delta: moment.Duration, revertFunc: Function, jsEvent: Event, ui: any, view: ViewObject): void;
- }
- /*
- * Selection - http://arshaw.com/fullcalendar/docs/selection/
- */
- interface SelectionOptions {
- selectable?: boolean;
- selectHelper?: boolean | ((start: moment.Moment, end: moment.Moment) => HTMLElement);
- unselectAuto?: boolean;
- unselectCancel?: string;
- selectOverlap?: boolean | ((event: EventObject) => boolean);
- selectConstraint?: Timespan | BusinessHours;
- select?(start: moment.Moment, end: moment.Moment, jsEvent: MouseEvent, view: ViewObject, resource?: any): void;
- unselect?(view: ViewObject, jsEvent: Event): void;
- }
-
- interface DroppingExternalElementsOptions {
- droppable?: boolean;
- dropAccept?: string | ((draggable: any) => boolean);
- drop?(date: moment.Moment, jsEvent: MouseEvent, ui: any): void;
- eventReceive?(event: EventObject): void;
- }
-
- interface ButtonTextObject {
- prev?: string;
- next?: string;
- prevYear?: string;
- nextYear?: string;
- today?: string;
- month?: string;
- week?: string;
- day?: string;
- }
-
- interface EventObject extends Timespan {
- id?: any; // String/number
- title: string;
- allDay?: boolean;
- url?: string;
- className?: any; // string/Array
- editable?: boolean;
- source?: EventSource;
- color?: string;
- backgroundColor?: string;
- borderColor?: string;
- textColor?: string;
- rendering?: string;
- }
-
- interface ViewObject extends Timespan {
- name: string;
- title: string;
- intervalStart: moment.Moment;
- intervalEnd: moment.Moment;
- }
-
- interface EventSource extends JQueryAjaxSettings {
- /**
- * This has one of the following types:
- *
- * - EventObject[]
- * - string (JSON feed)
- * - (start: Date | string, end: Date | string, callback: {(events: EventObject[]) => void;}) => void;
- */
- events?: any;
-
- color?: string;
- backgroundColor?: string;
- borderColor?: string;
- textColor?: string;
- className?: any; // string/Array
- editable?: boolean;
- allDayDefault?: boolean;
- ignoreTimezone?: boolean;
- eventTransform?: any;
- startParam?: string;
- endParam?: string;
- }
- }
-
- interface JQuery {
- /**
- * Get/Set option value
- */
- fullCalendar(method: 'option', option: string, value?: any): void;
-
- /**
- * Immediately forces the calendar to render and/or readjusts its size.
- */
- fullCalendar(method: 'render'): void;
-
- /**
- * Restores the element to the state before FullCalendar was initialized.
- */
- fullCalendar(method: 'destroy'): void;
-
- /**
- * Returns the View Object for the current view.
- */
- fullCalendar(method: 'getView'): FullCalendar.ViewObject;
-
- /**
- * Immediately switches to a different view.
- */
- fullCalendar(method: 'changeView', viewName: string): void;
-
- /**
- * Moves the calendar one step back (either by a month, week, or day).
- */
- fullCalendar(method: 'prev'): void;
-
- /**
- * Moves the calendar one step forward (either by a month, week, or day).
- */
- fullCalendar(method: 'next'): void;
-
- /**
- * Moves the calendar back one year.
- */
- fullCalendar(method: 'prevYear'): void;
-
- /**
- * Moves the calendar forward one year.
- */
- fullCalendar(method: 'nextYear'): void;
-
- /**
- * Moves the calendar to the current date.
- */
- fullCalendar(method: 'today'): void;
-
- /**
- * Moves the calendar to an arbitrary year/month/date.
- */
- fullCalendar(method: 'gotoDate', year: number, month?: number, date?: number): void;
-
- /**
- * Moves the calendar to an arbitrary date.
- */
- fullCalendar(method: 'gotoDate', date: Date | string): void;
-
- /**
- * Moves the calendar forward/backward an arbitrary amount of time.
- */
- fullCalendar(method: 'incrementDate', year: number, month?: number, date?: number): void;
-
- /**
- * Returns a Date object for the current date of the calendar.
- */
- fullCalendar(method: 'getDate'): Date;
-
- /**
- * A method for programmatically selecting a period of time.
- */
- fullCalendar(method: 'select', startDate: Date, endDate: Date, allDay: boolean): void;
-
- /**
- * A method for programmatically clearing the current selection.
- */
- fullCalendar(method: 'unselect'): void;
-
- /**
- * Reports changes to an event and renders them on the calendar.
- */
- fullCalendar(method: 'updateEvent', event: FullCalendar.EventObject): void;
-
- /**
- * Retrieves events that FullCalendar has in memory.
- */
- fullCalendar(method: 'clientEvents', idOrfilter?: any): FullCalendar.EventObject[];
-
- /**
- * Retrieves events that FullCalendar has in memory.
- */
- fullCalendar(method: 'clientEvents', idOrfilter?: (e: FullCalendar.EventObject) => boolean): FullCalendar.EventObject[];
-
- /**
- * Removes events from the calendar.
- */
- fullCalendar(method: 'removeEvents', idOrfilter?: any): void;
-
- /**
- * Removes events from the calendar.
- */
- fullCalendar(method: 'removeEvents', idOrfilter?: (e: FullCalendar.EventObject) => boolean): void;
-
- /**
- * Refetches events from all sources and rerenders them on the screen.
- */
- fullCalendar(method: 'refetchEvents'): void;
-
- /**
- * Dynamically adds an event source.
- */
- fullCalendar(method: 'addEventSource', source: any): void;
-
- /**
- * Dynamically removes an event source.
- */
- fullCalendar(method: 'removeEventSource', source: any): void;
-
- /**
- * Renders a new event on the calendar.
- */
- fullCalendar(method: 'renderEvent', event: FullCalendar.EventObject, stick?: boolean): void;
-
- /**
- * Rerenders all events on the calendar.
- */
- fullCalendar(method: 'rerenderEvents'): void;
-
- /**
- * Create calendar object
- */
- fullCalendar(options: FullCalendar.Options): JQuery;
-
- /**
- * Generic method function
- */
- fullCalendar(method: string, arg1: any, arg2: any, arg3: any): void;
- }
-
- interface JQueryStatic {
- fullCalendar: FullCalendar.Calendar;
- }
-}
diff --git a/types/fullcalendar/v1/package.json b/types/fullcalendar/v1/package.json
deleted file mode 100644
index 19e5fb0d14..0000000000
--- a/types/fullcalendar/v1/package.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "private": true,
- "dependencies": {
- "moment": ">=2.14.0"
- }
-}
diff --git a/types/fullcalendar/v1/tsconfig.json b/types/fullcalendar/v1/tsconfig.json
deleted file mode 100644
index c6612c5858..0000000000
--- a/types/fullcalendar/v1/tsconfig.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "compilerOptions": {
- "module": "commonjs",
- "lib": [
- "es6",
- "dom"
- ],
- "noImplicitAny": true,
- "noImplicitThis": false,
- "strictNullChecks": true,
- "strictFunctionTypes": true,
- "baseUrl": "../../",
- "typeRoots": [
- "../../"
- ],
- "types": [],
- "paths": {
- "fullcalendar": [
- "fullcalendar/v1"
- ]
- },
- "noEmit": true,
- "forceConsistentCasingInFileNames": true
- },
- "files": [
- "index.d.ts",
- "fullcalendar-tests.ts"
- ]
-}
\ No newline at end of file
diff --git a/types/fullcalendar/v1/tslint.json b/types/fullcalendar/v1/tslint.json
deleted file mode 100644
index 1b62a88e52..0000000000
--- a/types/fullcalendar/v1/tslint.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "dtslint/dt.json",
- "rules": {
- "ban-types": false,
- "unified-signatures": false
- }
-}