# calendar-availability-vue **Repository Path**: mirrors_nextcloud/calendar-availability-vue ## Basic Information - **Project Name**: calendar-availability-vue - **Description**: Weekly calendar availability component for Nextcloud apps. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-08 - **Last Updated**: 2026-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # calendar-availability-vue [![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/calendar-availability-vue)](https://api.reuse.software/info/github.com/nextcloud/calendar-availability-vue) Weekly calendar availability component for Nextcloud apps ## Maintainers * [ChristophWurst](https://github.com/ChristophWurst) * [st3iny](https://github.com/st3iny) ## Compatibility matrix `@nextcloud/calendar-availability-vue` | `@nextcloud/vue` | `vue` | Supported? ---------------------------------------|------------------| ----- |----------- 1.x.x | 6.x.x. and 7.x.x | 2 | ❌ (EOL) 2.x.x | 8.x.x | 2 | βœ… 3.x.x | 9.x.x | 3 | βœ… ## Publishing releases Releases are tagged, build and published via a workflow dispatch. 1. Navigate to [https://github.com/nextcloud/calendar-availability-vue/actions/workflows/release.yml](https://github.com/nextcloud/calendar-availability-vue/actions/workflows/release.yml). 2. Run workflow and select branch `main` (or `stableX.X`). 3. Wait for a maintainer to approve (or do it yourself). ## Slots data structure The following data structure is used in the front-end. There are helpers to converts from the ical `VAVAILABILITY` structure to this custom structure and back. ### Empty slots If no slots are set yet, each day **must** have an empty array. ```json { "timezoneId": "Europe/Berlin", "slots": { "MO": [], "TU": [], "WE": [], "TH": [], "FR": [], "SA": [], "SU": [], } } ``` ### Real world example The following example shows a Mo-Fr schedule. ```json { "timezoneId": "Europe/Berlin", "slots":{ "MO": [ { "start": 1637568000, "end": 1637578800, }, { "start": 1637582400, "end": 1637596800, } ], "TU": [ { "start": 1637568000, "end": 1637578800, }, { "start": 1637582400, "end": 1637596800, } ], "WE": [ { "start": 1637568000, "end": 1637578800, }, { "start": 1637582400, "end": 1637596800, } ], "TH": [ { "start": 1637568000, "end": 1637578800, }, { "start": 1637582400, "end": 1637596800, } ], "FR": [ { "start": 1637568000, "end": 1637578800, }, { "start": 1637582400, "end": 1637589600, } ], "SA": [], "SU": [], } } ``` ## Development setup If you want to work on improving the components it’s best to run the latest code and link it to your local Nextcloud installation: 1. Install the dependencies with `npm ci` 2. Build the components every time you do changes: `npm run build` 3. Connect it to your local Nextcloud development setup: - In this repository do `npm link` - In the repository of an app do `npm link @nextcloud/calendar-availability-vue` (you need to re-link any time you do `npm ci` in the app) 4. Then build the app with: `npm run build` (or watch for changes with `npm run watch`)