npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-native-calendar-reminders

v1.1.2

Published

React Native module for IOS EventKit Reminders

Downloads

20

Readme

React Native Calendar Reminders

React Native Module for IOS Calendar Reminders

Install

npm install --save react-native-calendar-reminders

Link Library

react-native link react-native-calendar-reminders

plist - Usage Description

Setting up privacy usage descriptions may also be require depending on which iOS version is supported. This involves updating the Property List, Info.plist, with the corresponding key for the EKEventStore api. Info.plist reference.

For updating the Info.plist key/value via Xcode, add a Privacy - Reminders Usage Description key with a usage description as the value.

Usage

Require the react-native-calendar-reminders module.

import RNCalendarReminders from 'react-native-calendar-reminders';
  • React-Native 0.40 and above use 1.1.0 and above
  • React-Native 0.39 and below use 1.0.0 and below

Properties

| Property | Value | Description | | :--------------- | :---------------- | :----------- | | id | String (read only) | Unique id for the reminder. | | calendarId | String (write only)| Unique id for the calendar where the reminder will be saved. Defaults to the device's default calendar. | | title | String | The title for the reminder. | | startDate | Date | The start date of the reminder. | | dueDate | Date | The date by which the reminder should be completed. | | completionDate | Date (read only) | The date on which the reminder was completed. | | location | String | The location associated with the reminder. | | notes | String | The notes associated with the reminder. | | alarms | Array | The alarms associated with the reminder, as an array of alarm objects. | | recurrence | String | The simple recurrence frequency of the reminder ['daily', 'weekly', 'monthly', 'yearly']. | | recurrenceInterval | String | The interval between instances of this recurrence. For example, a weekly recurrence rule with an interval of 2 occurs every other week. Must be greater than 0. | | isCompleted | Bool | A Boolean value determining whether or not the reminder is marked completed. | | calendar | Object (read-only) | The calendar containing the reminder. |

authorizationStatus

Get authorization status for IOS EventStore.

RNCalendarReminders.authorizationStatus()

Returns: Promise

  • fulfilled: String - denied, restricted, authorized or undetermined
  • rejected: Error

Example:

RNCalendarReminders.authorizationStatus()
  .then(status => {
    // handle status
  })
  .catch(error => {
   // handle error
  });

authorizeEventStore

Request authorization to IOS EventStore. Authorization must be granted before accessing calendar events.

RNCalendarReminders.authorizeEventStore()

Returns: Promise

  • fulfilled: String - denied, restricted, authorized or undetermined
  • rejected: Error

Example:

RNCalendarReminders.authorizeEventStore()
  .then(status => {
    // handle status
  })
  .catch(error => {
   // handle error
  });

findReminderById

Find calendar reminder by id. Returns a promise fulfilled with found reminder.

RNCalendarReminders.findEventById(id)

Parameters:

  • id: String - The reminder's unique id.

Returns: Promise

  • fulfilled: Object | null - reminder.
  • rejected: Error

Example:

RNCalendarReminders.findEventById('FE6B128F-C0D8-4FB8-8FC6-D1D6BA015CDE')
  .then(event => {
    // handle reminder
  })
  .catch(error => {
   // handle error
  });

fetchAllReminders

Find all reminders.

RNCalendarReminders.fetchAllReminders()

Returns: Promise

  • fulfilled: Array - List of reminders
  • rejected: Error

Example:

RNCalendarReminders.fetchAllReminders()
  .then(reminders => {
    // handle reminders
  })
  .catch(error => {
   // handle error
  });

fetchCompletedReminders

Finds completed reminders in a set of calendars within an optional range.

RNCalendarReminders.fetchCompletedReminders()

Parameters:

  • startDate: Date - The starting bound of the range to search.
  • endDate: Date - The ending bound of the range to search.

Returns: Promise

  • fulfilled: Array - List of completed reminders from range
  • rejected: Error

Example:

RNCalendarReminders.fetchCompletedReminders(startDate, endDate)
  .then(reminders => {
    // handle reminders
  })
  .catch(error => {
   // handle error
  });

fetchIncompleteReminders

Finds incomplete reminders in a set of calendars within an optional range.

RNCalendarReminders.fetchIncompleteReminders(startDate, endDate)

Parameters:

  • startDate: Date - The starting bound of the range to search.
  • endDate: Date - The ending bound of the range to search.

Returns: Promise

  • fulfilled: Array - List of incomplete reminders from range
  • rejected: Error

Example:

RNCalendarReminders.fetchIncompleteReminders(startDate, endDate)
  .then(reminders => {
    // handle reminders
  })
  .catch(error => {
   // handle error
  });

saveReminder

Creates a new reminder.

RNCalendarReminders.saveReminder(title, settings);

Parameters:

  • title: String - The title of the reminder.
  • settings: Object - The settings for the reminder. See available properties above.

Returns: Promise

  • fulfilled: String - ID of created reminder
  • rejected: Error

Example:

