require(["esri/linkChart/ChronologicalLayoutSettings"], (ChronologicalLayoutSettings) => { /* code goes here */ });
import ChronologicalLayoutSettings from "@arcgis/core/linkChart/ChronologicalLayoutSettings.js";
esri/linkChart/ChronologicalLayoutSettings
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
-
Parameterproperties Objectoptional
See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
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 | 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 | 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 | 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
-
durationLineWidth
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
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
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
lineSeparationMultiplier Number
-
The multiplier to be used for relationship line separation, where a higher multiplier leads to greater separation between lines. Utilized if
separateTimeOverlaps
orseparateTimelineOverlaps
is true.- Default Value:1
-
moveFirstBends
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
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
separateTimeOverlaps Boolean
-
Indicates whether events that overlap in time are separated.
- Default Value:true
-
separateTimelineOverlaps
separateTimelineOverlaps Boolean
-
Indicates whether events that overlap on a timeline are separated.
- Default Value:true
-
separatedLineShapeRatio
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
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
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
spaceSeparatedLinesEvenly Boolean
-
Determines whether or not to space separated lines evenly, when either
separateTimeOverlaps
orseparateTimelineOverlaps
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
timeBannerUTCOffsetInMinutes Number
-
The UTC offset in minutes to use for the time banner.
- Default Value:0
-
timeDirection
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
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
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
-
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();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey 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.
-
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.Parameterjson ObjectA 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
-
hasHandles
InheritedMethodhasHandles(groupKey){Boolean}
Inherited from Accessor -
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType 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"); }
-
Inherited from Accessor
-
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
toJSON
toJSON(){Object}
-
Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.
ReturnsType Description Object The ArcGIS portal JSON representation of an instance of this class.