Data links · Tooltip and content viewer

Map tooltip and detail drawer for data links

Choose which fields a data link shows when people hover or click it on the map: tooltip trigger, click action, field order, templates and the detail drawer.

6 min readUpdated

Two places a record is read

The last two sections decide what people see when they point at a record: Map tooltip, "The small popup that appears when a user hovers or clicks a rendered feature on the map.", and Content viewer (sidebar), "The right-side detail drawer that opens when a user clicks a linked feature. Independent from the map tooltip so you can keep the popup compact and the drawer rich." Neither section appears for Heatmap of activity, which has nothing to hover.

Trigger and On click

SettingChoices
TriggerHover (default) — "shows on mouse-over"; Click — "only on click". Touch screens have no hover, so a tap opens it either way.
On clickOpen tooltip / content panel (default); Open URL in new tab, with a URL template such as `https://example.com/asset/{asset_tag}`; or Fire custom event, a hook for custom builds that most teams never need.

Fields shown in tooltip

Two lists side by side. In your view holds the fields shown, in order; Available fields holds the rest of the sample row's fields, each with its current value and type.

  • Click a field on the right (or add all) to add it; clear empties the left list.
  • Drag rows to reorder, or use the up and down arrows that appear on hover; × removes a field.
  • "Search fields…" filters the right list. Type a path the sample doesn't show in "custom path (e.g. custom.temp)" and press add — custom rows are marked "!".
  • Leave the left list empty to show every field: "Empty — the tooltip will show every payload field." A field you picked that is empty on a record shows "—".

A Room status link might show just four fields, in this order: `room_name`, `status`, `assigned_to` and `updated_at`, and leave the rest of the row for the content viewer.

Custom template

Custom template (optional) — "Wrap a field name in single braces, e.g. {status} or {custom.temp}. Overrides the field list above when set." As you type, "Preview (from sample)" shows the result for the sample row.

text·Template for Environmental sensors
{sensor_name} · {location}
{reading_label} — {status}
  • Single braces only — `{{name}}` doesn't work.
  • Use top-level field names. `{custom.key}` reads a key inside `customProperties`; other dotted paths and array indexes aren't filled in templates (they do work in the field lists).
  • A missing or empty field becomes blank — check the preview.
  • There are no conditions or loops. To colour by value, use style rules.

Content viewer (sidebar)

Fields shown in sidebar works exactly like the tooltip list. If you leave it empty, the drawer uses the tooltip's field list; if both are empty, it shows every field ("Empty — the sidebar will show every payload field."). Sidebar header template (optional) adds a line of text above the fields — "{name} — {status}" / "Last seen: {lastSeenAt}" — using the same `{field}` rules, and never replaces the fields.

For a table source, the drawer also shows the record's History. Clicking a cluster bubble opens the drawer as a list of the records inside it. More in the detail drawer.

More in Data links