Skip to main content

Calendar

EOL Notice

Calendar will reach its end-of-life on July 1, 2024, and will no longer receive updates or support. Please see Support Policy for additional information.

The Calendar plugin allows you to add events to the system calendar of the mobile device.

Installation

If you have not already setup Ionic Enterprise in your app, follow the one-time setup steps.

Next, install the plugin:

npm install @ionic-enterprise/calendar
npx cap sync

Index

Classes

Interfaces


Classes

Calendar

Calendar:

name: Calendar

description: This plugin allows you to add events to the Calendar of the mobile device.

usage:

import { Calendar } from '@ionic-enterprise/calendar/ngx';

constructor(private calendar: Calendar) { }

this.calendar.createCalendar('MyCalendar').then(
(msg) => { console.log(msg); },
(err) => { console.log(err); }
);

interfaces: CalendarOptions NameOrOptions

createCalendar

▸ createCalendar(nameOrOptions: string | NameOrOptions): Promise<any>

Create a calendar. (iOS only)

Parameters:

NameTypeDescription
nameOrOptionsstring | NameOrOptionseither 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


createEvent

▸ createEvent(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date): Promise<any>

Silently create an event.

Parameters:

NameType
Optional titlestring
Optional locationstring
Optional notesstring
Optional startDateDate
Optional endDateDate

Returns: Promise<any> Returns a Promise


createEventInteractively

▸ createEventInteractively(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date): Promise<any>

Interactively create an event.

Parameters:

NameType
Optional titlestring
Optional locationstring
Optional notesstring
Optional startDateDate
Optional endDateDate

Returns: Promise<any> Returns a Promise


createEventInteractivelyWithOptions

▸ createEventInteractivelyWithOptions(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date, options?: CalendarOptions): Promise<any>

Interactively create an event with additional options.

Parameters:

NameType
Optional titlestring
Optional locationstring
Optional notesstring
Optional startDateDate
Optional endDateDate
Optional optionsCalendarOptions

Returns: Promise<any>


createEventWithOptions

▸ createEventWithOptions(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date, options?: CalendarOptions): Promise<any>

Silently create an event with additional options.

Parameters:

NameType
Optional titlestring
Optional locationstring
Optional notesstring
Optional startDateDate
Optional endDateDate
Optional optionsCalendarOptions

Returns: Promise<any> Returns a Promise


deleteCalendar

▸ deleteCalendar(name: string): Promise<any>

Delete a calendar. (iOS only)

Parameters:

NameTypeDescription
namestringName of the calendar to delete.

Returns: Promise<any> Returns a Promise


deleteEvent

▸ deleteEvent(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date): Promise<any>

Delete an event.

Parameters:

NameType
Optional titlestring
Optional locationstring
Optional notesstring
Optional startDateDate
Optional endDateDate

Returns: Promise<any> Returns a Promise


deleteEventById

▸ deleteEventById(id: string, fromDate?: Date): Promise<any>

Delete an event by id.

Parameters:

NameType
idstring
Optional fromDateDate

Returns: Promise<any> Returns a Promise


deleteEventFromNamedCalendar

▸ deleteEventFromNamedCalendar(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date, calendarName?: string): Promise<any>

Delete an event from the specified Calendar. (iOS only)

Parameters:

NameTypeDescription
Optional titlestring
Optional locationstring
Optional notesstring
Optional startDateDate
Optional endDateDate
Optional calendarNamestring-

Returns: Promise<any> Returns a Promise


findAllEventsInNamedCalendar

▸ findAllEventsInNamedCalendar(calendarName: string): Promise<any>

Get a list of all future events in the specified calendar. (iOS only)

Parameters:

NameType
calendarNamestring

Returns: Promise<any> Returns a Promise that resolves with the list of events, or rejects with an error.


findEvent

▸ findEvent(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date): Promise<any>

Find an event.

Parameters:

NameType
Optional titlestring
Optional locationstring
Optional notesstring
Optional startDateDate
Optional endDateDate

Returns: Promise<any>


findEventWithOptions

▸ findEventWithOptions(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date, options?: CalendarOptions): Promise<any>

Find an event with additional options.

Parameters:

