forceCalendar
API Reference

Calendar

API reference for the Calendar class.

import { Calendar } from '@forcecalendar/core';

Constructor

new Calendar(config?: CalendarConfig)
ParamTypeDefault
config.view'month' | 'week' | 'day' | 'list''month'
config.dateDatenew Date()
config.weekStartsOnnumber0
config.localestring'en-US'
config.timeZonestringSystem timezone
config.showWeekNumbersbooleanfalse
config.showWeekendsbooleantrue
config.fixedWeekCountbooleantrue
config.businessHours{ start: string, end: string }{ start: '09:00', end: '17:00' }
config.eventsEventData[]undefined

View Methods

MethodSignatureReturns
setView(viewType: string, date?: Date) => void
getView() => stringCurrent view type
getViewData() => ViewDataStructured view data
MethodSignatureReturns
next() => void
previous() => void
today() => void
goToDate(date: Date) => void

Event CRUD

MethodSignatureReturns
addEvent(eventData: EventData) => EventCreated Event
updateEvent(eventId: string, updates: Partial<EventData>) => EventUpdated Event
removeEvent(eventId: string) => void
getEvent(eventId: string) => Event | undefinedEvent or undefined
getEvents() => Event[]All events
setEvents(events: EventData[]) => void
queryEvents(filters: QueryFilters) => Event[]Filtered events
getEventsForDate(date: Date, timezone?: string) => Event[]Events on date
getEventsInRange(start: Date, end: Date, timezone?: string) => Event[]Events in range

Timezone Methods

MethodSignatureReturns
setTimezone(timezone: string) => void
getTimezone() => stringIANA timezone
convertTimezone(date: Date, from: string, to: string) => DateConverted date
toCalendarTimezone(date: Date, from?: string) => DateDate in calendar tz
fromCalendarTimezone(date: Date, to?: string) => DateDate in target tz
formatInTimezone(date: Date, tz?: string, options?: object) => stringFormatted string
getTimezones() => string[]IANA timezone list

Configuration Methods

MethodSignatureReturns
setLocale(locale: string) => void
setWeekStartsOn(weekStartsOn: number) => void

Selection Methods

MethodSignatureReturns
selectEvent(eventId: string) => void
clearEventSelection() => void
selectDate(date: Date) => void
clearDateSelection() => void

Conflict Detection

MethodSignatureReturns
getOverlapGroups(date?: Date, tz?: string) => Event[][]Overlap groups
calculateEventPositions(date?: Date, tz?: string) => MapPosition map

Event System

MethodSignatureReturns
on(eventName: string, callback: Function) => void
off(eventName: string, callback: Function) => void

Plugins

MethodSignatureReturns
use(plugin: { install: Function }) => void

Lifecycle

MethodSignatureReturns
destroy() => void

Events Emitted

viewChange, navigate, eventAdd, eventUpdate, eventRemove, eventsSet, stateChange, eventStoreChange, timezoneChange, localeChange, weekStartsOnChange, eventSelect, eventDeselect, dateSelect, dateDeselect, destroy

Properties

PropertyTypeDescription
eventStoreEventStoreInternal event store
stateStateManagerInternal state manager
timezoneManagerTimezoneManagerTimezone singleton
configobjectResolved configuration