Scheduler - Events Reference

Reference tables for Scheduler interaction, overlay, resource, and appointment events.

#Import

import { Scheduler } from '@primeui/vue-scheduler';

#Events

Scheduler emits user actions and normalized payloads. Keep the source of truth in application state. Accept a payload, write the change to the store or backend, then replace events, resources, selection, or date props with the accepted value.

Vue templates use kebab-case listener names: eventDrop in the type metadata is handled as @event-drop, quickInfoEdit as @quick-info-edit, and so on.

import type { EventDropPayload, SchedulerDateSelectPayload } from '@primeui/vue-scheduler';
EventWhen it firesPayload fields
view-changeThe active view changesview, dateRange
date-changeNavigation changes the focused dateDate
dates-changeThe rendered range changesstart, end
<Scheduler.Root :view="view" :date="date" @view-change="({ view: nextView }) => (view = nextView)" @date-change="(nextDate) => (date = nextDate)" />

#Date Selection

EventWhen it firesPayload fields
date-clickA date, time slot, or resource cell is activateddate, dateStr, view, resource, jsEvent
date-dblclickA date or slot is double-clickedSame shape as date-click
date-selectA selectable range is completedstart, end, startStr, endStr, allDay, view, resource, jsEvent
date-unselectSelection is clearedview
selection-changeSelected date list or range changesselectedDates, selectedRange
function onDateSelect(payload: SchedulerDateSelectPayload<MouseEvent>) {
    draft.value = { start: payload.start, end: payload.end, allDay: payload.allDay === true };
}

#Event Interaction

EventWhen it firesPayload fields
event-clickAn event is activatedevent, el, jsEvent, view
event-dblclickAn event is double-clickedSame shape as event-click
event-mouseenterPointer enters an eventevent, el, jsEvent, view
event-mouseleavePointer leaves an eventevent, el, jsEvent, view
event-selection-changeSelected events changeselectedIds, events
event-selection-limit-reachedA selection cap rejects an eventselectedIds, maxSelection

#Editing

EventWhen it firesPayload fields
event-drag-startEvent drag beginsevent, jsEvent, view
event-dragEvent drag movesevent, drag coordinates, jsEvent, view
event-drag-stopEvent drag interaction endsevent, jsEvent, view
event-dropEvent is dropped on a valid targetevent, oldEvent, delta, newStart, newEnd, newResource, revert, view
event-resource-changeEvent moves between resourcesevent, oldResourceId, newResourceId, resource objects, oldEvent, revert
event-resize-startResize beginsevent, jsEvent, view
event-resizeResize movesevent, startDelta, endDelta, jsEvent, view
event-resize-stopResize completesevent, oldEvent, startDelta, endDelta, revert, view
event-title-changeInline title editing completesevent, oldTitle, newTitle, view
inline-edit-startInline editing startsevent, field, el, view
inline-edit-saveInline editing is savedevent, field, oldValue, newValue, recurrence fields, view
inline-edit-cancelInline editing is canceledevent, field, view

Use revert() when the parent rejects a drag or resize after validation.

async function onEventDrop(payload: EventDropPayload) {
    const accepted = await saveEvent(payload.event);

    if (!accepted) {
        payload.revert();
        events.value = events.value.map((event) => (event.id === payload.oldEvent.id ? payload.oldEvent : event));
    }
}

#Bulk Actions

EventWhen it firesPayload fields
bulk-moveA selected event set moves togetherevents, delta
bulk-updateA selected event set is updated togetherevents, changes
bulk-deleteA selected event set is removed togetherevents

#Data Changes

EventWhen it firesPayload fields
event-addScheduler requests a new eventSchedulerEvent
event-changeScheduler requests an event updateevent, oldEvent
event-removeScheduler requests event removalevent

#Resources

EventWhen it firesPayload fields
resource-clickA resource row, group, or header is activatedresource, jsEvent, view
resource-addA resource is addedresource, parentId
resource-updateA resource is updatedresource, oldResource
resource-removeA resource is removedresource
resource-expandA resource group expandsresource, expanded
resource-collapseA resource group collapsesresource
resources-refetchScheduler asks the app to reload resourcesEmpty object
adaptive-auto-selectAdaptive resource mode selects a visible leaf automaticallyresource

#Overlays

EventWhen it firesPayload fields
more-clickA dense cell overflow link opensdate, resource, events, jsEvent, view, sourceView
quick-info-showQuick info opensevent, el, view
quick-info-hideQuick info closesevent, view
quick-info-editQuick info edit action firesevent, recurrence fields, view
quick-info-deleteQuick info delete action firesevent, recurrence fields, view
context-menu-showContext menu opensMenu target, event or date context, resource context, native event

#Recurrence

EventWhen it firesPayload fields
recurrence-editA recurring edit scope is chosensource, scope, occurrence, series, changes, result, view
recurrence-deleteA recurring delete scope is chosensource, scope, occurrence, series, result, view

#Appointment Slots

EventWhen it firesPayload fields
slot-clickAn appointment slot is activatedslot, jsEvent, view
slot-bookA slot booking is addedslot, event, view
slot-cancelA slot booking is removedslot, event, view

#Conflicts

EventWhen it firesPayload fields
conflict-detectedA proposed event conflicts with constraintsconflicts, event, canProceed
capacity-exceededA resource capacity limit is exceededresourceId, current, max

Conflict events only fire when the relevant constraint, capacity, or resource-conflict options are configured.