Skip to content

Melzas/vue-ics

 
 

Repository files navigation

Awesome npm version Total alerts Language grade: JavaScript Conventional Commits

vue-ics

Vue.js plugin for generating ICalendar (.ics) files.

Installation

NPM
npm install vue-ics --save
Vue
import Vue from 'vue'
import ICS from 'vue-ics'

Vue.use(ICS, options)

Initialising options (optional)

{string} uidDomain - Your domain

{string} prodId - Product ID

Create event

{string} language - Language in format en-us (default)

{string} subject - Subject/Title of event

{string} description - Description of event

{string} location - Location of event

{string} begin - Beginning date of event

{string} stop - Ending date of event

{string} url - URL (optional)

{object} organizer - Organizer

  {string} name - Organizer name

  {string} email - Organizer email

{RRule} rrule - Reccurence rule (optional)

this.$ics.addEvent(language, subject, description, location, begin, stop, url, organizer, rrule)

You can add one or more events.

Reccurence rule

You can add recurrence rule for your event. Event will be repeat as you want.

const rrule = {
   freq: 'WEEKLY',
   until: until,
   interval: 1
}

Parameters:

{string} freq - Required. The frequency of event recurrence. Can be DAILY, WEEKLY, MONTHLY, or YEARLY.

{string | number | Date} until - date stringA date string representing the date on which to end repitition. Must be friendly to Date()

{number} interval - The interval of freq to recur at. For example, if freq is WEEKLY and interval is 2, the event will repeat every 2 weeks

{array} byday - Which days of the week the event is to occur. An array containing any of SU, MO, TU, WE, TH, FR, SA

Remove all events from the calendar

this.$ics.removeAllEvents()

Get calendar with events as string

this.$ics.calendar()

##Download calendar file

this.$ics.download(fileName)

{string} fileName - name of file without extension (will be *.ics)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 80.7%
  • Vue 14.2%
  • HTML 5.1%