Skip to main content

Layer List Events

LayerSearchCompleted

Description

The LayerSearchCompleted event is triggered when a user completes a search for layers on a Dashboard or Record Level Maptaskr Map. This event provides information about the search polygon, search term, and the resulting layers in JSON format.

Usage

To listen for the LayerSearchCompleted event, you can use the on method of the window.top['maptaskrCORE'] object. This allows you to register an event listener that executes a call-back function when the event is triggered.

Example

window.top['maptaskrCORE'][controlId].on("LayerSearchCompleted", function(searchPolygon, searchTerm, resultingLayersJson) {
console.log("searchPolygon: " + searchPolygon);
console.log("searchTerm: " + searchTerm);
console.log("resultingLayersJson: " + resultingLayersJson);
});

In the example above, we've registered an event listener for the LayerSearchCompleted event. When the event occurs, the provided call-back function is executed, logging the search polygon, search term, and the resulting layers in JSON format to the console.

Parameters

  • searchPolygon (string): The search polygon or area used for layer searching.
  • searchTerm (string): The search term or criteria used for layer searching.
  • resultingLayersJson (string): The resulting layers in JSON format that match the search criteria.

Response Example

The resultingLayersJson returned will be a JavaScript Object in the format provided below (with some properties excluded for brevity)

[
{
"layers": [],
"groups": [],
"isFiltered": true,
"LayerId": "acb612f0-bea7-eb11-9442-000d3acb7dc6-2",
"LayerName": "MapServer RoadAssets_DataPortal",
"LayerHiddenName": "https://mrgis.mainroads.wa.gov.au/arcgis/rest/services/OpenData/RoadAssets_DataPortal/MapServer",
"IsCorporate": true,
"layerGroupId": "819aafa8-2a8e-ec11-8d20-002248159630",
"SecurityGroupId": [
"all"
],
"LayerType": 5,
"LayerUrl": "https://mrgis.mainroads.wa.gov.au/arcgis/rest/services/OpenData/RoadAssets_DataPortal/MapServer",
"isService": true,
"IsVisible": true,
"IsSelected": false,
"sharedUserIds": [],
"hasAuthentication": false,
"layerUserName": "",
"layerPassword": "",
"metadataStyle": "Table",
"arcGisAuthApplication": "",
"securityLayerKey": "",
"securityLayerValue": "",
"securityLayerType": 0,
"arcGisLayerToken": "",
"isForPortal": true,
"LayerUniqueIdentifier": "acb612f0-bea7-eb11-9442-000d3acb7dc6-2",
"IsCollapsed": true,
"IsLayerFunctionality": false,
"filteredSubLayersId": [
0,
6,
27
]
}
]

Removing Event Listeners

To remove the event listener for the LayerSearchCompleted event, you can use the off method of the window.top['maptaskrCORE'] object. This is useful when you no longer want to listen to this specific event.

Example

window.top['maptaskrCORE'][controlId].off("LayerSearchCompleted");

In the example above, the event listener for LayerSearchCompleted is removed, ensuring that the associated call-back function no longer executes when the event is triggered.

LayerSelected

Description

The LayerSelected event is triggered when a user selects a layer or layer group on a Dashboard or Record Level Maptaskr Map. This event provides information about the selected layer group ID and layer ID.

Usage

To listen for the LayerSelected event, you can use the on method of the window.top['maptaskrCORE'] object. This allows you to register an event listener that executes a call-back function when the event is triggered.

Example

window.top['maptaskrCORE'][controlId].on("LayerSelected", function(layerGroupID, layerID, checked) {
console.log("layerGroupID: " + layerGroupID);
console.log("layerID: " + layerID);
console.log("checked: " + checked);
});

In the example above, we've registered an event listener for the LayerSelected event. The provided call-back function is executed when the event occurs, logging the layer group ID and layer ID to the console.

Parameters

  • layerGroupID (string): The ID of the selected layer group.
  • layerID (string): The ID of the selected layer within the group.
  • checked (boolean): If the layer is checked or unchecked.

Removing Event Listeners

To remove the event listener for the LayerSelected event, you can use the off method of the window.top['maptaskrCORE'] object. This is useful when you no longer want to listen to this specific event.

Example

window.top['maptaskrCORE'][controlId].off("LayerSelected");

In the example above, the event listener for LayerSelected is removed, ensuring that the associated call-back function no longer executes when the event is triggered.

LayerFilterApplied

Description

The LayerFilterApplied event is triggered when a user applies a filter to a layer on a Dashboard or Record Level Maptaskr Map. This event provides information about the filter parameters.

Usage

To listen for the LayerFilterApplied event, you can use the on method of the window.top['maptaskrCORE'] object. This allows you to register an event listener that executes a call-back function when the event is triggered.

Example

window.top['maptaskrCORE'][controlId].on("LayerFilterApplied", function(filterparams) {
console.log("filterparams: " + filterparams);
});

