# Event Sources

## Articles

- [events (as an array)](events-array.md) - An array of Event Objects that will be displayed on the calendar.
- [events (as a json feed)](events-json-feed.md) - A URL of a JSON feed that the calendar will fetch Event Objects from.
- [events (as a function)](events-function.md) - A custom function for programmatically generating Events.
- [events from Google Calendar](google-calendar.md) - FullCalendar can display events from a public Google Calendar.
- [events from an iCalendar feed](icalendar.md) - FullCalendar can display events from a public iCalendar feed.
- [Event Source Object](event-source-object.md) - An "event source" is anything that provides FullCalendar with data about events.
- [eventSources](eventSources.md) - A way to specify multiple event sources.
- [eventSourceSuccess](eventSourceSuccess.md) - A function that gets called when fetching succeeds. It can transform the response. Gets called for any type of Event source.
- [eventSourceFailure](eventSourceFailure.md) - Called when any of the event sources fails. Probably because an AJAX request failed.
- [initialEvents](initialEvents.md) - This is exactly like specifying event as an array except that if the supplied value changes, the calendar will NOT be updated to reflect. Only applicable to declarative front-end frameworks such as React, Vue, and Angular.

## Event Requesting

- [startParam](startParam.md) - A parameter of this name will be sent to each JSON event feed. It describes the start of the interval being fetched.
- [endParam](endParam.md) - A parameter of this name will be sent to each JSON event feed. It describes the exclusive end of the interval being fetched.
- [timeZoneParam](timeZoneParam.md) - A parameter of this name will be sent to each JSON event feed. It describes the timezone of the startParam and endParam values, as well as the desired timezone of the returned events.
- [lazyFetching](lazyFetching.md) - Determines when event fetching should occur.
- [loading](loading.md) - Triggered when event or resource fetching starts/stops.

## Methods

- [Calendar::getEventSources](Calendar-getEventSources.md) - Retrieves all Event Source Objects.
- [Calendar::getEventSourceById](Calendar-getEventSourceById.md) - Retrieves a specific Event Source Object.
- [Calendar::addEventSource](Calendar-addEventSource.md) - Dynamically adds an event source.
- [Calendar::refetchEvents](Calendar-refetchEvents.md) - Refetches events from all sources and rerenders them on the screen.
- [EventSource::refetch](EventSource-refetch.md) - Causes this event source to fetch its event data again.
- [EventSource::remove](EventSource-remove.md) - Removes all events associated with this source and prevents it from being fetched again.

## Demos

- [US holidays from Google Calendar](google-calendar-demo)
