forceCalendar/Docs
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[], options?: SetEventsOptions) => EventsSetPayloadSnapshot change set
reconcileEvents(events: EventData[], options?: ReconcileOptions) => EventsSetPayloadReconciled change set
getEventsVersion() => numberStore change counter
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() => Array<{ value: string, label: string, offset: string }>Timezone descriptors

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, timedOnly = true) => Event[][]Overlap groups
calculateEventPositions(events: Event[]) => 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

Core setEvents() clears/reloads by default; opt into { reconcile: true } or call reconcileEvents(). Interface snapshots reconcile by default. See snapshot reconciliation.