RNCalendarReminders.saveReminder('title', {
    location: 'location',
    notes: 'notes',
    startDate: '2016-10-01T09:45:00.000UTC'
  })
  .then(id => {
    // handle success
  })
  .catch(error => {
   // handle error
  });

Create reminder with alarms

Alarm options:

| Property | Value | Description | | :--------------- | :------------------| :----------- | | date | Date or Number | If a Date is given, an alarm will be set with an absolute date. If a Number is given, an alarm will be set with a relative offset (in minutes) from the start date. | | structuredLocation | Object | The location to trigger an alarm. |

Alarm structuredLocation properties:

| Property | Value | Description | | :--------------- | :------------------| :----------- | | title | String | The title of the location.| | proximity | String | A value indicating how a location-based alarm is triggered. Possible values: enter, leave, none. | | radius | Number | A minimum distance from the core location that would trigger the reminder's alarm. | | coords | Object | The geolocation coordinates, as an object with latitude and longitude properties |

Example with date:

RNCalendarReminders.saveReminder('title', {
  location: 'location',
  notes: 'notes',
  startDate: '2016-10-01T09:45:00.000UTC',
  alarms: [{
    date: -1 // or absolute date
  }]
});

Example with structuredLocation:

RNCalendarReminders.saveReminder('title', {
  location: 'location',
  notes: 'notes',
  startDate: '2016-10-01T09:45:00.000UTC',
  alarms: [{
    structuredLocation: {
      title: 'title',
      proximity: 'enter',
      radius: 500,
      coords: {
        latitude: 30.0000,
        longitude: 97.0000
      }
    }
  }]
});

Example with recurrence:

RNCalendarReminders.saveReminder('title', {
  location: 'location',
  notes: 'notes',
  startDate: '2016-10-01T09:45:00.000UTC',
  alarms: [{
    date: -1 // or absolute date
  }],
  recurrence: 'daily'
});

Example with recurrenceInterval:

RNCalendarReminders.saveReminder('title', {
  location: 'location',
  notes: 'notes',
  startDate: '2016-10-01T09:45:00.000UTC',
  alarms: [{
    date: -1 // or absolute date
  }],
  recurrence: 'weekly',
  recurrenceInterval: '2'
});

updateReminder

Updates an existing reminder.

RNCalendarReminders.updateReminder(id, settings)

Parameters:

  • id: String - The unique ID of the reminder to edit.
  • settings: Object - The settings for the reminder. See available properties above.

Returns: Promise

  • fulfilled: String - ID of updated reminder
  • rejected: Error

Example:

RNCalendarReminders.updateReminder('465E5BEB-F8B0-49D6-9174-272A4E5DEEFC', {
    title: 'another title',
    startDate: '2016-10-01T09:55:00.000UTC',
  })
  .then(id => {
    // handle success
  })
  .catch(error => {
   // handle error
  });

Or save save the reminder again with id property set in the optional settings.

Example:

RNCalendarReminders.saveReminder('title', {
    id: 'id',
    location: 'location',
    notes: 'notes',
    startDate: '2016-10-02T09:45:00.000UTC'
  })
  .then(id => {
    // handle success
  })
  .catch(error => {
   // handle error
  });

addAlarms

Update reminder with alarms. This will overwrite any alarms already set on the reminder.

RNCalendarReminders.addAlarms(id, alarms)

Parameters:

  • id: String - The unique ID of the reminder to add alarms to.
  • alarm: Objec - Alarm to add to reminder. See available alarm properties above.

Returns: Promise

  • fulfilled: String - ID of reminder with alarms
  • rejected: Error
RNCalendarReminders.addAlarms('465E5BEB-F8B0-49D6-9174-272A4E5DEEFC', [{
    date: -2 // or absolute date
  }])
  .then(id => {
    // handle success
  })
  .catch(error => {
   // handle error
  });

addAlarm

Update reminder with added alarm

RNCalendarReminders.addAlarm(id, alarm)

Parameters:

  • id: String - The unique ID of the reminder to add alarms to.
  • alarms: Array - List of alarms to add to reminder. See available alarm properties above.

Returns: Promise

  • fulfilled: String - ID of reminder with alarms
  • rejected: Error
RNCalendarReminders.addAlarm('465E5BEB-F8B0-49D6-9174-272A4E5DEEFC', {
    date: -3 // or absolute date
  })
  .then(id => {
    // handle success
  })
  .catch(error => {
   // handle error
  });

removeReminder

Remove existing reminder

Parameters:

  • id: String - The unique ID of the reminder to remove.

Returns: Promise

  • fulfilled: Bool - True if successful
  • rejected: Error
RNCalendarReminders.removeReminder('465E5BEB-F8B0-49D6-9174-272A4E5DEEFC')
.then(successful => {
    // handle success
  })
  .catch(error => {
   // handle error
  });

findCalendars

Finds all the calendars on the device.

RNCalendarReminders.findCalendars();

Returns: Promise

  • fulfilled: Array - A list of known calendars on the device
  • rejected: Error

Example:

RNCalendarEvents.findCalendars()
  .then(calendars => {
    // handle calendars
  })
  .catch(error => {
    // handle error
  });