TimelineView

Label: :IA_Function
Property: type: TimelineView
Inherits from: Function and View

The TimelineView Function renders a Timeline with events. It is based on vis-timeline.

Function parameters

Key Description Default value Possible values
events.id IDs of all events Array of strings/numbers
events.type Types of all events. See "Visuals" section for examples. Array of strings: box(default) /point/range/background
events.title Titles of all events Array of strings
events.content Contents of all events Array of strings
events.start [Required] Start date/times of all events Array of strings
events.end [Required for type range/background] End date/times of all events Array of strings
events.group ID of the group this event belongs to undefined string
events.{...} Other (optional) event properties Event properties as documented here
groups.{group_id}.content Group label String
groups.{group_id}.{...} Other (optional) group properties Group properties as documented here
timeMarkers Collection of time markers shown on the timeline Collection (object) of time markers
timeMarkers.{marker_id}.datetime Position of time marker as date/time string string
timeMarkers.{marker_id}.title Label that appear on the top-right of the marker string
timeMarkers.{marker_id}.editable Allow the user to edit the title of the marker false true / false
options Settings for the timeline. See "Important Options" below.
state.selected.events An array of event IDs to pre-select when the view is loaded. [] Array of events
visibleRange The initial time interval to display on the screen. Object
visibleRange.start Timestamp (Date instance) of the left-most (currently) visible point in the view Date instance / Epoch time as Number / date as String
visibleRange.end Timestamp (Date instance) of the right-most (currently) visible point in the view Date instance / Epoch time as Number / date as String

Note: Both events and groups can be passed either as:

An array of property objects, e.g.:

events: [
	{id:'event1', title:'My Event'}, 
	{id:'event2', title: 'Other Event'}
]

An object of id-object pairs, e.g.:

events: { 
	event1: {title: 'My Event'}, 
	event2: {title: 'Other Event'}
}

A transposed object of property arrays, e.g.:

events: {
	id: ['event1','event2'], 
	title: ['My Event', 'Other Event']
}

Visuals

The TimelineView can display events in several ways, depending on the type property of the event.

  • box: A box with content. (Default) (Image placeholder: A screenshot of a box event)
  • point: A point on the timeline. (Image placeholder: A screenshot of a point event)
  • range: A colored range on the timeline. (Image placeholder: A screenshot of a range event)
  • background: A colored background area. (Image placeholder: A screenshot of a background event)

Important Options

The options parameter allows you to customize the behavior of the timeline. While all options from the official documentation are supported, here are a few of the most common ones:

Key Description Default value
multiselect If true, the user can select multiple events. false
zoomable If true, the user can zoom in and out of the timeline. true
editable.updateTime If true, the user can drag events to change their time. false
editable.add If true, the user can add new events by double-clicking. false
editable.remove If true, the user can delete events. false

Security

The xss option for sanitizing HTML content is a global setting on the vis-timeline library. If multiple TimelineView instances are running at the same time and at least one has options.xss.disabled NOT true all running timelines will have it enabled (regardless of the state of options.xss.disabled property of each instance).

Outgoing triggers

Type: context

The following context menus are available from the TimelineView:

Menu Occurs when Target value
event User right-clicks an event Right-clicked event data.
group User right-clicks a group Right-clicked group data.
timeline User right-clicks the timeline Right-clicked moment as object with date, time, and dateTime properties.

More info on context menus.


Type: eventClick

Occurrence: When the user clicks an event.

Additional event properties (besides the inherited properties):

Key Description Possible values
data The clicked event Any

Type: eventDoubleClick

Occurrence: When the user double-clicks an event.

Additional event properties (besides the inherited properties):

Key Description Possible values
data The double-clicked event Any

Type: eventMoved

Occurrence: When the user drags and drops an event to a new time.

Additional event properties (besides the inherited properties):

Key Description Possible values
data The moved event with its new time Any

Type: groupClick

Occurrence: When the user clicks a group label.

Additional event properties (besides the inherited properties):

