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) |