In the example above, we've registered an event listener for the LayerFilterApplied event. The provided call-back function is executed when the event occurs, logging the filter parameters to the console.

Parameters

  • filterparams (string): The filter parameters applied to the layer.

Response Example

The filterparams returned will be a JavaScript Object in the format provided below (with some properties excluded for brevity)

{
"LayerName": "Bike Count Sites",
"LayerUniqueIdentifier": "acb612f0-bea7-eb11-9442-000d3acb7dc6-2_670badf1-7131-4068-9437-a9f254cf2607",
"expressionItems": [
{
"operators": [
{
"name": "Equals",
"value": "eq",
"fetchOp": "eq",
"fetchVal": "",
"types": [
6,
1,
3,
7
],
"isCommon": false
},
{
"name": "Does Not Equal",
"value": "ne",
"fetchOp": "ne",
"fetchVal": "",
"types": [
6,
1,
3,
7
],
"isCommon": false
}
],
"fields": [
{
"displayName": "OBJECTID",
"internalName": "OBJECTID",
"fieldTypeName": "decimal",
"fieldType": 6
},
...
],
"valueList": [],
"dataType": 6,
"displayName": "OBJECTID",
"operator": "eq",
"value": "1",
"fieldInfo": "{\"displayName\":\"OBJECTID\",\"internalName\":\"OBJECTID\",\"fieldTypeName\":\"decimal\",\"fieldType\":6}"
}
],
"FilterLayerOperator": "Match All"
}

Removing Event Listeners

To remove the event listener for the LayerFilterApplied event, you can use the off method of the window.top['maptaskrCORE'] object. This is useful when you no longer want to listen to this specific event.

Example

window.top['maptaskrCORE'][controlId].off("LayerFilterApplied");

In the example above, the event listener for LayerFilterApplied is removed, ensuring that the associated call-back function no longer executes when the event is triggered.

LayerAttributeRequested

Description

The LayerAttributeRequested event is triggered when a user requests attributes for a layer on a Dashboard or Record Level Maptaskr Map. This event provides information about the layer group ID, layer ID, and resulting attributes.

Usage

To listen for the LayerAttributeRequested event, you can use the on method of the window.top['maptaskrCORE'] object. This allows you to register an event listener that executes a call-back function when the event is triggered.

Example

window.top['maptaskrCORE'][controlId].on("LayerAttributeRequested", function(layerGroupdID, layerID, resultingAttributes) {
console.log("layerGroupdID: " + layerGroupdID);
console.log("layerID: " + layerID);
console.log("resultingAttributes: " + resultingAttributes);
});

In the example above, we've registered an event listener for the LayerAttributeRequested event. When the event occurs, the provided call-back function is executed, logging the layer group ID, layer ID, and resulting attributes to the console.

Parameters

  • layerGroupdID (string): The ID of the layer group for which attributes were requested.
  • layerID (string): The ID of the layer for which attributes were requested.
  • resultingAttributes (string): The resulting attributes for the requested layer.

Response Example

The resultingAttributes returned will be a JavaScript Object in the format provided below (with some properties excluded for brevity)

[
{
"OBJECTID": 88315,
"SITE_NO": "6737",
"ROAD_NAME": "Kwinana Fwy PSP",
"LOCATION_DESC": "North Abutment of Narrows Bridge",
"DATE_COMMISSIONED": "2008-11-01 09:00:00",
"TRAFFIC_YEAR": "2023/24",
"PRIMARY_DIRECTION": "To Perth",
"PRIMARY_DIRECTION_MON_SUN": 234,
"PRIMARY_DIRECTION_MON_FRI": 207,
"SECONDARY_DIRECTION": "To Fremantle",
"SECONDARY_DIRECTION_MON_SUN": 257,
"SECONDARY_DIRECTION_MON_FRI": 213,
"COMBINED_DIRECTION_MON_SUN": 491,
"COMBINED_DIRECTION_MON_FRI": 420,
"LG_NO": "124",
"LG_NAME": "Perth (C)",
"RA_NO": 7,
"RA_NAME": "Metropolitan",
"PRIMARY_DIRECTION_SAT_SUN": 300,
"SECONDARY_DIRECTION_SAT_SUN": 368,
"COMBINED_DIRECTION_SAT_SUN": 668,
"geom": {
"x": 115.8481209999099,
"y": -31.96117500052617
},
"projection": "4326",
"isSelected": false
},
...
]

Removing Event Listeners

To remove the event listener for the LayerAttributeRequested event, you can use the off method of the window.top['maptaskrCORE'] object. This is useful when you no longer want to listen to this specific event.

Example

window.top['maptaskrCORE'][controlId].off("LayerAttributeRequested");

In the example above, the event listener for LayerAttributeRequested is removed, ensuring that the associated call-back function no longer executes when the event is triggered.