No description
Find a file
Grigory Vodyanov 3c8dad65dd
Merge pull request #437 from nextcloud/dependabot/npm_and_yarn/vite-6.4.1
chore(deps-dev): bump vite from 6.3.6 to 6.4.1
2025-10-21 10:32:42 +02:00
.github chore(deps): bump actions/checkout digest to 08eba0b 2025-10-01 00:39:12 +00:00
LICENSES ci(reuse): Add reuse check 2024-11-16 15:23:10 +01:00
src style(icon): Migrate MDI to Material Symbol outline variant 2025-09-05 18:37:37 +02:00
.eslintrc.cjs docs(reuse): Add SPDX header 2024-11-16 15:23:09 +01:00
.gitignore docs(reuse): Add SPDX header 2024-11-16 15:23:09 +01:00
.npmignore docs(reuse): Add SPDX header 2024-11-16 15:23:09 +01:00
AUTHORS.md docs(reuse): Add SPDX header 2024-11-16 15:23:09 +01:00
CHANGELOG.md chore(release): v3.0.0 [skip ci] 2025-09-19 07:02:00 +00:00
LICENSE Initial commit 2021-11-16 15:19:31 +01:00
package-lock.json chore(deps-dev): bump vite from 6.3.6 to 6.4.1 2025-10-21 04:56:22 +00:00
package.json chore(deps): bump @nextcloud/vue from 9.0.0 to ^9.0.1 2025-10-11 00:29:27 +00:00
README.md chore(readme): document release process 2025-07-22 18:09:29 +02:00
renovate.json chore(config): migrate config renovate.json 2025-06-23 10:21:44 +02:00
REUSE.toml chore(reuse): add missing license information for CHANGELOG.md 2025-01-06 09:53:35 +01:00
vite.config.js docs(reuse): Add SPDX header 2024-11-16 15:23:09 +01:00

calendar-availability-vue

REUSE status

Weekly calendar availability component for Nextcloud apps

Maintainers

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

{
    "timezoneId": "Europe/Berlin",
    "slots": {
        "MO": [],
        "TU": [],
        "WE": [],
        "TH": [],
        "FR": [],
        "SA": [],
        "SU": [],
    }
}

Real world example

The following example shows a Mo-Fr schedule.

{
    "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 its 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)