ChronologicalLayoutSettings

AMD: require(["esri/linkChart/ChronologicalLayoutSettings"], (ChronologicalLayoutSettings) => { /* code goes here */ });
ESM: import ChronologicalLayoutSettings from "@arcgis/core/linkChart/ChronologicalLayoutSettings.js";
Class: esri/linkChart/ChronologicalLayoutSettings
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

ChronologicalLayoutSettings

Constructor
new ChronologicalLayoutSettings(properties)
Parameter
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Property Overview

Any properties can be set, retrieved or listened to. See the Watch for changes topic.
Show inherited properties Hide inherited properties
Name Type Summary Class

The name of the class.

Accessor

An integer between 1 and 10 setting the width of the line, in points, representing the duration of events with non-zero durations.

ChronologicalLayoutSettings

Determines the placement of an entity along a non-zero duration event interval.

ChronologicalLayoutSettings

Controls the display of start and end event ticks on the timeline.

ChronologicalLayoutSettings

The multiplier to be used for relationship line separation, where a higher multiplier leads to greater separation between lines.

ChronologicalLayoutSettings

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.

ChronologicalLayoutSettings

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.

ChronologicalLayoutSettings

Indicates whether events that overlap in time are separated.

ChronologicalLayoutSettings

Indicates whether events that overlap on a timeline are separated.

ChronologicalLayoutSettings

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

ChronologicalLayoutSettings

Determines whether or not lines representing the duration of events on entities with non-zero durations are shown.

ChronologicalLayoutSettings

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

ChronologicalLayoutSettings

Determines whether or not to space separated lines evenly, when either separateTimeOverlaps or separateTimelineOverlaps is true.

ChronologicalLayoutSettings

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

ChronologicalLayoutSettings

Controls the time axis orientation and the direction along which time increases in the layout, e.g.

ChronologicalLayoutSettings

Determines whether or not to use Bezier curves for separated lines.

ChronologicalLayoutSettings

Property Details

declaredClass

Inherited
Property
declaredClass Stringreadonly
Inherited from Accessor

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

durationLineWidth

Property
durationLineWidth Number

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
entityPositionAtDurationRatio 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
eventsTicksVisualization String

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.

Possible Values:"none" |"start-and-end" |"start-only"

Default Value:"start-and-end"

lineSeparationMultiplier

Property
lineSeparationMultiplier 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
moveFirstBends 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
secondBendRatio 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

separateTimeOverlaps

Property
separateTimeOverlaps Boolean

Indicates whether events that overlap in time are separated.

Default Value:true

separateTimelineOverlaps

Property
separateTimelineOverlaps Boolean

Indicates whether events that overlap on a timeline are separated.

Default Value:true

separatedLineShapeRatio

Property
separatedLineShapeRatio 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

showDurationLineForNonZeroDurationEntityEvents

Property
showDurationLineForNonZeroDurationEntityEvents 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
showNonZeroDurationIntervalBounds 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
spaceSeparatedLinesEvenly 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
timeBannerUTCOffsetInMinutes Number

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

Default Value:0

timeDirection

Property
timeDirection String

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.

Possible Values:"bottom" |"left" |"right" |"top"

Default Value:"right"

useBezierCurves

Property
useBezierCurves 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

Method Overview

Show inherited methods Hide inherited methods
Name Return Type Summary Class

Adds one or more handles which are to be tied to the lifecycle of the object.

Accessor

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product.

ChronologicalLayoutSettings

Returns true if a named group of handles exist.

Accessor

Removes a group of handles owned by the object.

Accessor

Converts an instance of this class to its ArcGIS portal JSON representation.

ChronologicalLayoutSettings

Method Details

addHandles

Inherited
Method
addHandles(handleOrHandles, groupKey)
Inherited from Accessor

Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

this.addHandles(handle);

// Destroy the object
this.destroy();
Parameters
handleOrHandles WatchHandle|WatchHandle[]

Handles marked for removal once the object is destroyed.

groupKey *
optional

Key identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.

fromJSON

Method
fromJSON(json){* |null |undefined}static

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.

Parameter
json Object

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
Type Description
* | null | undefined Returns a new instance of this class.

hasHandles

Inherited
Method
hasHandles(groupKey){Boolean}
Inherited from Accessor

Returns true if a named group of handles exist.

Parameter
groupKey *
optional

A group key.

Returns
Type Description
Boolean Returns true if a named group of handles exist.
Example
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}

removeHandles

Inherited
Method
removeHandles(groupKey)
Inherited from Accessor

Removes a group of handles owned by the object.

Parameter
groupKey *
optional

A group key or an array or collection of group keys to remove.

Example
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");

toJSON

Method
toJSON(){Object}

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

Returns
Type Description
Object The ArcGIS portal JSON representation of an instance of this class.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.