sc-selected-asset
This document is a user guide for the sc-selected-asset component release version 7.1.9.
1 Purpose
sc-selected-asset places a combined address search, street address, primary assets, secondary assets and map fields on a form. The map uses markers such as points, lines, polygons or images to show the geospatial location of documents returned by a filter query. Tooltip text can be configured to display on mouseover of a marker. Map buttons provide the ability to zoom in, zoom out, centre on current location, toggle full screen, select primary assets, select secondary assets and toggle between map views.
The sc-selected-asset definition provides fields for setting the properties of a selected asset field and is fully described below.
2 Definition
sc-selected-asset is defined by a set of name/value pair fields consisting of:
- Required system fields
- Required customizable fields
- Optional customizable fields
Note:
- Default values for the fields described in the tables below are shown in bold text.
- Most fields in the tables and/or examples below use a single name/value pair to define a property of the sc-selected-asset component e.g.
"mandatory": true
.
Whereas the fields"geocodeSearchService"
,"layers"
,"mapParameters"
and"mapViews"
require a set of name/value pair fields to define a property of the sc-selected-asset component. The tables below provide a summary description of these fields and a link to an Appendix that has the detailed description. Links to these appendices are also listed below.
2.1 Required System Fields
Field | Valid Values | Description |
---|---|---|
componentName | sc-selected-asset | The component name. Example: "componentName": "sc-selected-asset" |
2.2 Required Customizable Fields
Field | Valid Values | Description |
---|---|---|
name | Any value written in camel case. | Defines the name of the selected asset field in the document and database. Example: "name": "typicalDefnScSelectedAsset" |
2.3 Optional Customizable Fields
Field | Valid Values | Description |
---|---|---|
addressImageAnchor | [x,y] | The position of the top-left corner of the image/icon marking the address location. Written as an array [x,y], where x and y can be zero or a positive or a negative decimal number. The x and y values indicate the position (in image widths and image heights) of the top-left corner of the image relative to the address location. [0.5,1.0] positions the top-left corner of the image (0.5 x image width) to the right and (1.0 x image height) upwards from the address location. Example: "addressImageAnchor": [ 1.5, 1.5 ] |
[0.5,1.0] | Default value. | |
addressImageFileNo | Image File Number | The image/icon used to indicate the address location. Example: "addressImageFileNo": "8b526c40-e1c6-44c6-9c49-61d153f07cc8" |
Defaults to a pin icon with a red fill with a black dot:![]() |
||
centerOnReverse | true | Clicking the "Pencil" button and then clicking a point on the map will:
Example: "centerOnReverse": true |
false | Default value. Clicking the "Pencil" button and then clicking a point on the map will:
|
|
country | Valid country code | Used by a geocode service to improve its performance. E.g. address searches will restrict results to the specified country. To avoid conflicts, recommend using either this country field or the geocoderDefaultCountry field within the geocodeSearchService field to specify a country, but not both.Example: "country": "au" |
Defaults to the geocoderDefaultCountry if one exists, otherwise no restriction on country. |
||
delayBeforeCallNum | Integer value | The number of milliseconds before an address search is triggered. Example: "delayBeforeCallNum": 200 |
? | Default value. | |
disableHandlebars | Used as to assess and monitor performance differences between processing a non handlebars string and having handlebars set the value to something dynamic. | |
true | Prevent handlebars being used on map display fields such as label, color, tooltips, etc at both the root and layers field level. Example: "disableHandlebars": true |
|
false | Allows handlebars being used on map display fields suuch as label, color, tooltips, etc. | |
disableMouseWheel | true | Disable the ability to zoom the map using the mouse wheel. Example: "disableMouseWheel": true |
false | Default value. Enable the ability to zoom the map using the mouse wheel. |
|
disableSave | true | Changing the sc-selected-asset field value (i.e. entering or selecting an address or an asset) does not trigger the Save icon to flash. Exiting the form without saving changes to the sc-selected-asset field value does not trigger a warning message to display. Note:
Example: "disableSave": true |
false | Default value. Changing the sc-selected-asset field value (i.e. entering or selecting an address or an asset) does trigger the Save icon to flash. Exiting the form without saving changes to the sc-selected-asset field value does trigger a warning message to display. In both the Angular and AngularJS versions of the sc-selected-asset component, clicking the Save icon will save the sc-selected-asset field value to the document. |
|
dropPinSelectsAddress | For each of the valid values below, selecting the button with the pencil icon and clicking on the map will drop a pin at the click point and activate reverse geocoding i.e. retrieve the closest address to where the pin was dropped. | |
true | Set the street address field values to those of the closest address to the click point. Set the latitude and longitude field values to those of the closest address to the click point. Position the pin on the map at the latitude and longitude of the closest address to the click point. Example "dropPinSelectsAddress": true |
|
false | Default value. Set the street address field values to those of the closest address to the click point. Set the latitude and longitude field values to those of the click point. Position the pin on the map at the click point. |
|
enabled | false | Disables the following fields on the form: "Address Search", "Address", "Primary Asset" and "Secondary Asset". Disables the following buttons on the form: "Select Address", "Select Primary Asset" and "Select Secondary Asset". A Stop icon appears on mouseover of the above fields and buttons. The "Zoom", "Full Screen" and "Map View" buttons remain enabled. Example: "enabled": false |
true | Default value. All fields and map buttons are enabled. |
|
EPSG | Valid EPSG SRID | EPSG (European Petroleum Survey Group) is a spatial coordinate system used to locate geographical entities on a map, a map being a 2D projection of the 3D earth's surface or a region of the 3D earth's surface. There are many 2D projections, each using different properties to represent distances, angles or areas. Certain projections are better suited for different regions in the world. An EPSG SRID (Spatial Reference System Identifier) value identifies a specific 2D projection coordinate system together with the region of the earth it covers. Example: "EPSG": "EPSG:3111" EPSG:3111 uses a coordinate system PROJECTED from the surface of the sphere or ellipsoid (e.g. Earth's curved surface) to a flat surface. Used for rendering a map of the Australian State of Victoria (between 140.9500, -39.1500 and 149.9800, -34.0000). Example: "EPSG": "EPSG:4326" EPSG: 4326 uses a coordinate system for the surface of a sphere or ellipsoid (e.g. Earth's curved surface). Used by the GPS satellite navigation system and Google Earth for the entire Earth's curved surface (between -180.0000, -90.0000 and 180.0000, 90.0000). |
EPSG:3857 | Defaults to the Web Mercator projection (EPSG:3857) which is used to render a map of the world (between 85.06°S and 85.06°N) in Google Maps, OpenStreetMaps, OpenLayers, etc. | |
fullWidth | true | The selected asset field displays full width on the form. Full width is recommended for displaying a selected asset field on a form. Example: "fullWidth": true |
false | Default value. The selected asset field does not display full width on the form. |
|
geocodeSearchService | An array of geocode service definitions, each defining the properties of a geocode service. A geocode service provides geocoding and reverse geocoding functionality. Geocode service providers include Google, Geocode.Farm, Vicmap, PSMA and psmafarm. See Appendix A: geocodeSearchService Field for a detailed description of the "geocodeSearchService" field. |
|
heightNum | numeric value | The height of the selected asset map field as a multiple of a standard height. Example: "heightNum": 3 |
1 | Default value. The height of the selected asset map field defaults to 1 standard height. |
|
hideAddress | true | Hide the selected asset address fields, showing only the map field and the primary and secondary asset fields Example: "hideAddress": true |
false | Default value. Do not hide selected asset address fields. |
|
initialMapView | Defines how to set the initial map area. | |
map | Position the map at the point and zoom level defined by the "mapParameters" defaultLon , defaultLat and defaultZoom fields.Example: "initialMapView": "map" |
|
all | Set the map area to the area covered by the assets returned by the "layers" and "filter" queries. Example: "initialMapView": "all" |
|
layers | Set the map area to the area covered by the assets returned by the "layers" query. Example: "initialMapView": "layers" |
|
filter | Default value. Set the map area to the area covered by the assets returned by the "filter" query. Example: "initialMapView": "filter" |
|
initialAssetLoading | Determines if assets will load on document load | |
true | On document load, the assets will load on the map | |
false | Default value. On document load, the map will not query for assets. Any map action or ruleset can then lead to assets being queried and loading. |
|
label | Any value | The name of the sc-selected-asset field on the form i.e. the field label. Example: "label": "Typical Defn sc-selected-asset" |
Defaults to no label is displayed. | ||
language | A valid language code | Used by the geocode service to improve its performance. Example: "language": "en" |
Default value is geocode service dependent. E.g. Google Maps attempts to load the most appropriate language based on the users location or browser settings. |
||
layers | Array of map layer definitions | An array of map layer definitions, each defining the properties of a map layer. See Appendix B: layers Field for a detailed description of the "layers" field. |
mandatory | true | Works in conjunction with the mandatoryValuesArray field.The selected asset field displays as mandatory (i.e. label in red text with an asterisk and with each field in the "mandatoryValuesArray" underlined in red).Saving without a value in a mandatory field, a message prompts the user to enter a value for that field. Example: "mandatory": true |
false | Default value. The field displays as optional (i.e. label in black text). |
|
mandatoryValuesArray | Array of mandatory field definitions | Works in conjunction with "mandatory": true .An array of one or more mandatory field definitions, each definition specifying a field and the message to display if that field has no value. The fields that can be defined as mandatory are:
See Section 2.3.1 mandatoryValuesArray Field for detailed description of a mandatory field definition. |
The default mandatory fields are:
|
||
mapParameters | Set of name/value fields | A set of name/value pair fields that define the properties of the map. See Appendix C: mapParameters Field for detailed description of the "mapParameters" field. |
maxZoom | Integer | The maximum zoom level for assets to display. Above this assets will no longer load. |
15 | Default value. | |
minZoom | Integer | The minimum zoom level for assets to display. Below this zoom level, assets will no longer load. |
undefined | Default value. | |
noSecondaryAssetSelection | true | Disable the option to select secondary assets. A Stop icon appears on mouseover of the Secondary asset field. Example: "noSecondaryAssetSelection": true |
false | Default value. Enable the option to select secondary assets. A Stop icon does not appear on mouseover of the Secondary asset field. |
|
popupAssetSelection | true | If multiple assets are returned when selecting an asset from the map, the assets are listed as selectable items in a popup menu. Note:
"popupAssetSelection": true |
false | Default value. Multiple returned assets are not listed as selectable items in a popup menu. Note:
|
|
popupAssetSelectionPrimaryText | String | The display text for assets when selecting the primary asset(s) in popup menu i.e. this occurs when "popupAssetSelection": true .The string value can include one or more Handlebars expressions. See Appendix E: Handlebars Usage in Formbird for a detailed description of how to incorporate the Handlebars templating language within a Formbird template. Example: "popupAssetSelectionPrimaryText": "Primary Asset {{systemHeader.summaryName}} State {{operational_state}}" |
Default value:"popupAssetSelectionPrimaryText": "{{systemHeader.summaryName}}" |
||
popupAssetSelectionSecondaryText | String | The display text for assets when selecting the secondary asset(s) in popup menu i.e. this occurs when "popupAssetSelection": true .The string value can include one or more Handlebars expressions. See Appendix E: Handlebars Usage in Formbird for a detailed description of how to incorporate the Handlebars templating language within a Formbird template. Example: "popupAssetSelectionSecondaryText": "Secondary Asset {{systemHeader.summaryName}} State {{operational_state}}" |
Default value:"popupAssetSelectionSecondaryText": "{{systemHeader.summaryName}}" |
||
positionMandatory | true | Restricts the entry on an address to the address search field, all other address fields being disabled. Once an address has been selected, the latitude and longitude fields remain disabled but the other address fields are enabled. Example: "positionMandatory": true |
false | Default value. All address fields are enabled. |
|
primaryAssetAddressField | An asset address field name | If "primaryAssetAddressSelection": true , then this field is used to:
Example: "primaryAssetAddressField": "addressGeo" |
primaryAssetAddressSelection | true | Enables the "primaryAssetAddressField". Hence, the "primaryAssetAddressField" will be used to:
Example: "primaryAssetAddressSelection": true |
false | Default value. Disables the "primaryAssetAddressField". Hence, the "primaryAssetAddressField" will not be used to:
|
|
primaryAssetFilter | Elastic search query | A query to search for asset documents from which an asset can then be selected as a primary asset. Allows the user to search for and select an asset based on criteria entered in the primary assets field as an alternative to selecting a primary asset from the map. Example: "primaryAssetFilter": "{'query':{'bool':{'filter':[]}}}" |
Defaults to no search for asset documents is performed. | ||
primaryAssetGeometryField | An asset geometry field name | This field of the selected asset is used to:
Example: "primaryAssetGeometryField": "locationGeo" |
primaryAssetSelection | Array of primary asset selection field definitions | An array of one or more field definitions, each definition specifying a display property for the selected primary asset(s) e.g. color, line width, etc. See Section 2.3.2 primaryAssetSelection Field for detailed description of a primaryAssetSelection field definition. |
primaryAssetSelectionMode | Asset | Clicking an asset to select it as a primary asset will:
Note: To deselect an asset as a primary asset, click it again. Example: "primaryAssetSelection": "Asset" |
point | Default value. Clicking an asset to select it as a primary asset will:
|
|
primaryColor | A valid color OR Handlebars expression returning a valid color |
The line colour for the lines and polygons of a selected primary asset when primaryAssetSelectionMode": "Asset" .Colours are specified using predefined color names, HEX or RGB values or a handlebars expression that returns a predefined color name, HEX or RGB value. Examples: "primaryColor": "blue" "primaryColor": "#008000" "primaryColor": "rgb(0,128,0)" "primaryColor" : "{{#ifEquals row.pipe_matrl 'CICL'}}Yellow{{/ifEquals}}{{#ifNotEquals row.pipe_matrl 'CICL'}}Pink{{/ifNotEquals}}" Note:
|
green | Default value. | |
primaryFill | A valid color OR Handlebars expression returning a valid color |
The fill colour for the polygons of a selected primary asset when primaryAssetSelectionMode": "Asset" .Colours are specified using predefined color names, HEX or RGB values or a handlebars expression that returns a predefined color name, HEX or RGB value. Examples: "primaryFill": "blue" "primaryFill": "#008000" "primaryFill": "rgb(0,128,0)" "primaryFill" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}Yellow{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}Pink{{/ifNotEquals}}" Note:
|
green | Default value. | |
primaryFillOpacity | Decimal from 0 to 1 | The fill opacity for polygons of a selected primary asset when primaryAssetSelectionMode": "Asset" .Example: "primaryFillOpacity": 0.5 Note: Either the primaryFillOpacityHandlebars field, the primaryFillOpacity field, the primaryAssetSelection.selectionFillOpacityHandlebars field or the primaryAssetSelection.selectionFillOpacity field can be used to define the fill opacity of a selected primary asset. To avoid conflicts, recommend using only one of these fields to define the fill opacity of a selected primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
1 | Default value. | |
primaryFillOpacityHandlebars | Handlebars expression returning a decimal value from 0 to 1 | A handlebars expression that returns the fill opacity to set the primaryFillOpacity value when "primaryAssetSelectionMode": "Asset" . Example: "primaryFillOpacityHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}0.3{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}1{{/ifNotEquals}}" Note:
|
Default value. If neither the primaryFillOpacityHandlebars field, the primaryFillOpacity field, the primaryAssetSelection.selectionFillOpacityHandlebars field nor the primaryAssetSelection.selectionFillOpacity field have been defined then the default value defined for the primaryFillOpacity field will be used. |
||
primaryImageAnchor | [x,y] | The position of the top-left corner of the image marking the selection point on a primary asset when "primaryAssetSelectionMode": "Point" .Written as an array, [x,y] where x and y can be zero or a positive or negative decimal number. The x and y values indicate the position (in image widths and image heights) of the top-left corner of the image from the selection point on a primary asset. [1.0,1.5] positions the top-left corner of the image (1.0 x image width) to the right and (1.5 x image height) upwards from the selection point on a primary asset. Example: "primaryImageAnchor": [ 1.0, 1.0, ] Note: Either the primaryImageAnchorHandlebars field, the primaryImageAnchor field, the primaryAssetSelection.selectionImageAnchorHandlebars field or the primaryAssetSelection.selectionImageAnchor field can be used to define the position of the top-left corner of the image marking the selection point on a primary asset. To avoid conflicts, recommend using only one of these fields to define the position of the top-left corner of the image marking the selection point on a primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
[1.0,1.5] | Defaults value | |
primaryImageAnchorHandlebars | Handlebars expression returning [x.y] value | A handlebars expression that returns an array [x,y] to set the primaryImageAnchor value when "primaryAssetSelectionMode": "Point" . Example: "primaryImageAnchorHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[1, 1]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[0.5, 1]{{/ifNotEquals}}" Note:
|
Default value. If neither the primaryImageAnchorHandlebars field, the primaryImageAnchor field, the primaryAssetSelection.selectionImageAnchorHandlebars field nor the primaryAssetSelection.selectionImageAnchor field have been defined then the default value defined for the primaryImageAnchor field will be used. |
||
primaryImageFileNo | Image File Number OR Handlebars expression returning image file number |
The image marking the selection point on a primary asset when "primaryAssetSelectionMode": "Point" .Examples: "primaryImageFileNo": "63d53643-65da-4db5-82f5-2af257845516" "primaryImageFileNo": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}b49d6e50-a0c1-11ea-9248-8b2cbbc9c92d{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}15b74ecf5f43ac9a50604db91dac9f87{{/ifNotEquals}}" Note:
|
Defaults to a pin icon with a green fill:![]() |
||
primaryImageRotation | Numeric value | The number of degrees to rotate the image marking the selection point on a primary asset when "primaryAssetSelectionMode": "Point" . A positive value will rotate the image in a clockwise direction, a negative value will rotate the image in an anti-clockwise direction.Example: "primaryImageRotation": 30 Note: Either the primaryImageRotationHandlebars field, the primaryImageRotation field, the primaryAssetSelection.selectionImageRotationHandlebars field or the primaryAssetSelection.selectionImageRotation field can be used to define the number of degrees to rotate the image marking the selection point on a primary asset. To avoid conflicts, recommend using only one of these fields to define the number of degrees to rotate the image marking the selection point on a primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
0 | Default value. No rotation is performed. |
|
primaryImageRotationHandlebars | Handlebars expression returning a numeric value | A handlebars expression that returns the number of degrees to set the primageImageRotation value when "primaryAssetSelectionMode": "Point" . Example: "primaryImageRotationHandlebars": "{{#ifEquals asset_category 'MANHOLE'}}45{{/ifEquals}}" Note:
|
Default value. If neither the primaryImageRotationHandlebars field, the primaryImageRotation field, the primaryAssetSelection.selectionImageRotationHandlebars field nor the primaryAssetSelection.selectionImageRotation field have been defined then the default value defined for the primaryImageRotation field will be used. |
||
primaryLineCap | The end style of lines and polygons of a primary asset when "primaryAssetSelectionMode": "Asset" .Note: Either primaryLineCap or primaryAssetSelection.selectionLineCap can be used to define the end style of lines and polygons of a primary asset. To avoid conflicts, recommend using only one of these fields to define the end style of lines and polygons of a primary asset. In the event that both of these fields are defined then the primaryLineCap will take prescedence. |
|
square | Lines ends are square. Example: "primaryLineCap": "square" |
|
round | Default value. | |
primaryLineDash | [x,y] | The dash pattern for lines and polygons of a primary asset when "primaryAssetSelectionMode": "Asset" .Defined by an array [x,y] of 2 numbers where x is the dash length, y is the gap length. Example: "primaryLineDash": [ 10, 5 ] Note: Either the primaryLineDashHandlebars field, the primaryLineDash field, the primaryAssetSelection.selectionLineDashHandlebars field or the primaryAssetSelection.selectionLineDash field can be used to define dash pattern for lines and polygons of a primary asset. To avoid conflicts, recommend using only one of these fields to define the dash pattern for lines and polygons of a primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
Defaults to no dash pattern i.e. a solid line. | ||
primaryLineDashHandlebars | Handlebars expression | A handlebars expression that returns an array [x,y] to set the primaryLineDash value when "primaryAssetSelectionMode": "Asset" . Example: "primaryLineDashHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[15, 10]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[10, 5]{{/ifNotEquals}}" Note:
|
Default value. If neither the primaryLineDashHandlebars field, the primaryLineDash field, the primaryAssetSelection.selectionLineDashHandlebars field nor the primaryAssetSelection.selectionLineDash field have been defined then the default value defined for the primaryLineDash field will be used. |
||
primaryLineWidth | Integer value | The line width of lines and polygons of a primary asset when "primaryAssetSelectionMode": "Asset" .Example: "primaryLineWidth": 2 Note: Either the primaryLineWidthHandlebars field, the primaryLineWidth field, the primaryAssetSelection.selectionLineWidthHandlebars field or the primaryAssetSelection.selectionLineWidth field can be used to define the line width of lines and polygons of a primary asset. To avoid conflicts, recommend using only one of these fields to define the line width of lines and polygons of a primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
4 | Default value. | |
primaryLineWidthHandlebars | Handlebars expression returning an integer value | A handlebars expression that returns the line width to set the primaryLineWidth value when "primaryAssetSelectionMode": "Asset" . Example: "primaryLineWidthHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}2{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}5{{/ifNotEquals}}" Note:
|
Default value. If neither the primaryLineWidthHandlebars field, the primaryLineWidth field, the primaryAssetSelection.selectionLineWidthHandlebars field nor the primaryAssetSelection.selectionLineWidth field have been defined then the default value defined for the primaryLineWidth field will be used. |
||
relatedFields | Provides the ability to pass additional data from the linked asset document to the sc-selected-asset document structure. | |
Set of field name pairings | A set of destination and source field pairings. The source field is a linked asset field. The destination field is the sc-selected-asset field for storing the source field value. Example: "relatedFields": { "assetNumber": "assetNumber "pipe_dia": "pipe_dia", "pipe_matr": "pipe_matrl", "pipe_type": "pipe_type } |
|
Defaults to no additional data is passed from the linked asset document to the sc-selected-asset document structure. | ||
searchDelay | Integer | On entering criteria into the address search field, the number of milliseconds to wait until the address search function is called. Example: "searchDelay": 1500 |
Defaults to the value set in the Environment Configuration document for the "clientConfiguration"."searchDelay" field, or to 500 milliseconds if that isn't set. | ||
searchMinLength | Integer >=3 | The minimum number of characters, excluding trailing spaces, that need to be entered into the address search field before the address search function is called. Example: "searchMinLength": 5 |
3 | Default value. | |
secondaryAssetFilter | Elastic search query | A query to search for asset documents from which an asset can then be selected as a secondary asset. Allows the user to search for and select an asset based on criteria entered in the secondary assets field as an alternative to selecting a secondary asset from the map. Example: "secondaryAssetFilter": "{'query':{'bool':{'filter':[{'term':{'systemHeader.templateId':'54eecc5b2536c225ec734273'}}]}}}" Example: "secondaryAssetFilter": "{'query':{'bool':{'filter':[{'term':{ 'wat_category': 'POTABLE'}},{'term':{'systemHeader.systemType':'document'}},{'term':{'pipe_type':'RETMAIN'}}]}}}" |
Defaults to no search for asset documents is performed. | ||
secondaryAssetSelection | Array of secondary asset selection field definitions | An array of one or more field definitions, each definition specifying a display property for the selected secondary asset(s) e.g. color, line width, etc. See Section 2.3.3 secondaryAssetSelection Field for detailed description of the secondaryAssetSelection field definition. |
secondaryAssetSelectionMode | Asset | Clicking an asset to select it as a secondary asset will:
Note: To deselect an asset as a secondary asset, click it again. Example: "secondaryAssetSelection": "Asset" |
point | Default value. Clicking an asset to select it as a secondary asset will:
|
|
secondaryColor | A valid color OR Handlebars expression returning a valid color |
The line colour for the lines and polygons of a selected secondaryasset when secondaryAssetSelectionMode": "Asset" .Colours are specified using predefined color names, HEX or RGB values or a handlebars expression that returns a predefined color name, HEX or RGB value. Examples: "secondaryColor": "green" "secondaryColor": "#008000" "secondaryColor": "rgb(0,128,0)" "secondaryColor" : "{{#ifEquals row.pipe_matrl 'CICL'}}Yellow{{/ifEquals}}{{#ifNotEquals row.pipe_matrl 'CICL'}}Pink{{/ifNotEquals}}" Note:
|
black | Default value. | |
secondaryFill | A valid color OR Handlebars expression returning a valid color |
The fill colour for the polygons of a selected secondary asset when secondaryAssetSelectionMode": "Asset" .Colours are specified using predefined color names, HEX or RGB values or a handlebars expression that returns a predefined color name, HEX or RGB value. Examples: "secondaryFill": "green" "secondaryFill": "#008000" "secondaryFill": "rgb(0,128,0)" "secondaryFill" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}Yellow{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}Pink{{/ifNotEquals}}" Note:
|
black | Default value. | |
secondaryFillOpacity | Decimal from 0 to 1 | The fill opacity for polygons of a selected secondary asset when secondaryAssetSelectionMode": "Asset" .Example: "secondaryFillOpacity": 0.5 Note: Either the secondaryFillOpacityHandlebars field, the secondaryFillOpacity field, the secondaryAssetSelection.selectionFillOpacityHandlebars field or the secondaryAssetSelection.selectionFillOpacity field can be used to define the fill opacity of a selected secondary asset. To avoid conflicts, recommend using only one of these fields to define the fill opacity of a selected secondary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
1 | Default value. | |
secondaryFillOpacityHandlebars | Handlebars expression returning a decimal value from 0 to 1 | A handlebars expression that returns the fill opacity to set the secondaryFillOpacity value when "secondaryAssetSelectionMode": "Asset" . Example: "secondaryFillOpacityHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}0.3{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}1{{/ifNotEquals}}" Note:
|
Default value. If neither the secondaryFillOpacityHandlebars field, the secondaryFillOpacity field, the secondaryAssetSelection.selectionFillOpacityHandlebars field nor the secondaryAssetSelection.selectionFillOpacity field have been defined then the default value defined for the secondaryFillOpacity field will be used. |
||
secondaryImageAnchor | [x,y] | The position of the top-left corner of the image marking the selection point on a secondary asset when "secondaryAssetSelectionMode": "Point" .Written as an array, [x,y] where x and y can be zero or a positive or negative decimal number. The x and y values indicate the position (in image widths and image heights) of the top-left corner of the image from the selection point on a secondary asset. [1.0,1.5] positions the top-left corner of the image (1.0 x image width) to the right and (1.5 x image height) upwards from the selection point on a secondary asset. Example: "secondaryImageAnchor": [ 0.5, 1.0, ] Note: Either the secondaryImageAnchorHandlebars field, the secondaryImageAnchor field, the secondaryAssetSelection.selectionImageAnchorHandlebars field or the secondaryAssetSelection.selectionImageAnchor field can be used to define the position of the top-left corner of the image marking the selection point on a secondary asset. To avoid conflicts, recommend using only one of these fields to define the position of the top-left corner of the image marking the selection point on a secondary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
[1.0,1.5] | Defaults value | |
secondaryImageAnchorHandlebars | Handlebars expression returning [x.y] value | A handlebars expression that returns an array [x,y] to set the secondaryImageAnchor value when "secondaryAssetSelectionMode": "Point" . Example: "secondaryImageAnchorHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[1, 1]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[0.5, 1]{{/ifNotEquals}}" Note:
|
Default value. If neither the secondaryImageAnchorHandlebars field, the secondaryImageAnchor field, the secondaryAssetSelection.selectionImageAnchorHandlebars field nor the secondaryAssetSelection.selectionImageAnchor field have been defined then the default value defined for the secondaryImageAnchor field will be used. |
||
secondaryImageFileNo | Image File Number OR Handlebars expression returning image file number |
The image marking the selection point on a secondary asset when "secondaryAssetSelectionMode": "Point" .Examples: "secondaryImageFileNo": "8b526c40-e1c6-44c6-9c49-61d153f07cc8" "secondaryImageFileNo": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}b49d6e50-a0c1-11ea-9248-8b2cbbc9c92d{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}15b74ecf5f43ac9a50604db91dac9f87{{/ifNotEquals}}" Note:
|
Defaults to a pin icon with a black fill:![]() |
||
secondaryImageRotation | Numeric value | The number of degrees to rotate the image marking the selection point on a secondary asset when "secondaryAssetSelectionMode": "Point" . A positive value will rotate the image in a clockwise direction, a negative value will rotate the image in an anti-clockwise direction.Example: "secondaryImageRotation": 90 Note: Either the secondaryImageRotationHandlebars field, the secondaryImageRotation field, the secondaryAssetSelection.selectionImageRotationHandlebars field or the secondaryAssetSelection.selectionImageRotation field can be used to define the number of degrees to rotate the image marking the selection point on a secondary asset. To avoid conflicts, recommend using only one of these fields to define the number of degrees to rotate the image marking the selection point on a secondary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
0 | Default value. | |
secondaryImageRotationHandlebars | Handlebars expression | A handlebars expression that returns the number of degrees to set the secondaryImageRotation value when "secondaryAssetSelectionMode": "Point" . Example: "secondaryImageRotationHandlebars": "{{#ifEquals asset_category 'MANHOLE'}}45{{/ifEquals}}" Note:
|
Default value. If neither the secondaryImageRotationHandlebars field, the secondaryImageRotation field, the secondaryAssetSelection.selectionImageRotationHandlebars field nor the psecondaryAssetSelection.selectionImageRotation field have been defined then the default value defined for the secondaryImageRotation field will be used. |
||
secondaryLineCap | The end style of lines and polygons of a secondary asset when "secondaryAssetSelectionMode": "Asset" .Note: Either secondaryLineCap or secondaryAssetSelection.selectionLineCap can be used to define the end style of lines and polygons of a secondary asset. Recommend using only one of these fields to define the end style of lines and polygons of a secondary asset. In the event that both of these fields are defined then the secondaryLineCap will take prescedence. |
|
square | Lines ends are square. Example: "secondaryLineCap": "square" |
|
round | Default value. | |
secondaryLineDash | [x,y] | The dash pattern for lines and polygons of a secondary asset when "secondaryAssetSelectionMode": "Asset" .Defined by an array [x,y] of 2 numbers where x is the dash length, y is the gap length. Example: "secondaryLineDash": [ 10, 5 ] Note: Either the secondaryLineDashHandlebars field, the secondaryLineDash field, the secondaryAssetSelection.selectionLineDashHandlebars field or the secondaryAssetSelection.selectionLineDash field can be used to define dash pattern for lines and polygons of a secondary asset. To avoid conflicts, recommend using only one of these fields to define the dash pattern for lines and polygons of a secondary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
Defaults to no dash pattern i.e. a solid line. | ||
secondaryLineDashHandlebars | Handlebars expression | A handlebars expression that returns an array [x,y] to set the secondaryLineDash value when "secondaryAssetSelectionMode": "Asset" . Example: "secondaryLineDashHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[15, 10]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[10, 5]{{/ifNotEquals}}" Note:
|
Default value. If neither the primaryLineDashHandlebars field, the primaryLineDash field, the primaryAssetSelection.selectionLineDashHandlebars field nor the primaryAssetSelection.selectionLineDash field have been defined then the default value defined for the primaryLineDash field will be used. |
||
secondaryLineWidth | Integer value | The line width of lines and polygons of a secondary asset when "secondaryAssetSelectionMode": "Asset" .Example: "secondaryLineWidth": 2 Note: Either the secondaryLineWidthHandlebars field, the secondaryLineWidth field, the secondaryAssetSelection.selectionLineWidthHandlebars field or the secondaryAssetSelection.selectionLineWidth field can be used to define the line width of lines and polygons of a secondary asset. To avoid conflicts, recommend using only one of these fields to define the line width of lines and polygons of a secondary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
4 | Default value. | |
secondaryLineWidthHandlebars | Handlebars expression returning an integer value | A handlebars expression that returns the line width to set the secondaryLineWidth value when "secondaryAssetSelectionMode": "Asset" . Example: "secondaryLineWidthHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}2{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}5{{/ifNotEquals}}" Note:
|
Default value. If neither the primaryLineWidthHandlebars field, the primaryLineWidth field, the primaryAssetSelection.selectionLineWidthHandlebars field nor the primaryAssetSelection.selectionLineWidth field have been defined then the default value defined for the primaryLineWidth field will be used. |
||
showTiming | Used to assess and monitor performance by recording key time points in the processing of an asset set returned by a root level or a layer filter query. Key time points include:
As illustrated in the examples below, also logged will be the Asset Load trigger type and the Layer number containing the filter query. Example: from: mapMoveEnd layer[15] end time return asset = 2021-06-30T05:16:59.526Z , start time = 2021-06-30T05:16:58.303Z , total time = 1.223 (seconds) |
|
true | Record key time points in the processing of an asset set returned by a root level or a layer filter query. Example: "showTiming": true |
|
false | Default value. Do not record key time points in the processing of an asset set returned by a root level or a layer filter query. |
|
singlePrimaryAssetSelection | true | Only one asset can be selected as the primary asset. Each time an asset is selected, only the last selection is recorded. Example: "singlePrimaryAssetSelection": true |
false | Default value. Multiple assets can be selected as primary assets. |
|
singleSecondaryAssetSelection | true | Only one asset can be selected as the secondary asset. Each time an asset is selected, only the last selection is recorded. Example: "singleSecondaryAssetSelection": true |
false | Default value. Multiple assets can be selected as secondary assets. |
|
tooltipsTimeout | numeric value | The number of seconds an asset mouseover tooltip remains visible. Example: "tooltipsTimeout": 3 |
Defaults to remains visible until the mouse is moved over another asset. | ||
visible | false | The selected asset field is not visible on the form. Example: "visible": false |
true | Default value. The selected asset field is visible on the form |
2.3.1 mandatoryValuesArray Field
The mandatoryValuesArray
field in Section 2.3 Optional Customizable Fields is an array of mandatory field definitions, one definition per mandatory field.
The table below lists and describes each field of the mandatoryValuesArray
of fields that is used to define a field as mandatory.
Field | Valid Values | Description |
---|---|---|
name | Text | The message to display if on save, the mandatory field has no value. Example: "name": "There needs to be a suburb" |
jsonPathQuery | json path query | Identifies the field to be defined as mandatory. Example: "jsonPathQuery": "$..features[?(@.properties.suburb)]" |
2.3.2 primaryAssetSelection Field
The primaryAssetSelection
field in Section 2.3 Optional Customizable Fields is an array of field definitions, each defining a display property of the selected primary asset(s).
The table below lists and describes each field of the primaryAssetSelection
array of fields that can be used to define the display properties of the selected primary asset(s).
Field | Valid Values | Description |
---|---|---|
selectionColor | A valid color | The line colour for the lines and polygons of a selected primary asset when primaryAssetSelectionMode": "Asset" .Colours are specified using predefined color names, HEX or RGB values or a handlebars expression that returns a predefined color name, HEX or RGB value. Examples: "selectionColor": "green" "selectionColor": "#008000" "selectionColor": "rgb(0,128,0)" "selectionColor" : "{{#ifEquals row.pipe_matrl 'CICL'}}Yellow{{/ifEquals}}{{#ifNotEquals row.pipe_matrl 'CICL'}}Pink{{/ifNotEquals}}" Note:
|
Default value. If the primaryAssetSelection.selectionColor field has not been defined then the default value defined for the primaryColor field in Section 2.3 Required Customizable Fields will be used. |
||
selectionFill | A valid color | The fill colour for the polygons of a selected primary asset when primaryAssetSelectionMode": "Asset" .Colours are specified using predefined color names, HEX or RGB values or a handlebars expression that returns a predefined color name, HEX or RGB value. Examples: "selectionFill": "green" "selectionFill": "#008000" "selectionFill": "rgb(0,128,0)" "secondaryFill" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}Yellow{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}Pink{{/ifNotEquals}}" Note:
|
Default value. If the primaryAssetSelection.selectionFill field has not been defined then the default value defined for the primaryFill field in Section 2.3 Required Customizable Fields will be used. |
||
selectionFillOpacity | Decimal from 0 to 1 | The fill opacity for polygons of a selected primary asset when primaryAssetSelectionMode": "Asset" .Example: selectionFillOpacity": 0.5 Note: Either the primaryFillOpacityHandlebars field, the primaryFillOpacity field, the primaryAssetSelection.selectionFillOpacityHandlebars field or the primaryAssetSelection.selectionFillOpacity field can be used to define the fill opacity of a selected primary asset. To avoid conflicts, recommend using only one of these fields to define the fill opacity of a selected primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
Default value. If neither the primaryFillOpacityHandlebars field, the primaryFillOpacity field, the primaryAssetSelection.selectionFillOpacityHandlebars field nor the primaryAssetSelection.selectionFillOpacity field have been defined then the default value defined for the primaryFillOpacity field in Section 2.3 Required Customizable Fields will be used. |
||
selectionFillOpacityHandlebars | Handlebars expression returning a decimal value from 0 to 1 | A handlebars expression that returns the fill opacity to set the primaryFillOpacity value when "primaryAssetSelectionMode": "Asset" . Example: selectionFillOpacityHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}0.3{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}1{{/ifNotEquals}}" Note:
|
Default value. If neither the primaryFillOpacityHandlebars field, the primaryFillOpacity field, the primaryAssetSelection.selectionFillOpacityHandlebars field nor the primaryAssetSelection.selectionFillOpacity field have been defined then the default value defined for the primaryFillOpacity field in Section 2.3 Required Customizable Fields will be used. |
||
selectionImageAnchor | [x,y] | The position of the top-left corner of the image marking the selection point on a primary asset when "primaryAssetSelectionMode": "Point" .Written as an array, [x,y] where x and y can be zero or a positive or negative decimal number. The x and y values indicate the position (in image widths and image heights) of the top-left corner of the image from the selection point on a primary asset. [1.0,1.5] positions the top-left corner of the image (1.0 x image width) to the right and (1.5 x image height) upwards from the selection point on a primary asset. Example: "selectionImageAnchor": [ 1.0, 1.5, ] Note: Either the primaryImageAnchorHandlebars field, the primaryImageAnchor field, the primaryAssetSelection.selectionImageAnchorHandlebars field or the primaryAssetSelection.selectionImageAnchor field can be used to define the position of the top-left corner of the image marking the selection point on a primary asset. To avoid conflicts, recommend using only one of these fields to define the position of the top-left corner of the image marking the selection point on a primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
Default value. If neither the primaryImageAnchorHandlebars field, the primaryImageAnchor field, the primaryAssetSelection.selectionImageAnchorHandlebars field nor the primaryAssetSelection.selectionImageAnchor field have been defined then the default value defined for the primaryImageAnchor field in Section 2.3 Required Customizable Fields will be used. |
||
selectionImageAnchorHandlebars | Handlebars expression returning an array [x,y] | A handlebars expression that returns an array [x,y] to set the primaryImageAnchor value when "primaryAssetSelectionMode": "Point" . Example: "selectionImageAnchorHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[1, 1]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[0.5, 1]{{/ifNotEquals}}" Note:
|
Default value. If neither the primaryImageAnchorHandlebars field, the primaryImageAnchor field, the primaryAssetSelection.selectionImageAnchorHandlebars field nor the primaryAssetSelection.selectionImageAnchor field have been defined then the default value defined for the primaryImageAnchor field in Section 2.3 Required Customizable Fields will be used. |
||
selectionImageFileNo | Image File Number OR Handlebars expression returning an image file number |
The image marking the selection point on a primary asset when "primaryAssetSelectionMode": "Point" Example: "selectionImageFileNo": "63d53643-65da-4db5-82f5-2af257845516" "primaryImageFileNo": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}b49d6e50-a0c1-11ea-9248-8b2cbbc9c92d{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}15b74ecf5f43ac9a50604db91dac9f87{{/ifNotEquals}}" Note:
|
Default value. If the primaryAssetSelection.selectionImageFileNo field has not been defined then the default value defined for the primaryImageFileNo field in Section 2.3 Required Customizable Fields will be used. |
||
selectionImageRotation | Numeric value | The number of degrees to rotate the image marking the selection point on a primary asset when "primaryAssetSelectionMode": "Point" . A positive value will rotate the image in a clockwise direction, a negative value will rotate the image in an anti-clockwise direction.Example: "selectionImageRotation": 30 Note: Either the primaryImageRotationHandlebars field, the primaryImageRotation field, the primaryAssetSelection.selectionImageRotationHandlebars field or the primaryAssetSelection.selectionImageRotation field can be used to define the number of degrees to rotate the image marking the selection point on a primary asset. To avoid conflicts, recommend using only one of these fields to define the number of degrees to rotate the image marking the selection point on a primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
Default value. If neither the primaryImageRotationHandlebars field, the primaryImageRotation field, the primaryAssetSelection.selectionImageRotationHandlebars field nor the primaryAssetSelection.selectionImageRotation field has been defined then the default value defined for the primaryImageRotation field in Section 2.3 Required Customizable Fields will be used. |
||
selectionImageRotationHandlebars | Handlebars expression returning a numeric value | A handlebars expression that returns the number of degrees to set the primageImageRotation value when "primaryAssetSelectionMode": "Point" . Example: "selectionImageRotationHandlebars": "{{#ifEquals asset_category 'MANHOLE'}}45{{/ifEquals}}" Note:
|
Default value. If neither the primaryImageRotationHandlebars field, the primaryImageRotation field, the primaryAssetSelection.selectionImageRotationHandlebars field nor the primaryAssetSelection.selectionImageRotation field has been defined then the default value defined for the primaryImageRotation field in Section 2.3 Required Customizable Fields will be used. |
||
selectionLineCap | The end style of lines and polygons of a primary asset when "primaryAssetSelectionMode": "Asset" .Note: Either the primaryLineCap field or the primaryAssetSelection.selectionLineCap can be used to define the end style of lines and polygons of a primary asset. To avoid conflicts, recommend using only one of these fields to define the end style of lines and polygons of a primary asset. In the event that both of these fields are defined then the primaryLineCap will take prescedence. |
|
square | Lines ends are square. Example: "selectionLineCap": "square" |
|
round | Lines ends are round. Example: "selectionLineCap": "round" |
|
Default value. If the primaryAssetSelection.selectionlineCap field has not been defined then the default value defined for the primaryLineCap field in Section 2.3 Required Customizable Fields will be used. |
||
selectionLineDash | [x,y] | The dash pattern for lines and polygons of a primary asset when "primaryAssetSelectionMode": "Asset" .Defined by an array [x,y] of 2 numbers where x is the dash length, y is the gap length. Example: "selectionLineDash": [ 10, 5 ] Note: Either the primaryLineDashHandlebars field, the primaryLineDash field, the primaryAssetSelection.selectionLineDashHandlebars field or the primaryAssetSelection.selectionLineDash field can be used to define dash pattern for lines and polygons of a primary asset. To avoid conflicts, recommend using only one of these fields to define the dash pattern for lines and polygons of a primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
Default value. If neither the primaryLineDashHandlebars field, the primaryLineDash field, the primaryAssetSelection.selectionLineDashHandlebars field nor the primaryAssetSelection.selectionLineDash field have been defined then the default value defined for the primaryLineDash field in Section 2.3 Required Customizable Fields will be used. |
||
selectionLineDashHandlebars | Handlebars expression returning an array [x,y] | A handlebars expression that returns an array [x,y] to set the primaryLineDash value when "primaryAssetSelectionMode": "Asset" . Example: "selectionLineDashHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[15, 10]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[10, 5]{{/ifNotEquals}}" Note:
|
Default value. If neither the primaryLineDashHandlebars field, the primaryLineDash field, the primaryAssetSelection.selectionLineDashHandlebars field nor the primaryAssetSelection.selectionLineDash field have been defined then the default value defined for the primaryLineDash field in Section 2.3 Required Customizable Fields will be used. |
||
selectionLineWidth | The line width of lines and polygons of a primary asset when "primaryAssetSelectionMode": "Asset" .Example: "selectionLineWidth": 2 Note: Either the primaryLineWidthHandlebars field, the primaryLineWidth field, the primaryAssetSelection.selectionLineWidthHandlebars field or the primaryAssetSelection.selectionLineWidth field can be used to define the line width of lines and polygons of a primary asset. To avoid conflicts, recommend using only one of these fields to define the line width of lines and polygons of a primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
|
Default value. If neither the primaryLineWidthHandlebars field, the primaryLineWidth field, the primaryAssetSelection.selectionLineWidthHandlebars field nor the primaryAssetSelection.selectionLineWidth field have been defined then the default value defined for the primaryLineWidth field in Section 2.3 Required Customizable Fields will be used. |
||
selectionLineWidthHandlebars | Handlebars expression returning an integer value | A handlebars expression that returns the line width to set the primaryLineWidth value when "primaryAssetSelectionMode": "Asset" . Example: "selectionLineWidthHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}2{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}5{{/ifNotEquals}}" Note:
|
Default value. If neither the primaryLineWidthHandlebars field, the primaryLineWidth field, the primaryAssetSelection.selectionLineWidthHandlebars field nor the primaryAssetSelection.selectionLineWidth field have been defined then the default value defined for the primaryLineWidth field in Section 2.3 Required Customizable Fields will be used. |
||
selectionRows | Integer | The maximum number of rows displayed in the Primary Assets field, above which the field stops increasing in height and becomes scrollable. Example: "selectionRows": 3 |
0 | Default value. The Primary Assets field will increase in height indefinitely to display all selected primary assets. |
2.3.3 secondaryAssetSelection Field
The secondaryAssetSelection
field in Section 2.3 Optional Customizable Fields is an array of field definitions, each defining a display property of the selected secondary asset(s).
The table below lists and describes each field of the secondaryAssetSelection
array of fields that can be used to define the display properties of the selected secondary asset(s).
Field | Valid Values | Description |
---|---|---|
selectionColor | A valid color | The line colour for the lines and polygons of a selected secondary asset when secondaryAssetSelectionMode": "Asset" .Colours are specified using predefined color names, HEX or RGB values or a handlebars expression that returns a predefined color name, HEX or RGB value. Examples: "selectionColor": "green" "selectionColor": "#008000" "selectionColor": "rgb(0,128,0)" "selectionColor" : "{{#ifEquals row.pipe_matrl 'CICL'}}Yellow{{/ifEquals}}{{#ifNotEquals row.pipe_matrl 'CICL'}}Pink{{/ifNotEquals}}" Note:
|
Default value. If the secondaryAssetSelection.selectionColor field has not been defined then the default value defined for the secondaryColor field in Section 2.3 Required Customizable Fields will be used. |
||
selectionFill | A valid color | The fill colour for the polygons of a selected secondary asset when secondaryAssetSelectionMode": "Asset" .Colours are specified using predefined color names, HEX or RGB values or a handlebars expression that returns a predefined color name, HEX or RGB value. Examples: "selectionFill": "green" "selectionFill": "#008000" "selectionFill": "rgb(0,128,0)" "secondaryFill" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}Yellow{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}Pink{{/ifNotEquals}}" Note:
|
Default value. If the secondaryAssetSelection.selectionFill field has not been defined then the default value defined for the secondaryFill field in Section 2.3 Required Customizable Fields will be used. |
||
selectionFillOpacity | Decimal from 0 to 1 | The fill opacity for polygons of a selected secondary asset when secondaryAssetSelectionMode": "Asset" .Example: "selectionFillOpacity": 0.5 Note: Either the secondaryFillOpacityHandlebars field, the secondaryFillOpacity field, the secondaryAssetSelection.selectionFillOpacityHandlebars field or the secondaryAssetSelection.selectionFillOpacity field can be used to define the fill opacity of a selected secondary asset. To avoid conflicts, recommend using only one of these fields to define the fill opacity of a selected secondary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
Default value. If neither the secondaryFillOpacityHandlebars field, the secondaryFillOpacity field, the secondaryAssetSelection.selectionFillOpacityHandlebars field nor the secondaryAssetSelection.selectionFillOpacity field have been defined then the default value defined for the secondaryFillOpacity field in Section 2.3 Required Customizable Fields will be used. |
||
selectionFillOpacityHandlebars | Handlebars expression returning a decimal value from 0 to 1 | A handlebars expression that returns the fill opacity to set the secondaryFillOpacity value when "secondaryAssetSelectionMode": "Asset" . Example: "selectionFillOpacityHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}0.3{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}1{{/ifNotEquals}}" Note:
|
Default value. If neither the secondaryFillOpacityHandlebars field, the secondaryFillOpacity field, the secondaryAssetSelection.selectionFillOpacityHandlebars field nor the secondaryAssetSelection.selectionFillOpacity field have been defined then the default value defined for the secondaryFillOpacity field in Section 2.3 Required Customizable Fields will be used. |
||
selectionImageAnchor | [x,y] | The position of the top-left corner of the image marking the selection point on a secondary asset when "secondaryAssetSelectionMode": "Point" .Written as an array, [x,y] where x and y can be zero or a positive or negative decimal number. The x and y values indicate the position (in image widths and image heights) of the top-left corner of the image from the selection point on a secondary asset. [1.0,1.5] positions the top-left corner of the image (1.0 x image width) to the right and (1.5 x image height) upwards from the selection point on a secondary asset. Example: "selectionImageAnchor": [ 1.0, 1.5, ] Note: Either the secondaryImageAnchorHandlebars field, the secondaryImageAnchor field, the secondaryAssetSelection.selectionImageAnchorHandlebars field or the secondaryAssetSelection.selectionImageAnchor field can be used to define the position of the top-left corner of the image marking the selection point on a secondary asset. To avoid conflicts, recommend using only one of these fields to define the position of the top-left corner of the image marking the selection point on a secondary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
Default value. If neither the secondaryImageAnchorHandlebars field, the secondaryAssetSelection.selectionImageAnchorHandlebars field or the secondaryAssetSelection.selectionImageAnchor field have been defined then the default value defined for the secondaryImageAnchor field in Section 2.3 Required Customizable Fields will be used. |
||
selectionImageAnchorHandlebars | Handlebars expression returning an [x,y] array | A handlebars expression that returns an array [x,y] to set the secondaryImageAnchor value when "secondaryAssetSelectionMode": "Point" . Example: "selectionImageAnchorHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[1, 1]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[0.5, 1]{{/ifNotEquals}}" Note:
|
Default value. If neither the secondaryImageAnchorHandlebars field, the secondaryAssetSelection.selectionImageAnchorHandlebars field or the secondaryAssetSelection.selectionImageAnchor field have been defined then the default value defined for the secondaryImageAnchor field in Section 2.3 Required Customizable Fields will be used. |
||
selectionImageFileNo | Image File Number OR Handlebars expression returning image file number |
The image marking the selection point on a secondary asset when "secondaryAssetSelectionMode": "Point" Example: "selectionImageFileNo": "63d53643-65da-4db5-82f5-2af257845516" "secondaryImageFileNo": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}b49d6e50-a0c1-11ea-9248-8b2cbbc9c92d{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}15b74ecf5f43ac9a50604db91dac9f87{{/ifNotEquals}}" Note:
|
Default value. If the secondaryAssetSelection.selectionImageFileNo field has not been defined then the image as defined by the secondaryImageFileNo field in Section 2.3 Required Customizable Fields will be used. |
||
selectionImageRotation | Numeric value | The number of degrees to rotate the image marking the selection point on a secondary asset when "secondaryAssetSelectionMode": "Point" . A positive value will rotate the image in a clockwise direction, a negative value will rotate the image in an anti-clockwise direction.Example: "selectionImageRotation": 30 Note: Either the secondaryImageRotationHandlebars field, the secondaryImageRotation field, the secondaryAssetSelection.selectionImageRotationHandlebars field or the secondaryAssetSelection.selectionImageRotation field can be used to define the number of degrees to rotate the image marking the selection point on a secondary asset. To avoid conflicts, recommend using only one of these fields to define the number of degrees to rotate the image marking the selection point on a secondary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
Default value. If neither the secondaryImageRotationHandlebars field, the secondaryImageRotation field, the secondaryAssetSelection.selectionImageRotationHandlebars field nor the psecondaryAssetSelection.selectionImageRotation field have been defined then the default value defined for the secondaryImageRotation field in Section 2.3 Required Customizable Fields will be used. |
||
selectionImageRotationHandlebars | Handlebars expression returning a numeric value | A handlebars expression that returns the number of degrees to set the secondaryImageRotation value when "secondaryAssetSelectionMode": "Point" . Example: "selectionImageRotationHandlebars": "{{#ifEquals asset_category 'MANHOLE'}}45{{/ifEquals}}" Note:
|
Default value. If neither the secondaryImageRotationHandlebars field, the secondaryImageRotation field, the secondaryAssetSelection.selectionImageRotationHandlebars field nor the psecondaryAssetSelection.selectionImageRotation field have been defined then the default value defined for the secondaryImageRotation field in Section 2.3 Required Customizable Fields will be used. |
||
selectionLineCap | The end style of lines and polygons of a secondary asset when "secondaryAssetSelectionMode": "Asset" .Note: Either secondaryLineCap or secondaryAssetSelection.selectionLineCap can be used to define the end style of lines and polygons of a secondary asset. To avoid conflicts, recommend using only one of these fields to define the end style of lines and polygons of a secondary asset. In the event that both of these fields are defined then the secondaryAssetSelection.selectionLineCap will take prescedence. |
|
square | Lines ends are square. Example: "selectionLineCap": "square" |
|
round | Lines ends are round. Example: "selectionLineCap": "round" |
|
Default value. If the secondaryAssetSelection.selectionlineCap field has not been defined then the default value defined for the secondaryLineCap field in Section 2.3 Required Customizable Fields will be used. |
||
selectionLineDash | [x,y] | The dash pattern for lines and polygons of a secondary asset when "secondaryAssetSelectionMode": "Asset" .Defined by an array [x,y] of 2 numbers where x is the dash length, y is the gap length. Example: "selectionLineDash": [ 10, 5 ] Note: Either the secondaryLineDashHandlebars field, the secondaryLineDash field, the secondaryAssetSelection.selectionLineDashHandlebars field or the secondaryAssetSelection.selectionLineDash field can be used to define dash pattern for lines and polygons of a secondary asset. To avoid conflicts, recommend using only one of these fields to define the dash pattern for lines and polygons of a secondary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
Default value. If neither the secondaryLineDashHandlebars field, the secondaryLineDash field, the secondaryAssetSelection.selectionLineDashHandlebars field nor the secondaryAssetSelection.selectionLineDash field have been defined then the default value defined for the secondaryLineDash field in Section 2.3 Required Customizable Fields will be used. |
||
selectionLineDashHandlebars | Handlebars expression returning an array [x,y] | A handlebars expression that returns an array [x,y] to set the secondaryLineDash value when "secondaryAssetSelectionMode": "Asset" . Example: "selectionLineDashHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[15, 10]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[10, 5]{{/ifNotEquals}}" Note:
|
Default value. If neither the secondaryLineDashHandlebars field, the secondaryLineDash field, the secondaryAssetSelection.selectionLineDashHandlebars field nor the secondaryAssetSelection.selectionLineDash field have been defined then the default value defined for the secondaryLineDash field in Section 2.3 Required Customizable Fields will be used. |
||
selectionLineWidth | The line width of lines and polygons of a secondary asset when "secondaryAssetSelectionMode": "Asset" .Example: "selectionLineWidth": 2 Note: Either the secondaryLineWidthHandlebars field, the secondaryLineWidth field, the secondaryAssetSelection.selectionLineWidthHandlebars field or the secondaryAssetSelection.selectionLineWidth field can be used to define the line width of lines and polygons of a primary asset. To avoid conflicts, recommend using only one of these fields to define the line width of lines and polygons of a primary asset. In the event that more than one of these fields have been defined then the following order of precedence is used:
|
|
Default value. If neither the secondaryLineWidthHandlebars field, the secondaryLineWidth field, the secondaryAssetSelection.selectionLineWidthHandlebars field nor the secondaryAssetSelection.selectionLineWidth field have been defined then the default value defined for the secondaryLineWidth field in Section 2.3 Required Customizable Fields will be used. |
||
selectionLineWidthHandlebars | Handlebars expression returning an integer value | A handlebars expression that returns the line width to set the secondaryLineWidth value when "secondaryAssetSelectionMode": "Asset" . Example: "selectionLineWidthHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}2{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}5{{/ifNotEquals}}" Note:
|
Default value. If neither the secondaryLineWidthHandlebars field, the secondaryLineWidth field, the secondaryAssetSelection.selectionLineWidthHandlebars field nor the secondaryAssetSelection.selectionLineWidth field have been defined then the default value defined for the secondaryLineWidth field in Section 2.3 Required Customizable Fields will be used. |
||
selectionRows | Integer | The maximum number of rows displayed in the SecondaryAssets field, above which the field stops increasing in height and becomes scrollable. Example: "selectionRows": 3 |
0 | Default value. The SecondaryAssets field will increase in height indefinitely to display all selected secondary assets. |
3 Typical Definition
Below is a typical sc-selected-asset definition, defined with its required fields plus any optional field whose value is typically other than its default value.
{
"componentName": "sc-selected-asset",
"country": "au",
"delayBeforeCallNum": 200,
"EPSG": "EPSG:3111",
"fullWidth": true,
"geocodeSearchService": [
{
"apiKey": "Insert your PSMA API Key here",
"apiKeyReverse": "Insert your Reverse PSMA API Key here",
"addressUrl": "https://api.psma.com.au/predictive/address/",
"autocompleteUrl": "https://api.psma.com.au/predictive/address?query=",
"geocodeUrl": "https://api.psma.com.au/v2/addresses?radius=",
"name": "psma"
}
],
"heightNum": 3,
"label": "Test sc-selected-asset",
"language": "en",
"layers": [
{
"color": "red",
"filter": "{'query':{'bool':{'filter':[{'term':{'systemHeader.templateId':'d62a4970-d88e-11e6-92c9-934eb61df86d'}}],'must':[{'term':{'asset_category':'HYDRANT'}}] }}}",
"geoJsonField": "locationGeo",
"imageAnchor": [
0.5,
1
],
"imageFileNo": "62435f30-20fc-11e8-8329-0db8fb5fedc2",
"labelColor": "darkred",
"labelDisplayZoom": 13,
"labelRotation": 90,
"labelText": "{{systemHeader.summaryName}}",
"labelTextAlign": "center",
"tooltips": "HYDRANT {{systemHeader.summaryName}} created on {{systemHeader.createdDate}}"
},
{
"color": "green",
"filter": "{'query':{'bool':{'filter':[{'term':{'systemHeader.templateId':'d62a4970-d88e-11e6-92c9-934eb61df86d'}}],'must':[{'term':{'asset_category':'VALVE'}}] }}}",
"geoJsonField": "locationGeo",
"imageFileNo": "355f8520-20fc-11e8-8329-0db8fb5fedc2",
"tooltips": "VALVE {{systemHeader.summaryName}} created on {{systemHeader.createdDate}}"
},
{
"color": "blue",
"filter": "{'query':{'bool':{'filter':[{'term':{'systemHeader.templateId':'36811ce0-d885-11e6-92c9-934eb61df86d'}}]}}}",
"geoJsonField": "locationGeo",
"labelDisplayZoom": 13,
"labelPlacement": "line",
"labelText": "{{pipe_matrl}} size {{pipe_dia}} mm",
"tooltips": "PIPE {{systemHeader.summaryName}} created on {{systemHeader.createdDate}}"
},
{
"color": "darkgreen",
"filter": "{'query':{'bool':{'filter':[{'term':{'systemHeader.templateId':'b186a6b0-e439-11e7-8f5f-61ab7876b6fa'}}]}}}",
"geoJsonField": "gblBoundaryTestDocument",
"fill": "lightgreen",
"fillOpacity": 0.5,
"labelDisplayZoom": 13,
"labelPlacement": "line",
"labelText": "{{systemHeader.summaryName}}",
"layerDisplayOnly": true,
"lineDash": [
10,
5
],
"lineWidth": 2
}
],
"mapParameters": {
"defaultLat": -37.801,
"defaultLon": 144.9,
"defaultZoom": 10,
"maxResolution": 2116.670900008467,
"minResolution": 0.0116670900008467,
"mapViews": [
{
"EPSG": "EPSG:3857",
"params": {
"BBOX": "16133701.716224,-4393099.8016821,16446787.78408,-4080013.733826",
"FIRSTTILE": true,
"FORMAT": "image/png",
"HEIGHT": "512",
"LAYERS": "CARTO_WM",
"REQUEST": "GetMap",
"SERVICE": "WMS",
"SRS": "EPSG:3857",
"STYLES": "",
"VERSION": "1.1.1",
"WIDTH": "512"
},
"serverType": "geoserver",
"uiLabel": "V",
"url": "https://base.maps.vic.gov.au/service"
},
{
"EPSG": "EPSG:3857",
"params": {
"BBOX": "16280475.531304,-4696291.0150527,16593561.59916,-4383204.9471967",
"FIRSTTILE": true,
"FORMAT": "image/png",
"HEIGHT": "512",
"LAYERS": "AERIAL_WM",
"REQUEST": "GetMap",
"SERVICE": "WMS",
"SRS": "EPSG:3857",
"STYLES": "",
"VERSION": "1.1.1",
"WIDTH": "512"
},
"serverType": "geoserver",
"url": "https://base.maps.vic.gov.au/service",
"uiLabel": "S"
},
{
"crossOrigin": null,
"serverType": "tile",
"uiLabel": "O",
"url": "https://osm.formbird.com/tiles/{z}/{x}/{y}.png"
},
{
"groupView": [
{
"EPSG": "EPSG:3857",
"params": {
"BBOX": "16280475.531304,-4696291.0150527,16593561.59916,-4383204.9471967",
"FIRSTTILE": true,
"FORMAT": "image/png",
"HEIGHT": "512",
"LAYERS": "AERIAL_WM",
"REQUEST": "GetMap",
"SERVICE": "WMS",
"SRS": "EPSG:3857",
"STYLES": "",
"VERSION": "1.1.1",
"WIDTH": "512"
},
"serverType": "geoserver",
"url": "https://base.maps.vic.gov.au/service"
},
{
"EPSG": "EPSG:3857",
"params": {
"BBOX": "16446787.78408,-4393099.8016821,16759873.851936,-4080013.733826",
"FIRSTTILE": true,
"FORMAT": "image/png",
"HEIGHT": "512",
"LAYERS": "CARTO_OVERLAY_WM",
"REQUEST": "GetMap",
"SERVICE": "WMS",
"SRS": "EPSG:3857",
"STYLES": "",
"VERSION": "1.1.1",
"WIDTH": "512"
},
"serverType": "geoserver",
"url": "https://base.maps.vic.gov.au/service"
}
],
"uiLabel": "M"
}
]
},
"name": "testScSelectedAsset",
"popupAssetSelection": true,
"popupAssetSelectionPrimaryText": "Primary Asset {{systemHeader.summaryName}} State {{operational_state}}",
"popupAssetSelectionSecondaryText": "Secondary Asset {{systemHeader.summaryName}} State {{operational_state}}",
"primaryAssetAddressField": "addressGeo",
"primaryAssetAddressSelection": true,
"primaryAssetFilter": "{'query':{'bool':{'filter':[]}}}",
"primaryAssetSelectionMode": "Asset",
"primaryAssetGeometryField": "locationGeo",
"secondaryAssetFilter": "{'query':{'bool':{'filter':[{'term':{ 'wat_category': 'POTABLE'}},{'term':{'systemHeader.systemType':'document'}},{'term':{'pipe_type':'RETMAIN'}}]}}}",
"secondaryAssetSelection": "Asset",
"tooltipsTimeout": 3
}
One or more of the optional fields shown below can be included in the above definition should a value other than their default value be required.
OPTIONAL CUSTOMIZABLE FIELDS:
"addressImageAnchor": [1.0,1.5],
"addressImageFileNo": "8b526c40-e1c6-44c6-9c49-61d153f07cc8",
"centerOnReverse": true,
"disableHandlebars": true,
"disableMouseWheel": true,
"disableSave": true,
"dropPinSelectsAddress": true,
"enabled": false,
"hideAddress": true,
"initialMapView": "map",
"mandatory": true,
"mandatoryValuesArray": [
{
"name": "There needs to be a street number",
"jsonPathQuery": "$..features[?(@.properties.streetNo)]"
},
{
"name": "There needs to be a street name",
"jsonPathQuery": "$..features[?(@.properties.street)]"
},
{
"name": "There needs to be a suburb",
"jsonPathQuery": "$..features[?(@.properties.suburb)]"
},
{
"name": "There needs to be a Location Description",
"jsonPathQuery": "$..features[?(@.properties.locationDescription)]"
},
{
"name": "There needs to be a Primary Asset",
"jsonPathQuery": "$..features[?(@.properties.type == \"primaryAsset\")]"
}
],
"noSecondaryAssetSelection": true,
"positionMandatory": true,
"primaryAssetSelection": {
"selectionColor": "yellow",
"selectionFill": "green",
"selectionFillOpacity": 0.5,
"selectionFillOpacityHandlebars": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}0.3{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}1{{/ifNotEquals}}",
"selectionImageAnchor": [
1,
1
],
"selectionImageAnchor": [
1,
1.5
],
"selectionImageAnchorHandlebars": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[1, 1]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[0.5, 1]{{/ifNotEquals}}",
"selectionImageFileNo": "63d53643-65da-4db5-82f5-2af257845516",
"selectionImageRotation": 30,
"selectionImageRotationHandlebars": "{{#ifEquals asset_category 'MANHOLE'}}45{{/ifEquals}}",
"selectionLineCap": "square",
"selectionLineDash": [
10,
5
],
"selectionLineDashHandlebars": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[15, 10]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[10, 5]{{/ifNotEquals}}",
"selectionLineWidth": 2,
"selectionLineWidthHandlebars": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}2{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}5{{/ifNotEquals}}",
"selectionRows": 5
},
"primaryColor": "blue",
"primaryFill": "blue",
"primaryFillOpacity": 0.5,
"primaryFillOpacityHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}0.3{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}1{{/ifNotEquals}}",
"primaryImageAnchor": [0.5,1],
"primaryImageAnchorHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[1, 1]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[0.5, 1]{{/ifNotEquals}}",
"primaryImageFileNo": "63d53643-65da-4db5-82f5-2af257845516",
"primaryImageRotation": 30,
"primaryImageRotationHandlebars": "{{#ifEquals asset_category 'MANHOLE'}}45{{/ifEquals}}",
"primaryLineCap": "square",
"primaryLineDash": [10,5],
"primaryLineDashHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[15, 10]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[10, 5]{{/ifNotEquals}}",
"primaryLineWidth": 2,
"primaryLineWidthHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}2{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}5{{/ifNotEquals}}",
"relatedFields": {
"assetNumber": "assetNumber",
"pipe_dia": "pipe_dia",
"pipe_matr": "pipe_matr",
"pipe_type": "pipe_type",
},
"searchDelay": 1500,
"searchMinLength": 5,
"secondaryAssetFilter": "{'query':{'bool':{'filter':[{'term':{'systemHeader.templateId':'54eecc5b2536c225ec734273'}}]}}}",
"secondaryAssetSelection": {
"selectionColor": "green",
"selectionFill": "green",
"selectionFillOpacity": 0.5,
"selectionFillOpacityHandlebars": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}0.3{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}1{{/ifNotEquals}}",
"selectionImageAnchor": [
1,
1.5
],
"selectionImageAnchorHandlebars": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[1, 1]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[0.5, 1]{{/ifNotEquals}}",
"selectionImageFileNo": "63d53643-65da-4db5-82f5-2af257845516",
"selectionImageRotation": 30,
"selectionImageRotationHandlebars": "{{#ifEquals asset_category 'MANHOLE'}}45{{/ifEquals}}",
"selectionLineCap": "square",
"selectionLineDash": [
10,
5
],
"selectionLineDashHandlebars": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[15, 10]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[10, 5]{{/ifNotEquals}}",
"selectionLineWidth": 2,
"selectionLineWidthHandlebars": "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}2{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}5{{/ifNotEquals}}",
"selectionRows": 1
},
"secondaryColor": "green",
"secondaryFill": "green",
"secondaryFillOpacity": 0.5,
"secondaryFillOpacityHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}0.3{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'MultiPolygon'}}1{{/ifNotEquals}}",
"secondaryImageAnchor": [1.0,1.0],
"secondaryImageAnchorHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[1, 1]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[0.5, 1]{{/ifNotEquals}}",
"secondaryImageFileNo": "d94a9b50-5993-11e8-8839-d986e0c42d46",
"secondaryImageRotation": 90,
"secondaryImageRotationHandlebars": "{{#ifEquals asset_category 'MANHOLE'}}45{{/ifEquals}}",
"secondaryLineCap": "square",
"secondaryLineDash": [10,5],
"secondaryLineDashHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[15, 10]{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}[10, 5]{{/ifNotEquals}}",
"secondaryLineWidth": 2,
"secondaryLineWidthHandlebars" : "{{#ifEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}2{{/ifEquals}}{{#ifNotEquals row.scBoundaryTestDocument.features.0.geometry.type 'Point'}}5{{/ifNotEquals}}",
"showTiming": true,
"singlePrimaryAssetSelection": true,
"singleSecondaryAssetSelection": true,
"visible": false,
psma geocodeSearchService OPTIONAl CUSTOMIZABLE FIELDS:
"enableReverseRadiusDisplay": true,
"reverseNoAddressIncrement": 20,
"reverseNoAddressRetry": 3,
"showReverseAddressPoint": 5,
See Appendix A: geocodeSearchService Field for a detailed description of all "geocodeSearchService" definition fields.
See Appendix B: layers Field for a detailed description of all "layers" definition fields.
See Appendix C: mapParameters Field for a detailed description of all "mapParameters" definition fields.
See Appendix D: mapViews Field for a detailed description of all "mapViews" definition fields.
4 Examples
Example 1
Below is a typical sc-selected definition, defined with its required fields plus any optional field whose value is typically other than its default value.
{
"componentName": "sc-selected-asset",
"country": "au",
"delayBeforeCallNum": 200,
"EPSG": "EPSG:3111",
"fullWidth": true,
"geocodeSearchService": [
{
"apiKey": "Insert your PSMA API Key here",
"apiKeyReverse": "Insert your Reverse PSMA API Key here",
"addressUrl": "https://api.psma.com.au/predictive/address/",
"autocompleteUrl": "https://api.psma.com.au/predictive/address?query=",
"geocodeUrl": "https://api.psma.com.au/v2/addresses?radius=",
"name": "psma"
}
],
"heightNum": 3,
"label": "Test sc-selected-asset",
"language": "en",
"layers": [
{
"color": "red",
"filter": "{'query':{'bool':{'filter':[{'term':{'systemHeader.templateId':'d62a4970-d88e-11e6-92c9-934eb61df86d'}}],'must':[{'term':{'asset_category':'HYDRANT'}}] }}}",
"geoJsonField": "locationGeo",
"imageAnchor": [
0.5,
1
],
"imageFileNo": "62435f30-20fc-11e8-8329-0db8fb5fedc2",
"labelColor": "darkred",
"labelDisplayZoom": 13,
"labelRotation": 90,
"labelText": "{{systemHeader.summaryName}}",
"labelTextAlign": "center",
"tooltips": "HYDRANT {{systemHeader.summaryName}} created on {{systemHeader.createdDate}}"
},
{
"color": "green",
"filter": "{'query':{'bool':{'filter':[{'term':{'systemHeader.templateId':'d62a4970-d88e-11e6-92c9-934eb61df86d'}}],'must':[{'term':{'asset_category':'VALVE'}}] }}}",
"geoJsonField": "locationGeo",
"imageFileNo": "355f8520-20fc-11e8-8329-0db8fb5fedc2",
"tooltips": "VALVE {{systemHeader.summaryName}} created on {{systemHeader.createdDate}}"
},
{
"color": "blue",
"filter": "{'query':{'bool':{'filter':[{'term':{'systemHeader.templateId':'36811ce0-d885-11e6-92c9-934eb61df86d'}}]}}}",
"geoJsonField": "locationGeo",
"labelDisplayZoom": 13,
"labelPlacement": "line",
"labelText": "{{pipe_matrl}} size {{pipe_dia}} mm",
"tooltips": "PIPE {{systemHeader.summaryName}} created on {{systemHeader.createdDate}}"
},
{
"color": "darkgreen",
"filter": "{'query':{'bool':{'filter':[{'term':{'systemHeader.templateId':'b186a6b0-e439-11e7-8f5f-61ab7876b6fa'}}]}}}",
"geoJsonField": "gblBoundaryTestDocument",
"fill": "lightgreen",
"fillOpacity": 0.5,
"labelDisplayZoom": 13,
"labelPlacement": "line",
"labelText": "{{systemHeader.summaryName}}",
"layerDisplayOnly": true,
"lineDash": [
10,
5
],
"lineWidth": 2
}
],
"mapParameters": {
"defaultLat": -37.801,
"defaultLon": 144.9,
"defaultZoom": 10,
"maxResolution": 2116.670900008467,
"minResolution": 0.0116670900008467,
"mapViews": [
{
"EPSG": "EPSG:3857",
"params": {
"BBOX": "16133701.716224,-4393099.8016821,16446787.78408,-4080013.733826",
"FIRSTTILE": true,
"FORMAT": "image/png",
"HEIGHT": "512",
"LAYERS": "CARTO_WM",
"REQUEST": "GetMap",
"SERVICE": "WMS",
"SRS": "EPSG:3857",
"STYLES": "",
"VERSION": "1.1.1",
"WIDTH": "512"
},
"serverType": "geoserver",
"uiLabel": "V",
"url": "https://base.maps.vic.gov.au/service"
},
{
"EPSG": "EPSG:3857",
"params": {
"BBOX": "16280475.531304,-4696291.0150527,16593561.59916,-4383204.9471967",
"FIRSTTILE": true,
"FORMAT": "image/png",
"HEIGHT": "512",
"LAYERS": "AERIAL_WM",
"REQUEST": "GetMap",
"SERVICE": "WMS",
"SRS": "EPSG:3857",
"STYLES": "",
"VERSION": "1.1.1",
"WIDTH": "512"
},
"serverType": "geoserver",
"url": "https://base.maps.vic.gov.au/service",
"uiLabel": "S"
},
{
"crossOrigin": null,
"serverType": "tile",
"uiLabel": "O",
"url": "https://osm.formbird.com/tiles/{z}/{x}/{y}.png"
},
{
"groupView": [
{
"EPSG": "EPSG:3857",
"params": {
"BBOX": "16280475.531304,-4696291.0150527,16593561.59916,-4383204.9471967",
"FIRSTTILE": true,
"FORMAT": "image/png",
"HEIGHT": "512",
"LAYERS": "AERIAL_WM",
"REQUEST": "GetMap",
"SERVICE": "WMS",
"SRS": "EPSG:3857",
"STYLES": "",
"VERSION": "1.1.1",
"WIDTH": "512"
},
"serverType": "geoserver",
"url": "https://base.maps.vic.gov.au/service"
},
{
"EPSG": "EPSG:3857",
"params": {
"BBOX": "16446787.78408,-4393099.8016821,16759873.851936,-4080013.733826",
"FIRSTTILE": true,
"FORMAT": "image/png",
"HEIGHT": "512",
"LAYERS": "CARTO_OVERLAY_WM",
"REQUEST": "GetMap",
"SERVICE": "WMS",
"SRS": "EPSG:3857",
"STYLES": "",
"VERSION": "1.1.1",
"WIDTH": "512"
},
"serverType": "geoserver",
"url": "https://base.maps.vic.gov.au/service"
}
],
"uiLabel": "M"
}
]
},
"name": "testScSelectedAsset",
"popupAssetSelection": true,
"popupAssetSelectionPrimaryText": "Primary Asset {{systemHeader.summaryName}} State {{operational_state}}",
"popupAssetSelectionSecondaryText": "Secondary Asset {{systemHeader.summaryName}} State {{operational_state}}",
"primaryAssetAddressSelection": true,
"primaryAssetAddressField": "addressGeo",
"primaryAssetFilter": "{'query':{'bool':{'filter':[]}}}",
"primaryAssetGeometryField": "locationGeo",
"secondaryAssetFilter": "{'query':{'bool':{'filter':[{'term':{ 'wat_category': 'POTABLE'}},{'term':{'systemHeader.systemType':'document'}},{'term':{'pipe_type':'RETMAIN'}}]}}}",
"tooltipsTimeout": 3
}
Resulting field displayed on the form:
Resulting field displayed on the form after selecting a street address, 1 primary asset and 3 secondary assets:
The red marker shows the location of the street address.
The green marker shows the location of the primary asset.
The black markers shows the location of the three secondary assets.
Resulting sc-selected-asset field saved in the database:
"testScSelectedAsset": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"type": "street",
"streetNo": "33",
"street": "ALBERT ST",
"suburb": "FOOTSCRAY",
"postcode": "3011",
"state": "VIC"
},
"geometry": {
"type": "Point",
"coordinates": [
144.8980249,
-37.80172068
]
}
},
{
"type": "Feature",
"properties": {
"type": "primaryAsset",
"linkAssets": [
{
"documentId": "7c0877d0-369b-11e7-9680-bb972336ed93",
"name": "Water Pipe - 4218514"
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
144.8978243725475,
-37.80128530276441
]
}
},
{
"type": "Feature",
"properties": {
"type": "secondaryAsset",
"linkAssets": [
{
"documentId": "835a1840-369b-11e7-9680-bb972336ed93",
"name": "Water Pipe - 4219952"
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
144.89741274160144,
-37.800734589316775
]
}
},
{
"type": "Feature",
"properties": {
"type": "secondaryAsset",
"linkAssets": [
{
"documentId": "f6f19df0-369b-11e7-8373-c7e49b56c725",
"name": "Water Pipe - 4220466"
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
144.89847840298125,
-37.800864408271416
]
}
},
{
"type": "Feature",
"properties": {
"type": "secondaryAsset",
"linkAssets": [
{
"documentId": "948152a0-36a0-11e7-b31f-234ccd9a71ed",
"name": "Water Pipe - 4244315"
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
144.89817393299725,
-37.80032229929191
]
}
}
]
}