
| Token | Description |
|---|---|
| displayName | Display name shown in the structure panel |
| imageUrl | URL of the image displayed in the viewer |
| resizeImageStrategy | Strategy for resizing image |
| fitToContainer | Scales the image to fit the container |
| useStaticSize | Uses specified width and height values |
| fillWholeContent | Fills the entire container, may crop |
| useRealSize | Displays the image at actual size |
| width | Fixed width when using static size strategy |
| widthAuto | Automatically adjusts width to content |
| height | Fixed height when using static size strategy |
| heightAuto | Automatically adjusts height to content |
| disableScrollbar | Controls visibility of scrollbars |
| paddingClass | Adds spacing around the image viewer |
| thresholdConfig | Conditional styling rules for points |
| imageDataSourceId | Data source ID for retrieving the image |
| getImageHttpRequestParametersMap | HTTP parameters for image fetching |
| pointsDataSourceId | Data source ID for retrieving points |
| getPointsHttpRequestParametersMap | HTTP parameters for points fetching |
| positionXFieldName | Field name for X coordinate |
| positionYFieldName | Field name for Y coordinate |
| keyFieldName | Field name for unique point identifier |
| displayFieldName | Field name for tooltip display text |
| events | Configurable events the component can trigger |
| ON_IMAGE_POINT_CLICK (Events) | Event when a point is clicked |
| ON_IMAGE_CLICK (Events) | Event when the image is clicked |
| ON_IMAGE_POINT_DRAG_ENDED (Events) | Event when a point drag ends |
| ON_IMAGE_POINT_VIEWER_CONTEXT_MENU_ACTION (Events) | Event when a context menu action is selected |
| ON_GLOBAL_PARAMETERS_CHANGE (Events) | Event when global parameters change |
| ON_INIT (Events) | Event when the component is initialized |
| ON_DESTROY (Events) | Event when the component is destroyed |
| contextMenuLabel | Text label for context menu actions |
| visibilityPolicySetId | Policy set ID controlling visibility |
| displayConditions | Rules for showing or hiding the component |
| dataTestId | Identifier for automated testing |
| enableAsHotspot | Enables guided tour hotspot |
| guidedTourHotSpotTitle | Title for guided tour hotspot |
| guidedTourHotSpotDescription | Description for guided tour hotspot |
(Configured in General Properties)
"Warehouse Floor Map" allows for easy identification of the component's purpose in the component structure, making it easier for developers to locate and work with this specific image viewer. (Configured in Visual Properties)
"https://example.com/floorplans/warehouse-a.jpg" provides the base image on which points will be overlaid. This property can also accept relative URLs to images stored within your application. (Configured in Visibility)
(Configured in Datasource)
"api/images/floorplans" connects to an API endpoint that returns image data, allowing dynamic loading of images from a server. {"buildingId": "${context.selectedBuilding}"} to load the image for a specific building. "api/safety-sensors/status" would connect to an API that returns data about safety sensor locations and their statuses. {"floorId": "${context.selectedFloorId}"} to load points for a specific floor. (Configured in Datasource)
"locationX" tells the component which field in the data represents the horizontal position of each point on the image. "locationY" tells the component which field in the data represents the vertical position of each point on the image. "sensorId" helps the component track individual points and associate them with data records. "sensorName" determines what text is shown when users hover over a point. 
(Configured in Visual Properties)
"useStaticSize" strategy. For example, "800px" sets a fixed width for the image viewer. This property accepts any valid CSS size value including pixels, percentages, or other units. "useStaticSize" strategy. For example, "600px" sets a fixed height for the image viewer. This property accepts any valid CSS size value including pixels, percentages, or other units. "p-3" adds medium padding on all sides of the component, improving its visual spacing within its container. "normal", yellow for "warning", and red for "critical", providing at-a-glance status information. (Configured in Events)
"Edit Sensor" would create a context menu option for editing point properties. (Configured in Visual Properties)
(Configured in Testing Hooks)
"warehouse-safety-map" allows test scripts to reliably locate this component during automated testing. {"en-US": "Warehouse Safety Map", "de-DE": "Lagerhaus-Sicherheitskarte"} provides clear identification during guided tours. {"en-US": "This map shows real-time safety sensor data", "de-DE": "Diese Karte zeigt Echtzeitdaten der Sicherheitssensoren"} provides detailed context during guided tours. (Configured in Authorization)
"safetyMonitoringAccess" restricts the image viewer to users with specific safety monitoring permissions, allowing for role-based display of sensitive information. The Points Data Source should return an array of objects, where each object represents a point on the image.
[
{
"<positionXFieldName>": <x_coordinate>,
"<positionYFieldName>": <y_coordinate>,
"<keyFieldName>": <unique_identifier>,
"<displayFieldName>": <display_text>
// Additional fields for thresholds if needed
}
]
X Coordinate Field (specified by positionXFieldName)
Contains the horizontal position of the point on the image. Numeric value representing the X coordinate.
Y Coordinate Field (specified by positionYFieldName)
Contains the vertical position of the point on the image. Numeric value representing the Y coordinate.
Key Field (specified by keyFieldName)
Contains a unique identifier for the point. Used for tracking and identifying points. Can be a string or number.
Display Field (specified by displayFieldName)
Contains the text to display when hovering over the point. Usually a descriptive name or label.
Additional Fields
Can include thresholds or custom data for event handlers.
[
{
"xPos": 100,
"yPos": 150,
"pointId": "point1",
"label": "Control Valve",
"status": "normal",
"temperature": 72
},
{
"xPos": 250,
"yPos": 200,
"pointId": "point2",
"label": "Pressure Gauge",
"status": "warning",
"temperature": 95
},
{
"xPos": 400,
"yPos": 300,
"pointId": "point3",
"label": "Flow Meter",
"status": "critical",
"temperature": 120
}
]
The component supports accessing nested properties using dot notation.
[
{
"metadata": {
"position": {
"x": 100,
"y": 150
}
},
"id": "point1",
"details": {
"name": "Control Valve"
}
}
]
"metadata.position.x" "metadata.position.y" "id" "details.name" imageUrl or imageDataSourceId (+ getImageHttpRequestParametersMap), pointsDataSourceId (+ getPointsHttpRequestParametersMap), positionXFieldName, positionYFieldName, keyFieldName, displayFieldName.displayConditions and visibilityPolicySetId.dataTestId, enableAsHotspot, guidedTourHotSpotTitle, guidedTourHotSpotDescription.resizeImageStrategy: fitToContainer, fillWholeContent, useStaticSize (width, height, widthAuto, heightAuto), or useRealSize.disableScrollbar.paddingClass.thresholdConfig and ensure readability against the image; pair color with text from displayFieldName.displayFieldName to an appropriate label field.displayConditions.visibilityPolicySetId.guidedTourHotSpotTitle, guidedTourHotSpotDescription; enable with enableAsHotspot.displayName for authoring clarity in the structure panel.| Do | Don’t | Article setting(s) |
|---|---|---|
| Bind both image and points from datasources so overlays match current data. | Mix a hardcoded image with dynamic points from another source. | imageDataSourceId, getImageHttpRequestParametersMap, pointsDataSourceId, getPointsHttpRequestParametersMap |
| Map coordinates and identity explicitly. | Assume default field names. | positionXFieldName, positionYFieldName, keyFieldName |
| Use exclusive rules for visual states. | Overlap thresholds that cause flicker. | thresholdConfig |
| Keep hover text short and clear. | Cram long descriptions into hover. | displayFieldName |
| Capture add-point coordinates on image click. | Infer coordinates from unrelated UI. | ON_IMAGE_CLICK |
| Persist edited positions when drag ends. | Leave position changes uncommitted. | ON_IMAGE_POINT_DRAG_ENDED |
| Offer explicit per-point actions. | Overload single-click with many meanings. | contextMenuLabel, ON_IMAGE_POINT_VIEWER_CONTEXT_MENU_ACTION |
| Choose a predictable sizing mode. | Stretch/crop unpredictably. | resizeImageStrategy, width, height, widthAuto, heightAuto |
| Hide the viewer until prerequisites are met. | Show an empty/misleading canvas. | displayConditions |
| Restrict sensitive imagery to authorized users. | Expose restricted maps to all users. | visibilityPolicySetId |
| Expose a stable automation hook. | Use brittle DOM selectors. | dataTestId |
| Localize onboarding copy. | Ship a single-language tour. | enableAsHotspot, guidedTourHotSpotTitle, guidedTourHotSpotDescription |
displayFieldName. Keep the hover labels brief and specific.thresholdConfig + displayFieldName.displayConditions, visibilityPolicySetId.enableAsHotspot, guidedTourHotSpotTitle, guidedTourHotSpotDescription.thresholdConfig.fitToContainer when dense markers require readability; use paddingClass to prevent edge crowding.keyFieldName.