Don't change this unless you are really sure you know what you are doing.
Collection of information for all clusters.
Needed to prevent bogus extent change events in Chrome
Event handlers that are handled by esri/dojo.
Currently exploded features
All of the graphics from the feature layer.
The name of the FeatureSet that the features inside of exploded clusters will be placed into.
Tracking the clustering that happens on startup to make sure we don't do it too soon.
Event handlers that are handled by geocortex/Framework
The clusters that are currently being hidden when a cluster is focused upon/exploded.
Is this Chrome?
Flag to track whether map clicks are currently disabled
The URL, when available, where the layer's attribution data is stored.
class attribute of the layer's node.
Background color of clusters.
Color of the label on clusters.
The radius of each cluster.
Provides credential information for the layer such as userid and token if the layer represents a resource that is secured with token-based authentication.
List of attribute fields added as custom data attributes to graphics node.
The Feature Layer that is used as the basis for the cluster layer.
The renderer for the Feature Layer that is passed in on object construction.
The font family
The font size
The Geocortex Layer that is used as the basis for the cluster layer.
The array of graphics that make up the layer.
When true, the layer has attribution data.
ID assigned to the layer.
The info template for the layer.
Set if the layer failed to load.
When the layer is loaded, the value becomes "true", and layer properties can be accessed.
The maximum number of features to include in a cluster.
Maximum visible scale for the layer.
Minimum visible scale for the layer.
Opacity or transparency of layer.
Refresh interval of the layer in minutes.
Retyping of the renderer to show that we're using a ClassBreaksRenderer
Observale information about the renderer currently in use. Used by the legend.
When true, the layer's attribution is displayed on the map.
Layer to represent the individual graphics within an expanded cluster.
Indicates whether the layer is responsible for styling graphics.
Type of vector graphics surface used to draw graphics.
When true, the layer is suspended.
URL to the ArcGIS Server REST resource that represents a map service.
Visibility of the layer.
When true, the layer is visible at the current map scale.
Checks to see if a valid break can be generated from the passed in information. If so, then generates a break on the passed renderer.
The ClassBreaksRenderer that will have a new break added to it.
The size in pixels of the circle to be generated.
The start of the range.
The end of the range.
The number of features in the largest cluster on screen.
RendererInformation tracks visibility/values on a 0-3 scale to communicate to the legend.
Adds the cluster with a given id to a map tip, exploding it if necessary
void
Matches up graphics with clusters and associates them.
Whether the addition of a point to a cluster should adjust where the cluster is located.
Adds a point to an existing cluster.
The graphic to be associated with the cluster.
The point/graphic that will readjust the cluster location.
The cluster to be associated with.
Whether the cluster's location should be adjusted when the point is added.
Cleans up the cluster layer that has been removed.
The ClusterLayer that is being disabled/removed.
Called when there is no cluster within range of the point. Creates a new cluster in that location.
p The point specifying where the cluster is to be created.
Disables normal clicks on the map. We'll use the next click to implode a cluster instead. This timeout needs to be the same as the timeout above to stop things being handled in the wrong order.
Enables normal clicks on the map again, used after the click to implode an exploded cluster. Timeout is necessary here to prevent handling (sometimes!) the current mouse events as the enabled click.
If there is more than one feature in the cluster we need to 'explode' it to show all the features
Generates the clusters by going through the graphics stored in _featureLayerGraphics.
Retrieves the symbology associated with the passed esri graphic.
The Esri graphic to retrieve the feature symbology for.
Runs after the Feature Editor is closed.
Runs after a geometry edit/feature editor is closed to ensure what is represented is proper.
Handles removing the current exploded cluster and reclustering it
Checks to see if the current cluster has exceeded the configured maximum cluster size. Returns false if no maximum cluster size is configured.
The cluster to evaluate.
Pre-filter to decide whether we should bother listening for a mouseup associated with this mousedown event
Checks to see if the passed point is within the tolerance (pixels) of the current cluster.
The point to compare to the cluster.
The cluster to compare to the point.
Raised whenever a layer's visibility changes. Used to make it so clusters are invisible when a layer is disabled at the layer list level.
An object with an Essentials Layer, MapService, and visibility boolean.
Sets up the renderer and the various breaks that are used to represent clusters at different sizes. This can be called dynamically as the size of the clusters change depending on the number of features in the largest cluster.
Used to make the passed color arrray slightly transparent.
An array of RGBA color values.
Run whenever the map is clicked and the cluster layer is active.
The MouseEvent/TouchEvent that triggered this.
Run whenever the map's extent is changed and clustering is active.
The new extent of the map.
Arguments involving the map's new extent.
GVH-8134: Handling mouse up / mouse down instead of mapClick as map clicks can fail to fire in Chrome sometimes when clicking on a cluster layer. This doesn't address the root cause (whatever that might be) but does effectively work around the problem.
Clears the data from the cluster that has been exploded when a maptip is closed.
Assigns values and event listeners concerned with the map.
The esri map that is associated with this layer.
Adds all generated clusters to the layer. Before doing so, it checks to see what the breaks should be for graphically representing cluster size.
Adds an individual cluster to the layer.
The cluster to add to the layer.
Adds a graphic.
The graphic to add.
Adds a new attribute or changes the value of an existing attribute on the layer's node.
The name of the attribute.
The value of the attribute.
Clears all graphics.
Clears all of the event handlers, layers, and other persistent things that are associated with this cluster.
Disables all mouse events on the graphics layer.
Enables all mouse events on the graphics layer.
Asynchrously returns custom data for the layer when available.
Returns reference to the map control the layer is added to.
Returns the layer's DOM node.
Sets the visibility of the layer to "false".
Returns true if a cluster is exploded on the map
boolean
Returns true if the layer is visible at the given scale.
The scale at which to check if the layer is visible.
Fires when a graphic has been clicked.
Fires when a graphic has been double clicked.
Fires when a graphic is added to the GraphicsLayer.
Fires when a graphic is drawn.
Fires when a graphic's DOM node is created and added to the layer.
This event is fired when a graphic's DOM node is removed (consider the node destroyed).
Fires when a graphic is removed from the GraphicsLayer.
Fires when all graphics in the GraphicsLayer are cleared.
Fires when a mouse button is pressed down and the mouse cursor is on a graphic.
Fires while the mouse is being dragged until the mouse button is released.
Fires as the mouse moves through a graphic on the GraphicsLayer.
Fires as the mouse exits a graphic on the GraphicsLayer.
Fires when the mouse first enters into a graphic on the GraphicsLayer.
Fires when a mouse button is released and the mouse cursor is on a graphic.
Used to detect when a cluster is clicked by the user. If a valid click is detected, then all other clusters are hidden and the selected cluster has its graphics displayed.
The ArcGIS MouseEvent that triggered the cluster's click action.
Called whenever clusters need to be recalculated. Will clear the features from an exploded cluster on the map, recalculate the clusters, then redraw the cluster layer
Removes a graphic.
The graphic to remove.
Restore settings to the Essentials defaults
Resumes layer drawing.
Specify or change the info template for a layer.
The new info template.
Set the maximum scale for the layer.
The maximum scale at which the layer is visible.
Set the minimum scale for the layer.
The minimum scale at which the layer is visible.
Initial opacity or transparency of layer.
Value from 0 to 1, where 0 is 100% transparent and 1 has no transparency.
Changes the layer's refresh interval to the given value (in minutes).
Refresh interval of the layer in minutes.
Sets the renderer for the graphics layer.
The renderer used for the graphic.
Set the scale range for the layer.
The minimum scale at which the layer is visible.
The maximum scale at which the layer is visible.
Sets the visibility of the layer to "true".
Suspends layer drawing.
Representation of a ClusterLayer.