NameType
Optional titlestring
Optional locationstring
Optional notesstring
Optional startDateDate
Optional endDateDate
Optional optionsCalendarOptions

Returns: Promise<any> Returns a Promise that resolves with the event, or rejects with an error.


getCalendarOptions

▸ getCalendarOptions(): CalendarOptions

Returns the default calendar options.

Returns: CalendarOptions Returns an object with the default calendar options


getCreateCalendarOptions

▸ getCreateCalendarOptions(): NameOrOptions

Returns options for a custom calender with specific color

Returns: NameOrOptions Returns an object with the default options


hasReadPermission

▸ hasReadPermission(): Promise<boolean>

Check if we have read permission

Returns: Promise<boolean>


hasReadWritePermission

▸ hasReadWritePermission(): Promise<boolean>

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>


hasWritePermission

▸ hasWritePermission(): Promise<boolean>

Check if we have write permission

Returns: Promise<boolean>


listCalendars

▸ listCalendars(): Promise<any>

Get a list of all calendars.

Returns: Promise<any> A Promise that resolves with the list of calendars, or rejects with an error.


listEventsInRange

▸ listEventsInRange(startDate: Date, endDate: Date): Promise<any>

Find a list of events within the specified date range. (Android only)

Parameters:

NameType
startDateDate
endDateDate

Returns: Promise<any> Returns a Promise that resolves with the list of events, or rejects with an error.


modifyEvent

▸ modifyEvent(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date, newTitle?: string, newLocation?: string, newNotes?: string, newStartDate?: Date, newEndDate?: Date): Promise<any>

Modify an event. (iOS only)

Parameters:

NameType
Optional titlestring
Optional locationstring
Optional notesstring
Optional startDateDate
Optional endDateDate
Optional newTitlestring
Optional newLocationstring
Optional newNotesstring
Optional newStartDateDate
Optional newEndDateDate

Returns: Promise<any> Returns a Promise


modifyEventWithOptions

▸ modifyEventWithOptions(title?: string, location?: string, notes?: string, startDate?: Date, endDate?: Date, newTitle?: string, newLocation?: string, newNotes?: string, newStartDate?: Date, newEndDate?: Date, filterOptions?: CalendarOptions, newOptions?: CalendarOptions): Promise<any>

Modify an event with additional options. (iOS only)

Parameters:

NameType
Optional titlestring
Optional locationstring
Optional notesstring
Optional startDateDate
Optional endDateDate
Optional newTitlestring
Optional newLocationstring
Optional newNotesstring
Optional newStartDateDate
Optional newEndDateDate
Optional filterOptionsCalendarOptions
Optional newOptionsCalendarOptions

Returns: Promise<any> Returns a Promise


openCalendar

▸ openCalendar(date: Date): Promise<any>

Open the calendar at the specified date.

Parameters:

NameTypeDescription
dateDateThe date you want to open the calendar on

Returns: Promise<any> Promise returns a promise


requestReadPermission

▸ requestReadPermission(): Promise<any>

Request read permission

Returns: Promise<any>


requestReadWritePermission

▸ requestReadWritePermission(): Promise<any>

Requests read/write permissions

Returns: Promise<any>


requestWritePermission

▸ requestWritePermission(): Promise<any>

Request write permission

Returns: Promise<any>



Interfaces

CalendarOptions

CalendarOptions:

<Optional> calendarId

● calendarId: number

Calendar id


<Optional> calendarName

● calendarName: string

Calendar name. Ths is supported by iOS only.


<Optional> firstReminderMinutes

● firstReminderMinutes: number


<Optional> id

● id: string

Id


<Optional> recurrence

● recurrence: string

Recurrence. Can be set to daily, weekly, monthly or yearly


<Optional> recurrenceEndDate

● recurrenceEndDate: Date

Recurrence end date. Valid only when recurrence option is set.


<Optional> recurrenceInterval

● recurrenceInterval: number

Recurrence interval. Valid only when recurrence option is set.


<Optional> secondReminderMinutes

● secondReminderMinutes: number


<Optional> url

● url: string

URL



NameOrOptions

NameOrOptions:

<Optional> calendarColor

● calendarColor: string

Calendar color as a HEX string


<Optional> calendarName

● calendarName: string

Calendar name