Calendar
This plugin allows you to add events to the Calendar of the mobile device.
Requires Cordova plugin: cordova-plugin-calendar
. For more info, please see the Calendar plugin docs.
Repo: https://github.com/EddyVerbruggen/Calendar-PhoneGap-Plugin
Installation
- Install the Cordova and Ionic Native plugins:
$ ionic cordova plugin add cordova-plugin-calendar $ npm install --save @ionic-native/calendar@4
- Add this plugin to your app's module
Supported platforms
- Android
- iOS
Usage
import { Calendar } from '@ionic-native/calendar';
constructor(private calendar: Calendar) { }
this.calendar.createCalendar('MyCalendar').then(
(msg) => { console.log(msg); },
(err) => { console.log(err); }
);
Instance Members
hasReadWritePermission()
This function checks if we have permission to read/write from/to the calendar.
The promise will resolve with true
when:
- You’re running on iOS, or
- You’re targeting API level lower than 23, or
- You’re using Android < 6, or
- You’ve already granted permission
If this returns false, you should call the requestReadWritePermission
function
Returns: Promise<boolean>
hasReadPermission()
Check if we have read permission
Returns: Promise<boolean>
hasWritePermission()
Check if we have write permission
Returns: Promise<boolean>
requestWritePermission()
Request write permission
Returns: Promise<any>
requestReadPermission()
Request read permission
Returns: Promise<any>
requestReadWritePermission()
Requests read/write permissions
Returns: Promise<any>
createCalendar(nameOrOptions)
Create a calendar. (iOS only)
Param | Type | Details |
---|---|---|
nameOrOptions |
string |NameOrOptions
|
either a string name or a options object. If string, provide the calendar name. IF an object, provide a calendar name as a string and a calendar color in hex format as a string |
Returns: Promise<any>
Returns a Promise
deleteCalendar(name)
Delete a calendar. (iOS only)
Param | Type | Details |
---|---|---|
name |
string
|
Name of the calendar to delete. |
Returns: Promise<any>
Returns a Promise
getCalendarOptions()
Returns the default calendar options.
Returns: CalendarOptions
Returns an object with the default calendar options
getCreateCalendarOptions()
Returns options for a custom calender with specific color
Returns: NameOrOptions
Returns an object with the default options
createEvent(title, location, notes, startDate, endDate)
Silently create an event.
Param | Type | Details |
---|---|---|
title |
string
|
The event titleOptional |
location |
string
|
The event locationOptional |
notes |
string
|
The event notesOptional |
startDate |
Date
|
The event start dateOptional |
endDate |
Date
|
The event end dateOptional |
Returns: Promise<any>
Returns a Promise
createEventWithOptions(title, location, notes, startDate, endDate, options)
Silently create an event with additional options.
Param | Type | Details |
---|---|---|
title |
string
|
The event titleOptional |
location |
string
|
The event locationOptional |
notes |
string
|
The event notesOptional |
startDate |
Date
|
The event start dateOptional |
endDate |
Date
|
The event end dateOptional |
options |
CalendarOptions
|
Additional options, see |
Returns: Promise<any>
Returns a Promise
createEventInteractively(title, location, notes, startDate, endDate)
Interactively create an event.
Param | Type | Details |
---|---|---|
title |
string
|
The event titleOptional |
location |
string
|
The event locationOptional |
notes |
string
|
The event notesOptional |
startDate |
Date
|
The event start dateOptional |
endDate |
Date
|
The event end dateOptional |
Returns: Promise<any>
Returns a Promise
createEventInteractivelyWithOptions(title, location, notes, startDate, endDate, options)
Interactively create an event with additional options.
Param | Type | Details |
---|---|---|
title |
string
|
The event titleOptional |
location |
string
|
The event locationOptional |
notes |
string
|
The event notesOptional |
startDate |
Date
|
The event start dateOptional |
endDate |
Date
|
The event end dateOptional |
options |
CalendarOptions
|
Additional options, see |
Returns: Promise<any>
findEvent(title, location, notes, startDate, endDate)
Find an event.
Param | Type | Details |
---|---|---|
title |
string
|
The event titleOptional |
location |
string
|
The event locationOptional |
notes |
string
|
The event notesOptional |
startDate |
Date
|
The event start dateOptional |
endDate |
Date
|
The event end dateOptional |
Returns: Promise<any>
findEventWithOptions(title, location, notes, startDate, endDate, options)
Find an event with additional options.
Param | Type | Details |
---|---|---|
title |
string
|
The event titleOptional |
location |
string
|
The event locationOptional |
notes |
string
|
The event notesOptional |
startDate |
Date
|
The event start dateOptional |
endDate |
Date
|
The event end dateOptional |
options |
CalendarOptions
|
Additional options, see |
Returns: Promise<any>
Returns a Promise that resolves with the event, or rejects with an error.
listEventsInRange(startDate, endDate)
Platforms:Android
Find a list of events within the specified date range. (Android only)
Param | Type | Details |
---|---|---|
startDate |
Date
|
The start dateOptional |
endDate |
Date
|
The end dateOptional |
Returns: Promise<any>
Returns a Promise that resolves with the list of events, or rejects with an error.
listCalendars()
Get a list of all calendars.
Returns: Promise<any>
A Promise that resolves with the list of calendars, or rejects with an error.
findAllEventsInNamedCalendar()
Platforms:iOS
Get a list of all future events in the specified calendar. (iOS only)
Returns: Promise<any>
Returns a Promise that resolves with the list of events, or rejects with an error.
modifyEvent(title, location, notes, startDate, endDate, newTitle, newLocation, newNotes, newStartDate, newEndDate)
Platforms:iOS
Modify an event. (iOS only)
Param | Type | Details |
---|---|---|
title |
string
|
The event titleOptional |
location |
string
|
The event locationOptional |
notes |
string
|
The event notesOptional |
startDate |
Date
|
The event start dateOptional |
endDate |
Date
|
The event end dateOptional |
newTitle |
string
|
The new event titleOptional |
newLocation |
string
|
The new event locationOptional |
newNotes |
string
|
The new event notesOptional |
newStartDate |
Date
|
The new event start dateOptional |
newEndDate |
Date
|
The new event end dateOptional |
Returns: Returns a Promise
modifyEventWithOptions(title, location, notes, startDate, endDate, newTitle, newLocation, newNotes, newStartDate, newEndDate, filterOptions, newOptions)
Platforms:iOS
Modify an event with additional options. (iOS only)
Param | Type | Details |
---|---|---|
title |
string
|
The event titleOptional |
location |
string
|
The event locationOptional |
notes |
string
|
The event notesOptional |
startDate |
Date
|
The event start dateOptional |
endDate |
Date
|
The event end dateOptional |
newTitle |
string
|
The new event titleOptional |
newLocation |
string
|
The new event locationOptional |
newNotes |
string
|
The new event notesOptional |
newStartDate |
Date
|
The new event start dateOptional |
newEndDate |
Date
|
The new event end dateOptional |
filterOptions |
CalendarOptions
|
Event Options, see |
newOptions |
CalendarOptions
|
New event options, see |
Returns: Returns a Promise
deleteEvent(title, location, notes, startDate, endDate)
Delete an event.
Param | Type | Details |
---|---|---|
title |
string
|
The event titleOptional |
location |
string
|
The event locationOptional |
notes |
string
|
The event notesOptional |
startDate |
Date
|
The event start dateOptional |
endDate |
Date
|
The event end dateOptional |
Returns: Returns a Promise
deleteEventFromNamedCalendar(title, location, notes, startDate, endDate, calendarName)
Platforms:iOS
Delete an event from the specified Calendar. (iOS only)
Param | Type | Details |
---|---|---|
title |
string
|
The event titleOptional |
location |
string
|
The event locationOptional |
notes |
string
|
The event notesOptional |
startDate |
Date
|
The event start dateOptional |
endDate |
Date
|
The event end dateOptional |
calendarName |
string
|
Returns: Returns a Promise
openCalendar(date)
Open the calendar at the specified date.
Param | Type | Details |
---|---|---|
date |
Date
|
The date you want to open the calendar on |
Returns: Promise<any>
Promise returns a promise
CalendarOptions
Param | Type | Details |
---|---|---|
id |
string
|
Id (optional) |
firstReminderMinutes |
number
|
(optional) |
secondReminderMinutes |
number
|
(optional) |
recurrence |
string
|
Recurrence. Can be set to |
recurrenceInterval |
number
|
Recurrence interval. Valid only when |
recurrenceEndDate |
Date
|
Recurrence end date. Valid only when |
calendarName |
string
|
Calendar name. Ths is supported by |
calendarId |
number
|
Calendar id (optional) |
url |
string
|
URL (optional) |
NameOrOptions
Param | Type | Details |
---|---|---|
calendarName |
string
|
Calendar name (optional) |
calendarColor |
string
|
Calendar color as a HEX string (optional) |