Bootstrapper Class
Bootstrapper class. Starting point of RAMP, RAMP modules are loaded here and mapped to a function parameter Phase X?: For mobile support, there can be a different mobileBootstrapper with only the mobile modules loaded
Item Index
Methods
- _getFeatures
- _getField
- _hideLoadingImg
- _initArrayPrototype
- _initDojoPrototype
- _initEsriPrototype
- _initEventHandlers
- _initJQueryprototype
- _initListeners
- _initObjectPrototype
- _initRepublishers
- _initScale
- _initStringPrototype
- _loadLayer
- _showLoadingImg
- _updateScale
- _wrapFileCallInPromise
- activate
- addLayer
- addParameter
- addProtytype
- AddStaticFcn
- AddStaticLayer
- adjustPanelWidth
- adjustPaneWidth
- applyExtentDefaulting
- applyExtentFilter
- cacheSortedData
- capturePanel
- captureSubPanel
- checkBoundary
- checkMaptipPosition
- cloneGraphic
- configReady
- createDatatable
- createGroups
- createRowPrototype
- deactivate
- deactivateAll
- dockSubPanel
- enhanceFileFeatureLayer
- enhanceLayer
- fetchRecords
- finishExtentProjection
- generateToggleButtonDataForTemplate
- getBoundingBoxMapping
- getDataObject
- getFeatureLayer
- getGraphicFromButton
- getLayerItem
- getLayerState
- getMaptipContent
- getNode
- getSubPanelLeftOffset
- getToolTipOffset
- getVisibleFeatureLayers
- handleGridEvent
- hideSubPanel
- highlightGraphic
- highlightGraphicHide
- highlightrowHide
- highlightrowShow
- hoverLight
- hoverLightHide
- init
- init!~YUIDOC_LINE~! homePage a string denoting the name of the homePage (e.g. usually "Default.aspx" or "index.html")
- initListeners
- initScrollListeners
- initTooltips
- initTopics
- initUIListeners
- isBookmarkLayer
- isReady
- isVisible
- load
- loadLayer
- loadPlugin
- localProjectExtent
- makeFeatureLayer
- makeGeoJsonLayer
- makeStaticLayer
- makeWmsLayer
- navigateToRow
- newSubPanel
- onLayerError
- onLayerLoaded
- onLayerRemove
- onLayerUpdateEnd
- onLayerUpdateStart
- prepLayer
- projectConfigExtents
- projectExtent
- projectFullExtent
- projectMaxExtent
- refresh
- removeLayer
- repositionInteractive
- republish
- setBoundingBoxVisibility
- setButtonEvents
- setLayerOffScaleState
- setLayerOffScaleStates
- setLayerReorderingEvents
- setLayerState
- showMapTip
- showSubPanel
- slimCoord
- sortLayers
- subscribeAndUpdate
- toggleShortLinkMode
- toggleToolbar
- ui.addLayerGroup
- ui.init
- ui.update
- updateConfig
- updateDatasetSelectorState
- updateHref
- updateNotice
- updateURL
- zoomLight
- zoomLightHide
- zoomlightrowHide
- zoomlightrowShow
- zoomToLayerScale
Properties
Events
- advancedToolbar.ADVANCED_PANEL_CHANGED
- BookmarkLink.BOOKMARK_GENERATED
- BookmarkLink.GETLINK_PANEL_CHANGED
- Datagrid.APPLY_EXTENT_FILTER [subscribed]
- Datagrid.DRAW_COMPLETE
- Datagrid.EXTENT_FILTER_END
- Datagrid.HIGHLIGHTROW_HIDE
- Datagrid.HIGHLIGHTROW_SHOW
- Datagrid.ZOOMLIGHTROW_HIDE
- Datagrid.ZOOMLIGHTROW_SHOW
- FeatureHighlighter.HIGHLIGHT_HIDE [subscribed]
- FeatureHighlighter.HIGHLIGHT_SHOW [subscribed]
- FeatureHighlighter.HOVERLIGHT_HIDE [subscribed]
- FeatureHighlighter.HOVERLIGHT_SHOW [subscribed]
- FeatureHighlighter.ZOOMLIGHT_HIDE [subscribed]
- FeatureHighlighter.ZOOMLIGHT_SHOW [subscribed]
- FilterManager.BOX_VISIBILITY_TOGGLED
- FilterManager.LAYER_TRANSPARENCY_CHANGED
- FilterManager.LAYER_VISIBILITY_TOGGLED
- FilterManager.SELECTION_CHANGED
- FilterManager.TOGGLE_BOX_VISIBILITY [subscribed]
- FilterManager.TOGGLE_LAYER_VISIBILITY [subscribed]
- FilterManager.UI_COMPLETE
- GUI.ADD_LAYER_PANEL_CHANGE
- GUI.DATAGRID_EXPAND
- GUI.FULLSCREEN_CHANGE
- GUI.HELP_PANEL_CHANGE
- GUI.LAYOUT_CHANGE
- GUI.PANEL_CHANGE
- GUI.PANEL_TOGGLE [subscribed]
- GUI.SUBPANEL_CAPTURE [subscribed]
- GUI.SUBPANEL_CHANGE
- GUI.SUBPANEL_CLOSE [subscribed]
- GUI.SUBPANEL_DOCK [subscribed]
- GUI.SUBPANEL_OPEN [subscribed]
- GUI.TAB_DESELECTED
- GUI.TAB_SELECTED
- GUI.TOGGLE_FULLSCREEN [subscribed]
- GUI.TOOLBAR_SECTION_CLOSE
- GUI.TOOLBAR_SECTION_OPEN
- GUI.UPDATE_COMPLETE
- LayerLoader.LAYER_ERROR
- LayerLoader.LAYER_LOADED
- LayerLoader.LAYER_UPDATED
- LayerLoader.LAYER_UPDATING
- LayerLoader.RELOAD_LAYER
- LayerLoader.REMOVE_LAYER
- Maptips.EXTENT_CHANGE [subscribed]
- Maptips.REPOSITION_INTERACTIVE [subscribed]
- Maptips.SHOW [subscribed]
- Maptips.SHOW_INTERACTIVE [subscribed]
- Navigation.FULL_EXTENT
- Navigation.PAN
- Navigation.ZOOM
- Navigation.ZOOM_STEP
Methods
_getFeatures
-
fl
Queries all map points on a given feature layer and returns their attributes
Parameters:
-
fl
ObjectA feature layer to query
Returns:
An array of attributes from the designated feature layer
_getField
-
fl
-
field
Grabs all distinct values of the given field from a featureLayer.
Parameters:
Returns:
deferred A deferred object which will resolve to an array of unique values
_hideLoadingImg
()
private
Hides the loading image.
_initArrayPrototype
()
Array
private
Add extra functions to the Array object. Adds the following:
Array.remove()
- prototype for removing items from arrayArray.append(arr)
- Add all the elements of the given array to this array.Array.isEmpty()
- Returns true if the length of the array is 0.Array.last()
- Returns true if the length of the array is 0.Array.contains(obj)
- Returns true if this Array contains the given objectArray.flatter(arr)
- Array Flatten object extension: http://tech.karbassi.com/2009/12/17/pure-javascript-flatten-array/Array.max()
- Returns the max value in the arrayArray.min()
- Returns the min value in the array
Returns:
The array
_initDojoPrototype
()
private
[_initDojoPrototype description] Adds following extensions:
topic.subscrive(name, listener, scope)
- An extension of dojoLang.subscribe that allows the callback function to be hitched with the given scope.dojoOn(target, type, listener, scope)
-
_initEsriPrototype
()
Array
private
Add extra functions to the EsriExtent object. Adds the following:
EsriExtent.clone()
-EsriExtent.widht()
-EsriExtent.height()
-EsriExtent.xyAspectFactor()
- Returns the ratio of this Extent's width to this Extent's heightEsriExtent.centerX()
-EsriExtent.centerY()
-EsriExtent.center()
-EsriExtent.pan()
-
Returns:
The array
_initEventHandlers
-
map
Creates event handlers for the map control: click, mouse-over, load, extent change, and update events.
Parameters:
-
map
ObjectA ESRI map object
_initJQueryprototype
()
Array
private
Add extra jQuery functions. Adds the following:
$.findInputLabel()
- Returns labels corresponding to the set of input controls.$.isOverflowed()
- Detects if the given span is overflowing with text
Returns:
The array
_initListeners
-
map
Subscribe to external events (published using topic.publish) and react accordingly
Parameters:
-
map
Objectmap object
_initObjectPrototype
()
Array
private
Add extra functions to the Object object. Adds the following:
Object.create(o)
- Takes an old object as a parameter and returns an empty new object that inherits from the old one
Returns:
The array
_initRepublishers
-
map
Republishes map events to the outside using topic.publish
Parameters:
-
map
Objectobject
_initStringPrototype
()
Array
private
Add extra functions to the String object. Adds the following:
String.format()
- format the string replacing the placeholders with provided valuesString.replaceAll(search, replace)
- replaces all instances
Returns:
The array
_loadLayer
-
layer
-
reloadIndex
This function initiates the loading of an ESRI layer object to the map. Will add it to the map in the appropriate spot, wire up event handlers, and generate any bounding box layers Note: a point of confusion. The layer objects "load" event may have already finished by the time this function is called. This means the object's constructor has initialized itself with the layers data source. This functions is not event triggered to guarantee the order in which things are added.
Parameters:
-
layer
Objectan instantiated, unloaded ESRI layer object
-
reloadIndex
IntegerOptional. If reloading a layer, supply the index it should reside at. Do not set for new layers
_showLoadingImg
()
private
Shows the loading image.
_wrapFileCallInPromise
-
readMethod
Helper function for wrapping File API calls in Promise objects. Used for building a series of helpers which call different file read methods.
Parameters:
-
readMethod
Stringa string indicating the FileReader method to call
Returns:
a function which accepts a {File} object and returns a Promise
activate
()
private
Highlights the given graphic object using the specified cssClass.
addLayer
-
layerType
-
layerConfig
-
initState
Add a provided layer to the layer selector.
addParameter
-
paramKey
-
paramObj
Update the parameter dictionary with the new values for the parameter. If paramObj is set to null, essentially removes the given paramKey from the URL.
addProtytype
-
obj
-
name
-
fcn
Attempt to add the given fcn as a prototype to the given obj under the given name. Outputs a warning message to the console if a prototype of the same name already exists.
AddStaticFcn
-
obj
-
name
-
fcn
Attempt to add the given fcn as a static function to the given class under the given name. Outputs a warning message to the console if a function of the same name already exists.
AddStaticLayer
-
layer_type
-
layer_url
-
layer_op
Add a static, non-interactive Layer to the map
adjustPanelWidth
()
Adjusts the width of the datagrid panel to accommodate the scrollbar.
adjustPaneWidth
()
private
Changes the width of the layers pane to accommodate for the scrollbar if it's needed.
applyExtentDefaulting
()
private
Apply extent defaulting prior to URL overrides.
applyExtentFilter
-
d
Gets all layer data in the current map extent that are visible, and put the data into the data grid.
Parameters:
-
d
A Deferred object
cacheSortedData
()
private
Caches the sorted data from datatables for feature click events to consume. Builds featureToPage as a mapping of (layerName,layerId) => page where layerName and layerId are strings and page is a zero based int.
capturePanel
-
force
Captures a subpanel that was opened and docked by the datagrid module previously.
Parameters:
-
force
Booleanif truthy - capture the panel even if the datagrid is not visible; use when switching to datagrid tab and the datagrid is not fully rendered yet by the browser
captureSubPanel
-
attr
Finds a SubPanel with origin
equal to the supplied consumeOrigin
and
- changes its
origin
to the suppliedorigin
- moves the SubPanel in the DOM hierarchy and attaches it to the specified target
Parameters:
-
attr
SubPanelSettingsSettings for the SubPanel; only
origin
,consumeOrigin
andtarget
are required here
checkBoundary
-
e
-
maxExtent
Given an ESRI Extent Object, returns a new ESRI Extent Object that contains the extent adjusted according to this map's maximum extent
NOTE: this method is currently unused!
Parameters:
-
e
Esri/geometry/Extentthe extent Object
-
maxExtent
Esri/geometry/Extentthe maximum extent
Returns:
An adjusted extent, if the target extent is outside the boundary
checkMaptipPosition
-
target
-
graphic
Checks if the maptip is hidden by the sub-panel and publishes a center-at event to pan the map, moving maptip into view.
Parameters:
-
target
JObjecta node to which the tooltip will be attached
-
graphic
Object[description]
cloneGraphic
-
graphic
Creates a copy of the given graphic object.
Parameters:
-
graphic
ObjectGraphic object to clone
Returns:
clone A cloned Graphic object
configReady
-
configObject
once the config file has been retrieved, proceed with the loading of the site
Parameters:
-
configObject
Objectthe configuration object
createDatatable
()
private
Creates a Data table based on the grid configuration specified in the application config object. See http://www.datatables.net/usage/columns for addition information on config parameters.
createGroups
()
private
Sets UI status of a layer presentation (checkbox and eye) according to the user action: select / de-select a layer. publishes event "filterManager/box-visibility-toggled" every time a layer status changed. There should only be one eye and one global checkbox, but we say checkbox"es" because jquery returns a list and it's easier to write a function that takes a list of checkboxes than to write two functions, one to take a list and one to take an individual checkbox
createRowPrototype
-
cssClass
creates a datagrid row that has the following features: highlight for a give graphic un-highlight scroll to for a give graphic
Parameters:
-
cssClass
Stringthe style that highlights the row.
Returns:
an object containing features of a datagrid row
deactivate
()
private
Removes a specified cssClass from a given graphic object in the data grid
deactivateAll
-
except
Deactivates all the tools. Used when closing the Advanced toolbar or when another tool is being activated.
Parameters:
-
except
ToolA tool module that should not be deactivated.
dockSubPanel
-
attr
Moves the SubPanel with the specified origin
in the DOM hierarchy to the new specified target
; if target
is not specified, the SubPanel is attached to the SidePanel.
Parameters:
-
attr
SubPanelSettingsSettings for the SubPanel; only
target
andorigin
are required here
enhanceFileFeatureLayer
-
featureLayer
-
opts
Will take a feature layer built from user supplied data, and apply extra user options (such as symbology, display field), and generate a config node for the layer. Accepts the following options:
- renderer: a string identifying one of the properties in defaultRenders
- color: color of the renderer
- icon: icon to display in grid and maptips
- nameField: descriptive name field for the layer
- datasetName: description of the name field
enhanceLayer
-
layer
-
config
-
userLayer
Adds custom ramp properties to layer. Adds handlers to loading events.
fetchRecords
-
visibleFeatures
Populate the datagrid with data in visibleFeatures
Parameters:
-
visibleFeatures
Arraya dictionary mapping layer id to an array of feature objects
finishExtentProjection
-
projectedMaxExtent
process the projected maximum extent, then alert app to continue loading the map. used as an asynchronous gate for the projection.
Parameters:
-
projectedMaxExtent
Arrayan array containing the maximum extent object in the map's projection
generateToggleButtonDataForTemplate
()
String
private
Generates a data grid row data with a checkbox to be used in template
Returns:
the generated row data object.
getBoundingBoxMapping
()
Object
Returns the mapping of feature layer ids to assocciated bounding box layers.
Returns:
A dictionary of String, Esri/layers/GraphicsLayer pairs.
getDataObject
-
feature
Given a map feature, return a data object used to represent the feature in the datagrid.
Parameters:
-
feature
Objectthe feature needs to be represented in the datagrid return {Array} an array representing the data the given feature contains.
getFeatureLayer
-
featureId
Return the feature layer corresponding to the given id.
Parameters:
-
featureId
Stringthe id of the feature layer
Returns:
feature layer
getGraphicFromButton
-
buttonNode
Returns the graphic object of a feature layer which is contained in the given buttonNode.
Parameters:
-
buttonNode
JObjectthe node containing the feature layer
Returns:
the graphic object of the feature layer.
getLayerItem
-
layerId
Returns a LayerItem object with specified layerId.
Parameters:
-
layerId
Stringa layer id
getLayerState
-
layerId
Returns the state of the layer with the specified layer id.
Parameters:
-
layerId
Stringa layer id
getMaptipContent
-
graphic
-
interactive
Generates content for a maptip.
getNode
()
Node: jObject, page: number
private
Finds a row node corresponding to the given graphic object.
Returns:
} A row node that displays graphic information. If none found, returns an object with empty jNode.
getSubPanelLeftOffset
()
Number
private
Returns the position of the sub-panel relative to the leftmost edge of the screen.
Returns:
position of hte sub-panel relative to the leftmost edge of the screen
getToolTipOffset
()
Number
private
Returns the position of the maptip relative to the leftmost edge of the screen.
Returns:
the position of the maptip relative to the leftmost edge of the screen
getVisibleFeatureLayers
()
Array
Returns a list of feature layers that are currently visible on the map.
Returns:
an array of Esri/layers/FeatureLayer objects
handleGridEvent
-
e
-
callback
A handler that handlers the Enter key press and Click mouse event of the data grid. It is actually a binder that binds the key / mouse event to a handler specified. This is wired up to grid cells in the bootstrapper to achieve click/keypress functions
Parameters:
-
e
Eventthe event object
-
callback
Functionthe callback function
hideSubPanel
-
attr
-
speed
-
d
Closes the SubPanel whose origin
is specified in the attr
parameter.
Parameters:
-
attr
SubPanelSettingsonly
origin
attribute is required here -
speed
NumberDuration of the closing animation
-
d
DeferredThe deferred object to be resolved upon successful closing of the panel
highlightGraphic
-
eventArg
Clones the Graphic object from the event, adds it to the Highlight layer, and lowers the opacity of other map layers to make the cloned Graphic stand out.
Parameters:
-
eventArg
Object???
highlightGraphicHide
()
private
Clears the Highlight layer and restores the opacity of the map layers.
highlightrowHide
()
private
Un-highlights the row that is currently highlighted
highlightrowShow
-
event
Highlights the row according to the graphic stored in the event. Sets the hightlightRow variable to the graphic object inside the sent event
Parameters:
-
event
ObjectA thrown event that contains a graphic object inside the grid
hoverLight
-
eventArg
Clones the Graphic object from the event, adds it to the Hoverlight layer.
Parameters:
-
eventArg
Object???
hoverLightHide
()
private
Clears the Hoverlight layer.
init
()
private
Initiates additional UI components of the widget, setting listeners and other stuff.
init!~YUIDOC_LINE~! homePage a string denoting the name of the homePage (e.g. usually "Default.aspx" or "index.html")
()
Instantiates a BookmarkLink. Subscribes to all the events that causes the bookmark link to update (e.g. map extent change or feature layer visibility change).
initListeners
()
private
Binding event handling for events: filterManager/layer-visibility-toggled datagrid/applyExtentFilter
initScrollListeners
()
private
Apply's or removes the scrollbar from the data grid based on the height of its container.
initTooltips
()
private
Initialize tooltips for the data grid
initTopics
()
private
Listen to internal events and republish for other modules' benefit
initUIListeners
()
private
Registers event handlers for following events:
datagrid/highlightrow-show datagrid/zoomlightrow-show datagrid/zoomlightrow-hide
isBookmarkLayer
-
layerId
Figures out if a layer is valid to be in the bookmark
Parameters:
-
layerId
Stringlayers id to check
Returns:
true if layer should be included in the bookmark
isReady
()
Boolean
Indicates that the Data grid is fully rendered
Returns:
_isReady flag indicating the render status of the data grid
isVisible
()
Boolean
private
Checks if the datagrid currently visible, i.e., the data tab is selected on the side panel
Returns:
indicating if the datagrid is currently visible
load
-
id
-
req
-
load
Call load to initialize the GUI module.
loadLayer
-
layer
-
reloadIndex
Public endpoint to initiate the loading of an ESRI layer object to the map.
Parameters:
-
layer
Objectan instantiated, unloaded ESRI layer object
-
reloadIndex
IntegerOptional. If reloading a layer, supply the index it should reside at. Do not set for new layers
loadPlugin
-
pluginName,
loadPlugin takes a plugin file and loads it into the DOM. Creates a dynamic script tag to load the script at runtime.
Parameters:
-
pluginName,
Stringthe file name of the plugin to be loaded (should be in the plugins folder)
localProjectExtent
-
extent
-
sr
Will project an extent to a desired spatial reference, using client side projection library. Avoids the need for Esri Geometry Service
Parameters:
-
extent
Esri/Extentextent to be projected
-
sr
Esri/SpatialReferenceEsri/SpatialReference to project to
Returns:
extent in the desired projection
makeFeatureLayer
-
layerConfig
-
userLayer
Create a new FeatureLayer object based on the config input
Parameters:
Returns:
feature layer object (unloaded)
makeGeoJsonLayer
-
geoJson
-
opts
Converts a GeoJSON object into a FeatureLayer. Expects GeoJSON to be formed as a FeatureCollection containing a uniform feature type (FeatureLayer type will be set according to the type of the first feature entry). Accepts the following options:
- renderer: a string identifying one of the properties in defaultRenders
- sourceProjection: a string matching a proj4.defs projection to be used for the source data (overrides geoJson.crs)
- targetWkid: an integer for an ESRI wkid, defaults to map wkid if not specified
- fields: an array of fields to be appended to the FeatureLayer layerDefinition (OBJECTID is set by default)
Parameters:
Returns:
An ESRI FeatureLayer
makeStaticLayer
-
layerConfig
-
userLayer
Return the static layer corresponding to the given url.
Parameters:
Returns:
layer object of the appropriate type
makeWmsLayer
-
layerConfig
-
userLayer
Return the feature layer corresponding to the given url.
Parameters:
Returns:
WMS layer
newSubPanel
-
attr
Create a new SubPanel with the settings provided.
Parameters:
-
attr
SubPanelSettingsSubPanel settings
Returns:
A newly created SubPanel
onLayerError
-
layerId
-
newState
-
abortIfError
Will set a layerId's layer selector state to a new state.
onLayerLoaded
-
evt
Reacts when a layer has loaded successfully. This means the site has shaken hands with the layer and it seems ok. This does not mean data has been downloaded
onLayerRemove
-
evt
Reacts to a request for a layer to be removed. Usually the case when a layer errors and the user clicks remove.
onLayerUpdateEnd
-
evt
Reacts when a layer has updated successfully. This means the layer has pulled its data and displayed it.
onLayerUpdateStart
-
evt
Reacts when a layer begins to update. This happens when a feature layer starts to download its data. Data download doesn't start until points are made visible. It also happens when a WMS requests a new picture.
prepLayer
-
layer
-
config
-
userLayer
Sets up loading event handlers and initializes the .ramp object of a layer Circular reference errors prevent us from calling LayerLoader directly from this module
projectConfigExtents
()
initiate the projection of the config extents to basemap extents
projectExtent
-
extent
-
sr
-
callWhenDone
project an extent to a new spatial reference, if required when projection is finished, call another function and pass the result to it.
Parameters:
-
extent
Objectan extent object from the configuration
-
sr
Esri/SpatialReferenceEsri/SpatialReference to project to
-
callWhenDone
Functionfunction to call when extent is projected. expects geometry parameter
projectFullExtent
-
projectedDefaultExtent
process the projected default extent, begin projection of full extent. used as an asynchronous gate for the projection.
Parameters:
-
projectedDefaultExtent
Arrayan array containing the default extent object in the map's projection
projectMaxExtent
-
projectedFullExtent
process the projected full extent, begin projection of maximum extent. used as an asynchronous gate for the projection.
Parameters:
-
projectedFullExtent
Arrayan array containing the full extent object in the map's projection
refresh
()
Node: jObject, page: number
private
Finds a row node corresponding to the given graphic object.
Returns:
} A row node that displays graphic information. If none found, returns an object with empty jNode.
removeLayer
-
layerType
-
layerId
Remove a layer from the layer selector.
repositionInteractive
()
private
If there a Graphic in the Highlihgh layer, resets it's bounding box and repositions an interactive maptip to match the top center of the boudning box of the highlighted graphic.
setBoundingBoxVisibility
-
layerId
Sets the visibility of the bounding box that belongs to the layer with the given layerId. Note: the layerId needs to be the ID of the featurelayer, not the ID of the actual bounding box layer.
Parameters:
-
layerId
Stringthe id of the layer whose bounding box visibility should be set
setButtonEvents
()
private
Adds event-handling for buttons inside the data grid's row elements (i.e 'Details', 'Zoom To' buttons)
setLayerOffScaleState
-
layerId
Checks if a specific layer has data that is not visible and sets the appropriate layer state.
Parameters:
-
layerId
Stringa layer id
setLayerOffScaleStates
()
private
Checks if any of the layers have data that is not visible and sets the appropriate layer state.
setLayerReorderingEvents
()
private
Sets all the events to handle layer reordering with both mouse and keyboard.
setLayerState
-
layerId
-
layerState
-
[options]
Set the state of the specified layer to the provided value.
showMapTip
-
target
-
graphic
-
interactive
Creates a maptip on the map.
showSubPanel
-
attr
Creates and opens a new SubPanel with given settings.
If the SubPanel with the requested origin
is already present, updates its content.
Parameters:
-
attr
SubPanelSettingsSettings for the SubPanel instance
slimCoord
-
value
If a co-ordinate has a big value before the decimal point, drop the precision after the decimal
Parameters:
-
value
Objectco-ordinate to potentially slim down
sortLayers
()
private
Sorts and groups the svg representation of the map layers on the page to make highlighting work. Group all the feature layers and create new groups for highlight, zoomlight, and hoverlight layers.
subscribeAndUpdate
()
private
Subscribe to map state changes so the URL displayed can be changed accordingly. SUBSCRIBES TO: map "extent-change" Updates URL when map extent changes
EventManager.GUI.FULLSCREEN_CHANGE Updates URL when map goes into fullscreen mode
EventManager.GUI.TAB_SELECTED Updates URL when tabs are selected
EventManager.GUI.PANEL_CHANGE Updates URL when panel opens/closes
EventManager.BasemapSelector.BASEMAP_CHANGED Updates URL when basemap changed
- ================================================================
Subscribe to updates
To include more information into the query string, do not get the information directly from the object/module of interest, but rather make it publish an event with data to include and subscribe to this event here.
toggleShortLinkMode
-
value
Toggle the short/long link mode and change the label accordingly
Parameters:
-
value
Objecttrue - shortLinkMode; false - !shortlinkMore; undefined - toggle;
toggleToolbar
-
d
-
doOpen
Runs the open/close animation of the toolbar additionally managing the animation of adjusting the height of the details panel to accommodate the expanded toolbar.
Parameters:
-
d
Deferreda deferred to be resolved upon completion of the animation
-
doOpen
Booleanif true - the toolbar show open; if false - the toolbar should close
ui.addLayerGroup
()
private
Add the provided layer group node to the layer selector ui.
ui.init
()
private
Initiates additional UI components of the widget, setting listeners and other stuff.
ui.update
()
private
Updates certain UI aspects like layer settings panel (visibility sliders for now only), layer visibility and bounding box toggles, and layer sorting.
updateConfig
-
homePage
Process the URL. If there are any parameters that came from a short-link, apply them to the config or the RAMP application
Parameters:
-
homePage
Stringthe page name of the ramp site (e.g. index.html, map.html)
updateDatasetSelectorState
-
state
-
[loaded]
Updates the state of the dataset selector based on whether the dataset has been loaded and what dataset is currently selected.
updateHref
-
link
update Href on language button based on link provided from bookmarklink
Parameters:
-
link
Stringbookmark url
updateNotice
()
private
Update the datagrid notice to show feedback to the user if any. Right now is used to display notifications about scale dependent layers that are off scale at the moment.
updateURL
()
private
Updates the link displayed in the textbox. This function should be called whenever one of the objects that are in the URL query is modified.
zoomLight
-
eventArg
Clones the Graphic object from the event, adds it to the Zoomlight layer, and lowers the opacity of other map layers to make the cloned Graphic stand out.
Parameters:
-
eventArg
Object???
zoomLightHide
()
private
Clears the Zoomlight layer and restores the opacity of the map layers if the Highlight layer is empty.
zoomlightrowHide
()
private
De-activates the row stored in zoomlightRow
zoomlightrowShow
-
event
Stores the graphic in the given event in the variable zoomlightRow
Parameters:
-
event
ObjectA thrown event that contains a graphic object inside the grid
zoomToLayerScale
-
layerId
For a specified layer, zooms to the closest level that has some visible data.
Parameters:
-
layerId
Stringa layer id to zoom to.
Properties
anchors
Object
private
A dictionary mapping names (String) to anchors (String) used at the end of the URL.
boundingBoxMapping
Object
private
Maps the id of a graphic layer to the GraphicsLayer Object that represents its extent bounding box. A dictionary of String, Esri/layers/GraphicsLayer pairs.
boundingBoxVisibility
Object
private
A dictionary containing layer id (String) as key and bounding box visibility (boolean) as value
featureLayerStartIndex
Integer
private
The map not only contains feature layers, but also other layers such as the basemap layer, highlight layer, bounding box layer, etc. This variable is used to store the starting index of the feature layers in the map.
featureOidField
Unknown
private
Name of the attribute used to store the oid in the details and zoomTo buttons
featureTypeToRenderer
Object
private
Maps GeoJSON geometry types to a set of default renders defined in GlobalStorage.DefaultRenders
fullExtent
Esri/geometry/Extent
private
Used for full extent in nav widget
InitExtent
Esri/geometry/Extent
private
The initial extent of the map
layerIdField
Unknown
private
Name of the attribute used to store the layer id in the details and zoomTo buttons
layerTransparency
Object
private
A dictionary with the layer id as key, and the transparency as value.
layerVisibility
Object
private
A dictionary containing layer id (String) as key and layer visibility (boolean) as value
maxExtent
Esri/geometry/Extent
private
The maximum extent of the map
oTable
Unknown
private
The jquery table
parameters
Object
private
A dictionary mapping names (String) to query parameter (String) of the URL. The query parameter is what ends up in the url. The key can be any arbitrary name (best to name them to describe the query parameter).
totalRecords
Unknown
private
Total number of features in all the visible layers on the map
Events
advancedToolbar.ADVANCED_PANEL_CHANGED
[Not Used]
BookmarkLink.BOOKMARK_GENERATED
Published when a new link has been generated.
BookmarkLink.GETLINK_PANEL_CHANGED
Published whenever the user clicks on the get link button in the map toolbar.
Datagrid.APPLY_EXTENT_FILTER [subscribed]
Applies a spatial filter to the datagrid (i.e. only visible points in the current extent will be displayed in the datagrid)
Datagrid.DRAW_COMPLETE
Fires when the table has finished drawing
Datagrid.EXTENT_FILTER_END
Fires when the extent-filter has finished updating
Datagrid.HIGHLIGHTROW_HIDE
Dehighlights the currently highlighted row.
Datagrid.HIGHLIGHTROW_SHOW
Highlights the row corresponding to the given graphic
object of the selected feature.
Datagrid.ZOOMLIGHTROW_HIDE
Dehighlights the currently zoomlighted row.
Datagrid.ZOOMLIGHTROW_SHOW
Zoomlights the row corresponding to the given graphic
object of the zoomed to feature.
FeatureHighlighter.HIGHLIGHT_HIDE [subscribed]
Dehighlights a currently highlighted feature on the map and restores opacity of the rest of the layers; hides the interactive tooltip.
FeatureHighlighter.HIGHLIGHT_SHOW [subscribed]
Permanently highlights a given feature on the map; display an interactive tooltip for this feature; reduces opacity of the graphicGroup
layers.
Even when the user moves the cursor away, the feature stays highlighted; tooltip stays put.
Only one feature can be highlighted like this at a time.
Event Payload:
-
eventAttr
ObjectESRI feature click even attributes
FeatureHighlighter.HOVERLIGHT_HIDE [subscribed]
Dehighlights a currently highlighted (hoverlighted) feature on the map without restoring opacity of the rest of the layers;
FeatureHighlighter.HOVERLIGHT_SHOW [subscribed]
Temporarilly highlights (hoverlights) a given feature on the map. Intended to be dehighlighted when the user moves the cursor away; to do that, publish HOVERLIGHT_HIDE event. Effect is only visible when another feature is already permanently highlighted. Only one feature can be highlighted like this at a time.
Event Payload:
-
eventAttr
ObjectESRI feature click even attributes
FeatureHighlighter.ZOOMLIGHT_HIDE [subscribed]
Dehighlights a currently highlighted (zoomlighted) feature on the map; Removes the tooltip. Restores the opacity of the graphicGroup layers if no feature is highlighted at present.
FeatureHighlighter.ZOOMLIGHT_SHOW [subscribed]
Temporarilly highlights (zoomlightes) a given feature on the map. Intended to be dehighlighted when the user makes an action like panning or zooming the map, publish ZOOMLIGHT_HIDE event. Displays a temporary tooltip for this feature; Only one feature can be highlighted (zoomlighted) like this at a time.
Event Payload:
-
eventAttr
ObjectESRI feature click even attributes
FilterManager.BOX_VISIBILITY_TOGGLED
Published whenever the "box" button for a layer is clicked
FilterManager.LAYER_TRANSPARENCY_CHANGED
Published each time the transparency of a layer is modified.
FilterManager.LAYER_VISIBILITY_TOGGLED
Published whenever the "eye" button for a layer is clicked
FilterManager.SELECTION_CHANGED
Published whenever the layer list is rearranged
FilterManager.TOGGLE_BOX_VISIBILITY [subscribed]
Tells the filter manager to toggle a layer on or off
FilterManager.TOGGLE_LAYER_VISIBILITY [subscribed]
Tells the filter manager to toggle a layer on or off
FilterManager.UI_COMPLETE
Published after the ui for the filter manager finishes initializing.
GUI.ADD_LAYER_PANEL_CHANGE
Published each time the Add Layer panel opens or closes.
GUI.DATAGRID_EXPAND
Fires whenever the extended grid button is clicked
GUI.FULLSCREEN_CHANGE
Published each time fullscreen is toggled
GUI.HELP_PANEL_CHANGE
Published each time the help panel opens or closes.
GUI.LAYOUT_CHANGE
Published each time the layout changes.
GUI.PANEL_CHANGE
Published each time the panel opens/closes
GUI.PANEL_TOGGLE [subscribed]
Toggles the main panel (i.e. collapses it if was expanded, and expands it if it was collapsed)
GUI.SUBPANEL_CAPTURE [subscribed]
Attaches subPanel node to the module that calls it in the DOM hierarchy
Event Payload:
-
consumeOrigin
Object
GUI.SUBPANEL_CHANGE
Published each time the subpanel opens/closes
GUI.SUBPANEL_CLOSE [subscribed]
Closes the sub panel
Event Payload:
-
origin
Stringthe name of the module that requested to close the subPanel (e.g. "filterManager")
GUI.SUBPANEL_DOCK [subscribed]
Moves the panel up DOM hierarchy next to the sidePanel, or to other target
Event Payload:
-
origin
Stringthe name of the module that requested to dock the subPanel (e.g. "filterManager")
-
target
JNodewhere to move the subPanel; if not supplied; sidePanel is used
GUI.SUBPANEL_OPEN [subscribed]
Opens the subpanel
Event Payload:
-
attr
SubPanelSettingsSettings for the SubPanel
GUI.TAB_DESELECTED
Fires whenever a tab has been deselected in the main panel
GUI.TAB_SELECTED
Fires whenever a tab has been selected in the main panel
GUI.TOGGLE_FULLSCREEN [subscribed]
Toggles the fullscreen
GUI.TOOLBAR_SECTION_CLOSE
Published each time a toolbar section / widget is closed.
GUI.TOOLBAR_SECTION_OPEN
Published each time a toolbar section / widget is opened. Used to close other toolbar sections / widgets.
GUI.UPDATE_COMPLETE
Published when the gui module has completely finished rendering the UI. The bootstrapper should wait for this event to fire before initializing map.
LayerLoader.LAYER_ERROR
Indicates that a map layer has errored
LayerLoader.LAYER_LOADED
Indicates that a map layer has loaded. This means the constructor initialized and shook hands with it's data source
LayerLoader.LAYER_UPDATED
Indicates that a map layer has updated. This means the data it is showing is visible and up-to-date
LayerLoader.LAYER_UPDATING
Indicates that a map layer has started updating. This means it is getting data from its source
LayerLoader.RELOAD_LAYER
Indicates that a map layer should be removed from the map
LayerLoader.REMOVE_LAYER
Indicates that a map layer should be removed from the map
Maptips.EXTENT_CHANGE [subscribed]
Maptips.REPOSITION_INTERACTIVE [subscribed]
Repositions the interactive tooltip that is already displayed when the user pans or zooms the map, or the map is otherwise adjusted. If the tooltip is hidden from the view by the SubPanel or the edge of the map container, it is hidden from the page.
Event Payload:
-
offset
NumberNew tooltip offset relative to the shape it's attached too; when zooming, the shape changes its size and the offset needs to be recalculated to keep the tooltip in relative center
Maptips.SHOW [subscribed]
Displays a simple, temporary maptip, positioning it over the target
jObject; the content of the maptip is build from the
contents of the graphic
object and the mapTip template specified in the config object.
Event Payload:
-
target
JObjecta node/svg object the user hovered over
-
graphic
ObjectESRI graphic object belonging to the target
Maptips.SHOW_INTERACTIVE [subscribed]
Displays an permanent, interactive maptip with a close button, positioning it over the target
jObject; the content of the maptip is build from the
contents of the graphic
object and the mapTip template specified in the config object.
The maptip will not be shown if it's covered by the open SubPanel.
Event Payload:
-
target
JObjecta node/svg object the user hovered over
-
graphic
ObjectESRI graphic object belonging to the target