Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ebarooni/capacitor-calendar
The Capacitor Calendar Plugin enables full calendar functionality on iOS and Android, with added reminder support for iOS devices.
https://github.com/ebarooni/capacitor-calendar
android angular calendar capacitor capacitor-plugin eventkit ionic ios kotlin native reminders swift typescript
Last synced: about 1 month ago
JSON representation
The Capacitor Calendar Plugin enables full calendar functionality on iOS and Android, with added reminder support for iOS devices.
- Host: GitHub
- URL: https://github.com/ebarooni/capacitor-calendar
- Owner: ebarooni
- License: mit
- Created: 2024-02-02T22:13:27.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-04-13T21:50:37.000Z (8 months ago)
- Last Synced: 2024-04-14T05:02:33.859Z (8 months ago)
- Topics: android, angular, calendar, capacitor, capacitor-plugin, eventkit, ionic, ios, kotlin, native, reminders, swift, typescript
- Language: TypeScript
- Homepage: https://capacitor-calendar.pages.dev
- Size: 5.2 MB
- Stars: 3
- Watchers: 1
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-capacitor - Capacitor Calendar - A plugin for interacting with calendar and reminders. (Other plugins)
- awesome-capacitorjs - @ebarooni/capacitor-calendar - Capacitor plugin for interacting with calendar and reminders. (Plugins / Community Plugins)
README
The Capacitor Calendar Plugin enables full calendar functionality on iOS and Android, with added reminder support for iOS devices.
https://capacitor-calendar.pages.dev
Documentation
ยท
Capacitor Compatibility
ยท
Deployment Targets
## Table of Contents
- [Installation](#installation)
- [Stable](#stable)
- [Capacitor 6](#capacitor-6)
- [Capacitor 5](#capacitor-5)
- [Development](#development)
- [Setup](#setup)
- [Install](#install-1)
- [Demo](#demo--click-for-details-)
- [Permissions](#permissions)
- [API](#-api)
- [Documentation](#-documentation)
- [Contributions](#-contributions)## Installation
To use this package, follow the instructions for installing either the stable or development release.
Stable releases are recommended for production, while development releases provide access to the latest features and
fixes which are still under development.### Stable
The stable releases are published to the npm package registry.
#### Capacitor 6
```bash
npm install @ebarooni/capacitor-calendar@latest
npx cap sync
```#### Capacitor 5
> [!IMPORTANT]
> This plugin no longer receives updates for Capacitor v5 and only supports the latest version.```bash
npm install @ebarooni/capacitor-calendar@^5
npx cap sync
```### Development
Development releases are published to the GitHub package registry. These releases are automatically generated from the
latest state of the `develop branch every time a pull request is merged into it.> [!WARNING]
> Development releases are not recommended for production use as they may contain untested or experimental changes.#### Setup
Create an `.npmrc` file and place it in the root of your project with the following content:
```
//npm.pkg.github.com/:_authToken=$GITHUB_PAT
@ebarooni:registry=https://npm.pkg.github.com
always-auth=true
```Replace `$GITHUB_PAT` with your own personal access token with at least `read:packages` scope.
#### Install
```bash
npm install @ebarooni/capacitor-calendar
npx cap sync
```## [Demo (click for details)](./example/README.md)
| iOS 17 | Android 14 |
| :------------------------------------: | :----------------------------------------: |
| ![](./example/src/assets/ios-demo.gif) | ![](./example/src/assets/android-demo.gif) |On iOS, `readCalendar` permission is not needed when you a
re creating an event using the native prompt.
The video is just for showing the functionality, otherwise the `createEventWithPrompt` method works without the `readCalendar` authorization.## Permissions
To be able to use the plugin, you will need to add the required usage descriptions to your app. The required platform-specific
usage descriptions can be found below:- [iOS](./docs/usage-descriptions/ios.md)
- [Android](./docs/usage-descriptions/android.md)## ๐ API
- [`checkPermission(...)`](#checkpermission)
- [`checkAllPermissions()`](#checkallpermissions)
- [`requestPermission(...)`](#requestpermission)
- [`requestAllPermissions()`](#requestallpermissions)
- [`createEventWithPrompt(...)`](#createeventwithprompt)
- [`selectCalendarsWithPrompt(...)`](#selectcalendarswithprompt)
- [`listCalendars()`](#listcalendars)
- [`getDefaultCalendar()`](#getdefaultcalendar)
- [`createEvent(...)`](#createevent)
- [`getDefaultRemindersList()`](#getdefaultreminderslist)
- [`getRemindersLists()`](#getreminderslists)
- [`createReminder(...)`](#createreminder)
- [`openCalendar(...)`](#opencalendar)
- [`openReminders()`](#openreminders)
- [`listEventsInRange(...)`](#listeventsinrange)
- [`deleteEventsById(...)`](#deleteeventsbyid)
- [`createCalendar(...)`](#createcalendar)
- [`deleteCalendar(...)`](#deletecalendar)
- [`getRemindersFromLists(...)`](#getremindersfromlists)
- [`deleteRemindersById(...)`](#deleteremindersbyid)
- [`requestWriteOnlyCalendarAccess()`](#requestwriteonlycalendaraccess)
- [`requestReadOnlyCalendarAccess()`](#requestreadonlycalendaraccess)
- [`requestFullCalendarAccess()`](#requestfullcalendaraccess)
- [`requestFullRemindersAccess()`](#requestfullremindersaccess)
- [`modifyEventWithPrompt(...)`](#modifyeventwithprompt)
- [`modifyEvent(...)`](#modifyevent)
- [`fetchAllCalendarSources()`](#fetchallcalendarsources)
- [`fetchAllRemindersSources()`](#fetchallreminderssources)
- [`modifyReminder(...)`](#modifyreminder)
- [Interfaces](#interfaces)
- [Type Aliases](#type-aliases)
- [Enums](#enums)## ๐ Documentation
For comprehensive explanations, usage examples, and additional information, please refer to the following resources:
- **[Online Documentation](https://ebarooni.github.io/capacitor-calendar/)**
- **[API Reference](docs/api-reference.md)**
- **[Type Definitions and Examples](src/definitions.ts)**## ๐ Contributions
> [!NOTE]
> Thank you for your interest in contributing to the project! At the moment, the focus is on reaching the first major
> release. Until then, the contributions will not be accepted. This approach allows to set a solid
> foundation and maintain consistency throughout the development process.
>
> Community input is highly valued, and you are encouraged to engage with the project by providing feedback and suggestions.
> Feel free to open issues for bugs you've discovered or enhancements you'd like to see.
>
> Stay tuned for updates. Looking forward to collaborating with you in the future once contributions are opened up!