Key Description Possible values
group The ID of the clicked group Any

Type: selectionChanged

Occurrence: When the user selects/unselects one (or multiple) events.

Additional event properties (besides the inherited properties):

Key Description Possible values
events Array with selected events Array of events

Note: by default vis-timeline allows only one selected event at a time. To allow multiple events to be selected set $options.multiselect to true


Type: timelineClick

Occurrence: When the user clicks anywhere on the timeline.

Additional event properties (besides the inherited properties):

Key Description Possible values
time The clicked time Time string
date The clicked date Date string
dateTime The clicked date and time Date and time string
group The group that was clicked (if any) string

Type: timelineDoubleClick

Occurrence: When the user double-clicks anywhere on the timeline.

Additional event properties (besides the inherited properties):

Key Description Possible values
time The double-clicked Time string
date The double-clicked date Date string
dateTime The double-clicked date and time Date and time string
group The group that was double-clicked (if any) string

Type: timeMarkerChange

Occurrence: When the user drags a time marker to a new date/time.

Additional event properties (besides the inherited properties):

Key Description Possible values
data New state of the time marker timeMarker object
key key of the dragged time marker string
old Initial (old) state of the changed time marker timeMarker object

Type: timeMarkerTitleChange

Occurrence: When the user edits a time marker's title

Additional event properties (besides the inherited properties):

Key Description Possible values
data New state of the edited time marker timeMarker object
key key of the edited time marker string
old Initial (old) state of the edited time marker timeMarker object

Type: visibleRangeChange

Occurrence: When the user drags the timeline horizontally. This trigger is only fired when the range is changed by the user.

Additional event properties (besides the inherited properties):

Key Description Possible values
start The start date/time of the visible interval Date instance
end The end date/time of the visible interval Date instance

Complete Example

This example demonstrates how to use the TimelineView in combination with an HtmlView to display details of a selected event.

1. The TimelineView

First, create a TimelineView Function node with some sample events. This timeline will have the multiselect option enabled.

2. The HtmlView

Next, create an HtmlView Function node. This view will display the details of the selected event(s). The template property will be used to format the output.

3. The Trigger

Finally, create a Trigger that connects the TimelineView to the HtmlView. This trigger will fire on the selectionChanged event and update the jsonString property of the HtmlView with the selected event data.

{
    "date": "2025-08-18T14:03:51.825Z",
    "nodes": [
        {
            "id": 209,
            "labels": [
                "IA_Function"
            ],
            "properties": {
                "#events": "evaluate([{
                    \"content\": \"Event 1\",
                    \"id\": \"event1\",
                    \"start\": \"2025-08-01\",
                    \"end\": \"2025-08-02\"
                }, {
                    \"content\": \"Event 2\",
                    \"id\": \"event2\",
                    \"start\": \"2025-08-10\"
                }, {
                    \"content\": \"Event 3\",
                    \"id\": \"event3\",
                    \"start\": \"2025-08-21\",
                    \"end\": \"2025-08-21\"
                }])",
                "name": "My Timeline",
                "options.multiselect": true,
                "type": "TimelineView",
                "uuid": "84b60d57-1d88-4b6e-9ad7-0cc3a7ca8a7a"
            }
        },
        {
            "id": 210,
            "labels": [
                "IA_Function"
            ],
            "properties": {
                "$jsonString": "",
                "template": "<pre>{{{ jsonString }}}</pre>",
                "type": "HtmlView",
                "uuid": "249c793e-52d1-4f88-a149-98b5d6c1cd60"
            }
        }
    ],
    "relations": [
        {
            "id": 383,
            "source": 209,
            "target": 210,
            "from": "84b60d57-1d88-4b6e-9ad7-0cc3a7ca8a7a",
            "to": "249c793e-52d1-4f88-a149-98b5d6c1cd60",
            "type": "TRIGGER",
            "properties": {
                "$jsonString": "evaluate(toJSON((%).events, null, 2))",
                "type": "selectionChanged"
            }
        }
    ]
}