Monitor Deeplink
The BPC supports the use of deep links in the Monitor module to restore a specific monitor state. The configured state of the Monitor module can be represented by a JSON object and appended directly to the URL.
This page simply explains how the state JSON object is structured and how it can be appended.
How the deep link is structured is described on the Routing/Deep Links page.
Generating the State Object
A state object can be generated using the Share plugin: This generates a deep link that reflects the current monitor status. The status object is already Base64-encoded within it.
Structuring the URL
The status object is appended to the end of the URL, after the monitor ID and after //.
Example:
https://COMPANY.COM/?#&/module/monitor/my-monitor//{"state": {}}
|
The status object should be Base64-encoded to avoid encoding and web browser issues. |
Structure of the status object
The status object contains the root attribute state.
The state attribute contains all information about the desired monitor status.
The following attributes are available at state:
-
searchQuery
The value in the full-text search. -
activeView
Initial view to be displayed.
IfactiveViewis configured, this view must also have a configuration atviews. -
views
Contains the states of the monitor views.
The state of a monitor view includes the column configuration as well as the state of the store (i.e., sorters and filters).
Below is an example of what the entire state object might look like in the URL:
{
"state": {
"searchQuery": "foo",
"activeView": "my-monitor_mainGrid",
"views": {
"my-monitor_mainGrid": {
"columns": [
{ "id": "firstColumn", "hidden": false, "width": 200 },
{ "id": "secondColumn", "hidden": true, "width": 200 },
{ "id": "timestamp", "hidden": false, "width": 200 }
],
"storeState": {
"sorters": [
{
"root": null,
"property": "timestamp",
"direction": "DESC",
"id": "timestamp"
}
],
"filters": [
{
"value": "foo",
"property": "firstColumn",
"columnId": "firstColumn",
"source": "raw",
"operator": "=*",
"invert": false
}
]
}
}
}
}
}
A minimal configuration of the state object is the storeState, which can also be set on its own and thereby sets the filters and sorters for the current view.
{
"storeState": {
"sorters": [
{
"root": null,
"property": "timestamp",
"direction": "DESC",
"id": "timestamp"
}
],
"filters": [
{
"value": "foo",
"property": "firstColumn",
"columnId": "firstColumn",
"source": "raw",
"operator": "=*",
"invert": false
}
]
}
}