.infoj[entry]
The infoj is the term used to describe the information we provide in the left-hand panel of the map window when you click on a geometry. This is an array of objects that make up what the user wishes to see.
.field
.fieldfx
Fieldfx allows you to alter the value displayed in the infoj. This is particularly useful if you wish to apply formatting to a number, convert values or change the field "ROUND(numeric_value,2)". This can be provided as an SQL query, but must all be provided on a single line. If you wish to provide an SQL query, you must ensure the WHERE clause includes WHERE id= $1.
SELECT ROUND(numeric_value2,2) FROM table_2 LEFT JOIN table_1 ON t1.id = t2.id WHERE id=$1It is possible to query a json field key through the fieldfx using the json arrow notatrion. The following fieldfx will return the 'age' value from the json_field column.
"fieldfx": "json_field -> 'age'",.jsonb_field / .jsonb_key
Using a combination of jsonb_field and jsonb_key allows to update individual key values in a json type column.
The following example uses the json arrow notation to extract the age value from the json_field. The field value must be unique in order to assign the value from the get location request to the correct entry.
{
"field": "json_field_age",
"fieldfx": "json_field -> 'age'",
"jsonb_field": "json_field",
"jsonb_key": "age",
"edit": true
}.json_field / .json_key
The combination of of json_field and json_key may be used to create editable entries for a single json key/value.
A type:json entry must be added to the infoj array. The json_field value will be used as lookup to identify the entry with the matching field value.
The location.update method will update the key/value in the json entry before updating the object in the location data at rest.
{
"field": "json_field",
"type": "json",
"skipEntry: true
},
{
"json_field": "json_field",
"json_key": "age",
"edit": true
}.query
The query template to use for a query which will populate the entry.value
.queryparams{}
The queryparams are used to create the url params for a request to the Query API. The layer.queryparams{}, and locale.queryparams{} will be assigned to the entry.queryparams{}.
The following queryparams flags are reserved.
"queryparams": {
"locale": true, // locale key.
"layer": true, // layer key.
"table": true, // layer table.
"filter": true, // layer current filter.
"z": true, // mapview current z.
"viewport": true, // mapview [west,south,east,north] bounds.
"center": true, // mapview lat/lng center.
"email": true, // user email.
}.run / .queryCheck
A query will be run by the infoj process and the response will be assigned as entry.value before the entry.type method is called.
.value
The entry.value will be populated from the field or fieldfx value in location get response, or from a entry.query response.
.title
The value to be rendered into the title element which is appended to the entry.node.
.css_title
The entry.css_title value will be applied as inline style to the title element inside the entry.node.
.css_val
The entry.css_val value will be applied as inline style to the value element inside the entry.node.
.tooltip
The value to show as a tooltip when hovering over the title.
This will also append an SVG of a question mark to the end of the title so the user is aware that it has a tooltip.
.inline
The value element will be displayed in a separate row below the title element. If entry.inline: true the title and value will be rendered in the same row in the location view entry.node.
.prefix
Prefix allows you to add a prefix to the start of the field value in the infoj. This is useful if you are displaying currencies. prefix: '£'
.suffix
Suffix allows you to add a suffix to the end of the field value in the infoj. This is useful if you are displaying percentages. suffix: '%'
.group
You can put infoj objects into a group to help break up the information. You must provide a group name to do this, which will be displayed above the first infoj object with that group associated to it.
.groupClassList
The group drawer will be expanded if any of the entries which are added to a location view group have the .groupClassList: "expanded" flag set. (Note: .expanded: true is deprecated)
.objectMergeFromEntry
The .objectMergeFromEntry value can be used to look up an entry with matching type. The lookup entry will be merged into the entry.
{
"title": "Merge into this entry",
"objectMergeFromEntry": "mergeEntry"
},
{
"type": "mergeEntry"
"title": "This title will overwrite the original entry title."
}.class
The entry.class value will be concatenated as class[List] property for the creation of the entry.node element. Assigning the display-none class prevent the entry.node from being displayed.
.nullValue
If configured null will be replaced as entry.value with the entry.nullValue.
.skipEntry
The entry will not be processed by the infoj method if flagged as true.
.skipNullValue
The entry will not be processed by the infoj method if the entry value is null (entry.value === null).
.skipFalsyValue
The entry will not be processed by the infoj method if the entry.value is falsy, e.g. undefined, null ,NaN ,0 ,"" (!entry.value).
.skipUndefinedValue
The entry will not be processed by the infoj method if the entry.value is undefined (typeof entry.value === 'undefined').