v7.3.0

EventMenu
Feature

Displays a context menu for events. Items are populated by other features and/or application code.

Default event menu items

Here is the list of menu items provided by the feature and populated by the other features:

Reference Text Weight Feature Description
editEvent Edit event 100 EventEdit Edit event in the event editor. Hidden when read-only
showDetails Edit event 100 EventEdit Show event in a non-editable form. Hidden when not read-only
copyEvent Copy event 110 EventCopyPaste Copy event or assignment. Hidden when read-only
cutEvent Cut event 120 EventCopyPaste Cut event or assignment. Hidden when read-only
unassignEvent Unassign event 300 This feature Unassign event. Hidden when read-only, shown for multi-assignment
deleteEvent Delete event 500 This feature Remove event. Hidden when read-only
splitEvent Split event 650 Scheduler Pro only Split an event into two segments at the mouse position
renameSegment Rename segment 660 Scheduler Pro only Show an inline editor to rename the segment
eventColor ¹ Color 400 This feature Choose background color for the event bar

¹ Set showEventColorPickers to true to enable this item

Customizing the menu items

The menu items in the Event menu can be customized, existing items can be changed or removed, and new items can be added. This is handled using the items config of the feature.

Add extra items for all events:

const scheduler = new Scheduler({
    features : {
        eventMenu : {
            items : {
                extraItem : {
                    text : 'Extra',
                    icon : 'fa fa-fw fa-flag',
                    onItem({eventRecord}) {
                        eventRecord.flagged = true;
                    }
                }
            }
        }
    }
});

Remove existing items:

const scheduler = new Scheduler({
    features : {
        eventMenu : {
            items : {
                deleteEvent   : false,
                unassignEvent : false
            }
        }
    }
});

Customize existing item:

const scheduler = new Scheduler({
    features : {
        eventMenu : {
            items : {
                deleteEvent : {
                    text : 'Delete booking'
                }
            }
        }
    }
});

Manipulate existing items for all events or specific events:

const scheduler = new Scheduler({
    features : {
        eventMenu : {
            // Process items before menu is shown
            processItems({eventRecord, items}) {
                 // Push an extra item for conferences
                 if (eventRecord.type === 'conference') {
                     items.showSessionItem = {
                         text : 'Show sessions',
                         onItem({eventRecord}) {
                             // ...
                         }
                     };
                 }

// Do not show menu for secret events if (eventRecord.type === 'secret') { return false; } } } } });

The processItems implementation may be an async function which awaits a result to mutate the items object.

Note that the menuContext is applied to the Menu's item event, so your onItem handler's single event parameter also contains the following properties:

Video guides

Full information of the menu customization can be found in the "Customizing the Event menu, the Schedule menu, and the TimeAxisHeader menu" guide.

This feature is enabled by default.

Useful configs and functions

Member Description
items Menu items configuration object
eventMenuBeforeShow Fires before menu is shown
eventMenuItem Fires when a menu item is clicked
eventMenuShow Fires after menu is shown

See also

No results

Configs

Configs are options you supply in a configuration object when creating an instance of this class

Properties

Properties are getters/setters or publicly accessible variables on this class

Functions

Functions are methods available for calling on the class

    Events

    Events are triggered for certain actions in this class and can be listened for to react to those actions in your code

    Event handlers

    Event handlers are callbacks called as a result of certain actions in this class

    Type definitions

    id: eventMenu

    Source path

    Scheduler/feature/EventMenu.js

    Demo

    examples/eventmenu

    Contents