Referencing other Dashboards
Dashboards may be viewed independently or referenced by other dashboards. This section explores the different ways of linking dashboards.
One dashboard may be imported in another dashboard using Ding container tiles. The content of these tiles is just another predefined dashboard. The dashboard Id of the dashboard being included needs to be mentioned in the code. The dashboard Id can be retrieved from the URL of the dashboard to be included in view mode. Sample code for defining a container tile with a dashboard is as follows.
tile DbTile basis 96.00 content dashboard ID D~dChdtIonH
Specific versions of a dashboard may also be included to ensure that the parent dashboard does not change when the included dashboard is changed. The version keyword may be used to specify the version as shown in the following snippet of code.
tile _ basis 96.00 content dashboard ID D~dChdtIonH version 1574235310317
The version here can be retrieved from the version dropdown which is shown when editing the Ding model file for the included dashboard and applicable to all the tiles in the resulting dashboard.
In the case of embedded dashboards, channels defined in the embedded dashboard are propagated to the outermost dashboard.
You can link one dashboard to another using HTML links in custom widgets. This method has been discussed in details in the Custom-Widgets section.
Ding allows for advanced drill down functionality through the use of named pop-up channels. When a tile publishes to a pop-up channel, any click on the tile will result in a pop-up on the screen. Another dashboard or sheet may be embedded in the pop-up. Following code shows the definition of a pop-up channel called
clickevent Arrivalspopup table incoming_data_view column MonthYearNamed popup dashboard ID D~dChdtIonH config global hide_filter true
For the pop-up to be shown on the click of a particular tile, the tile should publish to the pop-up channel as follows.
tile TileInvokePopUp content sheet ID N~-Mkt667DL publish Arrivalspopup
In this example, a click on the tile
TileInvokePopUp would result in the dashboard
D~dChdtIonH opening as a pop-up. A tile can only publish to a pop-up channel but not subscribe to it. Clicking on a tile that publishes to a pop-up channel will prompt you to select the action required from the channel. On any instance of a click, you could use the channel for filtering the parent dashboard or opening the pop-up dashboard, but not both.
Pop-up channel settings
Following are the settings available for use with pop-up channels.
|Setting||Description of the setting||Possible Values||Sample Use|
|config||Can be used to indicate the type of pop-up to be shown. It could open a small modal window near the position of the click (local) or open as a pop-up in the middle of the screen (global). Alternately, it could also open as a new tab (route) or replace the content on the current screen (inplace).||local, global, route, inplace||
|hide_filter||This setting can be used to show or hide the available actions (Explore, Filter) when the tile is clicked. If hidden, only the pop-up action will be executed.||true, false||
Ding allows conditional drilldown with conditional pop-ups. These pop-ups are shown only when specific conditions are satisfied.
Consider a pop-up channel defined as follows.
clickevent LeftC table stock_goods column MonthNumberInt popup dashboard ID D~I1b2emZVa config global hide_filter hide
In this case the pop-up dashboard will be displayed for all values of
MonthNumberInt. However, the pop-up could be restricted to specific values of
MonthNumberInt by including a condition as follows.
clickevent LeftC table stock_goods column MonthNumberInt popup dashboard ID D~I1b2emZVa config global hide_filter hide if stock_goods.MonthNumberInt<3
In this case the pop-up will be shown only when the value of
MonthNumberInt is less than 3.
Effective drill down functionality requires the passing of information between the parent window and the pop-up window. This can be achieved by using parameters with pop-ups. For example in the following example the selected value of
MonthNumberInt is passed to the pop-up window through the URL. The value will then act as a filter on the dashboard displayed in the popup.
clickevent LeftC table stock_goods column MonthNumberInt popup dashboard ID D~I1b2emZVa config global hide_filter hide param LeftC=stock_goods.MonthNumberInt