Skip to content
import ChronologicalLayoutSettings from "@arcgis/core/linkChart/ChronologicalLayoutSettings.js";
Inheritance:
ChronologicalLayoutSettingsAccessor
Since
ArcGIS Maps SDK for JavaScript 4.32

Chronological layouts arrange entities and relationships using time. Entities with time properties, called event entities, and relationships with time properties, called event relationships, will be arranged on one or multiple timelines in the order that they occurred. The entity type or relationship type must have a time property and the layer must be time enabled for an entity or relationship to be considered an event. By default the time direction starts with the oldest date on the left and the newest date on the right. These layouts include a time banner which shows the time intervals most appropriate for the data, the start and end of each event, and the UTC offset. Settings allow you to customize the direction of the time axis, time zone, and the placement of entities and relationships. There are four types of events represented in chronological layouts:

  • Durative entity events: Entities with a start and end date property.
  • Punctual entity events: Entities with only one date property.
  • Durative relationship events: Relationships with a start and end date property.
  • Punctual relationship events: Relationships with only one date property.

Settings allow you to adjust the time banner, time direction, and how entities and relationships are positioned on a link chart.

Implementation Note

Chronological layouts require "Filter content using time" to be configured on the link chart sublayer properties. The time fields used must have the type timestamp offset. Time can be set on a link chart created in ArcGIS Pro and imported into to ArcGIS Knowledge Studio, or you can set time in the link chart layer definition using ArcGIS Pro or the ArcGIS REST API.

Constructors

Constructor

Constructor
Parameters
ParameterTypeDescriptionRequired
properties
See the properties table for a list of all the properties that may be passed into the constructor.

Properties

Any properties can be set, retrieved or listened to. See the Watch for changes topic.

declaredClass

readonlyinherited Property
Type
string
Inherited from: Accessor

The name of the class. The declared class name is formatted as esri.folder.className.

durationLineWidth

Property
Type
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10

An integer between 1 and 10 setting the width of the line, in points, representing the duration of events with non-zero durations. Applied only when showDurationLineForNonZeroDurationEntityEvents is true.

Default value
5

entityPositionAtDurationRatio

Property
Type
number

Determines the placement of an entity along a non-zero duration event interval. 0 represents the start of the interval, 1 represents the end of the interval. Only used in multi-timeline layouts.

Default value
1

eventsTicksVisualization

Property
Type
EventsTicksVisualization

Controls the display of start and end event ticks on the timeline. Default value is start-and-end where both start and end ticks are displayed.

Default value
"start-and-end"

lineSeparationMultiplier

Property
Type
number

The multiplier to be used for relationship line separation, where a higher multiplier leads to greater separation between lines. Utilized if separateTimeOverlaps or separateTimelineOverlaps is true.

Default value
1

moveFirstBends

Property
Type
boolean

When separateTimelineOverlaps is true, indicates whether the first bend on a relationship line related to an event is raised up above the event location, to reduce overlapping. Only valid in mono-timeline layouts.

Default value
true

secondBendRatio

Property
Type
number

Ratio from 0 to 1 controlling the position at which the second bend of a relationship occurs, for event and non-event relationships between event and non-event entities. Lower values move the second bend position lower. Only used in the mono-timeline layout.

Default value
0.3

separatedLineShapeRatio

Property
Type
number

When separateTimeOverlaps is true, adjusts the angle between the extremities of the original and separated lines. When the ratio is high, the angle is small.

Default value
0

separateTimelineOverlaps

Property
Type
boolean

Indicates whether events that overlap on a timeline are separated.

Default value
true

separateTimeOverlaps

Property
Type
boolean

Indicates whether events that overlap in time are separated.

Default value
true

showDurationLineForNonZeroDurationEntityEvents

Property
Type
boolean

Determines whether or not lines representing the duration of events on entities with non-zero durations are shown. By default (false) lines are not displayed.

Default value
false

showNonZeroDurationIntervalBounds

Property
Type
boolean

Determines whether to display interval bounds (tick lines at the start and end) of relationship lines for events with non-zero durations. Only used in multi-timeline layouts.

Default value
false

spaceSeparatedLinesEvenly

Property
Type
boolean

Determines whether or not to space separated lines evenly, when either separateTimeOverlaps or separateTimelineOverlaps is true. When true, the offset for the i-th overlapping line is proportional to 'i'. If false, the offset is proportional to the square root of i.

Default value
false

timeBannerUTCOffsetInMinutes

Property
Type
number

The UTC offset in minutes to use for the time banner.

Default value
0

timeDirection

Property
Type
TimeDirectionJSON

Controls the time axis orientation and the direction along which time increases in the layout, e.g. 'right' means that time axis is horizontal and time increases from left to right, 'bottom' means the time axis is vertical and time increases from top to bottom.

Default value
"right"

useBezierCurves

Property
Type
boolean

Determines whether or not to use Bezier curves for separated lines. This setting will have no effect where Bezier curves are not supported.

Default value
false

Methods

MethodSignatureClass
fromJSON
inherited static
fromJSON(json: any): any
clone
inherited
clone(): this
toJSON
inherited
toJSON(): any

fromJSON

inheritedstatic Method
Signature
fromJSON (json: any): any
Inherited from: JSONSupportMixin

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.

Parameters
ParameterTypeDescriptionRequired
json
any

A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.

Returns
any

Returns a new instance of this class.

clone

inherited Method
Signature
clone (): this
Inherited from: ClonableMixin

Creates a deep clone of this object. Any properties that store values by reference will be assigned copies of the referenced values on the cloned instance.

Returns
this

A deep clone of the class instance that invoked this method.

toJSON

inherited Method
Signature
toJSON (): any
Inherited from: JSONSupportMixin

Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.

Returns
any

The ArcGIS portal JSON representation of an instance of this class.